Rilascio del set minimalista di utilità di sistema BusyBox 1.35

È stato rilasciato il pacchetto BusyBox 1.35, che implementa un insieme di utilità standard UNIX, confezionate in un unico file eseguibile e ottimizzate per un minimo consumo di risorse di sistema, con una dimensione complessiva inferiore a 1 MB. La prima versione della nuova serie 1.35 è etichettata come instabile; la piena stabilizzazione sarà garantita con la versione 1.35.1, prevista per circa un mese. Il codice del progetto è distribuito sotto licenza GPLv2.

La natura modulare di BusyBox consente di creare un unico file eseguibile che contiene un insieme arbitrario di utilità implementate nel pacchetto (ogni utilità è disponibile come un collegamento simbolico a questo file). La dimensione, la composizione e le funzionalità della raccolta di utilità possono essere variate in base alle esigenze e alle capacità della piattaforma embedded per cui viene effettuata la compilazione. Il pacchetto è autonomo; con una compilazione statica utilizzando 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.34, il consumo di memoria RAM per la compilazione tipica di BusyBox 1.35 è aumentato di 1726 byte (da 1.042.344 a 1.044.070 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), a nome degli sviluppatori di BusyBox, hanno ripetutamente esercitato con successo pressioni su aziende che non forniscono accesso al codice sorgente dei programmi GPL, sia attraverso cause legali che tramite accordi extragiudiziali. Nel contempo, l'autore di BusyBox si oppone fermamente a tale protezione, ritenendo che danneggi il suo business.

Nella versione BusyBox 1.35 si evidenziano le seguenti modifiche:

  • Nell'utilità find è stata implementata l'opzione «-samefile nome» per controllare se un file utilizza lo stesso inode di un file con il nome specificato. Il codice per il confronto temporale è stato unificato e sono state aggiunte le opzioni «-amin», «-atime», «-cmin» e «-ctime» per controllare il tempo di accesso e creazione di un file.
  • Nell'utilità mktemp è stata aggiunta l'opzione «—tmpdir» per specificare la cartella di base relativa alla quale vengono calcolati i percorsi associati ai file temporanei.
  • Nell'utilità cpio sono state aggiunte le opzioni «—ignore-devno» per ignorare il numero di dispositivo reale (che è sempre registrato come 0) e «—renumber-inodes» per rinumerare gli inode prima di inserirli nell'archivio.
  • Nell'utilità awk è stata migliorata la gestione dell'espressione «printf %%».
  • Aggiunti circa una dozzina di modifiche alla libreria libbb. Migliorata la compatibilità di realpath con quella del pacchetto coreutils.
  • Proposta una grande serie di correzioni nelle shell ash e hush, mirate a migliorare la compatibilità con altre shell. In ash è stato aggiunto il supporto per il trap ERR di tipo bash, set -E e $FUNCNAME, e ottimizzata l'estrazione delle stringhe usando l'espressione «${s:}». In ash e hush sono state accelerate anche le operazioni «${x//\*/|}».
  • Nell'utility basename sono state implementate le opzioni «-a» per passare più nomi con una sola chiamata e «-s SUFFIX» per rimuovere i caratteri finali «SUFFIX».
  • Nell'utility blkdiscard è stata aggiunta l'opzione «-f» (force).
  • Nell'httpd è stata interrotta l'invio delle intestazioni Last-Modified / ETag / Content-Length per le pagine di errore.
  • In httpd e telnetd è stata fornita la possibilità di cambiare la porta di rete predefinita.
  • In tar è stata risolta una vulnerabilità che portava a esaurire tutta la memoria disponibile durante l'elaborazione di archivi con nomi di file molto lunghi.
  • Nel codice TLS è stata ristrutturata l'implementazione di P256 e x25519.
  • Nell'utility wget è stata implementata l'opzione «—post-file» per inviare file e autorizzata la configurazione del contenuto dell'intestazione Content-Type per le opzioni «—post-data» e «—post-file».
  • Il comando timeout ha ora il supporto per l'opzione «-k KILL_SECS», che invia il segnale SIGKILL se il comando non termina entro KILL_SECS secondi aggiuntivi.
  • Il comando ip ha ora il supporto per impostare il parametro netns per i dispositivi.
  • Nel comando cal è stata implementata l'opzione «-m» per visualizzare un mese specificato.
  • Nei comandi date e touch è consentito specificare un offset del fuso orario nelle date.
  • Nell'editor vi è stato aggiunto il supporto per il file ~/.exrc, e sono state modificate la gestione di «-c» e EXINIT.
  • Nel comando ed, il risultato dell'esecuzione dei comandi read/write è stato allineato alla specifica POSIX-1.2008. È stata aggiunta l'opzione «-p».
  • Nel comando cmp è stata aggiunta l'opzione «-n N» per limitare il confronto a N byte.

Inoltre, qualche giorno fa è stato rilasciato Toybox 0.8.6, un'alternativa a BusyBox, sviluppata dall'ex mantenitore di BusyBox e distribuita sotto licenza 0BSD. L'obiettivo principale di Toybox è fornire ai produttori la possibilità di utilizzare un insieme minimalista di utilità standard senza dover rendere disponibili i codici sorgente dei componenti modificati. Attualmente, Toybox è indietro rispetto a BusyBox in termini di funzionalità, ma ha già implementato 296 comandi di base (217 completamente e 83 parzialmente) su 374 previsti.

Tra le novità di Toybox 0.8.6, vale la pena notare il miglioramento degli script per la creazione di immagini di sistema, l'aggiunta dei comandi sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace e hexdump. Sono state implementate opzioni come «date -s», «pmap -p», «tail -F -s», «kill -0», reboot/halt/poweroff -d, «tail —bytes —lines», «i2cdetect -q», «find -quit -lname -ilname -d», «cut -d $’\n'», «cut -nb», «cpio —ignore-devno —renumber-inodes», «tar —selinux», «split -n», «grep -L».

Fonte: opennet.ru

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