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

Presentato rilascio del pacchetto BusyBox 1.31 con la realizzazione di un insieme di utilità standard UNIX, presentate come un'unica eseguibile e ottimizzate per un minimo consumo di risorse di sistema con una dimensione del pacchetto inferiore a 1 MB. La prima versione della nuova serie 1.31 è etichettata come instabile, la completa stabilizzazione sarà garantita nella versione 1.31.1, che è attesa tra circa un mese. Il codice del progetto è distribuito sotto licenza GPLv2.

Il carattere modulare di BusyBox consente di creare un unico file eseguibile contenente un insieme arbitrario di utilità implementate nel pacchetto (ogni utilità è accessibile come collegamento simbolico a questo file). La dimensione, la composizione e la funzionalità della raccolta di utilità possono variare in base alle esigenze e alle capacità della piattaforma integrata per la quale viene effettuata la compilazione. Il pacchetto è auto-sufficiente; per una compilazione statica con uclibc per creare un sistema operativo funzionante sopra il kernel Linux, è sufficiente creare alcuni file di dispositivo nella directory /dev e preparare i file di configurazione. Rispetto alla versione precedente 1.30, il consumo di memoria operativa con la compilazione standard di BusyBox 1.31 è diminuito di 86 byte (da 1008478 a 1008392 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 il tribunale, che attraverso accordi 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, ritenendola dannosa per il suo business. contro questa protezione — considerando che distrugge il suo business.

Nella versione BusyBox 1.31 si evidenziano le seguenti modifiche:

  • Sono stati aggiunti nuovi comandi: ts (implementazione di client e server per il protocollo TSP (Time-Stamp Protocol)) e i2ctransfer (creazione e invio di messaggi I2C);
  • In udhcp è stata aggiunta la supporto per le opzioni DHCP 100 (informazioni sul fuso orario) e 101 (nome del fuso orario nel database TZ) per IPv6;
  • In udhcpd è stata aggiunta la supporto per i binding statici dei nomi host ai client;
  • Nelle shell dei comandi ash e hush sono stati implementati letterali numerici «BASE#nnnn». È stata portata a compatibilità con bash l'implementazione del comando ulimit, comprese le opzioni «-i RLIMIT_SIGPENDING» e «-q RLIMIT_MSGQUEUE». Aggiunta la supporto per «wait -n». Aggiunte variabili compatibili con bash EPOCH;
  • Nella shell dei comandi hush è stata implementata la variabile «$-«, che elenca le opzioni attivate per impostazione predefinita della shell;
  • In bc è stato trasferito dal codice upstream per passare valori per riferimento, è stata aggiunta la supporto per funzioni void e la possibilità di lavorare con valori ibase fino a 36;
  • In brctl tutti i comandi sono stati tradotti per lavorare con il file system pseudo /sys;
  • Il codice delle utility fsync e sync è stato unificato;
  • È stata migliorata l'implementazione di httpd. Migliorata la gestione delle intestazioni HTTP e il funzionamento in modalità proxy. SVG e JavaScript sono stati inclusi nell'elenco dei MIME-type;
  • In losetup è stata aggiunta l'opzione «-c» (verifica forzata della dimensione del file associato al dispositivo loop), così come un'opzione per la scansione delle partizioni. In mount e losetup è stato assicurato il supporto per l'uso di /dev/loop-control;
  • In ntpd, il valore di SLEW_THRESHOLD è stato aumentato da 0.125 a 0.5;
  • In sysctl è stata aggiunta la supporto per l'assegnazione di valori vuoti;
  • In watch è stata aggiunta la supporto per valori frazionari nell'opzione «-n SEC»;
  • È stata aggiunta la possibilità di eseguire mdev come processo in background;
  • Nell'utilità wget è stato implementato il flag «-o» per definire il file di registrazione. Aggiunte notifiche per l'inizio e la fine del download;
  • In telnetd è stata aggiunta la supporto per il comando AYT IAC;
  • In vi è stato aggiunto il comando ‘dG' (rimuovere il contenuto dalla riga attuale fino alla fine del file);
  • Nel comando dd è stata aggiunta l'opzione ‘oflag=append’;
  • Nell'utilità top è stato aggiunto il flag ‘-H’ per attivare la modalità di scansione dei singoli thread.

Inoltre, due settimane fa si è tenuto rilascio Toybox 0.8.1, l'equivalente 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 insieme minimalista di utilità standard senza dover aprire il codice sorgente dei componenti modificati. Per quanto riguarda le funzionalità, Toybox è ancora indietro da BusyBox, ma sono già state implementate 188 comandi di base su 220 previsti.

Tra le novità di Toybox 0.8.1 si possono segnalare:

  • È stato raggiunto un livello di funzionalità sufficiente per costruire Android in un ambiente basato su utility Toybox.
  • Sono state incluse nuove comandi mcookie e devmem, le comandi tar, gunzip e zcat riscritte sono state trasferite dal ramo di test.
  • Per i test è stata proposta una nuova implementazione di vi.
  • Nel comando find è stata aggiunta la supporto per le opzioni «-wholename/-iwholename»,
    «-printf» e «-context»;
  • In grep è stata aggiunta l'opzione «—exclude-dir»;
  • In echo è stata aggiunta la supporto per l'opzione «-E».
  • In mount è stata aggiunta la supporto per «UUID».
  • Nel comando date è stata aggiunta la gestione del fuso orario specificato nella variabile d'ambiente TZ.
  • In sed è stata aggiunta la supporto per intervalli relativi (+N).
  • Migliorata la leggibilità dell'output di ps, top e iotop.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster