Lanzamiento del conjunto minimalista de utilidades del sistema BusyBox 1.31

Presentado lanzamiento del paquete BusyBox 1.31 con la implementación de un conjunto de utilidades estándar de UNIX, presentadas en forma de un único archivo ejecutable y optimizadas 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.31 se posiciona como inestable, y la estabilización completa se garantizará en la versión 1.31.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 crear un solo archivo ejecutable unificado que contiene un conjunto arbitrario de utilidades implementadas en el paquete (cada utilidad está disponible como un enlace simbólico a este archivo). El tamaño, la composición y la funcionalidad de la colección de utilidades se pueden variar según las necesidades y capacidades de la plataforma embebida para la cual se realiza la compilación. El paquete es autónomo; al compilar estáticamente con uclibc para crear un sistema operativo sobre el núcleo de Linux, solo es necesario crear algunos archivos de dispositivo en el directorio /dev y preparar los archivos de configuración. En comparación con la versión anterior 1.30, el consumo de memoria de la compilación típica de BusyBox 1.31 se ha reducido en 86 bytes (de 1008478 a 1008392 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 acciones judiciales, así como mediante acuerdos 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 se opone a tal protección, considerando que destroza su negocio.

En la versión BusyBox 1.31 se destacan los siguientes cambios:

  • Se han añadido nuevos comandos: ts (implementación de cliente y servidor para el protocolo TSP (Time-Stamp Protocol)) y i2ctransfer (crear y enviar mensajes I2C);
  • Se ha añadido soporte para opciones DHCP 100 (información sobre la zona horaria) y 101 (nombre de la zona horaria en la base de datos TZ) para IPv6;
  • Se ha añadido soporte para enlaces estáticos de nombres de hosts a clientes en udhcpd;
  • En los shells ash y hush se han implementado literales numéricos 'BASE#nnnn'. Se ha ajustado la implementación del comando ulimit para que sea compatible con bash, incluyendo la adición de las opciones '-i RLIMIT_SIGPENDING' y '-q RLIMIT_MSGQUEUE'. Se ha añadido soporte para 'wait -n'. Se han añadido variables EPOCH compatibles con bash;
  • En el shell hush se ha implementado la variable '$-', que enumera las opciones del shell activadas por defecto;
  • En bc se ha trasladado código desde upstream para pasar valores por referencia, se ha añadido soporte para funciones void y la posibilidad de trabajar con valores de ibase hasta 36;
  • En brctl, todos los comandos se han adaptado para trabajar utilizando el pseudo-SO /sys;
  • Se ha consolidado el código de las utilidades fsync y sync;
  • Implementación mejorada de httpd. Se ha mejorado el manejo de encabezados HTTP y la operación en modo proxy. Se han añadido SVG y JavaScript a la lista de tipos MIME.
  • Se ha añadido la opción «-c» en losetup (verificación forzada del tamaño de archivo asociado al dispositivo de bucle), así como la opción para escanear particiones. Se ha asegurado el soporte para trabajar con /dev/loop-control en mount y losetup.
  • En ntpd, el valor de SLEW_THRESHOLD se ha aumentado de 0.125 a 0.5.
  • Se ha añadido soporte para asignar valores vacíos en sysctl.
  • Se ha añadido soporte para valores fraccionarios en la opción «-n SEC» en watch.
  • Se ha añadido la posibilidad de ejecutar mdev como un proceso en segundo plano.
  • En la utilidad wget, se ha implementado la bandera «-o» para definir el archivo para registrar el log. Se han añadido notificaciones para el inicio y finalización de la descarga.
  • Se ha añadido soporte para el comando AYT IAC en telnetd.
  • En vi se ha añadido el comando ‘dG’ (eliminar contenido desde la línea actual hasta el final del archivo).
  • Se ha añadido la opción ‘oflag=append’ al comando dd.
  • En la utilidad top se ha añadido la bandera ‘-H’ para habilitar el modo de escaneo de hilos individuales.

Además, hace dos semanas se llevó a cabo lanzamiento Toybox 0.8.1, un análogo de BusyBox, desarrollado por un antiguo mantenedor de BusyBox y distribuido 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á rezagado de BusyBox, pero ya se han implementado 188 comandos básicos de los 220 planificados.

Las novedades de Toybox 0.8.1 incluyen:

  • Se ha alcanzado un nivel de funcionalidad suficiente para compilar Android en un entorno basado en las utilidades Toybox.
  • Se han incluido nuevos comandos mcookie y devmem, y se han trasladado desde la rama de prueba los comandos reescritos tar, gunzip y zcat.
  • Se ha propuesto una nueva implementación de vi para pruebas.
  • Se ha añadido soporte para las opciones «-wholename/-iwholename» en el comando find,
    «-printf» y «-context»;
  • Se ha añadido la opción «—exclude-dir» en grep.
  • En echo se ha añadido soporte para la opción «-E».
  • Se ha añadido soporte para «UUID» en mount.
  • Se ha añadido el manejo de zonas horarias en el comando date, especificado en la variable de entorno TZ.
  • Se ha añadido soporte para rangos relativos (+N) en sed.
  • Se ha mejorado la legibilidad de la salida de ps, top e iotop.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster