Lëshimi i një grupi minimalist të shërbimeve të sistemit BusyBox 1.35

Lëshimi i paketës BusyBox 1.35 paraqitet me zbatimin e një grupi shërbimesh standarde UNIX, të dizajnuara si një skedar i vetëm i ekzekutueshëm dhe i optimizuar për konsum minimal të burimeve të sistemit me një madhësi të caktuar prej më pak se 1 MB. Lëshimi i parë i degës së re 1.35 pozicionohet si i paqëndrueshëm; stabilizimi i plotë do të sigurohet në versionin 1.35.1, i cili pritet për rreth një muaj. Kodi i projektit shpërndahet nën licencën GPLv2.

Natyra modulare e BusyBox bën të mundur krijimin e një skedari të unifikuar të ekzekutueshëm që përmban një grup arbitrar shërbimesh të zbatuara në paketë (çdo mjet është i disponueshëm në formën e një lidhjeje simbolike për këtë skedar). Madhësia, përbërja dhe funksionaliteti i koleksionit të shërbimeve mund të ndryshojnë në varësi të nevojave dhe aftësive të platformës së ngulitur për të cilën po kryhet montimi. Paketa është e pavarur; kur ndërtohet në mënyrë statike me uclibc, për të krijuar një sistem pune në krye të kernelit Linux, ju duhet vetëm të krijoni disa skedarë pajisjesh në drejtorinë /dev dhe të përgatitni skedarë konfigurimi. Krahasuar me versionin e mëparshëm 1.34, konsumi i RAM-it të asamblesë tipike BusyBox 1.35 u rrit me 1726 bajt (nga 1042344 në 1044070 bajt).

BusyBox është mjeti kryesor në luftën kundër shkeljeve të GPL në firmware. Software Freedom Conservancy (SFC) dhe Software Freedom Law Center (SFLC), në emër të zhvilluesve të BusyBox, kanë ndikuar vazhdimisht me sukses në kompanitë që nuk ofrojnë akses në kodin burimor të programeve GPL, si përmes gjykatave ashtu edhe jashtë -marrëveshjet gjyqësore. Në të njëjtën kohë, autori i BusyBox kundërshton me forcë një mbrojtje të tillë - duke besuar se ajo shkatërron biznesin e tij.

Ndryshimet e mëposhtme theksohen në BusyBox 1.35:

  • Ndihma e gjetjes zbaton opsionin "-samefile name" për të kontrolluar nëse një skedar po përdor të njëjtën inode si skedari me emrin e specifikuar. Kodi i unifikuar për krahasimin e kohës dhe opsionet e shtuara "-amin", "-atime", "-cmin" dhe "-ctime" për të kontrolluar kohën e hyrjes dhe krijimin e skedarit.
  • Programi mktemp ka shtuar një opsion "--tmpdir" për të specifikuar direktorinë bazë në lidhje me të cilat llogariten shtigjet e lidhura me skedarët e përkohshëm.
  • Opsionet "-ignore-devno" janë shtuar në programin cpio për të injoruar numrin real të pajisjes (0 është gjithmonë i shkruar) dhe "-rinumber-inodes" për të rinumëruar inodin përpara se ta ruani atë në arkiv.
  • Në mjetin awk, shprehja "printf %%" është rregulluar.
  • U shtuan rreth një duzinë ndryshimesh në bibliotekën libbb. Përputhshmëri e përmirësuar e realpath me homologun e saj nga grupi coreutils.
  • Janë propozuar një numër i madh rregullimesh për predhat e komandës ash dhe hush, që synojnë përmirësimin e përputhshmërisë me predha të tjera. Ash ka shtuar mbështetje për kurthe ERR të ngjashme me bash, vendosjen -E dhe $FUNCNAME dhe rikthim më të shpejtë të vargut duke përdorur shprehjen "${s:}". Në hi dhe heshtje, ekzekutimi i operacioneve "${x//\*/|}" është përshpejtuar.
  • Programi bazë i emrit zbaton opsionet "-a" për të kaluar emra të shumtë në një telefonatë dhe "-s SUFFIX" për të hequr karakteret pasuese "SUFFIX".
  • Opsioni "-f" (force) u shtua për të fshirë programin.
  • httpd ka ndaluar dërgimin e titujve Last-Modified/ETag/Content-Length për faqet me gabime.
  • httpd dhe telnetd ofrojnë mundësinë për të ndryshuar portin e paracaktuar të rrjetit.
  • Rregulloi një dobësi në tar që bëri që e gjithë memoria e disponueshme të konsumohej gjatë përpunimit të arkivave me emra skedarësh shumë të gjatë.
  • Zbatimi i P256 dhe x25519 është ripunuar në kodin TLS.
  • Programi wget zbaton opsionin "--post-file" për dërgimin e skedarëve dhe ju lejon të personalizoni përmbajtjen e titullit Content-Type për opsionet "--post-data" dhe "--post-file".
  • Programi i skadimit tani mbështet opsionin "-k KILL_SECS" për të dërguar një sinjal SIGKILL nëse komanda nuk përfundon brenda sekondave shtesë KILL_SECS.
  • Mbështetja për vendosjen e parametrit netns për pajisjet është shtuar në programin ip.
  • Programi cal zbaton opsionin "-m" për të shfaqur muajin e specifikuar.
  • Shërbimet e datës dhe prekjes lejojnë të specifikoni një zhvendosje të zonës kohore në data.
  • Në redaktorin vi, mbështetja për skedarin ~/.exrc është shtuar dhe trajtimi i "-c" dhe EXINIT është ndryshuar.
  • Në programin ed, rezultati i ekzekutimit të komandave të leximit/shkrimit sillet në përputhje me specifikimin POSIX-1.2008. Mbështetje e shtuar për opsionin "-p".
  • U shtua opsioni "-n N" në programin cmp për të kufizuar krahasimin në N bajt.

Për më tepër, pak ditë më parë u publikua Toybox 0.8.6, një analog i BusyBox, i zhvilluar nga një ish mirëmbajtësi i BusyBox dhe i shpërndarë nën licencën 0BSD. Qëllimi kryesor i Toybox është t'u sigurojë prodhuesve aftësinë për të përdorur një grup minimalist të shërbimeve standarde pa hapur kodin burimor të komponentëve të modifikuar. Për sa i përket aftësive, Toybox ende mbetet pas BusyBox, por 296 komanda bazë janë zbatuar tashmë (217 plotësisht dhe 83 pjesërisht) nga 374 të planifikuara.

Ndër risitë e Toybox 0.8.6 mund të vërehet përmirësimi i skripteve për krijimin e imazheve të sistemit, shtimi i komandave sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace dhe hexdump. Opsionet e implementuara "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".

Burimi: opennet.ru

Shto një koment