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

Izdanje paketa BusyBox 1.35 predstavljeno je implementacijom seta standardnih UNIX uslužnih programa, dizajniranih kao jedna izvršna datoteka i optimizovanih za minimalnu potrošnju sistemskih resursa sa zadanom veličinom manjom od 1 MB. Prvo izdanje nove grane 1.35 pozicionirano je kao nestabilno, puna stabilizacija će biti omogućena u verziji 1.35.1, koja se očekuje za otprilike mjesec dana. Projektni kod se distribuira pod GPLv2 licencom.

Modularna priroda BusyBox-a omogućava kreiranje jedne objedinjene izvršne datoteke koja sadrži proizvoljan skup uslužnih programa implementiranih u paketu (svaki uslužni program je dostupan u obliku simboličke veze na ovu datoteku). Veličina, sastav i funkcionalnost zbirke uslužnih programa mogu varirati ovisno o potrebama i mogućnostima ugrađene platforme za koju se vrši montaža. Paket je samostalan; kada je napravljen statički sa uclibc-om, da biste kreirali radni sistem na vrhu Linux kernela, trebate samo kreirati nekoliko datoteka uređaja u /dev direktoriju i pripremiti konfiguracijske datoteke. U poređenju sa prethodnim izdanjem 1.34, potrošnja RAM-a tipičnog BusyBox 1.35 sklopa povećana je za 1726 bajtova (sa 1042344 na 1044070 bajtova).

BusyBox je glavni alat u borbi protiv kršenja GPL-a u firmveru. Software Freedom Conservancy (SFC) i Software Freedom Law Center (SFLC), u ime programera BusyBoxa, u više navrata su uspješno uticali na kompanije koje ne daju pristup izvornom kodu GPL programa, kako putem suda tako i van -sudski sporazumi. Istovremeno, autor BusyBoxa oštro se protivi takvoj zaštiti – smatrajući da mu to uništava posao.

Sljedeće promjene su istaknute u BusyBox 1.35:

  • Pomoćni program za pronalaženje implementira opciju “-samefile name” kako bi provjerio da li datoteka koristi isti inode kao i datoteka sa navedenim imenom. Unificirani kod za poređenje vremena i dodane opcije "-amin", "-atime", "-cmin" i "-ctime" za provjeru vremena pristupa i kreiranja fajla.
  • Uslužni program mktemp je dodao opciju "--tmpdir" da odredi osnovni direktorij u odnosu na koji se izračunavaju putanje povezane s privremenim datotekama.
  • Opcije “—ignore-devno” su dodane u cpio uslužni program kako bi se zanemario stvarni broj uređaja (0 se uvijek piše) i “—renumber-inodes” za promjenu broja inode prije nego što se pohrani u arhivu.
  • U uslužnom programu awk, izraz “printf %%” je prilagođen.
  • Dodano desetak izmjena u libbb biblioteku. Poboljšana kompatibilnost realpath-a sa njegovim pandanom iz coreutil skupa.
  • Predložen je veliki broj popravki za komandne školjke ash i hush, s ciljem poboljšanja kompatibilnosti s drugim školjkama. Ash je dodao podršku za ERR zamke nalik bash-u, postavio je -E i $FUNCNAME, i brže pronalaženje stringova koristeći izraz "${s:}". U ash and hush, izvršenje "${x//\*/|}" operacija 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.
  • Dodata "-f" (prisilna) opcija za blkdiscard uslužni program.
  • httpd je prestao da šalje zaglavlja Last-Modified/ETag/Content-Length za stranice sa greškama.
  • httpd i telnetd pružaju mogućnost promjene zadanog mrežnog porta.
  • Ispravljena je ranjivost u tar-u koja je uzrokovala da se sva raspoloživa memorija troši 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ćava vam da prilagodite sadržaj zaglavlja Content-Type za opcije "--post-data" i "--post-file".
  • Pomoćni program za vremensko ograničenje 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 netns parametra za uređaje dodata je ip uslužnom programu.
  • Uslužni program cal implementira opciju "-m" za prikaz navedenog mjeseca.
  • Pomoćni programi za datum i dodir omogućavaju određivanje pomaka vremenske zone u datumima.
  • U vi editoru je dodana podrška za ~/.exrc fajl, a rukovanje “-c” i EXINIT je promenjeno.
  • U uslužnom programu ed, rezultat izvršavanja naredbi za čitanje/pisanje usklađuje se sa POSIX-1.2008 specifikacijom. Dodata podrška za opciju "-p".
  • Dodata opcija "-n N" u cmp uslužni program da ograniči poređenje na N bajtova.

Osim toga, prije nekoliko dana izašao je Toybox 0.8.6, analogni BusyBox-u, koji je razvio bivši održavatelj BusyBoxa i distribuiran pod licencom 0BSD. Glavna svrha Toyboxa je da proizvođačima pruži mogućnost korištenja minimalističkog skupa standardnih uslužnih programa bez otvaranja izvornog koda modificiranih komponenti. Po mogućnostima, Toybox i dalje zaostaje za BusyBoxom, ali je već implementirano 296 osnovnih komandi (217 u potpunosti i 83 djelimično) od 374 planiranih.

Među inovacijama Toybox 0.8.6 možemo primijetiti poboljšanje skripti za kreiranje sistemskih slika, dodavanje naredbi sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace i hexdump. Implementirane opcije “datum -s”, “pmap -p”, “tail -F -s”, “kill -0″, ponovno pokretanje/zaustavljanje/isključivanje -d”, “tail –bytes –lines”, “i2cdetect -q” , "pronađi -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