Lëshimi i paketës minimale të mjeteve sistemore BusyBox 1.35

U paraqit lëshimi i paketës BusyBox 1.35 me implementimin e një grupi standard të mjeteve UNIX, të organizuara në një skedar ekzekutiv të vetëm dhe të optimizuar për konsum minimal të burimeve të sistemit me një madhësi pakete më pak se 1 MB. Nga data e parë e degës së re 1.35 pozicionohet si e paqëndrueshme, stabilizimi i plotë do të ofrohet në versionin 1.35.1, i cili pritet të jetë gati për rreth një muaj. Kodi i projektit shpërndahet nën licencën GPLv2.

Karakteri modular i BusyBox lejon formimin e një skedari ekzekutiv të unifikuar, i cili përmban një grup të rastësishëm të mjeteve të realizuara në paketë (çdo mjet është në formën e një lidhjeje simbolike në këtë skedar). Madhësia, kompozita dhe funksionaliteti i koleksionit të mjeteve mund të varirojnë në varësi të nevojave dhe mundësive të platformës së integruar, për të cilën po bëhet ndërtimi. Paketa është autonome, duke u ndërtuar në mënyrë statike me uclibc për krijimin e një sistemi funksional mbi bërthamën Linux kërkon vetëm të krijoni disa skedarë pajisjesh në drejtorinë /dev dhe të përgatitni skedarët e konfigurimeve. Krahasuar me lëshimin e kaluar 1.34, konsumimi i memories së përkohshme nga ndërtimi tipik BusyBox 1.35 është rritur me 1726 byte (nga 1042344 në 1044070 byte).

BusyBox është mjeti kryesor në luftën kundër shkeljeve të GPL në firmware. Organizatat Software Freedom Conservancy (SFC) dhe Software Freedom Law Center (SFLC) në emër të zhvilluesve të BusyBox, si përmes gjyqit ashtu edhe përmes arritjes së marrëveshjeve jashtësjellëse, kanë ndikuar me sukses në kompani që nuk ofrojnë qasje në kodin burimor të programeve GPL. Megjithatë, autori i BusyBox e kundërshton këtë mbrojtje — duke besuar se ajo i dëmton biznesin e tij.

Në versionin BusyBox 1.35, janë theksuar këto ndryshime:

  • Në mjetin find është implementuar opsioni "-samefile emri" për të kontrolluar përdorimin e një skedari me të njëjtin inode si ai i skedarit të caktuar. Kodi është unifikuar për krahasimin e kohës dhe janë shtuar opsionet "-amin", "-atime", "-cmin" dhe "-ctime" për të kontrolluar kohën e aksesit dhe krijimit të skedarit.
  • Në mjetin mktemp është shtuar opsioni "—tmpdir" për të specifikuar katalogun bazë, në lidhje me të cilin llogariten rrugët e lidhura me skedarët temporarë.
  • Në utilitarin cpio janë shtuar opsionet «—ignore-devno» për të injoruar numrin real të pajisjes (përherë shkruhet 0) dhe «—renumber-inodes» për të rinumeruar inode para se të vendosen në arkiv.
  • Në utilitarin awk është rregulluar funksionimi i shprehjes «printf %%».
  • Janë shtuar rreth dhjetë ndryshime në bibliotekën libbb. Është përmirësuar kompatibiliteti i realpath me analogun nga seti coreutils.
  • Janë ofruar një mori korrigjimesh në shell-at ash dhe hush, të synuar për të përmirësuar kompatibilitetin me shell-at e tjerë. Në ash është shtuar mbështetje për bllokimin e ERR të ngjashëm me bash, set -E dhe $FUNCNAME, si dhe është përshpejtuar nxjerrja e rreshtave përmes shprehjes «${s:}». Në ash dhe hush është përshpejtuar ekzekutimi i operacioneve «${x//\*/|}».
  • Në utilitarin basename janë realizuar opsionet «-a» për kalimin e emrave të shumtë në një thirrje dhe «-s SUFFIX» për heqjen e simboleve përfundimtar «SUFFIX».
  • Në utilitarin blkdiscard është shtuar opsioni «-f» (force).
  • Në httpd është ndaluar dërgimi i titujve Last-Modified / ETag / Content-Length për faqet me gabime.
  • Në httpd dhe telnetd është ofruar mundësia për të ndryshuar portin neto të zakonshëm.
  • Në tar është eliminuar një vulnerabilitet që çonte në shpenzimin e gjithë memories së disponueshme gjatë trajtimit të arkivave me emra skedarësh shumë të gjatë.
  • Në kodin TLS është riimplementuar realizimi i P256 dhe x25519.
  • Në utilitarin wget është realizuar opsioni «—post-file» për dërgimin e skedarëve dhe është lejuar përcaktimi i përmbajtjes së titullit Content-Type për opsionet «—post-data» dhe «—post-file».
  • Në utilitarin timeout është shtuar mbështetje për opsionin «-k KILL_SECS» për dërgimin e sinjalit SIGKILL, nëse komandën nuk e përfundon brenda KILL_SECS sekondave shtesë.
  • Në utilitarin ip është shtuar mbështetje për caktimin e parametrave netns për pajisjet.
  • Në utilitarin cal është realizuar opsioni «-m» për shfaqjen e muajit të caktuar.
  • Në utilitarët date dhe touch është lejuar përcaktimi i offset-it të zonës së kohës në data.
  • Në redaktorin vi është shtuar mbështetje për skedarin ~/.exrc, është ndryshuar trajtimi i «-c» dhe EXINIT.
  • Në utilitarin ed rezultati i ekzekutimit të komandave read/write është sjellë në përputhje me specifikimin POSIX-1.2008. Është shtuar mbështetje për opsionin «-p».
  • Në utilitarin cmp është shtuar opsioni «-n N» për të kufizuar krahasimin në N byte.

Për më tepër, disa ditë më parë u publikua Toybox 0.8.6, një ekvivalente e BusyBox, e zhvilluar nga një ish-maintainer i BusyBox dhe e shpërndarë nën licencën 0BSD. Qëllimi kryesor i Toybox është të ofrojë prodhuesve mundësinë e përdorimit të një grumbulli minimal të utiliteteve standarde pa hapjen e kodit burimor të komponentëve të modifikuar. Pavarësisht se Toybox për momentin mbetet mbrapa BusyBox, tashmë janë realizuar 296 komanda themelore (217 plotësisht dhe 83 pjesërisht) nga 374 të planifikuara.

Nga risitë e Toybox 0.8.6, mund të veçojmë përmirësimin e skripteve për krijimin e imazheve sistemore, shtimin e komandave sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace dhe hexdump. Janë realizuar opsionet «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

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster