GNU Coreutils 9.4 ya fue liberada y estas son sus novedades
La nueva versión de GNU Coreutils 9.4 ya fue liberada y llega con diversas mejoras de rendimiento, cambios de comportamiento, correcciones de errores y mucho más. En este lanzamiento se destacan los cambios realizados en cp -v y mv -v, asi como también que ahora uptime brinda soporte a Android y muchas cosas más.
Para quienes desconocen del paquete de Coreutils, deben saber que esta es una combinación de tres paquetes anteriores: utilidades de ficheros (fileutils), utilidades de intérpretes de comandos (shellutils) y utilidades de proceso de textos (textutils).
Las utilidades GNU core soportan opciones de cadena larga como parámetros a los comandos, así como cierta permisividad en la convención al especificar opciones antes de los argumentos regulares (siempre que la variable de entorno POSIXLY_CORRECT esté definida, hecho que habilita una diferente funcionalidad en BSD). Adicionalmente, como la filosofía GNU emplea información desde páginas de manual (y usa herramientas como info), la información proporcionada es mayor.
Principales novedades de GNU Coreutils 9.4
Está nueva versión de GNU Coreutils 9.4 llega poco después de 3 meses desde el lanzamiento anterior (v9.3) y en ella se ha integrado 162 confirmaciones por parte de 10 personas.
GNU Coreutils 9.4 se presenta como una versión de estabilización que llega a solucionar una gran cantidad de problemas que están presentes desde la versión anterior y de las cuales se destaca por ejemplo que ahora las utilidades «cp» y «ls» en Linux s390x y alpha, ya no falla en archivos con números de inodo que no caben en 32 bits.
También se corrigió el problema en «cp –parents» con el error «No existe tal archivo o directorio», «dd» nuevamente admite más de dos multiplicadores para números.
Se ha modificado el texto del mensaje de error que se muestra si, al ejecutar el comando «mv dir x«, el directorio «x» contiene un subdirectorio «dir» no vacío (x/dir). En lugar de mostrar el error «mv: no se puede mover ‘dir’ a ‘x/dir‘: el directorio no está vacío», ahora muestra «mv: no se puede sobrescribir ‘x/dir’: el directorio no está vacío«.
Las utilidades comm, cut, join, od y uniq implementan la terminación inmediata de la ejecución si se producen errores durante la escritura, ademas de ello «ls» ahora muestra enlaces simbólicos especificados en la línea de comando que no se pueden atravesar y «wc -l» y «cksum» ya no fallan con el error «Instrucción ilegal» en kernels de Linux x86 que deshabilitan XSAVE YMM.
Por la parte de los cambios que se integran en esta nueva versión de GNU Coreutils 9.4, se destaca que «split» ahora admite la variable de entorno $TMPDIR para localizar archivos temporales y ademas de que se ha optimizado el manejo de datos de entrada de gran tamaño. Al arrancar desde SSD, el rendimiento dividido aumentó aproximadamente un 5%.
Ademas de ello en Linux que usan archivos utmp con un campo de tiempo de 32 bits, las utilidades «inky», «uptime» y «who» implementan la opción de compilación «–enable-systemd», que resuelve el problema de 2038 cuando systemd está presente.
De los demás cambios que se destacan:
- La utilidad tac proporciona una alternativa para usar el directorio ‘/tmp’ si la variable de entorno $TMPDIR no está configurada.
- Las utilidades cp, mv e install ya no utilizan la llamada al sistema copy_file_range en sistemas con kernels de Linux anteriores a la versión 5.3.
- Al ejecutar «who -a» se mostrarán los tiempos de arranque en Alpine Linux, OpenBSD, Cygwin, Haiku y algunas plataformas Android.
- La utilidad «uptime» brinda soporte para algunas plataformas basadas en Android y proporciona seguimiento del tiempo que pasan en modo de suspensión las máquinas virtuales que ejecutan.
- Los comandos «cp -v» y «mv -v» ya no imprimirán de forma predeterminada mensajes sobre cada archivo omitido al usar las opciones «-i» o «-u» a menos que se especifique explícitamente el indicador «–debug».
- El comando ‘cksum -b’ ha dejado de generar sumas de verificación en formato base64 para acercar el comportamiento a las utilidades de cálculo de sumas de verificación individuales.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.