Llega la nueva versión de Cygwin 3.0, un entorno GNU para Windows
Cygwin es una colección de herramientas desarrollada por Red Hat para proporcionar un comportamiento similar a los sistemas Unix en Microsoft Windows. Su objetivo es portar software que ejecuta en sistemas POSIX a Windows con una recompilación a partir de sus fuentes.
Aunque los programas portados funcionan en todas las versiones de Windows, su comportamiento es mejor en Windows NT, Windows XP y Windows Server 2003.
Sobre Cygwin
En la actualidad, el paquete está mantenido principalmente por trabajadores de Red Hat. Se distribuye habitualmente bajo los términos de la GPL con la excepción de que permite ser enlazada con cualquier tipo de software libre cuya licencia esté de acuerdo con la definición de software libre.
También es posible adquirir una licencia con costo para distribuirla bajo otros tipos de licencia.
El sistema Cygwin tiene varias partes diferenciadas:
• Biblioteca de enlace dinámico («cygwin1.dll») que implementa la interfaz de programación de aplicaciones POSIX usando para ello llamadas a la API nativa de Windows.
• Cadena de desarrollo GNU (que incluye entre otras utilidades GCC y GDB) para facilitar las tareas básicas de desarrollo.
• Aplicaciones equivalentes a los programas más comunes de los sistemas UNIX. Incluso, cuenta con un sistema X (Cygwin/X) desde 2001.
Además, se incluye una biblioteca denominada MinGW que funciona de forma análoga a la biblioteca nativa MSVCRT (que implementa la API de Windows). Esta biblioteca tiene una menor carga de memoria y tiene una licencia muy permisiva pero no implementa la API POSIX de forma tan completa como Cygwin.
Después de dos años de desarrollo, Red Hat ha publicado una nueva y significativa versión de Cygwin 3.0.0, que incluye una DLL para emular la API básica de Linux en Windows, que le permite crear programas de Linux con cambios mínimos.
El paquete también incluye utilidades estándar de Unix, aplicaciones de servidor, compiladores, bibliotecas y archivos de encabezado compilados directamente para su ejecución en Windows.
Principales novedades de Cygwin 3.0.0
Con este nuevo lanzamiento se ha abierto la posibilidad de procesar directorios en el entorno de Windows, teniendo en cuenta el caso de los caracteres.
La llamada mkdir ahora crea automáticamente directorios que distinguen entre mayúsculas y minúsculas dentro del árbol de directorios en el que está instalado Cygwin.
La función solo está disponible a partir del lanzamiento de Windows 10 1803 con el subsistema WSL (Subsistema de Windows para Linux).
Se agregó el nuevo archivo ioctl llamado FS_IOC_GETFLAGS y FS_IOC_SETFLAGS, con el cual puede configurar y restablecer los atributos de los archivos, manipular los archivos dispersos con vacíos en el interior, proporcionar cifrado y compresión a nivel del sistema de archivos, simular mediante programación la diferencia del registro de caracteres en los nombres de los directorios.
En el entorno de Windows 10 1709+ para NTFS, se trata de una nueva semántica para las llamadas POSIX: desvinculación y cambio de nombre: el archivo ahora se elimina o reemplaza por otro, y no se coloca en la papelera de reciclaje.
Cuando se llama a open (O_TMPFILE), el archivo ahora se mueve inmediatamente a la papelera para hacer espacio en el directorio principal.
Los PID de Cygwin y los PID de Windows ahora están divididos: los PID de Cygwin se generan según lo prescrito por POSIX, incrementándose de 2 a 65535.
Al ejecutar procesos nativos de Windows, sus PID se reflejan en un rango de valores superior a 65535.
La implementación de fork () ahora puede manejar correctamente la situación con la eliminación / reemplazo de un archivo ejecutable o DLL durante su trabajo (Windows no permite la eliminación de archivos ejecutables usados.
Pero fork () se implementa a través de un truco en el modo de no copiar en la escritura, ya que no se puede implementar sobre la API de Win32).
Además de ello se agregaron las nuevas utilidades chattr y lsattr para configurar y ver los atributos de los archivos, manipulando el ioctl anterior en la línea de comandos y soporte para el indicador O_PATH específico de Linux en la función open ().
¿Como la nueva versión de Cygwin 3.0?
Para obtener esta nueva versión solo debes dirigirte a su sitio web oficial y en su sección de descargas podrás encontrar el enlace de descarga. El enlace es este.
El artículo Llega la nueva versión de Cygwin 3.0, un entorno GNU para Windows ha sido originalmente publicado en Linux Adictos.