Com a chegada de softwares de máquinas virtuais como VirtualBox , VMWare , Parallels etc., o Cygwin é útil na plataforma Windows para oferecer um ambiente semelhante ao Linux?
Com a chegada de softwares de máquinas virtuais como VirtualBox , VMWare , Parallels etc., o Cygwin é útil na plataforma Windows para oferecer um ambiente semelhante ao Linux?
Respostas:
Máquinas virtuais e Cygwin respondem a duas perguntas diferentes.
Máquinas virtuais são para quando você deseja executar vários sistemas operacionais ao mesmo tempo. É como ter dois computadores sem a despesa de comprar dois conjuntos de hardware.
O Cygwin se destina a fornecer ao Windows várias ferramentas Unix, para que os geeks do Unix possam usar o Windows com mais eficiência (embora eu argumentasse que o Cygwin realmente não faz isso muito bem) e fornecer algumas ferramentas com recursos maiores que o Windows fornece por conta própria. Não acho que a caracterização de Cygwin fornecendo um "ambiente semelhante ao Linux" seja particularmente precisa. (Na verdade, o Cygwin pretende fornecer um ambiente de desenvolvimento POSIX mais completo para Windows e, ao fazer isso, fornece vários utilitários. O resultado final para os usuários finais, porém, é que ele apenas fornece ferramentas.)
Na verdade, há uma espécie de terceira opção, Cooperative Linux , que eu acho que realmente faz proporcionar um ambiente semelhante ao Linux dentro do Windows. Na verdade, ele executa o kernel do Linux como um processo no Windows. Existem algumas distribuições que são executadas sob ele; e o Linux vem à mente. Com esses sistemas, você realmente tem um ambiente Linux que pode interagir mais diretamente com o ambiente Windows do que uma máquina virtual.
Ainda é útil para executar ferramentas Unix como rsync, que você deseja operar nos arquivos na caixa do Windows, em vez de ficar preso em uma máquina virtual. Você também pode usar o agendador do Windows para iniciar trabalhos com as ferramentas.
Para mim, Cygwin é um conceito diferente. Ao contrário da máquina virtual, ela fornece uma DLL que emula um ambiente / camada Linux, que pode executar e criar um programa linux em uma máquina Windows. Por exemplo, se você deseja usar alguma biblioteca que é distribuída apenas como código-fonte e destinada ao sistema Linux interno, e se você quiser usar essa biblioteca no Visual Studio? Você não pode usar o VS para construí-lo, pois ele depende de dependências do Linux; portanto, você precisa do Cygwin nessa situação.