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
