Utgivelse av et minimalistisk sett med systemverktøy BusyBox 1.35

Utgivelsen av BusyBox 1.35-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.35 er posisjonert som ustabil, full stabilisering vil bli gitt i versjon 1.35.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.34 økte RAM-forbruket til den typiske BusyBox 1.35-enheten med 1726 byte (fra 1042344 til 1044070 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.35:

  • Finn-verktøyet implementerer alternativet "-samefile name" for å sjekke om en fil bruker samme inode som filen med det angitte navnet. Samlet kode for tidssammenligning og lagt til alternativer "-amin", "-atime", "-cmin" og "-ctime" for å sjekke tilgangstid og filoppretting.
  • Alternativet "--tmpdir" er lagt til mktemp-verktøyet for å spesifisere basiskatalogen i forhold til hvilke stier som er knyttet til midlertidige filer som beregnes.
  • Alternativene "-ignore-devno" er lagt til i cpio-verktøyet for å ignorere det virkelige enhetsnummeret (0 skrives alltid) og "-renumber-inodes" for å omnummerere inoden før den lagres i arkivet.
  • I awk-verktøyet er uttrykket "printf %%" blitt justert.
  • Lagt til omtrent et dusin endringer i libbb-biblioteket. Forbedret kompatibilitet av realpath med motstykket fra coreutils-settet.
  • Et stort antall reparasjoner er foreslått for aske- og hush-kommandoskallene, rettet mot å forbedre kompatibiliteten med andre skjell. Ash har lagt til støtte for bash-lignende ERR-feller, sett -E og $FUNCNAME, og raskere gjenfinning av strenger ved å bruke "${s:}"-uttrykket. I ash and hysh har utførelsen av "${x//\*/|}"-operasjoner blitt fremskyndet.
  • Basenavn-verktøyet implementerer alternativene "-a" for å sende flere navn i en samtale og "-s SUFFIX" for å fjerne etterfølgende "SUFFIX"-tegn.
  • Lagt til "-f" (force)-alternativet for å blkdiscard-verktøyet.
  • httpd har sluttet å sende Last-Modified/ETag/Content-Length-overskrifter for sider med feil.
  • httpd og telnetd gir muligheten til å endre standard nettverksport.
  • Rettet en sårbarhet i tar som førte til at alt tilgjengelig minne ble forbrukt ved behandling av arkiver med svært lange filnavn.
  • Implementeringen av P256 og x25519 har blitt omarbeidet i TLS-koden.
  • Wget-verktøyet implementerer "--post-file"-alternativet for å sende filer og lar deg tilpasse innholdet i Content-Type-overskriften for alternativene "--post-data" og "--post-file".
  • Timeout-verktøyet støtter nå alternativet "-k KILL_SECS" for å sende et SIGKILL-signal hvis kommandoen ikke fullføres innen de ekstra KILL_SECS-sekunderne.
  • Støtte for innstilling av netns-parameteren for enheter er lagt til ip-verktøyet.
  • Cal-verktøyet implementerer "-m"-alternativet for å vise den angitte måneden.
  • Dato- og berøringsverktøyene gjør det mulig å spesifisere en tidssoneforskyvning i datoer.
  • I vi-editoren er støtte for ~/.exrc-filen lagt til, og håndteringen av "-c" og EXINIT er endret.
  • I ed-verktøyet bringes resultatet av å utføre lese-/skrivekommandoer i samsvar med POSIX-1.2008-spesifikasjonen. Lagt til støtte for alternativet "-p".
  • Lagt til "-n N"-alternativet til cmp-verktøyet for å begrense sammenligning med N byte.

I tillegg, for noen dager siden, ble Toybox 0.8.6 utgitt, en analog av BusyBox, utviklet av en tidligere BusyBox-vedlikeholder og distribuert under 0BSD-lisensen. Hovedformålet med Toybox er å gi produsenter muligheten til å bruke et minimalistisk sett med standardverktøy uten å åpne kildekoden til modifiserte komponenter. Når det gjelder muligheter, henger Toybox fortsatt etter BusyBox, men 296 grunnleggende kommandoer er allerede implementert (217 fullstendig og 83 delvis) av 374 planlagte.

Blant innovasjonene til Toybox 0.8.6 kan vi merke oss forbedringen av skript for å lage systembilder, tillegg av kommandoer sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace og hexdump. Implementerte alternativer "date -s", "pmap -p", "tail -F -s", "kill -0″, reboot/halt/poweroff -d", "tail -bytes -lines", "i2cdetect -q" , "finn -avslutt -lname -ilnavn -d", "kutt -d $'\n'", "kutt -nb", "cpio -ignore-devno -renummer-inoder", "tar -selinux", "split -n", "grep -L".

Kilde: opennet.ru

Legg til en kommentar