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

Předložené vydání balíčku BusyBox 1.31 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.31 je umístěno jako nestabilní, plná stabilizace bude poskytnuta ve verzi 1.31.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 soběstačný; když je sestaven 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.30 se spotřeba paměti RAM typické sestavy BusyBox 1.31 snížila o 86 bajtů (z 1008478 na 1008392 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.31:

  • Přidány nové příkazy: ts (implementace klienta a serveru pro TSP (Time-Stamp Protocol)) a i2ctransfer (vytváření a odesílání I2C zpráv);
  • Do udhcp přidána podpora pro možnosti DHCP 100 (informace o časové zóně) a 101 (název časové zóny v databázi TZ) pro IPv6;
  • Přidána podpora pro statické vazby názvu hostitele na klienty v udhcpd;
  • Skořápky popela a ticho implementují číselné literály "BASE#nnnn". Implementace příkazu ulimit byla přizpůsobena bash, včetně voleb „-i RLIMIT_SIGPENDING“ a „-q RLIMIT_MSGQUEUE“. Přidána podpora pro "wait -n". Přidány bash kompatibilní EPOCH proměnné;
  • Tichý shell implementuje proměnnou "$-", která uvádí ve výchozím nastavení povolené možnosti shellu;
  • Kód pro předávání hodnot odkazem byl přenesen do bc z upstreamu, byla přidána podpora funkcí void a schopnost pracovat s hodnotami ibase až 36;
  • V brctl byly všechny příkazy převedeny do práce pomocí pseudo-FS /sys;
  • Kód obslužných programů fsync a sync byl začleněn;
  • Implementace httpd byla vylepšena. Vylepšené zpracování HTTP hlaviček a práce v režimu proxy. Seznam typů MIME zahrnuje SVG a JavaScript;
  • Volba „-c“ byla přidána do losetup (vynucená dvojitá kontrola velikosti souboru spojeného se zařízením smyčky) a také volba pro skenování diskových oddílů. mount a losetup poskytují podporu pro práci pomocí /dev/loop-control;
  • V ntpd byla hodnota SLEW_THRESHOLD zvýšena z 0.125 na 0.5;
  • Přidána podpora pro přiřazování hodnot null k sysctl;
  • Přidána podpora pro zlomkové hodnoty ve volbě „-n SEC“ ke sledování;
  • Přidána možnost spouštět mdev jako proces na pozadí;
  • Obslužný program wget implementuje příznak „-o“ pro určení souboru, do kterého se má zapsat protokol. Přidána upozornění na zahájení a dokončení stahování;
  • Přidána podpora pro příkaz AYT IAC do telnetd;
  • Přidán příkaz 'dG' do vi (smazání obsahu od aktuálního řádku na konec souboru);
  • Přidána možnost 'oflag=append' do příkazu dd;
  • Do hlavního nástroje byl přidán příznak '-H', který umožňuje skenování jednotlivých vláken.

Také před dvěma týdny odehrál se uvolnění Toybox 0.8.1, 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 188 základních příkazů z 220 plánovaných.

Mezi inovacemi Toybox 0.8.1 můžeme zaznamenat:

  • Bylo dosaženo úrovně funkčnosti, která je dostatečná k sestavení Androidu v prostředí založeném na utilitách Toybox.
  • Jsou zahrnuty nové příkazy mcookie a devmem a přepsané příkazy tar, gunzip a zcat jsou přesunuty z testovací větve.
  • Pro testování byla navržena nová implementace vi.
  • Příkaz find nyní podporuje volby "-celéjméno/-iceléjméno".
    "-printf" a "-kontext";

  • Přidána možnost "--exclude-dir" do grep;
  • Echo nyní podporuje volbu "-E".
  • Přidána podpora "UUID" pro připojení.
  • Příkaz date nyní bere v úvahu časové pásmo zadané v proměnné prostředí TZ.
  • Přidána podpora pro relativní rozsahy (+N) do sed.
  • Vylepšená čitelnost výstupu ps, top a iotop.

Zdroj: opennet.ru

Přidat komentář