it-swarm-es.com

Subsistema para aplicaciones basadas en UNIX en Windows 7

Noté algo llamado Subsistema para aplicaciones basadas en UNIX en el cuadro de diálogo Activar y desactivar las características de Windows en Windows 7. Nunca lo había visto antes, y parece interesante. ¿Qué es exactamente? ¿Para qué es y para qué puedo usarlo?

13
Svish

Anteriormente conocido como [~ # ~] sfu [~ # ~] o Servicios para UNIX . Es un subsistema de entorno en Windows, que proporciona compatibilidad total con POSIX y una gran cantidad de herramientas que normalmente vienen con los sistemas UNIX.

Como un subsistema de entorno esto significa que se ejecuta junto con la API de Windows, directamente sobre el kernel. Por lo tanto, no está más emulado que la propia API nativa de Windows y, por lo tanto, funciona mucho mejor que cygwin, por ejemplo.1

Está diseñado principalmente para construir y ejecutar aplicaciones UNIX directamente en Windows, por lo que si su programa UNIX favorito no viene con un puerto de Windows, puede intentar compilarlo en SUA:

Los servicios de Windows para Unix y el subsistema para aplicaciones basadas en Unix proporcionan archivos de encabezado y bibliotecas que facilitan la recompilación o el puerto de aplicaciones Unix para su uso en Windows; no hacen que los binarios de Unix sean compatibles con los binarios de Windows. Es mejor considerarlo como una plataforma distinta similar a Unix.

La versión actual de SFU contiene:

  • Más de 350 utilidades de Unix como vi, ksh, csh, ls, cat, awk, grep, kill, etc.
  • Compilador GCC 3.3, inclusiones y bibliotecas (a través de una biblioteca MS)
  • Un contenedor similar a cc para el compilador C/C++ de línea de comandos de Microsoft Visual Studio
  • Depurador de GDB
  • Servidor y cliente NFS
  • Un demonio pcnfsd
  • Herramientas y bibliotecas X11
  • Herramientas para hacer que los puntos de montaje de NFS aparezcan como recursos compartidos de Windows y viceversa (servicios de puerta de enlace)
  • Una capacidad de servidor NIS vinculada con Active Directory (AD)
  • Algunas herramientas de sincronización de información de autenticación de Windows/Unix

SFU no contiene lo siguiente (pero hay binarios disponibles para una instalación separada):

  • bash, OpenSSH, Sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python

(Wikipedia)

Dado que SUA no intenta ser Linux o BSD, sino simplemente POSIX, esto también puede significar que muchos programas que dependen de elementos específicos de la plataforma pueden fallar en la construcción o ejecución. Me vienen a la mente scripts de shell que asumen bash en lugar de sh o llamadas al sistema específicas de Linux. Hoy en día se escriben muy pocos programas que puedan ejecutarse directamente en cualquier sistema compatible con POSIX. Además, la versión de gcc que se incluye es algo antigua, lo que significa que es posible que no admita su bondad C99 + más reciente.


1 Todavía está sujeto a limitaciones específicas de Windows, como el tiempo de inicio lento del proceso, por lo que la bifurcación extrema seguirá siendo muy lenta, por lo que esperará años durante muchos ./configure scripts o algunos archivos MAKE para ejecutar.

18
Joey

Puede utilizar paquetes de estilo BSD para instalar/desinstalar software. Puede acceder a SUA a través de SSH si tiene OpenSSH instalado.

1
Budhi Hamdani