Release av en minimalistisk uppsättning systemverktyg BusyBox 1.32

Introducerad paketsläpp BusyBox 1.32 med implementeringen av en uppsättning standard UNIX-verktyg, utformade som en enda körbar fil och optimerad för minimal förbrukning av systemresurser med en inställd storlek på mindre än 1 MB. Den första utgåvan av den nya grenen 1.32 är positionerad som instabil, full stabilisering kommer att tillhandahållas i version 1.32.1, vilket förväntas om ungefär en månad. Projektkoden distribueras under GPLv2-licensen.

BusyBox modulära karaktär gör det möjligt att skapa en enhetlig körbar fil som innehåller en godtycklig uppsättning verktyg implementerade i paketet (varje verktyg är tillgängligt i form av en symbolisk länk till denna fil). Storleken, sammansättningen och funktionaliteten hos samlingen av verktyg kan varieras beroende på behoven och kapaciteten hos den inbäddade plattformen för vilken monteringen utförs. Paketet är fristående; när det byggs statiskt med uclibc, för att skapa ett fungerande system ovanpå Linux-kärnan, behöver du bara skapa flera enhetsfiler i /dev-katalogen och förbereda konfigurationsfiler. Jämfört med den tidigare versionen 1.31 ökade RAM-förbrukningen för den typiska BusyBox 1.32-enheten med 3590 byte (från 1011750 till 1015340 byte).

BusyBox är huvudverktyget i kampen mot GPL-överträdelser i firmware. Software Freedom Conservancy (SFC) och Software Freedom Law Center (SFLC) på uppdrag av BusyBox-utvecklarna, båda genom domstolen, och på det här sättet Slutsatser Utomrättsöverenskommelser har upprepade gånger framgångsrikt påverkat företag som inte ger tillgång till källkoden för GPL-program. Samtidigt gör författaren till BusyBox sitt bästa för att objekt mot sådant skydd - att tro att det förstör hans verksamhet.

Följande ändringar är markerade i BusyBox 1.32:

  • Nytt kommando har lagts till mig att köra överhoppningar från en given Mimfile (påminner något om ett avskalat märkesverktyg);
  • Sökverktyget har lagt till alternativet "-empty" för att söka efter tomma filer;
  • I verktyget wget har gränsen för antalet omdirigeringar utökats och stöd för kontroll av TLS-certifikat med ENABLE_FEATURE_WGET_OPENSSL har implementerats;
  • Lade till korrekt stöd för en lista med mönster (pattern_list) till grep och la till alternativet "-R" (rekursiv bearbetning av kataloginnehåll);
  • Löste problem som uppstod när man byggde i Clang 9 och eliminerade kompilatorvarningar;
  • Ett stort antal korrigeringar har föreslagits för kommandoskalen ask och hush, som syftar till att förbättra kompatibiliteten med andra skal. Möjligheten att autoslutföra inbyggda kommandon med flikar har lagts till aska och tyst. Nya inbyggda kommandon har stabiliserats i ask.
  • Verktyget fdisk stöder nu HFS- och HFS+-partitioner;
  • init har förbättrad hantering av tävlingsförhållanden när signaler tas emot;
  • Till verktyget för visuell övervakning av systemparametrar nmeter lagt till utdataformat "%NT" (tid justerad med nollor);
  • Möjligheten att bearbeta och visa en lista med processorer har lagts till i taskset (alternativ "-c");
  • I tar har beteendet för alternativet "-a" ändrats, vilket, istället för att aktivera "lzma"-komprimering, nu är associerat med autodetektion med filtillägg;
  • Udhcpc6 lade till stöd för "statslösa» för DHCPv6 (servern skickar endast nätverksparametrar, utan att tilldela en adress);
  • nslookup stöder nu behandling av svar utan RR-poster och lägger till stöd för SRV-poster;
  • Nya kommandon "showmacs" och "showstp" har lagts till i brctl;
  • Lade till stöd för parametern "reläserver" till dhcpc;
  • Lade till inställning till syslogd för att visa tid med millisekunders precision;
  • I httpd, när du kör i NOMMU-läge, är det tillåtet att ställa in en annan hemkatalog och alternativet '-h' fungerar när du kör en bakgrundsprocess;
  • xargs har förbättrat hanteringen av argument inom citattecken och säkerställt att alternativet "-n" fungerar korrekt;
  • Fixade buggar i verktygen grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, rutt.

Dessutom förra månaden ägde rum släpp Toybox 0.8.3, en analog till BusyBox, utvecklad av tidigare BusyBox-underhållare och distribuerad under BSD-licens. Huvudsyftet med Toybox är att ge tillverkare möjligheten att använda en minimalistisk uppsättning standardverktyg utan att öppna källkoden för modifierade komponenter. Enligt Toybox-kapaciteten hittills släpar efter från BusyBox, men 272 grundläggande kommandon har redan implementerats (204 helt och 68 delvis) av 343 planerade.

Bland innovationerna i Toybox 0.8.3 kan vi notera:

  • Lade till nya kommandon rtcwake, blkdiscard, getopt och readelf;
  • "make root" ger möjligheten att skapa en fungerande startmiljö endast baserad på Linux-kärnan och Toybox-verktygen, som kan laddas med sitt eget init-skript;
  • Lade till initialt stöd för moduler med separata implementeringar av verktyg som inte ingår i huvud ToyBox;
  • Kommandotolken toysh är 80 % redo (det finns inget stöd för funktioner, historik, terminalhantering, jobb, $((matte)), mallar ännu);
  • Lade till stöd för ytterligare alternativ till olika verktyg, inklusive patch, cal, cp, mv, lsattr, chattr, ls, id, netcat och setsid.

Källa: opennet.ru

Lägg en kommentar