Izdanje minimalističkog skupa uslužnih programa sustava BusyBox 1.35

Izdanje paketa BusyBox 1.35 predstavljeno je s implementacijom skupa standardnih UNIX uslužnih programa, dizajniranih kao jedna izvršna datoteka i optimiziranih za minimalnu potrošnju resursa sustava sa postavljenom veličinom manjom od 1 MB. Prvo izdanje nove grane 1.35 pozicionirano je kao nestabilno, puna stabilizacija bit će osigurana u verziji 1.35.1, koja se očekuje za otprilike mjesec dana. Kôd projekta distribuira se pod licencom GPLv2.

Modularna priroda BusyBoxa omogućuje stvaranje jedinstvene izvršne datoteke koja sadrži proizvoljan skup uslužnih programa implementiranih u paketu (svaki je uslužni program dostupan u obliku simboličke veze na tu datoteku). Veličina, sastav i funkcionalnost zbirke uslužnih programa mogu se mijenjati ovisno o potrebama i mogućnostima ugrađene platforme za koju se izvodi montaža. Paket je samostalan; kada je izgrađen statički s uclibc-om, da biste stvorili radni sustav na vrhu Linux kernela, trebate samo stvoriti nekoliko datoteka uređaja u direktoriju /dev i pripremiti konfiguracijske datoteke. U usporedbi s prethodnim izdanjem 1.34, potrošnja RAM-a tipičnog sklopa BusyBox 1.35 povećala se za 1726 bajtova (s 1042344 na 1044070 bajtova).

BusyBox je glavni alat u borbi protiv kršenja GPL-a u firmware-u. Software Freedom Conservancy (SFC) i Software Freedom Law Center (SFLC), u ime programera BusyBoxa, opetovano su uspješno utjecali na tvrtke koje ne daju pristup izvornom kodu GPL programa, kako putem sudova tako i putem izvana -sudski sporazumi. Istodobno, autor BusyBoxa oštro se protivi takvoj zaštiti - smatrajući da mu to uništava posao.

Sljedeće promjene istaknute su u BusyBoxu 1.35:

  • Uslužni program za pronalaženje implementira opciju "-samefile name" za provjeru koristi li datoteka isti inode kao datoteka s navedenim nazivom. Unificirani kod za usporedbu vremena i dodane opcije "-amin", "-atime", "-cmin" i "-ctime" za provjeru vremena pristupa i kreiranja datoteke.
  • Uslužni program mktemp dodao je opciju "--tmpdir" za određivanje osnovnog direktorija u odnosu na koji se izračunavaju staze povezane s privremenim datotekama.
  • Opcije “-ignore-devno” dodane su uslužnom programu cpio za ignoriranje stvarnog broja uređaja (uvijek se piše 0) i “-renumber-inodes” za ponovno numeriranje inodea prije pohranjivanja u arhivu.
  • U uslužnom programu awk, izraz "printf %%" je prilagođen.
  • Dodano desetak promjena u biblioteku libbb. Poboljšana kompatibilnost realpath-a s njegovim parnjakom iz skupa coreutils.
  • Velik broj popravaka je predložen za komandne ljuske ash i hush, s ciljem poboljšanja kompatibilnosti s drugim ljuskama. Ash je dodao podršku za ERR zamke slične bash-u, set -E i $FUNCNAME, te brže dohvaćanje nizova pomoću izraza "${s:}". U pepelu i tišini, izvršenje operacija "${x//\*/|}" je ubrzano.
  • Uslužni program za osnovno ime implementira opcije "-a" za prosljeđivanje više imena u jednom pozivu i "-s SUFFIX" za uklanjanje znakova "SUFFIX" na kraju.
  • Dodana opcija "-f" (force) uslužnom programu blkdiscard.
  • httpd je prestao slati zaglavlja Last-Modified/ETag/Content-Length za stranice s pogreškama.
  • httpd i telnetd omogućuju promjenu zadanog mrežnog priključka.
  • Ispravljena je ranjivost u tar-u koja je uzrokovala trošenje sve dostupne memorije prilikom obrade arhiva s vrlo dugim nazivima datoteka.
  • Implementacija P256 i x25519 je prerađena u TLS kodu.
  • Uslužni program wget implementira opciju "--post-file" za slanje datoteka i omogućuje vam da prilagodite sadržaj zaglavlja Content-Type za opcije "--post-data" i "--post-file".
  • Uslužni program timeout sada podržava opciju "-k KILL_SECS" za slanje signala SIGKILL ako se naredba ne završi unutar dodatnih KILL_SECS sekundi.
  • Podrška za postavljanje parametra netns za uređaje dodana je uslužnom programu ip.
  • Uslužni program cal implementira opciju "-m" za prikaz navedenog mjeseca.
  • Pomoćni programi za datum i dodir omogućuju određivanje pomaka vremenske zone u datumima.
  • U uređivaču vi dodana je podrška za datoteku ~/.exrc, a promijenjeno je rukovanje "-c" i EXINIT.
  • U pomoćnom programu ed, rezultat izvršavanja naredbi za čitanje/pisanje usklađen je sa specifikacijom POSIX-1.2008. Dodana podrška za opciju "-p".
  • Dodana je opcija "-n N" cmp uslužnom programu za ograničavanje usporedbe na N bajtova.

Osim toga, prije nekoliko dana objavljen je Toybox 0.8.6, analog BusyBoxa, koji je razvio bivši BusyBox održavatelj i distribuiran pod licencom 0BSD. Glavna svrha Toyboxa je pružiti proizvođačima mogućnost korištenja minimalističkog skupa standardnih uslužnih programa bez otvaranja izvornog koda modificiranih komponenti. Po mogućnostima Toybox još uvijek zaostaje za BusyBoxom, no već je implementirano 296 osnovnih naredbi (217 potpuno i 83 djelomično) od 374 planirane.

Među inovacijama Toyboxa 0.8.6 možemo primijetiti poboljšanje skripti za stvaranje slika sustava, dodavanje naredbi sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace i hexdump. Implementirane opcije “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".

Izvor: opennet.ru

Dodajte komentar