Lansarea unui set minimalist de utilitare de sistem BusyBox 1.31

Introdus eliberarea pachetului BusyBox 1.31 cu implementarea unui set de utilitare standard UNIX, concepute ca un singur fișier executabil și optimizate pentru un consum minim de resurse de sistem cu o dimensiune setată mai mică de 1 MB. Prima lansare a noii ramuri 1.31 este poziționată ca instabilă, stabilizarea completă va fi furnizată în versiunea 1.31.1, care este așteptată în aproximativ o lună. Codul proiectului este distribuit sub licența GPLv2.

Natura modulară a BusyBox face posibilă crearea unui fișier executabil unificat care conține un set arbitrar de utilități implementate în pachet (fiecare utilitar este disponibil sub forma unei legături simbolice către acest fișier). Dimensiunea, compoziția și funcționalitatea colecției de utilități pot fi variate în funcție de nevoile și capacitățile platformei încorporate pentru care se realizează asamblarea. Pachetul este autonom; atunci când este construit static cu uclibc, pentru a crea un sistem de lucru pe deasupra nucleului Linux, trebuie doar să creați mai multe fișiere de dispozitiv în directorul /dev și să pregătiți fișierele de configurare. În comparație cu versiunea anterioară 1.30, consumul de RAM al ansamblului tipic BusyBox 1.31 a scăzut cu 86 de octeți (de la 1008478 la 1008392 de octeți).

BusyBox este instrumentul principal în lupta împotriva încălcărilor GPL în firmware. Software Freedom Conservancy (SFC) și Software Freedom Law Center (SFLC) în numele dezvoltatorilor BusyBox, ambele prin curte, și în acest fel concluzii Acordurile extrajudiciare au influențat cu succes în mod repetat companiile care nu oferă acces la codul sursă al programelor GPL. În același timp, autorul cărții BusyBox face tot posibilul obiecte împotriva unei astfel de protecție – crezând că îi strică afacerea.

Următoarele modificări sunt evidențiate în BusyBox 1.31:

  • S-au adăugat comenzi noi: ts (implementarea client și server pentru protocolul TSP (Time-Stamp Protocol)) și i2ctransfer (crearea și trimiterea mesajelor I2C);
  • S-a adăugat suport pentru opțiunile DHCP la udhcp 100 (informații despre fusul orar) și 101 (numele fusului orar în baza de date TZ) pentru IPv6;
  • S-a adăugat suport pentru legături statice de nume de gazdă la clienți în udhcpd;
  • Cojile ash și hush implementează literalele numerice „BASE#nnnn”. Implementarea comenzii ulimit a fost făcută compatibilă cu bash, inclusiv opțiunile „-i RLIMIT_SIGPENDING” și „-q RLIMIT_MSGQUEUE”. S-a adăugat suport pentru „wait -n”. S-au adăugat variabile EPOCH compatibile cu bash;
  • Shell-ul hush implementează o variabilă „$-” care listează opțiunile shell-ului activate implicit;
  • Codul pentru transmiterea valorilor prin referință a fost transferat la bc din amonte, a fost adăugat suport pentru funcții void și capacitatea de a lucra cu valori ibase de până la 36;
  • În brctl, toate comenzile au fost convertite pentru a funcționa folosind pseudo-FS /sys;
  • Codul utilitaților fsync și sync a fost îmbinat;
  • Implementarea httpd a fost îmbunătățită. Procesare îmbunătățită a antetelor HTTP și lucru în modul proxy. Lista de tipuri MIME include SVG și JavaScript;
  • Opțiunea „-c” a fost adăugată la losetup (verificare dublă forțată a dimensiunii fișierului asociat cu dispozitivul buclei), precum și o opțiune pentru scanarea partițiilor. mount și losetup oferă suport pentru lucrul folosind /dev/loop-control;
  • În ntpd, valoarea SLEW_THRESHOLD a fost crescută de la 0.125 la 0.5;
  • S-a adăugat suport pentru atribuirea de valori nule la sysctl;
  • S-a adăugat suport pentru valori fracționale în opțiunea „-n SEC” de urmărit;
  • S-a adăugat capacitatea de a rula mdev ca proces de fundal;
  • Utilitarul wget implementează indicatorul „-o” pentru a specifica fișierul în care să scrie jurnalul. Adăugate notificări despre începerea și finalizarea descărcărilor;
  • S-a adăugat suport pentru comanda AYT IAC la telnetd;
  • S-a adăugat comanda „dG” la vi (ștergeți conținutul din linia curentă până la sfârșitul fișierului);
  • S-a adăugat opțiunea „oflag=append” la comanda dd;
  • Indicatorul „-H” a fost adăugat la utilitarul superior pentru a permite scanarea firelor individuale.

De asemenea, acum două săptămâni a avut loc eliberare Cutie de jucării 0.8.1, un analog al BusyBox, dezvoltat de fostul întreținător BusyBox și distribuite sub licență BSD. Scopul principal al Toybox este de a oferi producătorilor posibilitatea de a utiliza un set minimalist de utilități standard fără a deschide codul sursă al componentelor modificate. Conform capabilităților Toybox până acum rămânând în urmă de la BusyBox, dar 188 de comenzi de bază din 220 planificate au fost deja implementate.

Printre inovațiile Toybox 0.8.1 putem remarca:

  • A fost atins un nivel de funcționalitate suficient pentru a construi Android într-un mediu bazat pe utilitățile Toybox.
  • Noile comenzi mcookie și devmem sunt incluse, iar comenzile tar, gunzip și zcat rescrise sunt mutate din ramura de testare.
  • O nouă implementare a vi a fost propusă pentru testare.
  • Comanda find acceptă acum opțiunile „-wholename/-iwholename”.
    „-printf” și „-context”;

  • S-a adăugat opțiunea „--exclude-dir” la grep;
  • Echo acceptă acum opțiunea „-E”.
  • S-a adăugat suport „UUID” pentru montare.
  • Comanda date acum ia în considerare fusul orar specificat în variabila de mediu TZ.
  • S-a adăugat suport pentru intervale relative (+N) la sed.
  • Lizibilitate îmbunătățită a ieșirii ps, top și iotop.

Sursa: opennet.ru

Adauga un comentariu