Vrystelling van 'n minimalistiese stel stelselhulpmiddels BusyBox 1.35

Die vrystelling van die BusyBox 1.35-pakket word aangebied met die implementering van 'n stel standaard UNIX-nutsprogramme, ontwerp as 'n enkele uitvoerbare lêer en geoptimaliseer vir minimale verbruik van stelselhulpbronne met 'n vasgestelde grootte van minder as 1 MB. Die eerste vrystelling van die nuwe tak 1.35 is geposisioneer as onstabiel, volle stabilisering sal verskaf word in weergawe 1.35.1, wat oor ongeveer 'n maand verwag word. Die projekkode word onder die GPLv2-lisensie versprei.

Die modulêre aard van BusyBox maak dit moontlik om een ​​verenigde uitvoerbare lêer te skep wat 'n arbitrêre stel nutsprogramme bevat wat in die pakket geïmplementeer is (elke nutsprogram is beskikbaar in die vorm van 'n simboliese skakel na hierdie lêer). Die grootte, samestelling en funksionaliteit van die versameling nutsprogramme kan gewissel word na gelang van die behoeftes en vermoëns van die ingebedde platform waarvoor die samestelling uitgevoer word. Die pakket is selfstandig; wanneer dit staties gebou is met uclibc, om 'n werkende stelsel bo-op die Linux-kern te skep, hoef jy net verskeie toestellêers in die /dev-gids te skep en konfigurasielêers voor te berei. In vergelyking met die vorige weergawe 1.34, het die RAM-verbruik van die tipiese BusyBox 1.35-samestelling met 1726 grepe toegeneem (van 1042344 tot 1044070 grepe).

BusyBox is die hoofinstrument in die stryd teen GPL-oortredings in firmware. Die Software Freedom Conservancy (SFC) en Software Freedom Law Centre (SFLC), namens die BusyBox-ontwikkelaars, het herhaaldelik suksesvol beïnvloed maatskappye wat nie toegang tot die bronkode van GPL-programme verskaf nie, beide deur die howe en deur buite -hofooreenkomste. Terselfdertyd maak die skrywer van BusyBox sterk beswaar teen sulke beskerming – en glo dat dit sy besigheid ruïneer.

Die volgende veranderinge word in BusyBox 1.35 uitgelig:

  • Die vind-hulpmiddel implementeer die "-samelêernaam" opsie om te kyk of 'n lêer dieselfde inode as die lêer met die gespesifiseerde naam gebruik. Eenvormige kode vir tydsvergelyking en bygevoeg opsies "-amin", "-atime", "-cmin" en "-ctime" om toegangstyd en lêerskepping na te gaan.
  • Die mktemp-nutsding het 'n "--tmpdir"-opsie bygevoeg om die basisgids te spesifiseer met betrekking tot watter paaie wat met tydelike lêers geassosieer word, bereken word.
  • Die opsies "-ignore-devno" is by die cpio-hulpprogram gevoeg om die werklike toestelnommer te ignoreer (0 word altyd geskryf) en "-renumber-inodes" om die inode te hernommer voordat dit in die argief gestoor word.
  • In die awk-hulpprogram is die uitdrukking "printf %%" aangepas.
  • Ongeveer 'n dosyn veranderinge aan die libbb-biblioteek bygevoeg. Verbeterde verenigbaarheid van realpath met sy eweknie van die coreutils-stel.
  • 'n Groot aantal regstellings is voorgestel vir die ash- en hush-opdragdoppe, wat daarop gemik is om verenigbaarheid met ander doppe te verbeter. Ash het ondersteuning bygevoeg vir bash-agtige ERR lokvalle, stel -E en $FUNCNAME, en vinniger string herwinning met behulp van die "${s:}" uitdrukking. In ash en stil is die uitvoering van "${x//\*/|}"-bewerkings versnel.
  • Die basisnaam-nutsding implementeer die opsies "-a" om veelvuldige name in een oproep deur te gee en "-s SUFFIX" om agtervolgende "SUFFIX"-karakters te verwyder.
  • Bygevoeg "-f" (force) opsie om nut blkweggooi.
  • httpd het opgehou om Last-Modified/ETag/Content-Length-opskrifte vir bladsye met foute te stuur.
  • httpd en telnetd bied die vermoë om die verstek netwerkpoort te verander.
  • Het 'n kwesbaarheid in teer reggestel wat veroorsaak het dat alle beskikbare geheue verbruik word tydens die verwerking van argiewe met baie lang lêername.
  • Die implementering van P256 en x25519 is herwerk in die TLS-kode.
  • Die wget-nutsding implementeer die "--post-file"-opsie vir die stuur van lêers en laat jou toe om die inhoud van die Content-Type-kopskrif vir die "--post-data" en "--post-file" opsies aan te pas.
  • Die uittelprogram ondersteun nou die "-k KILL_SECS" opsie om 'n SIGKILL sein te stuur as die opdrag nie binne die bykomende KILL_SECS sekondes voltooi word nie.
  • Ondersteuning vir die opstel van die netns-parameter vir toestelle is by die ip-hulpprogram gevoeg.
  • Die cal nut implementeer die "-m" opsie om die gespesifiseerde maand te vertoon.
  • Die datum- en raakhulpprogramme laat toe om 'n tydsone-verskuiwing in datums te spesifiseer.
  • In die vi-redigeerder is ondersteuning vir die ~/.exrc-lêer bygevoeg, en die hantering van “-c” en EXINIT is verander.
  • In die ed-hulpprogram word die resultaat van die uitvoer van lees/skryf-opdragte in ooreenstemming gebring met die POSIX-1.2008-spesifikasie. Bygevoeg ondersteuning vir die "-p" opsie.
  • Bygevoeg "-n N" opsie by cmp nut om vergelyking met N grepe te beperk.

Daarbenewens is 'n paar dae gelede Toybox 0.8.6 vrygestel, 'n analoog van BusyBox, ontwikkel deur 'n voormalige BusyBox-onderhouer en versprei onder die 0BSD-lisensie. Die hoofdoel van Toybox is om vervaardigers die vermoë te bied om 'n minimalistiese stel standaardhulpprogramme te gebruik sonder om die bronkode van gewysigde komponente oop te maak. Wat vermoëns betref, is Toybox steeds agter BusyBox, maar 296 basiese opdragte is reeds geïmplementeer (217 heeltemal en 83 gedeeltelik) uit 374 beplan.

Onder die innovasies van Toybox 0.8.6 kan ons let op die verbetering van skrifte vir die skep van stelselbeelde, die byvoeging van opdragte sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace en hexdump. Geïmplementeerde opsies "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".

Bron: opennet.ru

Voeg 'n opmerking