Lanzamento dun conxunto minimalista de utilidades do sistema BusyBox 1.32

Presentado liberación do paquete BusyBox 1.32 coa implementación dun conxunto de utilidades UNIX estándar, deseñadas como un único ficheiro executable e optimizadas para un consumo mínimo de recursos do sistema cun tamaño definido inferior a 1 MB. A primeira versión da nova rama 1.32 sitúase como inestable, a estabilización total proporcionarase na versión 1.32.1, que se espera dentro dun mes aproximadamente. O código do proxecto distribúese baixo a licenza GPLv2.

A natureza modular de BusyBox fai posible crear un ficheiro executable unificado que contén un conxunto arbitrario de utilidades implementadas no paquete (cada utilidade está dispoñible en forma de ligazón simbólica a este ficheiro). O tamaño, a composición e a funcionalidade da colección de utilidades poden variar en función das necesidades e capacidades da plataforma integrada para a que se está a realizar a montaxe. O paquete é autónomo; cando se crea estáticamente con uclibc, para crear un sistema de traballo enriba do núcleo de Linux, só precisa crear varios ficheiros de dispositivo no directorio /dev e preparar ficheiros de configuración. En comparación coa versión anterior 1.31, o consumo de memoria RAM do conxunto típico de BusyBox 1.32 aumentou en 3590 bytes (de 1011750 a 1015340 bytes).

BusyBox é a principal ferramenta na loita contra as violacións da GPL no firmware. Software Freedom Conservancy (SFC) e Software Freedom Law Center (SFLC) en nome dos desenvolvedores de BusyBox, ambos a través de o xulgado, e deste xeito conclusións Os acordos extraxudiciais influíron repetidamente con éxito en empresas que non proporcionan acceso ao código fonte dos programas GPL. Ao mesmo tempo, o autor de BusyBox fai todo o posible para obxectos contra esa protección, crendo que arruina o seu negocio.

Os seguintes cambios están destacados en BusyBox 1.32:

  • Engadiuse un novo comando imitar executar skippts desde un ficheiro Mim dado (que recorda un pouco a unha utilidade de creación reducida);
  • A utilidade de busca engadiu a opción "-empty" para comprobar os ficheiros baleiros;
  • Na utilidade wget, ampliouse o límite no número de redireccións e implementouse o soporte para comprobar certificados TLS con ENABLE_FEATURE_WGET_OPENSSL;
  • Engadiu o soporte correcto para unha lista de patróns (lista_patróns) a grep e engadiu a opción "-R" (procesamento recursivo dos contidos do directorio);
  • Resolveuse os problemas que se producían ao construír en Clang 9 e elimináronse os avisos do compilador;
  • Propuxéronse unha gran cantidade de correccións para as shells de comandos ash e hush, co obxectivo de mellorar a compatibilidade con outras shells. Engadiuse a ash and hush a capacidade de autocompletar comandos integrados con pestanas. Os novos comandos integrados foron estabilizados en cinzas.
  • A utilidade fdisk agora admite particións HFS e HFS+;
  • init mellorou o manexo das condicións de carreira cando se reciben sinais;
  • Á utilidade de monitorización visual dos parámetros do sistema nmetro engadido o formato de saída "%NT" (tempo aliñado con ceros);
  • A capacidade de procesar e mostrar unha lista de CPUs engadiuse ao conxunto de tarefas (opción “-c”);
  • En tar, cambiouse o comportamento da opción "-a", que, en lugar de activar a compresión "lzma", agora está asociada coa detección automática por extensión de ficheiro;
  • Udhcpc6 engadiu soporte para o "apátridas» para DHCPv6 (o servidor envía só parámetros de rede, sen asignar un enderezo);
  • nslookup agora admite o procesamento de respostas sen rexistros RR e engade soporte para rexistros SRV;
  • Engadíronse novos comandos "showmacs" e "showstp" a brctl;
  • Engadido soporte para o parámetro "servidor de retransmisión" a dhcpc;
  • Engadiuse a configuración a syslogd para mostrar o tempo con precisión de milisegundos;
  • En httpd, cando se executa en modo NOMMU, permítese establecer un directorio de inicio diferente e a opción '-h' funciona cando se executa un proceso en segundo plano;
  • xargs mellorou o manexo dos argumentos entre comiñas e garantiu o comportamento correcto da opción "-n";
  • Solucionáronse erros nas utilidades grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi e ruta.

Ademais, o mes pasado tivo lugar liberación Caixa de xoguetes 0.8.3, un análogo de BusyBox, desenvolvido polo antigo mantedor de BusyBox e distribuído baixo licenza BSD. O obxectivo principal de Toybox é proporcionar aos fabricantes a posibilidade de usar un conxunto minimalista de utilidades estándar sen abrir o código fonte dos compoñentes modificados. Segundo as capacidades de Toybox ata agora quedando atrás de BusyBox, pero xa se implementaron 272 comandos básicos (204 completamente e 68 parcialmente) dos 343 previstos.

Entre as novidades de Toybox 0.8.3 podemos destacar:

  • Engadíronse novos comandos rtcwake, blkdiscard, getopt e readelf;
  • "make root" ofrece a posibilidade de crear un ambiente de arranque de traballo baseado só no núcleo de Linux e as utilidades Toybox, que se poden cargar usando o seu propio script de inicio;
  • Engadido soporte inicial para módulos con implementacións separadas de utilidades que non están incluídas no ToyBox principal;
  • O intérprete de comandos toysh está preparado nun 80 % (aínda non hai soporte para funcións, historial, xestión de terminais, traballos, $((matemáticas)), modelos);
  • Engadido soporte para opcións adicionais a varias utilidades, incluíndo parche, cal, cp, mv, lsattr, chattr, ls, id, netcat e setsid.

Fonte: opennet.ru

Engadir un comentario