Vydání minimalistické sady systémových utilit BusyBox 1.32

Předložené vydání balíčku BusyBox 1.32 s implementací sady standardních unixových utilit, navržených jako jeden spustitelný soubor a optimalizovaných pro minimální spotřebu systémových prostředků s nastavenou velikostí menší než 1 MB. První vydání nové větve 1.32 je umístěno jako nestabilní, plná stabilizace bude poskytnuta ve verzi 1.32.1, která se očekává zhruba za měsíc. Kód projektu je distribuován pod licencí GPLv2.

Modulární povaha BusyBoxu umožňuje vytvořit jeden jednotný spustitelný soubor obsahující libovolnou sadu utilit implementovaných v balíčku (každá utilita je k dispozici ve formě symbolického odkazu na tento soubor). Velikost, složení a funkčnost kolekce utilit se může lišit v závislosti na potřebách a možnostech embedded platformy, pro kterou se montáž provádí. Balíček je samostatný; je-li vytvořen staticky pomocí uclibc, k vytvoření fungujícího systému nad linuxovým jádrem stačí vytvořit několik souborů zařízení v adresáři /dev a připravit konfigurační soubory. Ve srovnání s předchozí verzí 1.31 se spotřeba paměti RAM typické sestavy BusyBox 1.32 zvýšila o 3590 bajtů (z 1011750 na 1015340 bajtů).

BusyBox je hlavním nástrojem v boji proti porušování GPL ve firmwaru. Software Freedom Conservancy (SFC) a Software Freedom Law Center (SFLC) jménem vývojářů BusyBox, obojí prostřednictvím soud, tím způsobem závěry mimosoudní dohody opakovaně úspěšně ovlivnily společnosti, které neposkytují přístup ke zdrojovému kódu GPL programů. Autor BusyBoxu přitom dělá maximum objektů proti takové ochraně – v domnění, že to ničí jeho podnikání.

Následující změny jsou zvýrazněny v BusyBox 1.32:

  • Přidán nový příkaz spouštět skippty z daného Mimfile (poněkud připomínající ořezaný nástroj make);
  • Nástroj find přidal možnost „-empty“ pro kontrolu prázdných souborů;
  • V obslužném programu wget byl rozšířen limit na počet přesměrování a byla implementována podpora pro kontrolu certifikátů TLS pomocí ENABLE_FEATURE_WGET_OPENSSL;
  • Do grepu byla přidána správná podpora pro seznam vzorů (seznam_vzorů) a přidána volba „-R“ (rekurzivní zpracování obsahu adresáře);
  • Vyřešily se problémy, které se vyskytly při sestavování Clang 9, a odstranila varování kompilátoru;
  • Bylo navrženo velké množství oprav pro příkazové shelly ash a hush, zaměřené na zlepšení kompatibility s jinými shelly. Možnost automatického doplňování vestavěných příkazů pomocí karet byla přidána k popel a ticho. Nové vestavěné příkazy byly stabilizovány v popelu.
  • Nástroj fdisk nyní podporuje oddíly HFS a HFS+;
  • init zlepšil zacházení se závodními podmínkami při příjmu signálů;
  • Do utility pro vizuální sledování parametrů systému nmetr přidán výstupní formát "%NT" (čas zarovnaný s nulami);
  • Do sady úloh byla přidána schopnost zpracovávat a zobrazovat seznam CPU (volba „-c“);
  • V tar bylo změněno chování volby "-a", která místo povolení komprese "lzma" je nyní spojena s autodetekcí podle přípony souboru;
  • Udhcpc6 přidal podporu pro "bez státní příslušnosti» pro DHCPv6 (server odesílá pouze síťové parametry, bez přiřazení adresy);
  • nslookup nyní podporuje zpracování odpovědí bez záznamů RR a přidává podporu záznamů SRV;
  • Do brctl byly přidány nové příkazy "showmacs" a "showstp";
  • Přidána podpora pro parametr "reléový server" do dhcpc;
  • Přidáno nastavení do syslogd pro zobrazení času s přesností na milisekundy;
  • V httpd je při spuštění v režimu NOMMU povoleno nastavení jiného domovského adresáře a volba '-h' funguje při spuštění procesu na pozadí;
  • xargs zlepšil manipulaci s argumenty uzavřenými v uvozovkách a zajistil správné chování volby „-n“;
  • Opravené chyby v obslužných programech grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi.

Také minulý měsíc odehrál se uvolnění Toybox 0.8.3, analog BusyBox, vyvinutý bývalým správcem BusyBox a distribuováno pod licencí BSD. Hlavním účelem Toyboxu je poskytnout výrobcům možnost používat minimalistickou sadu standardních utilit bez otevírání zdrojového kódu upravených komponent. Podle dosavadních možností Toyboxu zaostávat z BusyBoxu, ale již bylo implementováno 272 základních příkazů (204 zcela a 68 částečně) z 343 plánovaných.

Mezi inovacemi Toybox 0.8.3 můžeme zaznamenat:

  • Přidány nové příkazy rtcwake, blkdiscard, getopt a readelf;
  • „make root“ poskytuje možnost vytvořit pracovní spouštěcí prostředí založené pouze na linuxovém jádře a nástrojích Toybox, které lze načíst pomocí vlastního init skriptu;
  • Přidána počáteční podpora pro moduly se samostatnými implementacemi utilit, které nejsou součástí hlavního ToyBoxu;
  • Překladač příkazů toysh je z 80 % připraven (zatím chybí podpora funkcí, historie, správy terminálu, úloh, $((math)), šablon);
  • Přidána podpora dalších možností pro různé nástroje, včetně patch, cal, cp, mv, lsattr, chattr, ls, id, netcat a setsid.

Zdroj: opennet.ru

Přidat komentář