Udgivelsen af den minimalistiske samling af systemværktøjer BusyBox 1.35

BusyBox 1.35 er blevet frigivet med implementeringen af et sæt standard UNIX-værktøjer, samlet i én eksekverbar fil og optimeret til minimal systemressourceforbrug med en samlet størrelse på mindre end 1 MB. Den første udgave af den nye version 1.35 er positioneret som ustabil, og den fulde stabilisering vil blive sikret i version 1.35.1, som forventes om cirka en måned. Projektkoden distribueres under GPLv2-licensen.

Den modulære karakter af BusyBox giver mulighed for at danne én ensartet eksekverbar fil, der indeholder et vilkårligt sæt af implementerede værktøjer i pakken (hvert værktøj er tilgængeligt som et symbolsk link til denne fil). Størrelsen, indholdet og funktionaliteten af værktøjsamlingen kan variere afhængigt af behovene og mulighederne for den indlejrede platform, som samlingen udføres til. Pakken er selvforsynende, og ved statisk samling med uclibc kræves der kun at oprette et par enheds filer i katalogen /dev og forberede konfigurationsfilerne for at opbygge et fungerende system ovenpå Linux-kernen. Sammenlignet med den tidligere version 1.34 er forbruget af RAM med en typisk samling af BusyBox 1.35 steget med 1726 bytes (fra 1042344 til 1044070 bytes).

BusyBox er det primære værktøj i kampen mod GPL-overtrædelser i firmware. Organisationerne Software Freedom Conservancy (SFC) og Software Freedom Law Center (SFLC) har på vegne af udviklerne af BusyBox gentagne gange haft succes med at påvirke virksomheder, der ikke giver adgang til kildekoden til GPL-programmer, både gennem retssager og ved at indgå udenretter overenskomster. Samtidig er skaberen af BusyBox imod en sådan beskyttelse — da han mener, at det ødelægger hans forretning.

Følgende ændringer fremhæves i BusyBox 1.35:

  • I find-værktøjet er muligheden "-samefile navn" implementeret for at kontrollere, om der bruges den samme inode som filen med det angivne navn. Koden er blevet ensartet for tids sammenligning, og der er tilføjet mulighederne "-amin", "-atime", "-cmin" og "-ctime" til at kontrollere adgangs- og oprettelsestiden for en fil.
  • I mktemp-værktøjet er muligheden "—tmpdir" tilføjet for at angive en basis katalog, relativt hvor stierne angående midlertidige filer beregnes.
  • I cpio-værktøjet er mulighederne "—ignore-devno" tilføjet for at ignorere det reelle enhedsnummer (som altid skrives som 0) og "—renumber-inodes" for at genummerere inode før de placeres i arkivet.
  • I awk-værktøjet er udtrykket "printf %%" blevet konfigureret til at fungere korrekt.
  • Cirka ti ændringer er tilføjet til bibliotektet libbb. Kompatibiliteten for realpath er forbedret i forhold til styresystemets coreutils.
  • Der er blevet foreslået en stor mængde rettelser i kommandoskallerne ash og hush, der sigter mod at forbedre kompatibiliteten med andre skaller. I ash er der tilføjet understøttelse af bash-lignende ERR trap, set -E og $FUNCNAME, samt accelereret udtrækning af strenge ved hjælp af udtrykket «${s:}». I ash og hush er udførelsen af operationer «${x///*/|}» også blevet accelereret.
  • I værktøjet basename er muligheden «-a» implementeret til at overføre flere navne ved et enkelt kald, og «-s SUFFIX» til at fjerne sluttegnene «SUFFIX».
  • I værktøjet blkdiscard er muligheden «-f» (force) tilføjet.
  • I httpd er afsendelsen af overskrifterne Last-Modified / ETag / Content-Length for fejlsider stoppet.
  • I httpd og telnetd er det muligt at ændre standardnetværksporten.
  • I tar er en sårbarhed, der førte til brug af al tilgængelig hukommelse under behandling af arkiver med meget lange filnavne, blevet rettet.
  • I TLS-koden er implementeringen af P256 og x25519 blevet omarbejdet.
  • I værktøjet wget er muligheden «--post-file» implementeret til at sende filer, og det er nu muligt at konfigurere indholdet af overskriften Content-Type for mulighederne «--post-data» og «--post-file».
  • I værktøjet timeout er understøttelse af muligheden «-k KILL_SECS» tilføjet for at sende signalet SIGKILL, hvis kommandoen ikke afsluttes inden for de ekstra KILL_SECS sekunder.
  • I værktøjet ip er understøttelse af at indstille netns-parameteren for enheder blevet tilføjet.
  • I værktøjet cal er muligheden «-m» implementeret til at vise den angivne måned.
  • I værktøjerne date og touch er det muligt at angive tidszoneoffset i datoer.
  • I editoren vi er understøttelse af filen ~/ .exrc tilføjet, og behandlingen af «-c» og EXINIT er ændret.
  • I værktøjet ed er resultaterne af udførelsen af kommandoerne read/write blevet bragt i overensstemmelse med specifikationen POSIX-1.2008. Muligheden «-p» er tilføjet.
  • I værktøjet cmp er muligheden «-n N» tilføjet for at begrænse sammenligningen til N bytes.

Derudover blev Toybox 0.8.6, en analog til BusyBox udviklet af den tidligere vedligeholder af BusyBox og distribueret under 0BSD-licensen, lanceret for nogle dage siden. Toybox's hovedformål er at give producenter mulighed for at bruge et minimalistisk sæt af standardværktøjer uden at åbne kildekoden til de modificerede komponenter. Hvad angår funktioner er Toybox stadig bag BusyBox, men 296 grundlæggende kommandoer (217 helt og 83 delvist) ud af de planlagte 374 er allerede implementeret.

Af nyhederne i Toybox 0.8.6 kan vi fremhæve forbedringer af scripts til oprettelse af systembilleder, tilføjelse af kommandoer som sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace og hexdump. Implementeret er indstillingerne «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».

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster