2012-03-19 34 views
17

< parte saltable>Cygwin vs Linux ¿Máquina virtual para desarrollo?

Trabajo en TI (principalmente soporte de escritorio y administración de red) en un entorno Windows, y ocasionalmente programo.

Hace un par de semanas, decidí que no podría ser tan eficaz como me gustaría sin un entorno Bash para mis necesidades de solicitud de comando. Esto es especialmente cierto cuando estoy usando Ruby y git. Usé Msysgit por un tiempo, pero simplemente no me gustó cómo no era extensible como Linux. Entonces, instalé Cygwin y jugué con eso durante un par de semanas.

Tan grande como es Cygwin, parece que se supone que debe ser un indicador de comando actualizado, y su compatibilidad con Linux es solo un efecto secundario agradable. Esto se hizo especialmente evidente cuando intenté actualizar Ruby a 1.9.3 (funcionó, pero no fue sencillo), instalé rvm (nunca funcionó) e instalé RMagick (puede o no funcionar, pero parece un dolor de cabeza).

Por lo tanto, ahora estoy considerando ejecutar Linux en una máquina virtual. Pero me preocupa que pueda ser otra lata de lombrices y que desperdiciaré horas antes de descubrirlo. Me gusta que Cygwin se ejecute en Windows y pueda usar mi IDE, mi carpeta de usuario y mucho más. Pero no me gusta que el soporte no sea tan exhaustivo como para una distribución importante.

</parte puede omitir>

  1. ¿Hay alguien aquí tiene una visión sobre el uso de Cygwin vs funcionamiento de una máquina virtual Linux?
  2. ¿Algún consejo sobre la configuración de un entorno de desarrollo Linux en una máquina virtual dentro de Windows?
+0

¿El arranque dual no es una opción? Es muy fácil, y puede darte el mejor Linux que puedas obtener. Si no quieres molestarte con las particiones, Wubi será genial. Instala Linux como una imagen de disco en su partición de Windows desde la que puede arrancar Linux. – Linuxios

+0

En realidad, tengo arranque dual. A veces lo uso, pero necesito cambiar los sombreros con demasiada frecuencia para que funcione. Necesito poder Alt + Tab entre ambientes. – erictheavg

+0

¿Qué tan poderosa es la computadora? Iniciar una máquina virtual lleva un tiempo (en una computadora portátil Toshiba de gama media). – Linuxios

Respuesta

14

Me he enfrentado a problemas comunes antes, y la mejor solución según mi experiencia es de solo 2 estaciones de trabajo :).

Aparte de eso, tener Linux funcionando en un entorno virtual es mucho mejor. En primer lugar, tendrá capacidades completas de Linux (excepto la aceleración 3D, pero probablemente no la necesite). ¡Tendrás la capacidad de crear instantáneas y volver a ellas cuando las cosas vayan mal! Puede iniciar múltiples entornos usando plantillas, lo cual es muy conveniente.

La única caída que puedo pensar es en los problemas de rendimiento de la máquina host. Si se trata de una estación de trabajo/PC normal, un IDE + una máquina virtual + un navegador de 100 pestañas simplemente lo hace lento.

0

Si vas a estar trabajando con Ruby, entonces pon en funcionamiento una máquina virtual Ubuntu :) No he probado Ruby, etc. en Windows pero he escuchado que es difícil instalar y configurar . Utilizo una Mac para todo el desarrollo de mi Rails, por lo que no puedo comentar en el lado de Windows para eso.

En cuanto a la creación de máquinas virtuales, prefiero VMware Workstation, sin embargo, hay alternativas gratuitas como Virtualbox y VMware Server.

1

Linux en una máquina virtual le dará la experiencia que desea más que cygwin o cualquier shell simulado, como me gusta llamarlos.

Las máquinas virtuales en ejecución requieren una gran cantidad de memoria RAM dependiendo de si desea una versión de escritorio de Linux o simplemente una versión de línea de comandos.

Yo mismo en el trabajo Tengo una pc con 8 gb de memoria RAM y ejecuto Ubuntu 64bit como sistema operativo principal, dos servidores ubuntu (estos son para entornos dev dos proyectos diferentes) y Windows 7 VM y Windows XP VM.

Puedo ejecutar los dos servidores de Ubuntu y otra máquina virtual al mismo tiempo, la clave aquí es más RAM si quieres poder hacer máquinas virtuales.

8

1: cygwin es bueno para hacks rápidos, y para poder acceder a los recursos de host-os (puede ejecutar IE, por ejemplo, en un script bash). Para algo estrechamente integrado y una palabra "real", ve a una vm. Emulará todo y separará el desarrollo de la máquina real, y esto puede ser una buena cosa en algunos casos ... como un plus simula un servidor real :)

2: en la caja virtual al menos, tiene carpetas compartidas , y puede compartir una carpeta local, y verla en la vm como una carpeta local (local o como un recurso compartido de Windows ... de hecho depende). Luego puede usar ese "punto de entrada" para vincular cosas en la máquina virtual y hacer las cosas que necesita con los archivos reales ubicados en la máquina real (host)

+1

No sabía que VirtualBox podría integrarse con Windows de esa manera. ¡Bueno saber! Lo intentaré, parece que me gustará. – erictheavg

2

Hay algo que he oído llamar Cooperative Linux. Ejecuta Linux junto con el kernel de Windows para que pueda usarlos al mismo tiempo. Nunca lo he usado, pero aquí: http://www.colinux.org/

+1

Desafortunadamente, ese proyecto parece estar algo muerto. El último lanzamiento es de abril de 2011. – Chris

+0

@Chris: Lástima. – Linuxios

+2

Virtualbox tiene un "modo continuo" que permite que las ventanas estén en la misma pantalla.Es decir, su VM ya no se encuentra dentro de una caja, las ventanas pueden ser separadas, redimensionadas y mezcladas con los gestores de ventanas del sistema operativo host y invitado. – Zombies

0

Estoy utilizando una máquina virtual Linux dentro de un entorno Windows 7 ya que esta máquina virtual está lo más cerca posible del entorno de producción final. Toda esta configuración compleja está vinculada al IDE de Eclipse en windows seven. Así que esto es realmente bueno para las pruebas completas locales antes de comprometerse con los servidores de producción.

Como mencionas también, esto lleva tiempo configurarlo y configurarlo completamente. Entonces, si su necesidad es solo para pequeños trucos, puede seguir usando cygwin. Por ejemplo, me enfrenté a problemas importantes para configurar Perl y compilar mysql dentro de cygwin. Por lo tanto, está bien para usos básicos, pero no para aprovechar al máximo un entorno de Linux completo.

Entonces, para mí, la opción más fuerte depende de la configuración final del servidor.

1

Lo que pienso ahora es conseguir las ventajas de 2 opciones está utilizando acoplable , se le está dando CygWin simplicidad y funcionalidad VM con un mejor rendimiento.

+0

¿Quizás te refieres a Vagrant? Docker no es una máquina virtual, y no permite ejecutar Linux en Windows. – ruvim

+0

Docker es más popular que Vagrant, Docker no es VM, pero es administrador de contenedores de Linux y funciona en Windows usando VB o Hyper-V, para hacer Linux VM y usarlo. –

2

SSH en una caja de linux. Esto es lo que todos hacen. ¿Por qué esta no es la respuesta?

+1

Estoy de acuerdo, aunque supones que hay un linux box para ssh into. – TKH

Cuestiones relacionadas