Utgivelse av et minimalistisk sett med systemverktøy BusyBox 1.34

Utgivelsen av BusyBox 1.34-pakken presenteres med implementering av et sett med standard UNIX-verktøy, designet som en enkelt kjørbar fil og optimalisert for minimalt forbruk av systemressurser med en angitt størrelse på mindre enn 1 MB. Den første utgivelsen av den nye grenen 1.34 er posisjonert som ustabil, full stabilisering vil bli gitt i versjon 1.34.1, som forventes om omtrent en måned. Prosjektkoden distribueres under GPLv2-lisensen.

Den modulære naturen til BusyBox gjør det mulig å lage én enhetlig kjørbar fil som inneholder et vilkårlig sett med verktøy implementert i pakken (hvert verktøy er tilgjengelig i form av en symbolsk lenke til denne filen). Størrelsen, sammensetningen og funksjonaliteten til samlingen av verktøy kan varieres avhengig av behovene og egenskapene til den innebygde plattformen som monteringen utføres for. Pakken er selvstendig; når den er bygget statisk med uclibc, for å lage et fungerende system på toppen av Linux-kjernen, trenger du bare å lage flere enhetsfiler i /dev-katalogen og forberede konfigurasjonsfiler. Sammenlignet med forrige utgave 1.33 økte RAM-forbruket til den typiske BusyBox 1.34-enheten med 9620 byte (fra 1032724 til 1042344 byte).

BusyBox er hovedverktøyet i kampen mot GPL-brudd i fastvare. Software Freedom Conservancy (SFC) og Software Freedom Law Center (SFLC), på vegne av BusyBox-utviklerne, har gjentatte ganger med suksess påvirket selskaper som ikke gir tilgang til kildekoden til GPL-programmer, både gjennom domstolene og utenfor -rettsavtaler. Samtidig protesterer forfatteren av BusyBox på det sterkeste mot slik beskyttelse – i troen på at det ødelegger virksomheten hans.

Følgende endringer er uthevet i BusyBox 1.34:

  • Lagt til et nytt ascii-verktøy med en interaktiv tabell over ASCII-tegnnavn.
  • Lagt til et nytt verktøy crc32 for å beregne sjekksummer.
  • Den innebygde http-serveren støtter metodene DELETE, PUT og OPTIONS.
  • Udhcpc gir muligheten til å endre standard nettverksgrensesnittnavn.
  • Implementeringen av TLS-protokoller støtter nå elliptiske kurver secp256r1 (P256)
  • Utviklingen av aske- og hysj-kommandoskallene har fortsatt. I hysj har håndteringen av ^D-kommandoen blitt brakt i tråd med oppførselen til ash og bash, den bash-spesifikke $'str'-konstruksjonen er implementert, og ${var/pattern/repl}-erstatningsoperasjonene har blitt optimalisert.
  • En stor del av korrigeringer og forbedringer er gjort i implementeringen av awk-verktøyet.
  • Lagt til "-i"-alternativet til base32- og base64-verktøyene for å ignorere ugyldige tegn.
  • I bc- og dc-verktøyene er håndteringen av miljøvariablene BC_LINE_LENGTH og DC_LINE_LENGTH nær GNU-verktøyene.
  • Lagt til --getra og --setra alternativer til blockdev-verktøyet.
  • Alternativet "-p" er lagt til chattr- og lsattr-verktøyene. lsattr har utvidet antall støttede ext2 FS-flagg.
  • Alternativene "-n" (deaktiver overskriving) og "-t DIR" (spesifiser målkatalogen) er lagt til cp-verktøyet.
  • I cpio er konstruksjonen "cpio -d -p A/B/C" justert.
  • Alternativet "-t TYPE" er lagt til df-verktøyet (begrenser utdata til en bestemt filtype).
  • Lagt til -b-alternativet til du-verktøyet (tilsvarer '—apparent-size —block-size=1').
  • Lagt til alternativet "-0" til env-verktøyet (avslutter hver linje med et tegn med kode null).
  • Alternativet "-h" (lesbar utgang) er lagt til gratisverktøyet.
  • Lagt til alternativet "-t" (ignorer feil) til ionice-verktøyet.
  • Påloggingsverktøyet støtter nå miljøvariabelen LOGIN_TIMEOUT.
  • Lagt til alternativene "-t" (spesifiser målkatalogen som skal flyttes) og "-T" (behandle det andre argumentet som en fil) til mv-verktøyet.
  • Alternativet "-s SIZE" (antall byte som skal slettes) er lagt til shred-verktøyet.
  • Alternativet "-a" er lagt til oppgavesettverktøyet (bruk CPU-tilhørighet for alle prosesstråder).
  • Tidsavbrudd, topp, se og ping-verktøy støtter nå ikke-heltallsverdier (NN.N).
  • Alternativet "-z" er lagt til uniq-verktøyet (bruk det nullkodede tegnet som skilletegn).
  • Alternativet "-t" (arkivsjekk) er lagt til i unzip-verktøyet.
  • vi-editoren tillater bruk av regulære uttrykk i kommandoen ':s'. Lagt til utvidelsesfanealternativ. Forbedrede implementeringer for å flytte mellom avsnitt, velge områder og angre endringer.
  • xxd-verktøyet implementerer alternativene -i (C-stil utgang) og -o DISPLAYOFFSET.
  • Wget-verktøyet tillater behandling av HTTP 307/308-koder for omdirigeringer. Lagt til FEATURE_WGET_FTP-alternativet for å aktivere/deaktivere FTP-støtte.
  • Lagt til alternativet "iflag=count_bytes" til dd-verktøyet.
  • Cut-verktøyet implementerer de toybox-kompatible alternativene "-O OUTSEP", "-D" og "-F LIST".

Kilde: opennet.ru

Legg til en kommentar