Vydání minimalistického balíčku systémových utilit BusyBox 1.34

Bylo představeno vydání balíčku BusyBox 1.34 s implementací sady standardních utilit UNIX, které jsou uspořádány do jednoho spustitelného souboru a optimalizovány pro minimální spotřebu systémových zdrojů, přičemž velikost souboru činí méně než 1 MB. První vydání nové větve 1.34 je prezentováno jako nestabilní, plná stabilizace bude zajištěna ve verzi 1.34.1, která se očekává přibližně za měsíc. Kód projektu je distribuován pod licencí GPLv2.

Modulární charakter BusyBox umožňuje vytvoření jednoho unifikovaného spustitelného souboru, který obsahuje libovolnou sadu utilit implementovaných v balíčku (každá utilita je dostupná ve formě symbolického odkazu na tento soubor). Velikost, složení a funkčnost kolekce utilit lze variabilně upravovat v závislosti na potřebách a možnostech vestavěné platformy, pro kterou je sestavení provedeno. Balíček je soběstačný, při statickém sestavení s uclibc pro vytvoření pracovní systémové vrstvy nad jádrem Linux je třeba pouze vytvořit několik souborů zařízení v adresáři /dev a připravit konfigurační soubory. Ve srovnání s předchozím vydáním 1.33 se spotřeba operační paměti typickým sestavením BusyBox 1.34 zvýšila o 9620 bajtů (z 1032724 na 1042344 bajtů).

BusyBox je základním nástrojem v boji proti porušování GPL v firmwarech. Organizace Software Freedom Conservancy (SFC) a Software Freedom Law Center (SFLC) jménem vývojářů BusyBox úspěšně zasahovaly proti společnostem, které neposkytují přístup k zdrojovému kódu GPL programů, jak prostřednictvím soudní cesty, tak uzavřením mimo soudních dohod. Zároveň autor BusyBox vehementně odporuje takové ochraně – považuje ji za porušení svého podnikání.

Ve verzi BusyBox 1.34 jsou zvýrazněny následující změny:

  • Byla přidána nová utilita ascii s interaktivní tabulkou názvů ASCII symbolů.
  • Byla přidána nová utilita crc32 pro výpočet kontrolních součtů.
  • Ve vestavěném http serveru byla implementována podpora metod DELETE, PUT a OPTIONS.
  • V udhcpc byla přidána možnost změny jména síťového rozhraní podle potřeby.
  • V implementaci protokolů TLS byla přidána podpora pro elliptické křivky secp256r1 (P256).
  • Pokračuje vývoj příkazových interpreterů ash a hush. V hush byla zpracování příkazu ^D přizpůsobena chování ash a bash, byla implementována specifická konstrukce pro bash $’str’ a optimalizovány operace nahrazování ${var/pattern/repl}.
  • Byla provedena velká část oprav a vylepšení v implementaci nástroje awk.
  • Nástroje base32 a base64 byly doplněny o možnost „-i“ pro ignorování neplatných znaků.
  • V nástrojích bc a dc byla zpracování proměnných prostředí BC_LINE_LENGTH a DC_LINE_LENGTH přizpůsobena GNU nástrojům.
  • Do nástroje blockdev byly přidány možnosti —getra a —setra.
  • Do nástrojů chattr a lsattr byla přidána možnost „-p“. V lsattr bylo rozšířeno množství podporovaných flagů souborového systému ext2.
  • Do nástroje cp byly přidány možnosti „-n“ (zákaz přepisování) a „-t DIR“ (nastavení cílového adresáře).
  • V cpio byla nastavena práce s konstrukcí „cpio -d -p A/B/C“.
  • Do nástroje df byla přidána možnost „-t TYPE“ (omezení výstupu na konkrétní typ souborového systému).
  • Do nástroje du byla přidána možnost -b (ekvivalent ‘—apparent-size —block-size=1’).
  • Do nástroje env byla přidána možnost „-0“ (ukončení každého řádku znakem s nulovým kódem).
  • Do nástroje free byla přidána možnost „-h“ (výstup ve čitelném formátu).
  • Do nástroje ionice byla přidána možnost „-t“ (ignorování selhání).
  • V nástroji login byla implementována podpora proměnné prostředí LOGIN_TIMEOUT.
  • Do nástroje mv byly přidány možnosti „-t“ (určení cílového adresáře pro přesun) a „-T“ (zpracování druhého argumentu jako souboru).
  • Do nástroje shred byla přidána možnost „-s SIZE“ (počet čistěných bytů).
  • Do nástroje taskset byla přidána možnost „-a“ (aplikace přidělení na CPU pro všechny vlákna procesu).
  • V nástrojích timeout, top, watch a ping byla implementována podpora necelých hodnot (NN.N).
  • Do nástroje uniq byla přidána možnost „-z“ (použití znaku s nulovým kódem jako oddělovače).
  • Do nástroje unzip byla přidána možnost „-t“ (ověření archivu).
  • V editoru vi bylo povoleno používání regulárních výrazů v příkazu ‘:s’. Byla přidána možnost expandtab. Byly vylepšeny implementace pohybu mezi odstavci, výběru rozsahů a vracení změn.
  • V nástroji xxd byly implementovány možnosti -i (výstup ve stylu C) a „-o DISPLAYOFFSET“.
  • V nástroji wget byla povolena zpracování kódů HTTP 307/308 pro přesměrování. Byla přidána možnost FEATURE_WGET_FTP pro zapnutí/vypnutí podpory FTP.
  • Do nástroje dd byla přidána možnost „iflag=count_bytes“.
  • V nástroji cut byly implementovány s nástroji toybox kompatibilní možnosti „-O OUTSEP“, „-D“ a „-F LIST“.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster