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

Introduceret pakkefrigivelse BusyBox 1.32 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.32 er positioneret som ustabil, fuld stabilisering vil blive leveret i version 1.32.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.31 steg RAM-forbruget af den typiske BusyBox 1.32-samling med 3590 bytes (fra 1011750 til 1015340 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.32:

  • Ny kommando tilføjet mig at køre overspringninger fra en given Mimfile (som minder lidt om et afisoleret make-program);
  • Find-værktøjet har tilføjet "-empty"-indstillingen for at tjekke for tomme filer;
  • I wget-værktøjet er grænsen for antallet af omdirigeringer blevet udvidet, og understøttelse af kontrol af TLS-certifikater med ENABLE_FEATURE_WGET_OPENSSL er blevet implementeret;
  • Tilføjet korrekt understøttelse af en liste over mønstre (pattern_list) til grep og tilføjet "-R"-indstillingen (rekursiv behandling af mappeindhold);
  • Løste problemer, der opstod under bygning i Clang 9, og eliminerede compiler-advarsler;
  • Et stort antal rettelser er blevet foreslået til aske- og hush-kommandoskallerne, med det formål at forbedre kompatibiliteten med andre skaller. Muligheden for at autofuldføre indbyggede kommandoer med faner er blevet tilføjet til aske og stille. Nye indbyggede kommandoer er blevet stabiliseret i ask.
  • Fdisk-værktøjet understøtter nu HFS- og HFS+-partitioner;
  • init har forbedret håndtering af løbsforhold, når signaler modtages;
  • Til værktøjet til visuel overvågning af systemparametre nmeter tilføjet outputformat "%NT" (tid justeret med nuller);
  • Muligheden for at behandle og vise en liste over CPU'er er blevet tilføjet til opgavesættet (mulighed "-c");
  • I tar er adfærden for "-a"-indstillingen blevet ændret, som i stedet for at aktivere "lzma"-komprimering, nu er forbundet med autodetektion ved filtypenavn;
  • Udhcpc6 tilføjede understøttelse af "statsløs» for DHCPv6 (serveren sender kun netværksparametre uden at tildele en adresse);
  • nslookup understøtter nu behandling af svar uden RR-poster og tilføjer understøttelse af SRV-poster;
  • Nye kommandoer "showmacs" og "showstp" er blevet tilføjet til brctl;
  • Tilføjet understøttelse af parameteren "relæserver" til dhcpc;
  • Tilføjet indstilling til syslogd for at vise tid med millisekunders præcision;
  • I httpd, når du kører i NOMMU-tilstand, er indstilling af en anden hjemmemappe tilladt, og '-h'-indstillingen virker, når du kører en baggrundsproces;
  • xargs har forbedret håndteringen af ​​argumenter i anførselstegn og sikret den korrekte opførsel af "-n"-indstillingen;
  • Rettede fejl i hjælpeprogrammerne grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, rute.

Også sidste måned tog sted релиз Toybox 0.8.3, 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 272 grundlæggende kommandoer er allerede implementeret (204 fuldstændigt og 68 delvist) ud af 343 planlagte.

Blandt innovationerne i Toybox 0.8.3 kan vi bemærke:

  • Tilføjet nye kommandoer rtcwake, blkdiscard, getopt og readelf;
  • "make root" giver mulighed for at skabe et fungerende opstartsmiljø, der kun er baseret på Linux-kernen og Toybox-værktøjerne, som kan indlæses ved hjælp af sit eget init-script;
  • Tilføjet indledende support til moduler med separate implementeringer af hjælpeprogrammer, der ikke er inkluderet i hoved ToyBox;
  • Kommandotolken toysh er 80% klar (der er ingen understøttelse af funktioner, historik, terminalstyring, job, $((matematik)), skabeloner endnu);
  • Tilføjet understøttelse af yderligere muligheder til forskellige hjælpeprogrammer, herunder patch, cal, cp, mv, lsattr, chattr, ls, id, netcat og setsid.

Kilde: opennet.ru

Tilføj en kommentar