Lansarea suitei minimalist de utilitare sistemice BusyBox 1.31

Prezentat lansarea pachetului BusyBox 1.31 cu implementarea unui set de utilitare standard UNIX, prezentate sub forma unui singur fișier executabil și optimizate pentru consum minim de resurse sistemice, având o dimensiune de sub 1 MB. Prima versiune a noului branch 1.31 este considerată instabilă, stabilizarea completă va fi asigurată în versiunea 1.31.1, care este așteptată în aproximativ o lună. Codul proiectului este distribuit sub licența GPLv2.

Caracterul modular al BusyBox permite crearea unui singur fișier executabil unificat, care conține un set arbitrar de utilitare implementate în pachet (fiecare utilitar fiind accesibil sub forma unui link simbolic la acest fișier). Dimensiunea, compoziția și funcționalitatea colecției de utilitare pot fi variate în funcție de nevoile și capacitățile platformei incorporate pentru care se face compilarea. Pachetul este autosuficient; în cazul compilării statice cu uclibc, pentru a crea un sistem de lucru deasupra nucleului Linux, este nevoie doar de a crea câteva fișiere de dispozitiv în directorul /dev și de a pregăti fișierele de configurare. Comparativ cu versiunea anterioară 1.30, consumul de memorie RAM al compilării tipice BusyBox 1.31 a scăzut cu 86 de bytes (de la 1008478 la 1008392 bytes).

BusyBox este instrumentul principal în lupta împotriva încălcării GPL în firmware-uri. Organizațiile Software Freedom Conservancy (SFC) și Software Freedom Law Center (SFLC) au acționat în numele dezvoltatorilor BusyBox atât prin instanțele judecătorești, cât și prin altele acorduri legale, exercitând constant presiune asupra companiilor care nu oferă acces la codul sursă al programelor GPL. În același timp, autorul BusyBox se opune în mod vehement acestei protecții - considerând că aceasta îi afectează afacerea. În versiunea BusyBox 1.31 se evidențiază următoarele modificări:

Au fost adăugate comenzi noi: ts (implementarea clientului și serverului pentru protocolul TSP (Time-Stamp Protocol)) și i2ctransfer (crearea și trimiterea mesajelor I2C);

  • În udhcp a fost adăugat suport pentru opțiunile DHCP
  • (informații despre fusul orar) și 101 (numele fusului orar în BD TZ) pentru IPv6; 100 În udhcpd a fost adăugat suport pentru legări statice ale numelui gazdelor cu clienții;
  • În udhcpd a fost adădată suport pentru legături statice ale numelui gazdelor cu clienții;
  • În shell-urile ash și hush, au fost implementate literaluri numerice „BASE#nnnn”. Comanda ulimit a fost adusă la compatibilitate cu bash, incluzând opțiunile „-i RLIMIT_SIGPENDING” și „-q RLIMIT_MSGQUEUE”. A fost adăugată suport pentru „wait -n”. Variabilele EPOCH compatibile cu bash au fost adăugate;
  • În shell-ul hush a fost implementată variabila „$-„, în care sunt enumerate opțiunile activate implicit ale shell-ului;
  • În bc din upstream, a fost transferat codul pentru transmiterea valorilor prin referință, adăugând suport pentru funcții void și posibilitatea de a lucra cu valori ibase până la 36;
  • În brctl, toate comenzile au fost convertite pentru a funcționa utilizând pseudo-FS /sys;
  • Codurile utilitarilor fsync și sync au fost unificate;
  • Implementarea httpd a fost îmbunătățită. Procesarea headerelor HTTP și funcționarea în modul proxy au fost îmbunătățite. SVG și JavaScript au fost incluse în lista tipurilor MIME;
  • În losetup a fost adăugată opțiunea „-c” (reverificarea forțată a dimensiunii fișierului asociat cu dispozitivul loop), precum și o opțiune pentru scanarea partițiilor. În mount și losetup s-a asigurat suport pentru utilizarea /dev/loop-control;
  • În ntpd, valoarea SLEW_THRESHOLD a fost crescută de la 0.125 la 0.5;
  • În sysctl a fost adăugat suport pentru atribuirea valorilor goale;
  • În watch a fost adăugat suport pentru valori fracționare în opțiunea „-n SEC”;
  • A fost adăugată posibilitatea de a rula mdev sub formă de proces în fundal;
  • În utilitarul wget a fost implementat flag-ul „-o” pentru a defini fișierul pentru înregistrarea jurnalului. Au fost adăugate notificări pentru începutul și finalizarea descărcării;
  • În telnetd a fost adăugat suport pentru comanda AYT IAC;
  • În vi a fost adăugată comanda ‘dG’ (ștergerea conținutului de la linia curentă până la sfârșitul fișierului);
  • În comanda dd a fost adăugată opțiunea ‘oflag=append’;
  • În utilitarul top a fost adăugat flag-ul ‘-H’ pentru activarea modului de scanare a thread-urilor individuale.

În plus, acum două săptămâni a avut loc lansare Toybox 0.8.1, un analog al BusyBox, dezvoltat de fostul menținător al BusyBox și distribuit sub licența BSD. Principalul scop al Toybox este de a oferi producătorilor posibilitatea de a folosi un set minimalist de utilitare standard fără a deschide codurile sursă ale componentelor modificate. Din punct de vedere al capacităților, Toybox deocamdată încă rămâne în urmă față de BusyBox, dar deja au fost implementate 188 de comenzi de bază din 220 planificate.

Dintre noutățile Toybox 0.8.1 se pot menționa:

  • A fost atins un nivel de funcționalitate suficient pentru a construi Android într-un mediu bazat pe utilitarele Toybox.
  • S-au inclus comenzi noi mcookie și devmem, au fost transferate din ramura de test comenzile scrise din nou tar, gunzip și zcat.
  • A fost propusă o nouă implementare a vi pentru testare.
  • Comanda find a fost dotată cu suport pentru opțiunile „-wholename/-iwholename”,
    „-printf” și „-context”;
  • În grep a fost adăugată opțiunea „—exclude-dir”;
  • În echo a fost introdus suportul pentru opțiunea „-E”.
  • În mount a fost adăugat suport pentru „UUID”.
  • Comanda date a fost dotată cu considerarea fusului orar, specificat în variabila de mediu TZ.
  • În sed a fost adăugat suport pentru intervale relative (+N).
  • A fost îmbunătățită lizibilitatea ieșirii ps, top și iotop.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster