Rilascio di un set minimalista di utilità di sistema BusyBox 1.31

Introdotto rilascio del pacchetto Casella occupata 1.31 con l'implementazione di un insieme di utilità UNIX standard, progettate come un singolo file eseguibile e ottimizzato per un consumo minimo di risorse di sistema con una dimensione impostata inferiore a 1 MB. La prima versione del nuovo ramo 1.31 è posizionata come instabile, la stabilizzazione completa verrà fornita nella versione 1.31.1, prevista tra circa un mese. Il codice del progetto è distribuito sotto la licenza GPLv2.

La natura modulare di BusyBox consente di creare un file eseguibile unificato contenente un insieme arbitrario di utilità implementate nel pacchetto (ogni utilità è disponibile sotto forma di un collegamento simbolico a questo file). La dimensione, la composizione e la funzionalità della raccolta di utilità possono essere variate a seconda delle esigenze e delle capacità della piattaforma embedded per la quale viene effettuato l'assemblaggio. Il pacchetto è autonomo; quando creato staticamente con uclibc, per creare un sistema funzionante sopra il kernel Linux, è sufficiente creare diversi file di dispositivo nella directory /dev e preparare i file di configurazione. Rispetto alla versione precedente 1.30, il consumo di RAM del tipico assieme BusyBox 1.31 è diminuito di 86 byte (da 1008478 a 1008392 byte).

BusyBox è lo strumento principale nella lotta contro le violazioni della GPL nel firmware. La Software Freedom Conservancy (SFC) e il Software Freedom Law Center (SFLC) per conto degli sviluppatori BusyBox, sia attraverso tribunale, e in questo modo conclusioni accordi extragiudiziali hanno ripetutamente influenzato con successo le aziende che non forniscono l'accesso al codice sorgente dei programmi GPL. Allo stesso tempo, l'autore di BusyBox fa del suo meglio oggetti contro tale protezione, credendo che ciò rovini i suoi affari.

Le seguenti modifiche sono evidenziate in BusyBox 1.31:

  • Aggiunti nuovi comandi: ts (implementazione client e server per il protocollo TSP (Time-Stamp Protocol)) e i2ctransfer (creazione e invio di messaggi I2C);
  • Aggiunto il supporto per le opzioni DHCP su udhcp 100 (informazioni sul fuso orario) e 101 (nome del fuso orario nel database TZ) per IPv6;
  • Aggiunto il supporto per i collegamenti statici dei nomi host ai client in udhcpd;
  • Le shell ash e hush implementano i valori letterali numerici "BASE#nnnn". L'implementazione del comando ulimit è stata resa compatibile con bash, incluse le opzioni “-i RLIMIT_SIGPENDING” e “-q RLIMIT_MSGQUEUE”. Aggiunto il supporto per "wait -n". Aggiunte variabili EPOCH compatibili con bash;
  • La shell hush implementa una variabile "$-" che elenca le opzioni della shell abilitate per impostazione predefinita;
  • Il codice per il passaggio dei valori per riferimento è stato trasferito a bc da upstream, è stato aggiunto il supporto per le funzioni void e la possibilità di lavorare con valori ibase fino a 36;
  • In brctl, tutti i comandi sono stati convertiti per funzionare utilizzando lo pseudo-FS /sys;
  • Il codice delle utilità fsync e sincronizzazione è stato unito;
  • L'implementazione di httpd è stata migliorata. Elaborazione migliorata delle intestazioni HTTP e funzionamento in modalità proxy. L'elenco dei tipi MIME include SVG e JavaScript;
  • L'opzione "-c" è stata aggiunta a loosetup (doppio controllo forzato della dimensione del file associato al dispositivo loop), così come un'opzione per la scansione delle partizioni. mount e loosetup forniscono supporto per lavorare usando /dev/loop-control;
  • In ntpd, il valore SLEW_THRESHOLD è stato aumentato da 0.125 a 0.5;
  • Aggiunto il supporto per l'assegnazione di valori nulli a sysctl;
  • Aggiunto il supporto per valori frazionari nell'opzione “-n SEC” da guardare;
  • Aggiunta la possibilità di eseguire mdev come processo in background;
  • L'utilità wget implementa il flag "-o" per specificare il file in cui scrivere il registro. Aggiunte notifiche sull'inizio e sul completamento dei download;
  • Aggiunto il supporto per il comando AYT IAC a telnetd;
  • Aggiunto il comando 'dG' a vi (elimina il contenuto dalla riga corrente alla fine del file);
  • Aggiunta l'opzione 'oflag=append' al comando dd;
  • Il flag '-H' è stato aggiunto all'utilità principale per abilitare la scansione dei singoli thread.

Inoltre, due settimane fa ha avuto luogo rilasciare Scatola dei giocattoli 0.8.1, un analogo di BusyBox, sviluppato dall'ex manutentore di BusyBox e distribuito sotto licenza BSD. Lo scopo principale di Toybox è fornire ai produttori la possibilità di utilizzare un set minimalista di utilità standard senza aprire il codice sorgente dei componenti modificati. Secondo le capacità di Toybox finora in ritardo da BusyBox, ma sono già stati implementati 188 comandi base sui 220 previsti.

Tra le novità di Toybox 0.8.1 possiamo notare:

  • È stato raggiunto un livello di funzionalità sufficiente per costruire Android in un ambiente basato sulle utilità Toybox.
  • Sono inclusi i nuovi comandi mcookie e devmem e i comandi tar, gunzip e zcat riscritti vengono spostati dal ramo test.
  • Una nuova implementazione di vi è stata proposta per il test.
  • Il comando find ora supporta le opzioni "-wholename/-iwholename".
    "-printf" e "-context";

  • Aggiunta l'opzione "--exclude-dir" a grep;
  • Echo ora supporta l'opzione "-E".
  • Aggiunto il supporto "UUID" per il montaggio.
  • Il comando date ora prende in considerazione il fuso orario specificato nella variabile di ambiente TZ.
  • Aggiunto supporto per intervalli relativi (+N) a sed.
  • Migliorata la leggibilità dell'output ps, top e iotop.

Fonte: opennet.ru

Aggiungi un commento