lanzamiento del paquete con la implementación del conjunto de utilidades estándar de UNIX, presentado como un único archivo ejecutable y optimizado para un consumo mínimo de recursos del sistema con un tamaño del paquete de menos de 1 MB. La primera versión de la nueva rama 1.32 se posiciona como inestable, la estabilización completa se garantizará en la versión 1.32.1, que se espera aproximadamente en un mes. El código del proyecto se distribuye bajo la licencia GPLv2.
La naturaleza modular de BusyBox permite formar un único archivo ejecutable que contiene un conjunto arbitrario de utilidades implementadas en el paquete (cada utilidad está disponible en forma de un enlace simbólico a este archivo). El tamaño, la composición y la funcionalidad de la colección de utilidades pueden variar según las necesidades y capacidades de la plataforma integrada para la cual se realiza la compilación. El paquete es autosuficiente; para crear un sistema operativo funcional sobre el núcleo de Linux, solo se necesita crear algunos archivos de dispositivos en el directorio /dev y preparar los archivos de configuración. En comparación con la versión anterior 1.31, el consumo de memoria RAM de la compilación típica de BusyBox 1.32 aumentó en 3590 bytes (de 1011750 a 1015340 bytes).
BusyBox es la herramienta principal en la lucha contra las violaciones de la GPL en firmware. Las organizaciones Software Freedom Conservancy (SFC) y Software Freedom Law Center (SFLC) en nombre de los desarrolladores de BusyBox han llevado a cabo , así como mediante extrajudiciales han impactado exitosamente a las compañías que no proporcionan acceso al código fuente de programas GPL. Al mismo tiempo, el autor de BusyBox a tal protección, considerando que destroza su negocio.
En la versión BusyBox 1.32 se destacan los siguientes cambios:
- Se añadió un nuevo comando para ejecutar scripts desde un archivo designado Mimfile (algo similar a una versión reducida de la utilidad make);
- En la utilidad find se ha añadido la opción '-empty' para comprobar archivos vacíos;
- En la utilidad wget se ha ampliado el límite de redirecciones y se ha implementado soporte para la verificación de certificados TLS con el fallo de ENABLE_FEATURE_WGET_OPENSSL;
- En grep se ha añadido un soporte adecuado para la lista de patrones (pattern_list) y se ha añadido la opción '-R' (procesamiento recursivo del contenido del directorio);
- Se resolvieron los problemas que se presentaban al compilar con Clang 9 y se eliminaron las advertencias del compilador;
- Se propuso un gran número de correcciones en los intérpretes de comandos ash y hush, destinadas a mejorar la compatibilidad con otros intérpretes. Se añadió la posibilidad de autocompletar los comandos internos con la tecla Tab en ash y hush. Se estabilizaron nuevos comandos internos en ash.
- La utilidad fdisk ahora soporta particiones HFS y HFS+;
- Se mejoró el manejo de condiciones de carrera en init al recibir señales;
- En la utilidad de monitoreo visual de parámetros del sistema, se añadió un formato de salida «%NT» (tiempo alineado con ceros);
- En taskset se agregó la posibilidad de procesar y mostrar la lista de CPU (opción «-c»);
- En tar se cambió el comportamiento de la opción «-a», que en lugar de habilitar la compresión «lzma» ahora está relacionada con la autodetección por extensión de archivo;
- En udhcpc6 se añadió soporte para el modo «» para DHCPv6 (el servidor proporciona solo parámetros de red, sin asignación de direcciones);
- En nslookup se asegura el manejo de respuestas sin registros RR y se añadió soporte para registros SRV;
- En brctl se añadieron nuevos comandos «showmacs» y «showstp»;
- En dhcpc se agregó soporte para el parámetro «relay server»;
- En syslogd se añadió una configuración para mostrar el tiempo con precisión de milisegundos;
- En httpd, al trabajar en modo NOMMU, se permitió establecer un directorio personal diferente y se garantizó el funcionamiento de la opción ‘-h’ al iniciar un proceso en segundo plano;
- En xargs se mejoró el manejo de argumentos entre comillas y se aseguró el comportamiento correcto de la opción «-n»;
- Se corrigieron errores en las utilidades grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route.
Además, el mes pasado lanzamiento , un análogo de BusyBox, desarrollado por un antiguo mantenedor de BusyBox y bajo licencia BSD. El principal propósito de Toybox es proporcionar a los fabricantes la posibilidad de usar un conjunto minimalista de utilidades estándar sin abrir el código fuente de componentes modificados. En capacidades, Toybox aún está frente a BusyBox, pero ya ha implementado 272 comandos básicos (204 completamente y 68 parcialmente) de los 343 planeados.
Entre las novedades de Toybox 0.8.3 se pueden destacar:
- Se añadieron nuevos comandos rtcwake, blkdiscard, getopt y readelf;
- En «make root» se garantizó la posibilidad de crear un entorno de arranque operativo basado únicamente en el núcleo de Linux y en utilidades de Toybox, que puede ser cargado mediante su propio script init;
- Se ha añadido el soporte inicial para módulos con implementaciones separadas de utilidades que no forman parte del núcleo de ToyBox;
- El intérprete de comandos toysh está al 80% de su desarrollo (actualmente falta soporte para funciones, historial, gestión de terminales, trabajos, $((math)) y plantillas);
- Se ha añadido soporte para opciones adicionales en varias utilidades, incluyendo patch, cal, cp, mv, lsattr, chattr, ls, id, netcat y setsid.
Fuente: opennet.ru
