Lanzamento dun conxunto minimalista de utilidades do sistema BusyBox 1.31

Presentado liberación do paquete BusyBox 1.31 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.31 sitúase como inestable, a estabilización total proporcionarase na versión 1.31.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.30, o consumo de memoria RAM do conxunto típico de BusyBox 1.31 diminuíu en 86 bytes (de 1008478 a 1008392 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.31:

  • Engadidos novos comandos: ts (implementación de cliente e servidor para o protocolo TSP (Time-Stamp Protocol)) e i2ctransfer (creación e envío de mensaxes I2C);
  • Engadido soporte para opcións DHCP a udhcp 100 (información da zona horaria) e 101 (nome da zona horaria na base de datos TZ) para IPv6;
  • Engadido soporte para enlaces de nomes de host estáticos aos clientes en udhcpd;
  • As shells ash e hush implementan os literais numéricos "BASE#nnnn". A implementación do comando ulimit foi compatible con bash, incluíndo as opcións "-i RLIMIT_SIGPENDING" e "-q RLIMIT_MSGQUEUE". Engadido soporte para "wait -n". Engadíronse variables EPOCH compatibles con bash;
  • O shell hush implementa unha variable "$-" que enumera as opcións do shell activadas por defecto;
  • O código para pasar valores por referencia foi transferido a bc desde upstream, engadiuse soporte para funcións void e a capacidade de traballar con valores ibase ata 36;
  • En brctl, todos os comandos foron convertidos para funcionar usando o pseudo-FS /sys;
  • O código das utilidades fsync e sync fusionouse;
  • Mellorouse a implementación de httpd. Procesamento mellorado das cabeceiras HTTP e traballo en modo proxy. A lista de tipos MIME inclúe SVG e JavaScript;
  • Engadiuse a opción "-c" á configuración de perda (comprobación forzada do tamaño do ficheiro asociado ao dispositivo de bucle), así como unha opción para escanear particións. mount e losetup proporcionan soporte para traballar usando /dev/loop-control;
  • En ntpd, o valor SLEW_THRESHOLD aumentou de 0.125 a 0.5;
  • Engadido soporte para asignar valores nulos a sysctl;
  • Engadido soporte para valores fraccionarios na opción "-n SEC" para ver;
  • Engadida a posibilidade de executar mdev como proceso en segundo plano;
  • A utilidade wget implementa a marca "-o" para especificar o ficheiro no que escribir o rexistro. Engadíronse notificacións sobre o inicio e a finalización das descargas;
  • Engadido soporte para o comando AYT IAC a telnetd;
  • Engadido o comando "dG" a vi (eliminar o contido da liña actual ata o final do ficheiro);
  • Engadida a opción 'oflag=append' ao comando dd;
  • Engadiuse a bandeira "-H" á utilidade superior para activar o modo de dixitalización de fíos individuais.

Ademais, hai dúas semanas tivo lugar liberación Caixa de xoguetes 0.8.1, 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 188 comandos básicos dos 220 previstos.

Entre as novidades de Toybox 0.8.1 podemos destacar:

  • Alcanzouse un nivel de funcionalidade suficiente para construír Android nun ambiente baseado nas utilidades Toybox.
  • Inclúense os novos comandos mcookie e devmem, e os comandos tar, gunzip e zcat reescritos móvense desde a rama de proba.
  • Propúxose unha nova implementación de vi para proba.
  • O comando find agora admite as opcións "-wholename/-iwholename".
    "-printf" e "-context";

  • Engadida a opción "--exclude-dir" a grep;
  • Agora Echo admite a opción "-E".
  • Engadido soporte "UUID" para montar.
  • O comando de data agora ten en conta a zona horaria especificada na variable de ambiente TZ.
  • Engadido soporte para intervalos relativos (+N) a sed.
  • Lexibilidade mellorada da saída ps, top e iotop.

Fonte: opennet.ru

Engadir un comentario