Con la llegada del software de máquinas virtuales como VirtualBox , VMWare , Parallels , etc., ¿es útil Cygwin en la plataforma de Windows para proporcionar un entorno similar a Linux?
Con la llegada del software de máquinas virtuales como VirtualBox , VMWare , Parallels , etc., ¿es útil Cygwin en la plataforma de Windows para proporcionar un entorno similar a Linux?
Respuestas:
Las máquinas virtuales y Cygwin responden dos preguntas diferentes.
Las máquinas virtuales son para cuando desea ejecutar múltiples sistemas operativos al mismo tiempo. Es como tener dos computadoras sin el gasto de comprar dos conjuntos de hardware.
Cygwin está destinado a dar a Windows una serie de herramientas de Unix, para que los geeks de Unix puedan usar Windows de manera más efectiva (aunque diría que Cygwin en realidad no lo hace muy bien), y para proporcionar algunas herramientas que tienen mejores características que Windows proporciona por su cuenta. No creo que la caracterización de Cygwin proporcionando un "entorno similar a Linux" sea particularmente precisa. (Cygwin en realidad está destinado a proporcionar un entorno de desarrollo POSIX más completo para Windows y, al hacerlo, proporciona una serie de utilidades. Sin embargo, el resultado final para los usuarios finales es que simplemente proporciona herramientas).
De hecho, hay una especie de tercera opción, Cooperative Linux , que creo que realmente hace proporcionar un ambiente similar a Linux dentro de Windows. Realmente ejecuta el kernel de Linux como un proceso dentro de Windows. Hay algunas distribuciones que se ejecutan debajo de él; y Linux me viene a la mente. Con estos sistemas, en realidad tiene un entorno Linux que puede interactuar más directamente con su entorno Windows que una máquina virtual.
Todavía es útil para ejecutar herramientas de Unix como rsync, que desea operar en los archivos en el cuadro de Windows en lugar de estar atascado en una máquina virtual. También puede usar el programador de Windows para iniciar trabajos con las herramientas.
En lo que a mí respecta, Cygwin es un concepto diferente. A diferencia de la máquina virtual, proporciona una DLL que emula un entorno / capa de Linux, que puede ejecutar y construir un programa Linux en una máquina Windows. Por ejemplo, si desea usar alguna biblioteca que solo se distribuye como código fuente y está destinada para el sistema Linux incorporado, ¿qué sucede si desea usar esta biblioteca en Visual Studio? No puede usar VS para compilarlo, ya que depende de las dependencias de Linux, por lo que necesita Cygwin en esta situación.