Frigivelse af et minimalistisk sæt af systemværktøjer BusyBox 1.31

Introduceret pakkefrigivelse BusyBox 1.31 med implementering af et sæt standard UNIX-værktøjer, designet som en enkelt eksekverbar fil og optimeret til minimalt forbrug af systemressourcer med en indstillet størrelse på mindre end 1 MB. Den første udgivelse af den nye gren 1.31 er positioneret som ustabil, fuld stabilisering vil blive leveret i version 1.31.1, som forventes om cirka en måned. Projektkoden distribueres under GPLv2-licensen.

Den modulære karakter af BusyBox gør det muligt at oprette én samlet eksekverbar fil, der indeholder et vilkårligt sæt af hjælpeprogrammer implementeret i pakken (hvert hjælpeprogram er tilgængeligt i form af et symbolsk link til denne fil). Størrelsen, sammensætningen og funktionaliteten af ​​samlingen af ​​hjælpeprogrammer kan varieres afhængigt af behovene og mulighederne for den indlejrede platform, som samlingen udføres for. Pakken er selvstændig; når den er bygget statisk med uclibc, for at skabe et fungerende system oven på Linux-kernen, behøver du kun at oprette flere enhedsfiler i /dev-mappen og forberede konfigurationsfiler. Sammenlignet med den tidligere udgivelse 1.30 faldt RAM-forbruget af den typiske BusyBox 1.31-samling med 86 bytes (fra 1008478 til 1008392 bytes).

BusyBox er hovedværktøjet i kampen mod GPL-overtrædelser i firmware. Software Freedom Conservancy (SFC) og Software Freedom Law Center (SFLC) på vegne af BusyBox-udviklerne, begge gennem retten, og på denne måde konklusioner Udenretslige aftaler har gentagne gange med succes påvirket virksomheder, der ikke giver adgang til kildekoden til GPL-programmer. Samtidig gør forfatteren af ​​BusyBox sit bedste for genstande imod en sådan beskyttelse - at tro, at det ødelægger hans forretning.

Følgende ændringer er fremhævet i BusyBox 1.31:

  • Tilføjet nye kommandoer: ts (implementering af klient og server til TSP (Time-Stamp Protocol)-protokollen) og i2ctransfer (oprettelse og afsendelse af I2C-meddelelser);
  • Tilføjet understøttelse af DHCP-indstillinger til udhcp 100 (tidszoneoplysninger) og 101 (tidszonenavn i TZ-databasen) for IPv6;
  • Tilføjet understøttelse af statiske værtsnavnbindinger til klienter i udhcpd;
  • Ask- og hush-skallerne implementerer de numeriske bogstaver "BASE#nnnn". Implementeringen af ​​ulimit-kommandoen er blevet gjort bash-kompatibel, inklusive mulighederne "-i RLIMIT_SIGPENDING" og "-q RLIMIT_MSGQUEUE". Tilføjet understøttelse af "vent -n". Tilføjet bash-kompatible EPOCH-variabler;
  • Hush-skallen implementerer en "$-"-variabel, der viser de skalindstillinger, der er aktiveret som standard;
  • Koden til at overføre værdier ved reference blev overført til bc fra opstrøms, understøttelse af void-funktioner blev tilføjet og muligheden for at arbejde med ibase-værdier op til 36;
  • I brctl er alle kommandoer blevet konverteret til at fungere ved hjælp af pseudo-FS /sys;
  • Koden for fsync- og synkroniseringsværktøjerne er blevet flettet;
  • Implementeringen af ​​httpd er blevet forbedret. Forbedret behandling af HTTP-headere og arbejde i proxy-tilstand. Listen over MIME-typer inkluderer SVG og JavaScript;
  • Muligheden "-c" er blevet tilføjet til lostup (tvungen dobbelttjek af filstørrelsen forbundet med loop-enheden), samt en mulighed for scanning af partitioner. mount og losetup giver støtte til at arbejde med /dev/loop-control;
  • I ntpd er SLEW_THRESHOLD-værdien blevet øget fra 0.125 til 0.5;
  • Tilføjet understøttelse for at tildele null-værdier til sysctl;
  • Tilføjet understøttelse af brøkværdier i "-n SEC" mulighed for at se;
  • Tilføjet muligheden for at køre mdev som en baggrundsproces;
  • Wget-værktøjet implementerer "-o"-flaget for at angive filen, der skal skrives loggen til. Tilføjede meddelelser om start og afslutning af downloads;
  • Tilføjet understøttelse af AYT IAC-kommandoen til telnetd;
  • Tilføjet 'dG'-kommando til vi (slet indhold fra den aktuelle linje til slutningen af ​​filen);
  • Tilføjet 'oflag=append' mulighed til dd kommandoen;
  • '-H'-flaget er blevet tilføjet til topværktøjet for at aktivere scanningstilstand for individuelle tråde.

Også for to uger siden tog sted релиз Toybox 0.8.1, en analog af BusyBox, udviklet af tidligere BusyBox-vedligeholder og fordelt under BSD-licens. Hovedformålet med Toybox er at give producenterne mulighed for at bruge et minimalistisk sæt standardværktøjer uden at åbne kildekoden for modificerede komponenter. Ifølge Toybox-kapaciteter indtil videre sakker bagud fra BusyBox, men 188 grundlæggende kommandoer ud af 220 planlagte er allerede implementeret.

Blandt innovationerne i Toybox 0.8.1 kan vi bemærke:

  • Der er opnået et funktionalitetsniveau, der er tilstrækkeligt til at bygge Android i et miljø baseret på Toybox-værktøjer.
  • De nye mcookie- og devmem-kommandoer er inkluderet, og de omskrevne tar-, gunzip- og zcat-kommandoer flyttes fra testgrenen.
  • En ny implementering af vi er blevet foreslået til test.
  • Find kommandoen understøtter nu "-wholename/-iwholename" mulighederne.
    "-printf" og "-context";

  • Tilføjet "--exclude-dir" mulighed til grep;
  • Echo understøtter nu "-E"-indstillingen.
  • Tilføjet "UUID" støtte til montering.
  • Dato-kommandoen tager nu højde for den tidszone, der er angivet i TZ-miljøvariablen.
  • Tilføjet støtte til relative områder (+N) til sed.
  • Forbedret læsbarhed af ps, top og iotop output.

Kilde: opennet.ru

Tilføj en kommentar