Vydanie minimalistického súboru systémových utilít BusyBox 1.35

Bol vydaný balík BusyBox 1.35, ktorý obsahuje súbor štandardných UNIX utilít, usporiadaných do jedného spustiteľného súboru a optimalizovaných na minimálnu spotrebu systémových zdrojov, s veľkosťou pod 1 MB. Prvé vydanie novej verzie 1.35 je označené ako nestabilné, plná stabilizácia bude zabezpečená vo verzii 1.35.1, ktorá sa očakáva približne o mesiac. Kód projektu je šírený pod licenciou GPLv2.

Modulárna povaha BusyBox umožňuje vytvoriť jeden jednotný spustiteľný súbor, ktorý obsahuje ľubovoľný súbor utilít implementovaných v balíku (každý nástroj je dostupný ako symbolický odkaz na tento súbor). Veľkosť, zloženie a funkcionalita zbierky utilít sa môže variabilne prispôsobovať potrebám a možnostiam zabudovanej platformy, pre ktorú sa zostavuje. Balík je samostatný, pri statickej zostave s uclibc na vytvorenie funkčného systému nad jadrom Linuxu je potrebné iba vytvoriť niekoľko súborov zariadení v adresári /dev a pripraviť konfiguračné súbory. V porovnaní s predchádzajúcim vydaním 1.34 sa spotreba operačnej pamäte typickou zostavou BusyBox 1.35 zvýšila o 1726 bajtov (zo 1042344 na 1044070 bajtov).

BusyBox je hlavným nástrojom v boji proti porušovaniu GPL v firmvéri. Organizácie Software Freedom Conservancy (SFC) a Software Freedom Law Center (SFLC) menom vývojárov BusyBox úspešne zasahovali proti spoločnostiam, ktoré neposkytujú prístup k zdrojovému kódu GPL programov, či už súdne alebo uzatvorením mimosúdnych dohôd. Zároveň autor BusyBox vehementne proti tejto ochrane protestuje, považujúc ju za rozpad jeho podnikania.

V verzii BusyBox 1.35 sa vyznačujú nasledujúce zmeny:

  • V nástroji find bola implementovaná možnosť „-samefile meno“ na kontrolu, či sa používa ten istý inode, ako súbor s daným menom. Kód pre porovanie času bol unifikovaný a boli pridané možnosti „-amin“, „-atime“, „-cmin“ a „-ctime“ na overenie času prístupu a vytvorenia súboru.
  • Do nástroja mktemp bola pridaná možnosť „—tmpdir“ na určenie základného adresára, vzhľadom na ktorý sa počítajú cesty súvisiace s dočasnými súbormi.
  • Do nástroja cpio boli pridané možnosti „—ignore-devno“ na ignorovanie skutočného čísla zariadenia (vždy sa zapisuje 0) a „—renumber-inodes“ na prečíslovanie inode pred umiestnením do archívu.
  • V nástroji awk bolo opravené vyjadrenie „printf %%“.
  • Pridaných bolo okolo desiatich zmien v knižnici libbb. Zlepšila sa kompatibilita realpath s analógom zo súboru coreutils.
  • Bola navrhnutá rozsiahla sada opráv pre shell-y ash a hush, ktorá sa zameriava na zlepšenie kompatibility s inými shell-mi. V ash bola pridaná podpora pre bash-podobné ERR trap, set -E a $FUNCNAME, ako aj urýchlené vyťahovanie reťazcov pomocou výrazu «${s:}». V ash a hush sa urýchlilo vykonávanie operácií «${x///*/|}».
  • Vo utilite basename boli implementované možnosti «-a» na odosielanie viacerých mien v jednom volaní a «-s SUFFIX» na odstránenie koncových znakov «SUFFIX».
  • Do utilitky blkdiscard bola pridaná možnosť «-f» (force).
  • V httpd prestala byť posielaná hlavička Last-Modified / ETag / Content-Length pre stránky s chybami.
  • V httpd a telnetd bola poskytnutá možnosť zmeny predvoleného sieťového portu.
  • V tar bola odstránená zraniteľnosť vedúca k vyčerpaniu celej dostupnej pamäte pri spracovaní archívov s veľmi dlhými názvami súborov.
  • V kóde TLS bola prepracovaná implementácia P256 a x25519.
  • V utilite wget bola implementovaná možnosť «—post-file» na odosielanie súborov a umožnilo sa nastavovať obsah hlavičky Content-Type pre možnosti «—post-data» a «—post-file».
  • Do utilitky timeout bola pridaná podpora pre možnosť «-k KILL_SECS» na odosielanie signálu SIGKILL, ak príkaz nebol ukončený v priebehu dodatočných KILL_SECS sekúnd.
  • Do utilitky ip bola pridaná podpora pre nastavenie parametra netns pre zariadenia.
  • V utilite cal bola implementovaná možnosť «-m» na zobrazenie zadaného mesiaca.
  • V utilitách date a touch bolo povolené uvádzanie posunu časového pásma v dátach.
  • V editore vi bola pridaná podpora pre súbor ~/.exrc, zmenilo sa spracovanie «-c» a EXINIT.
  • V utilite ed bol výsledok vykonania príkazov read/write uvedený do súladu so špecifikáciou POSIX-1.2008. Bola pridaná podpora pre možnosť «-p».
  • Do utilitky cmp bola pridaná možnosť «-n N» na obmedzenie porovnávania na N bajtoch.

Okrem toho, pred niekoľkými dňami bol vydaný Toybox 0.8.6, ekvivalent BusyBoxu, ktorý vyvíja bývalý udržiavateľ BusyBoxu a ktorý je distribuovaný pod licenciou 0BSD. Hlavným účelom Toyboxu je poskytnúť výrobcom možnosť používať minimalistickú sadu štandardných utilít bez otvorenia zdrojových kódov upravených komponentov. Z hľadiska capability Toybox zatiaľ zaostáva za BusyBoxom, ale už bolo implementovaných 296 základných príkazov (217 úplne a 83 čiastočne) z 374 plánovaných.

Z noviniek Toybox 0.8.6 môžeme spomenúť zlepšenie skriptov na vytváranie systémových obrazov, pridanie príkazov sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace a hexdump. Implementované možnosti sú „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“.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster