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

Vydání balíčku BusyBox 1.35 je prezentováno 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.35 je umístěno jako nestabilní, plná stabilizace bude poskytnuta ve verzi 1.35.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.34 se spotřeba paměti RAM typické sestavy BusyBox 1.35 zvýšila o 1726 bajtů (z 1042344 na 1044070 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 opakovaně úspěšně ovlivňovaly společnosti, které neposkytují přístup ke zdrojovému kódu programů GPL, a to jak soudní, tak mimosoudní cestou. -soudní dohody. Autor BusyBoxu se přitom proti takové ochraně důrazně ohrazuje – v domnění, že mu to kazí byznys.

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

  • Obslužný program find implementuje volbu "-samefile name" pro kontrolu, zda soubor používá stejný inode jako soubor se zadaným názvem. Sjednocený kód pro časové srovnání a přidané možnosti "-amin", "-atime", "-cmin" a "-ctime" pro kontrolu času přístupu a vytvoření souboru.
  • Obslužný program mktemp přidal volbu "--tmpdir" k určení základního adresáře, vzhledem k němuž se počítají cesty spojené s dočasnými soubory.
  • Do obslužného programu cpio byly přidány volby „-ignore-devno“ pro ignorování skutečného čísla zařízení (vždy se zapisuje 0) a „-renumber-inodes“ pro přečíslování inodu před jeho uložením do archivu.
  • V obslužném programu awk byl upraven výraz „printf %%“.
  • Do knihovny libbb přidáno asi tucet změn. Vylepšená kompatibilita realpath s jeho protějškem ze sady coreutils.
  • Bylo navrženo velké množství oprav pro příkazové shelly ash a hush, zaměřené na zlepšení kompatibility s jinými shelly. Ash přidal podporu pro pasti ERR podobné bash, sadu -E a $FUNCNAME a rychlejší načítání řetězců pomocí výrazu "${s:}". V popel a ticho bylo provádění operací "${x//\*/|}" urychleno.
  • Obslužný program basename implementuje volby "-a" pro předání více jmen v jednom volání a "-s SUFFIX" pro odstranění koncových znaků "SUFFIX".
  • Do obslužného programu blkdiscard přidána možnost "-f" (force).
  • httpd přestalo odesílat hlavičky Last-Modified/ETag/Content-Length pro stránky s chybami.
  • httpd a telnetd poskytují možnost změnit výchozí síťový port.
  • Opravena chyba zabezpečení v tar, která způsobovala spotřebování veškeré dostupné paměti při zpracování archivů s velmi dlouhými názvy souborů.
  • Implementace P256 a x25519 byla přepracována v kódu TLS.
  • Obslužný program wget implementuje volbu "--post-file" pro odesílání souborů a umožňuje přizpůsobit obsah hlavičky Content-Type pro volby "--post-data" a "--post-file".
  • Obslužný program časového limitu nyní podporuje volbu "-k KILL_SECS" pro odeslání signálu SIGKILL, pokud se příkaz nedokončí během dalších KILL_SECS sekund.
  • Do nástroje ip byla přidána podpora pro nastavení parametru netns pro zařízení.
  • Obslužný program cal implementuje volbu "-m" pro zobrazení zadaného měsíce.
  • Obslužné programy pro datum a dotyk umožňují zadat posun časového pásma v datech.
  • V editoru vi byla přidána podpora pro soubor ~/.exrc a bylo změněno zacházení s "-c" a EXINIT.
  • V obslužném programu ed je výsledek provádění příkazů pro čtení/zápis uveden do souladu se specifikací POSIX-1.2008. Přidána podpora pro volbu "-p".
  • Do obslužného programu cmp byla přidána možnost "-n N" pro omezení srovnání na N bajtů.

Kromě toho před několika dny vyšel Toybox 0.8.6, obdoba BusyBoxu, vyvinutý bývalým správcem BusyBoxu a distribuovaný pod licencí 0BSD. 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. Co se schopností týče, Toybox stále za BusyBoxem zaostává, ale již bylo implementováno 296 základních příkazů (217 zcela a 83 částečně) z 374 plánovaných.

Mezi inovacemi Toyboxu 0.8.6 můžeme zaznamenat vylepšení skriptů pro vytváření obrazů systému, přidání příkazů sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace a hexdump. Implementované možnosti "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

Přidat komentář