Release av en minimalistisk uppsättning systemverktyg BusyBox 1.31

Introducerad paketsläpp BusyBox 1.31 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.31 är positionerad som instabil, full stabilisering kommer att tillhandahållas i version 1.31.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.30, minskade RAM-förbrukningen för den typiska BusyBox 1.31-enheten med 86 byte (från 1008478 till 1008392 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.31:

  • Lade till nya kommandon: ts (implementering av klient och server för TSP (Time-Stamp Protocol)) och i2ctransfer (skapande och sändning av I2C-meddelanden);
  • Lade till stöd för DHCP-alternativ till udhcp 100 (tidszonsinformation) och 101 (tidszonsnamn i TZ-databasen) för IPv6;
  • Lade till stöd för statiska värdnamnsbindningar till klienter i udhcpd;
  • Ask- och hushskalen implementerar de numeriska bokstaverna "BASE#nnnn". Implementeringen av kommandot ulimit har gjorts bash-kompatibel, inklusive alternativen "-i RLIMIT_SIGPENDING" och "-q RLIMIT_MSGQUEUE". Lade till stöd för "vänta -n". Lade till bash-kompatibla EPOCH-variabler;
  • Hush-skalet implementerar en "$-"-variabel som listar de skalalternativ som är aktiverade som standard;
  • Koden för att skicka värden genom referens överfördes till bc från uppströms, stöd för void-funktioner lades till och möjligheten att arbeta med ibase-värden upp till 36;
  • I brctl har alla kommandon konverterats till att fungera med hjälp av pseudo-FS /sys;
  • Koden för verktygen fsync och sync har slagits samman;
  • Implementeringen av httpd har förbättrats. Förbättrad bearbetning av HTTP-huvuden och arbete i proxyläge. Listan över MIME-typer inkluderar SVG och JavaScript;
  • Alternativet "-c" har lagts till lossetup (tvingad dubbelkontroll av filstorleken som är associerad med loopenheten), samt ett alternativ för att skanna partitioner. mount och lossetup ger stöd för att arbeta med /dev/loop-control;
  • I ntpd har SLEW_THRESHOLD-värdet ökats från 0.125 till 0.5;
  • Lade till stöd för att tilldela nollvärden till sysctl;
  • Lade till stöd för bråkvärden i alternativet "-n SEC" för att titta på;
  • Lade till möjligheten att köra mdev som en bakgrundsprocess;
  • Verktyget wget implementerar "-o"-flaggan för att specificera filen att skriva loggen till. Lade till aviseringar om start och slutförande av nedladdningar;
  • Lade till stöd för AYT IAC-kommandot till telnetd;
  • Lade till 'dG'-kommandot till vi (ta bort innehåll från nuvarande rad till slutet av filen);
  • Lade till alternativet 'oflag=append' till kommandot dd;
  • Flaggan '-H' har lagts till i toppverktyget för att möjliggöra genomsökning av enskilda trådar.

Dessutom för två veckor sedan ägde rum släpp Toybox 0.8.1, 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 188 grundläggande kommandon av 220 planerade har redan implementerats.

Bland innovationerna i Toybox 0.8.1 kan vi notera:

  • En funktionalitetsnivå har uppnåtts som är tillräcklig för att bygga Android i en miljö baserad på Toybox-verktyg.
  • De nya kommandona mcookie och devmem ingår, och de omskrivna kommandona tar, gunzip och zcat flyttas från testgrenen.
  • En ny implementering av vi har föreslagits för testning.
  • Find-kommandot stöder nu alternativen "-wholename/-iwholename".
    "-printf" och "-context";

  • Lade till alternativet "--exclude-dir" till grep;
  • Echo stöder nu alternativet "-E".
  • Lade till "UUID"-stöd för att montera.
  • Datumkommandot tar nu hänsyn till den tidszon som anges i miljövariabeln TZ.
  • Lade till stöd för relativa intervall (+N) till sed.
  • Förbättrad läsbarhet av ps, top och iotop output.

Källa: opennet.ru

Lägg en kommentar