Lansarea setului minimalist de utilitare de sistem BusyBox 1.35

A fost lansată versiunea pachetului BusyBox 1.35, care implementează un set standard de utilitare UNIX, organizate sub forma unui singur fișier executabil și optimizate pentru un consum minim de resurse de sistem, având o dimensiune de sub 1 MB. Prima lansare a noului ramurii 1.35 este considerată instabilă, stabilizarea completă va fi asigurată în versiunea 1.35.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 realizate în pachet (fiecare utilitar este disponibil sub forma unui link simbolic către acest fișier). Dimensiunea, compunerea și funcționalitatea colecției de utilitare pot fi variate în funcție de nevoile și capacitățile platformei integrate pentru care are loc compilarea. Pachetul este autonom, iar pentru a crea un sistem de lucru deasupra nucleului Linux, în urma compilării statice cu uClibc, este necesar doar să se creeze câteva fișiere de dispozitive în directorul /dev și să se pregătească fișierele de configurație. Comparativ cu versiunea anterioară 1.34, consumul de memorie RAM pentru o compilare standard a BusyBox 1.35 a crescut cu 1726 de octeți (de la 1042344 la 1044070 de octeți).

BusyBox este principalul instrument în lupta împotriva încălcărilor GPL în firmware-uri. Organizațiile Software Freedom Conservancy (SFC) și Software Freedom Law Center (SFLC), în numele dezvoltatorilor BusyBox, au influențat cu succes companiile care nu oferă acces la codul sursă al programelor GPL, atât prin intermediul instanțelor, cât și prin încheierea de acorduri extrajudiciare. În același timp, autorul BusyBox se opune vehement acestei protecții, considerând că aceasta îi dăunează afacerii.

În versiunea BusyBox 1.35, se evidențiază următoarele modificări:

  • În utilitarul find a fost implementată opțiunea „-samefile nume” pentru a verifica utilizarea aceluiași inode ca și fișierul cu numele specificat. Codul a fost unificat pentru compararea timpului și au fost adăugate opțiunile „-amin”, „-atime”, „-cmin” și „-ctime” pentru a verifica timpul de acces și de creare a fișierului.
  • În utilitarul mktemp a fost adăugată opțiunea „—tmpdir” pentru a specifica catalogul de bază, în raport cu care sunt calculate căile asociate fișierelor temporare.
  • În utilitarul cpio au fost adăugate opțiunile „—ignore-devno” pentru a ignora numărul real al dispozitivului (care este întotdeauna 0) și „—renumber-inodes” pentru a renumerota inode-urile înainte de a le plasa în arhivă.
  • În utilitarul awk a fost stabilizată funcționarea expresiei „printf %%”.
  • Au fost adăugate aproximativ unsprezece modificări în biblioteca libbb. Compatibilitatea realpath a fost îmbunătățită față de analogul din setul coreutils.
  • Oferim o serie extinsă de corecții în shell-urile ash și hush, vizând îmbunătățirea compatibilității cu alte shell-uri. În ash a fost adăugată suportul pentru procesele ERR trap asemănătoare bash, set -E și $FUNCNAME, iar extragerea șirurilor a fost accelerată prin expresia „${s:}”. În ash și hush, executarea operațiunilor „${x///*/|}” a fost accelerată.
  • În utilitarul basename au fost implementate opțiunile „-a” pentru a transmite mai multe nume într-o singură apelare și „-s SUFFIX” pentru a elimina caracterele finale „SUFFIX”.
  • În utilitarul blkdiscard a fost adăugată opțiunea „-f” (force).
  • În httpd s-a încetat trimiterea antetelor Last-Modified / ETag / Content-Length pentru paginile cu erori.
  • În httpd și telnetd s-a oferit posibilitatea de a schimba portul de rețea implicit.
  • În tar a fost eliminată o vulnerabilitate care ducea la consumarea întreagă a memoriei disponibile atunci când se procesau arhive cu nume de fișiere foarte lungi.
  • În codul TLS a fost refăcută implementarea P256 și x25519.
  • În utilitarul wget a fost implementată opțiunea „—post-file” pentru trimiterea fișierelor și a fost permisă personalizarea conținutului antetului Content-Type pentru opțiunile „—post-data” și „—post-file”.
  • În utilitarul timeout a fost adăugată suportul pentru opțiunea „-k KILL_SECS” pentru a trimite semnalul SIGKILL dacă comanda nu s-a încheiat în termen de KILL_SECS suplimentari.
  • În utilitarul ip a fost adăugată suportul pentru setarea parametrului netns pentru dispozitive.
  • În utilitarul cal a fost implementată opțiunea „-m” pentru a afișa luna specificată.
  • În utilitarele date și touch a fost permisă specificarea decalajului fusului orar în date.
  • În editorul vi a fost adăugată suportul pentru fișierul ~/ .exrc, modificată procesarea „-c” și EXINIT.
  • În utilitarul ed, rezultatul execuției comenzilor read/write a fost adus în conformitate cu specificația POSIX-1.2008. A fost adăugată suportul pentru opțiunea „-p”.
  • În utilitarul cmp a fost adăugată opțiunea „-n N” pentru a limita comparația la N bytes.

De asemenea, cu câteva zile în urmă a avut loc lansarea Toybox 0.8.6, un analog al BusyBox, dezvoltat de un fost menționer BusyBox și distribuit sub licența 0BSD. Principala destinație a Toybox este de a oferi producătorilor posibilitatea de a folosi un set minimal de utilitare standard fără a deschide codurile sursă ale componentelor modificate. În ceea ce privește funcționalitățile, Toybox este încă în urmă față de BusyBox, dar au fost deja implementate 296 de comenzi de bază (217 complet și 83 parțial) din cele 374 planificate.

Dintre noutățile Toybox 0.8.6 se remarcă îmbunătățirea scripturilor pentru crearea imaginilor de sistem, adăugarea comenzilor sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace și hexdump. Au fost implementate opțiunile „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”.

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