Utgivelse av et minimalistisk sett med systemverktøy BusyBox 1.31

Introdusert pakkeutgivelse BusyBox 1.31 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.31 er posisjonert som ustabil, full stabilisering vil bli gitt i versjon 1.31.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.30, reduserte RAM-forbruket til den typiske BusyBox 1.31-enheten med 86 byte (fra 1008478 til 1008392 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, begge gjennom domstol, og på denne måten konklusjoner Utenrettslige avtaler har gjentatte ganger vellykket påvirket selskaper som ikke gir tilgang til kildekoden til GPL-programmer. Samtidig gjør forfatteren av BusyBox sitt beste for å gjenstander mot slik beskyttelse - å tro at det ødelegger virksomheten hans.

Følgende endringer er uthevet i BusyBox 1.31:

  • Lagt til nye kommandoer: ts (implementering av klient og server for TSP (Time-Stamp Protocol)-protokollen) og i2ctransfer (oppretting og sending av I2C-meldinger);
  • Lagt til støtte for DHCP-alternativer til udhcp 100 (tidssoneinformasjon) og 101 (tidssonenavn i TZ-databasen) for IPv6;
  • Lagt til støtte for statiske vertsnavnbindinger til klienter i udhcpd;
  • Ask- og hush-skallene implementerer de numeriske bokstavene "BASE#nnnn". Implementeringen av ulimit-kommandoen er gjort bash-kompatibel, inkludert alternativene "-i RLIMIT_SIGPENDING" og "-q RLIMIT_MSGQUEUE". Lagt til støtte for "vent -n". Lagt til bash-kompatible EPOCH-variabler;
  • Hush-skallet implementerer en "$-"-variabel som viser skallalternativene som er aktivert som standard;
  • Koden for å sende verdier ved referanse ble overført til bc fra oppstrøms, støtte for void-funksjoner ble lagt til og muligheten til å jobbe med ibase-verdier opp til 36;
  • I brctl har alle kommandoer blitt konvertert til å fungere ved å bruke pseudo-FS /sys;
  • Koden til fsync- og synkroniseringsverktøyene er slått sammen;
  • Implementeringen av httpd har blitt forbedret. Forbedret behandling av HTTP-hoder og arbeid i proxy-modus. Listen over MIME-typer inkluderer SVG og JavaScript;
  • Alternativet "-c" er lagt til losetup (tvungen dobbeltsjekk av filstørrelsen knyttet til sløyfeenheten), samt et alternativ for å skanne partisjoner. mount og losetup gir støtte for arbeid med /dev/loop-control;
  • I ntpd er SLEW_THRESHOLD-verdien økt fra 0.125 til 0.5;
  • Lagt til støtte for å tilordne nullverdier til sysctl;
  • Lagt til støtte for brøkverdier i "-n SEC" -alternativet for å se;
  • Lagt til muligheten til å kjøre mdev som en bakgrunnsprosess;
  • Wget-verktøyet implementerer "-o"-flagget for å spesifisere filen som skal skrives loggen til. Lagt til varsler om start og fullføring av nedlastinger;
  • Lagt til støtte for AYT IAC-kommandoen til telnetd;
  • Lagt til 'dG'-kommando til vi (slett innhold fra gjeldende linje til slutten av filen);
  • Lagt til alternativet 'oflag=append' til dd-kommandoen;
  • '-H'-flagget er lagt til toppverktøyet for å muliggjøre skanning av individuelle tråder.

Også for to uker siden fant sted utgivelse Toybox 0.8.1, en analog av BusyBox, utviklet av tidligere BusyBox vedlikeholder og distribuert under BSD-lisens. Hovedformålet med Toybox er å gi produsenter muligheten til å bruke et minimalistisk sett med standardverktøy uten å åpne kildekoden til modifiserte komponenter. I følge Toybox-kapasiteter så langt henger etter fra BusyBox, men 188 grunnleggende kommandoer av 220 planlagte er allerede implementert.

Blant innovasjonene til Toybox 0.8.1 kan vi merke oss:

  • Det er oppnådd et funksjonsnivå som er tilstrekkelig til å bygge Android i et miljø basert på Toybox-verktøy.
  • De nye mcookie- og devmem-kommandoene er inkludert, og de omskrevne tar-, gunzip- og zcat-kommandoene flyttes fra testgrenen.
  • En ny implementering av vi er foreslått for testing.
  • Find-kommandoen støtter nå alternativene "-wholename/-iwholename".
    "-printf" og "-context";

  • Lagt til "--exclude-dir"-alternativet til grep;
  • Echo støtter nå alternativet "-E".
  • Lagt til "UUID"-støtte for å montere.
  • Dato-kommandoen tar nå hensyn til tidssonen angitt i TZ-miljøvariabelen.
  • Lagt til støtte for relative områder (+N) til sed.
  • Forbedret lesbarhet av ps, topp og iotop utgang.

Kilde: opennet.ru

Legg til en kommentar