rilascio del pacchetto con l'implementazione di un set di utilità UNIX standard, organizzate in un unico file eseguibile e ottimizzate per un minimo consumo di risorse di sistema, con una dimensione del pacchetto inferiore a 1 MB. Il primo rilascio della nuova serie 1.32 è posizionato come instabile, la stabilizzazione completa sarà garantita nella versione 1.32.1, prevista per circa un mese. Il codice del progetto è distribuito sotto la licenza GPLv2.
La natura modulare di BusyBox consente di creare un unico file eseguibile unificato, contenente un insieme arbitrario di utility implementate nel pacchetto (ogni utility è accessibile come un collegamento simbolico a questo file). La dimensione, la composizione e la funzionalità della collezione di utility possono essere variate in base alle esigenze e alle capacità della piattaforma integrata per la quale viene effettuata la compilazione. Il pacchetto è autonomo; con la compilazione statica con uclibc è sufficiente creare alcuni file di dispositivo nella directory /dev e preparare i file di configurazione per creare un sistema operativo funzionante sopra il kernel Linux. Rispetto alla precedente versione 1.31, il consumo di memoria del tipico assemblaggio di BusyBox 1.32 è aumentato di 3590 byte (da 1011750 a 1015340 byte).
BusyBox è uno strumento fondamentale nella lotta contro la violazione della GPL nei firmware. Le organizzazioni Software Freedom Conservancy (SFC) e Software Freedom Law Center (SFLC) agiscono per conto degli sviluppatori di BusyBox sia attraverso , che attraverso Gli accordi extragiudiziali hanno ripetutamente avuto successo nell'influenzare le aziende che non forniscono accesso al codice sorgente delle app GPL. Allo stesso tempo, l'autore di BusyBox protesta vivacemente contro questa protezione — considerando che distrugge il suo business.
Nella versione 1.32 di BusyBox si evidenziano le seguenti modifiche:
- È stata aggiunta una nuova comando per eseguire script da un file Mimfile (simile a una versione semplificata dell'utility make);
- Nell'utility find è stata aggiunta l'opzione "-empty" per controllare file vuoti;
- Nell'utility wget è stato ampliato il limite per il numero di reindirizzamenti e implementato il supporto per il controllo dei certificati TLS in caso di errore con ENABLE_FEATURE_WGET_OPENSSL;
- In grep è stato aggiunto un supporto corretto per l'elenco dei modelli (pattern_list) e aggiunta l'opzione "-R" (elaborazione ricorsiva del contenuto delle directory);
- Sono stati risolti problemi riscontrati durante la compilazione con Clang 9 e sono stati eliminati gli avvisi del compilatore;
- È stata proposta una grande quantità di correzioni per le shell ash e hush, mirate a migliorare la compatibilità con altre shell. In ash e hush è stata aggiunta la funzionalità di completamento automatico delle comandi interne con la tabulazione. In ash sono state stabilizzate nuove comandi interne.
- Nell'utilità fdisk è stata aggiunta la supporto per le partizioni HFS e HFS+;
- In init è migliorata la gestione delle condizioni di competizione all'arrivo dei segnali;
- Nell'utilità di monitoraggio visivo dei parametri di sistema è stato aggiunto il formato di output «%NT» (tempo allineato con zeri);
- In taskset è stata aggiunta la possibilità di gestire e visualizzare un elenco di CPU (opzione «-c»);
- In tar è cambiato il comportamento dell'opzione «-a», che ora è collegata all'auto-detect secondo l'estensione del file invece di attivare la compressione «lzma»;
- In udhcpc6 è stata aggiunta la supporto per la modalità «» per DHCPv6 (il server fornisce solo i parametri di rete, senza assegnazione di indirizzo);
- In nslookup è stata garantita la gestione delle risposte senza registrazioni RR e aggiunta la supporto per le registrazioni SRV;
- In brctl sono stati aggiunti nuovi comandi «showmacs» e «showstp»;
- In dhcpc è stata aggiunta la supporto per il parametro «relay server»;
- In syslogd è stata aggiunta un'opzione per visualizzare il tempo con precisione ai millisecondi;
- In httpd, lavorando in modalità NOMMU, è consentita la configurazione di una home directory diversa e la corretta esecuzione dell'opzione ‘-h’ durante l'avvio del processo in background;
- In xargs è stata implementata la gestione degli argomenti racchiusi tra virgolette e garantito un comportamento corretto per l'opzione «-n»;
- Sono state risolte le lacune nelle utilità grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route.
Inoltre, nel mese scorso rilascio , l'equivalente di BusyBox, sviluppato dall'ex manutentore di BusyBox e sotto licenza BSD. Lo scopo principale di Toybox è fornire ai produttori la possibilità di utilizzare un insieme minimalista di utilità standard senza dover aprire il codice sorgente dei componenti modificati. Per quanto riguarda le funzionalità, Toybox è ancora rispetto a BusyBox, ma sono già state implementate 272 comandi di base (204 completamente e 68 parzialmente) su un totale di 343 programmati.
Tra le novità di Toybox 0.8.3 si possono evidenziare:
- Sono stati aggiunti nuovi comandi rtcwake, blkdiscard, getopt e readelf;
- Nel «make root» è stata garantita la possibilità di creare un ambiente di avvio operativo basato solo sul kernel Linux e sulle utilità Toybox, che può essere avviato tramite un proprio script init;
- È stato aggiunto il supporto iniziale per i moduli con implementazioni separate di utilità non incluse nel pacchetto principale di ToyBox;
- L'interprete dei comandi toysh è stato completato all'80% (manca attualmente il supporto per funzioni, cronologia, gestione del terminale, job, $((math)), modelli);
- È stata aggiunta la supporto per opzioni aggiuntive in diverse utility, tra cui patch, cal, cp, mv, lsattr, chattr, ls, id, netcat e setsid.
Fonte: opennet.ru
