Lanzamiento de un conjunto minimalista de utilidades del sistema BusyBox 1.32

Presentado por lanzamiento del paquete Caja ocupada 1.32 con la implementación de un conjunto de utilidades estándar UNIX, diseñadas como un único archivo ejecutable y optimizadas para un consumo mínimo de recursos del sistema con un tamaño establecido de menos de 1 MB. La primera versión de la nueva rama 1.32 se posiciona como inestable; la estabilización completa se proporcionará en la versión 1.32.1, que se espera para dentro de aproximadamente un mes. El código del proyecto se distribuye bajo la licencia GPLv2.

La naturaleza modular de BusyBox permite crear un archivo ejecutable unificado 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, composición y funcionalidad del conjunto de servicios públicos se puede variar dependiendo de las necesidades y capacidades de la plataforma integrada para la que se está realizando el montaje. El paquete es autónomo; cuando se construye estáticamente con uclibc, para crear un sistema que funcione sobre el kernel de Linux, solo necesita crear varios archivos de dispositivo en el directorio /dev y preparar archivos de configuración. En comparación con la versión anterior 1.31, el consumo de RAM del ensamblaje típico de BusyBox 1.32 aumentó en 3590 bytes (de 1011750 a 1015340 bytes).

BusyBox es la principal herramienta en la lucha contra las violaciones de GPL en el firmware. Software Freedom Conservancy (SFC) y Software Freedom Law Center (SFLC) en nombre de los desarrolladores de BusyBox, ambos a través de tribunal, de esa manera conclusiones Los acuerdos extrajudiciales han influido con éxito en repetidas ocasiones en empresas que no proporcionan acceso al código fuente de los programas GPL. Al mismo tiempo, el autor de BusyBox hace todo lo posible para objetos a contra tal protección, creyendo que arruina su negocio.

Los siguientes cambios se destacan en BusyBox 1.32:

  • Nuevo comando agregado me para ejecutar skippts desde un Mimfile determinado (que recuerda algo a una utilidad make simplificada);
  • La utilidad de búsqueda ha agregado la opción "-empty" para buscar archivos vacíos;
  • En la utilidad wget, se amplió el límite en la cantidad de redirecciones y se implementó la compatibilidad con la verificación de certificados TLS con ENABLE_FEATURE_WGET_OPENSSL;
  • Se agregó soporte correcto para una lista de patrones (pattern_list) para grep y se agregó la opción "-R" (procesamiento recursivo de contenidos del directorio);
  • Se resolvieron problemas que ocurrían al compilar en Clang 9 y se eliminaron las advertencias del compilador;
  • Se han propuesto una gran cantidad de correcciones para los shells de comando ash y hush, con el objetivo de mejorar la compatibilidad con otros shells. Se ha agregado a ash and hush la capacidad de autocompletar comandos integrados con pestañas. Los nuevos comandos integrados se han estabilizado en cenizas.
  • La utilidad fdisk ahora admite particiones HFS y HFS+;
  • init ha mejorado el manejo de las condiciones de carrera cuando se reciben señales;
  • A la utilidad para el monitoreo visual de los parámetros del sistema. nmetro formato de salida agregado "%NT" (hora alineada con ceros);
  • Se ha agregado al conjunto de tareas la capacidad de procesar y mostrar una lista de CPU (opción "-c");
  • En tar se ha cambiado el comportamiento de la opción "-a", que en lugar de habilitar la compresión "lzma", ahora está asociada a la autodetección por extensión de archivo;
  • Udhcpc6 agregó soporte para "apátrida» para DHCPv6 (el servidor envía sólo parámetros de red, sin asignar una dirección);
  • nslookup ahora admite el procesamiento de respuestas sin registros RR y agrega soporte para registros SRV;
  • Se agregaron nuevos comandos "showmacs" y "showstp" a brctl;
  • Se agregó soporte para el parámetro "servidor de retransmisión" a dhcpc;
  • Se agregó una configuración a syslogd para mostrar la hora con precisión de milisegundos;
  • En httpd, cuando se ejecuta en modo NOMMU, se permite configurar un directorio de inicio diferente y la opción '-h' funciona cuando se ejecuta un proceso en segundo plano;
  • xargs ha mejorado el manejo de argumentos entre comillas y ha garantizado 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 tuvo lugar relizar Caja de juguetes 0.8.3, un análogo de BusyBox, desarrollado por el ex mantenedor de BusyBox y repartido bajo licencia BSD. El objetivo principal de Toybox es brindar a los fabricantes la posibilidad de utilizar un conjunto minimalista de utilidades estándar sin abrir el código fuente de los componentes modificados. Según las capacidades de Toybox hasta el momento quedarse atrás de BusyBox, pero ya se han implementado 272 comandos básicos (204 completamente y 68 parcialmente) de los 343 previstos.

Entre las novedades de Toybox 0.8.3 podemos destacar:

  • Se agregaron nuevos comandos rtcwake, blkdiscard, getopt y readelf;
  • "make root" brinda la capacidad de crear un entorno de arranque funcional basado únicamente en el kernel de Linux y las utilidades Toybox, que se pueden cargar usando su propio script de inicio;
  • Se agregó soporte inicial para módulos con implementaciones separadas de utilidades que no están incluidas en el ToyBox principal;
  • El intérprete de comandos toysh está listo al 80% (aún no hay soporte para funciones, historial, administración de terminales, trabajos, $((math)), plantillas);
  • Se agregó soporte para opciones adicionales para varias utilidades, incluidas patch, cal, cp, mv, lsattr, chattr, ls, id, netcat y setsid.

Fuente: opennet.ru

Añadir un comentario