Liberigo de minimumisma aro de sistemaj iloj BusyBox 1.35

La liberigo de la BusyBox 1.35-pakaĵo estas prezentita kun la efektivigo de aro de normaj UNIX-servaĵoj, dizajnitaj kiel ununura rulebla dosiero kaj optimumigita por minimuma konsumo de sistemaj rimedoj kun fiksita grandeco de malpli ol 1 MB. La unua eldono de la nova branĉo 1.35 estas poziciigita kiel malstabila, plena stabiligo estos disponigita en versio 1.35.1, kiu estas atendita post proksimume monato. La projektkodo estas distribuita sub la permesilo GPLv2.

La modula naturo de BusyBox ebligas krei unu unuigitan ruleblan dosieron enhavantan arbitran aron de iloj efektivigitaj en la pakaĵo (ĉiu ilo disponeblas en la formo de simbola ligo al ĉi tiu dosiero). La grandeco, konsisto kaj funkcieco de la kolekto de utilecoj povas esti variitaj depende de la bezonoj kaj kapabloj de la enigita platformo por kiu la asembleo estas efektivigita. La pakaĵo estas memstara; kiam konstruita statike kun uclibc, por krei funkciantan sistemon super la Linukso-kerno, vi nur bezonas krei plurajn aparatdosierojn en la dosierujo /dev kaj prepari agordajn dosierojn. Kompare kun la antaŭa eldono 1.34, la RAM-konsumo de la tipa BusyBox 1.35-asembleo pliiĝis je 1726 bajtoj (de 1042344 ĝis 1044070 bajtoj).

BusyBox estas la ĉefa ilo en la batalo kontraŭ GPL-malobservoj en firmvaro. La Software Freedom Conservancy (SFC) kaj Software Freedom Law Center (SFLC), nome de la programistoj de BusyBox, plurfoje sukcese influis kompaniojn kiuj ne disponigas aliron al la fontkodo de GPL-programoj, kaj tra la tribunaloj kaj tra ekstere de -kortumaj interkonsentoj. Samtempe, la aŭtoro de BusyBox forte kontraŭas tian protekton - kredante, ke ĝi ruinigas lian komercon.

La sekvaj ŝanĝoj estas emfazitaj en BusyBox 1.35:

  • La trovi ilo efektivigas la opcion "-samefile name" por kontroli ĉu dosiero uzas la saman inodon kiel la dosiero kun la specifita nomo. Unuigita kodo por tempa komparo kaj aldonitaj opcioj "-amin", "-atime", "-cmin" kaj "-ctime" por kontroli alirtempon kaj kreadon de dosieroj.
  • La mktemp ilo aldonis "--tmpdir" opcion por specifi la bazan dosierujon rilate al kiuj vojoj asociitaj kun provizoraj dosieroj estas kalkulitaj.
  • La opcioj "-ignore-devno" estis aldonitaj al la cpio-ilaĵo por ignori la realan aparaton (0 ĉiam estas skribita) kaj "-renumber-inodes" por renumeri la inodon antaŭ konservi ĝin en la arkivo.
  • En la awk ilo, la esprimo "printf %%" estis ĝustigita.
  • Aldonita ĉirkaŭ dekduo da ŝanĝoj al la libbb-biblioteko. Plibonigita kongruo de realpado kun ĝia ekvivalento de la korutilsaro.
  • Granda nombro da korektoj estis proponitaj por la komandŝeloj de cindro kaj hush, celantaj plibonigi kongruon kun aliaj ŝeloj. Ash aldonis subtenon por bash-similaj ERR-kaptiloj, aro -E kaj $FUNCNAME, kaj pli rapidan reakiron per la "${s:}" esprimo. En ash and hush, la ekzekuto de "${x//\*/|}" operacioj estis akcelita.
  • La baznomo ilo efektivigas la opciojn "-a" por pasi plurajn nomojn en unu voko kaj "-s SUFFIX" por forigi postajn "SUFFIX" signojn.
  • Aldonita "-f" (forto) opcio al blkdiscard ilo.
  • httpd ĉesis sendi Last-Modified/ETag/Content-Length titolojn por paĝoj kun eraroj.
  • httpd kaj telnetd disponigas la kapablon ŝanĝi la defaŭltan retan havenon.
  • Korektis vundeblecon en gudro, kiu kaŭzis konsumadon de la tuta disponebla memoro dum prilaborado de arkivoj kun tre longaj dosiernomoj.
  • La efektivigo de P256 kaj x25519 estis reverkita en la TLS-kodo.
  • La ilo wget efektivigas la opcion "--post-file" por sendi dosierojn kaj permesas al vi personecigi la enhavon de la kaplinio Content-Type por la opcioj "--post-data" kaj "--post-file".
  • La tempoforiga ilo nun subtenas la opcion "-k KILL_SECS" por sendi SIGKILL-signalon se la komando ne finiĝas ene de la kromaj KILL_SECS-sekundoj.
  • Subteno por agordi la netns-parametron por aparatoj estis aldonita al la ip-utilo.
  • La kal-utilo efektivigas la opcion "-m" por montri la specifitan monaton.
  • La dataj kaj tuŝaj utilecoj permesas specifi horzonan ofseton en datoj.
  • En la vi redaktilo, subteno por la ~/.exrc dosiero estis aldonita, kaj la uzado de "-c" kaj EXINIT estis ŝanĝita.
  • En la ed-utilo, la rezulto de ekzekuto de leg-/skribaj komandoj konformas al la specifo POSIX-1.2008. Aldonita subteno por la opcio "-p".
  • Aldonita "-n N" opcio al cmp ilo por limigi komparon al N bajtoj.

Krome, antaŭ kelkaj tagoj, Toybox 0.8.6 estis publikigita, analogo de BusyBox, evoluigita de iama BusyBox-subtenanto kaj distribuita sub la permesilo 0BSD. La ĉefa celo de Toybox estas provizi fabrikistojn per la kapablo uzi minimumisman aron de normaj utilecoj sen malfermi la fontkodon de modifitaj komponantoj. Koncerne kapablojn, Toybox ankoraŭ restas malantaŭ BusyBox, sed 296 bazaj komandoj jam estis efektivigitaj (217 tute kaj 83 parte) el 374 planitaj.

Inter la novigoj de Toybox 0.8.6 ni povas rimarki la plibonigon de skriptoj por krei sistemajn bildojn, la aldonon de komandoj sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace kaj hexdump. Efektivigitaj opcioj "dato -s", "pmap -p", "vosto -F -s", "mortigu -0", "reboot/halt/poweroff -d", "tail -bytes -lines", "i2cdetect -q" , "trovi -quit -lname -ilname -d", "tranĉi -d $'\n'", "tranĉi -nb", "cpio -ignore-devno -renumber-inodes", "tar -selinux", "dividi -n", "grep -L".

fonto: opennet.ru

Aldoni komenton