Solo he usado Windows SFU en Windows 2008 antes, pero creo que está basado en Interix. He jugado con Cygwin en ocasiones, pero no mucho, así que alguien, por favor, corrígeme si digo algo que obviamente está mal aquí.
- Sensación de Unix: Interix gana este. El ambiente se siente mucho más "completo". No estoy seguro de cómo decirlo. Interix se ejecuta junto con el subsistema win32, donde cygwin se ejecuta encima de él. Entonces, interix es un "ciudadano de primera clase" en el kernel de Windows. Cosas como
ps
y df
funcionan bien.
- Rendimiento: al no haber realizado ninguna prueba de rendimiento importante, supongo que Interix también gana esto. De nuevo, se está ejecutando en un nivel inferior. No solo está ejecutando aplicaciones Win32 con una DLL de compatibilidad POSIX vinculada.
- Paquetes / software aleatorio: Cygwin gana este por dos razones. En primer lugar, Cygwin es mucho más conocido. Una gran cantidad de software de Unixy tendrá soporte para sus peculiaridades. También puede instalar cosas muy fácilmente desde el instalador de la GUI. Interix no (creo) tiene algo como esto incorporado. Claro, puedes descargar algo, compilarlo usando gcc (que creo que puedes precompilar) y rezar para que funcione, pero es un poco como portar software a cualquier otra variante aleatoria de Unix (como Solaris o AIX), algunos las cosas funcionarán, otras intentarán morderte la pierna y asesinar a tus hijos.
- Integración con las aplicaciones y herramientas de Windows: para ser honesto, ambos son una mierda. Si tiene, por ejemplo, un servidor Apache que se ejecuta dentro de Cygwin o Interix, entonces, seguro, podrá comunicarse a través de TCP con programas Win32, pero eso es lo más lejos que puede llegar. Desde el interior de interix, creo que puedes matar programas Win32 y enumerarlos usando ps, no estoy seguro de si puedes hacer esto con cygwin. Con ambos, puede usar el administrador de tareas de Windows para matar cosas.
- Integración con máquinas virtuales: abordar su ejemplo de compartir un directorio de inicio, luego sí. Puede usar samba para esto, y creo que NFS también funciona en Interix para algo más unixy. Sin embargo, no encontrará ninguna GUI agradable ni nada que haga el trabajo por usted. Tanto cygwin como Interix le permiten acceder a sus sistemas de archivos regulares.
- Tamaño de la base de usuarios: Cygwin gana aquí, diría. Fue muy difícil encontrar cosas que habían sido probadas y desarrolladas para ejecutarse en Interix, donde la mayoría de las cosas de código abierto parecían admitir cygwin como plataforma de compilación.
Si tiene una copia de un sistema operativo Windows que admitirá Interix (como usted dijo, una edición Enterprise, una edición Ultimate o una edición Server), no hay ningún daño en probarlo. Es un ambiente de sentimiento muy completo. Cygwin, como dijiste, funciona con todo, y es más conocido y mejor soportado, pero me parece un truco sucio. Sin embargo, algunas personas lo usan regularmente.
/ * meta nota: odio que los comentarios sean tan cortos * /
La mayoría de las veces estoy de acuerdo con andrews respondiendo con un par de comentarios. He reemplazado muchos sistemas Unix con SUA / SFU (no, no son lo mismo pero están cerca) en Windows.
fuente
No puedo comentar sobre la respuesta de JimB, así que aborda aquí, en particular el punto sobre la integración de Windows. Cygwin se basa en Win32 en lugar de ejecutarse en su propio subsistema, aunque más lento, proporciona una integración de Windows mucho mayor. Incluso permite que las API de Windows y UNIX se utilicen en el mismo programa, lo que permite cosas como el servidor Cygwin X o el terminal mintty.
La 'ps' de Cygwin enumera los procesos de Windows si le da la opción -W, y 'kill -f' los matará. Los programas de Windows pueden invocarse desde Cygwin y conectarse con los programas de Cygwin utilizando todos los mecanismos habituales, como las canalizaciones. (No sé si eso es posible en Interix).
Se admiten rutas de estilo Windows, tanto con barras inclinadas hacia adelante como hacia atrás. Cygwin 1.7 convirtió a UTF-8 en el conjunto de caracteres predeterminado, y los nombres de archivo UTF-16 de Windows se traducen automáticamente, por lo que los nombres de archivo en cualquier idioma se muestran correctamente en Cygwin. No sé qué hace Interix aquí, pero no pude encontrar ninguna evidencia de que sea compatible con Unicode.
Otras características de integración incluyen la utilidad 'cygstart' para abrir un archivo como si hiciera doble clic en el Explorador, y el dispositivo / dev / portapapeles para acceder al portapapeles de Windows.
fuente
Permítanme compartir mi experiencia instalando Interix para Windows 7.
Nuestro viaje comienza en una página oscura para Windows Server 2008.
Aquí descubrirá que ya ni siquiera se llama Interix, sino Subsistema para aplicaciones basadas en Unix o SUA . A continuación, solo notará en un comentario de usuario que SUA solo está disponible para Windows 7 Ultimate o Enterprise. Esto no se menciona en el artículo en ninguna parte. Después de instalar el "subsistema", se dará cuenta de que no hay más de 2 accesos directos en su menú de inicio.
Ahora llegas al mal real. Haga clic en el acceso directo para Descargar y accederá a la página de descarga.
Aquí tenemos 3 archivos disponibles para descargar. Estos archivos tienen más de 400 MB y, a partir de este escrito, tienen más de 4 años . Además, no tenemos opciones para descargar paquetes personalizados, ciertas partes, etc. Entonces se dará cuenta de que este enlace es en realidad para Vista y no para Windows 7, y tendrá que buscar en Internet para encontrar la página de Windows 7 . En este punto me di por vencido.
Cygwin
Vaya a cygwin.com . Descargue cygwin.com/setup-x86.exe . Este archivo tiene 714 KB . Ejecute una instalación básica y verá que demora aproximadamente 2 minutos .
Después de eso, puede reutilizar el instalador para muchos otros paquetes según sus preferencias. Moraleja de la historia es que Cygwin se preocupa por el usuario .
fuente
La "sensación" tipo UNIX es bastante subjetiva. Mi voto va con CygWin ya que tiene el servidor CygWin / X Xwindows con todas las características necesarias. SFU obtuvo las herramientas básicas X11, pero era muy poco y demasiado tarde. Muchos (incluido yo) se presentaron a CygWin por la necesidad de tener un servidor X11. En términos de integridad, CygWin también está mejor posicionado, ya que es de código abierto y se le transfiere una gran cantidad de software con licencia GNU o GPL. He visto pocos productos comerciales para CygWin, mientras que solo he visto un producto que requiere servicios UNIX para Windows NT y ninguno desde entonces. YMMV.
Disponibilidad de paquetees una clara victoria para CygWin influenciada por varios factores: - menor costo de entrada: "cualquier Windows" con CygWin vs. licencia de clase de servidor para SFU / SUA. Algunas funcionalidades están disponibles para los sabores de escritorio de Windows pero de las variedades más caras y sin los componentes del servidor; - fuente abierta vs. fuente cerrada y, lo que es más importante, documentación abiertamente disponible. En el pasado, incluso la lista de comandos y las API proporcionadas estaban disponibles solo para suscriptores de MSDN y había poca o ninguna información disponible en el sitio de Microsoft. En contraste, el conjunto de herramientas GNU estaba bien documentado y disponible tanto en línea como en páginas de manual; - los cambios de nombre e implementación son confusos. Las primeras versiones usaban el kit de herramientas MKS que luego fue abandonado.
En cuanto al rendimiento, se puede argumentar que Interix está más cerca del núcleo y, por lo tanto, disfruta de una ruta de ejecución de código más corta. La verdadera pregunta es por cuánto y ¿importa? Para la mayoría de los programas, la diferencia es de un pequeño porcentaje y es insignificante. Se puede mencionar un ejemplo artificial con E / S pesadas, por supuesto. Preferiría poner tales cargas en UNIX nativo, ya que sería más rápido que los complementos nativos de Windows y UNIX sobre Windows. Muchos han migrado de Windows a UNIX con el aumento de la carga, mientras que no conozco ningún ejemplo de conversión de CygWin a Interix (o viceversa). Lo que se busca es la compatibilidad con UNIX y no el rendimiento de UNIX, así que pongo esto al final de la lista.
fuente