Uitgave van een minimalistische set systeemhulpprogramma's BusyBox 1.32

Geïntroduceerd pakket vrijgave BusyBox 1.32 met de implementatie van een set standaard UNIX-hulpprogramma's, ontworpen als een enkel uitvoerbaar bestand en geoptimaliseerd voor minimaal verbruik van systeembronnen met een vaste grootte van minder dan 1 MB. De eerste release van de nieuwe branch 1.32 is gepositioneerd als onstabiel; volledige stabilisatie zal worden geboden in versie 1.32.1, die over ongeveer een maand wordt verwacht. De projectcode wordt gedistribueerd onder de GPLv2-licentie.

Het modulaire karakter van BusyBox maakt het mogelijk om één verenigd uitvoerbaar bestand te creëren dat een willekeurige set hulpprogramma's bevat die in het pakket zijn geïmplementeerd (elk hulpprogramma is beschikbaar in de vorm van een symbolische link naar dit bestand). De omvang, samenstelling en functionaliteit van de verzameling nutsvoorzieningen kan worden gevarieerd afhankelijk van de behoeften en mogelijkheden van het embedded platform waarvoor de assemblage wordt uitgevoerd. Het pakket is op zichzelf staand; als het statisch is gebouwd met uclibc, hoeft u, om een ​​werkend systeem bovenop de Linux-kernel te creëren, slechts enkele apparaatbestanden in de map /dev aan te maken en configuratiebestanden voor te bereiden. Vergeleken met de vorige release 1.31 is het RAM-verbruik van de typische BusyBox 1.32-assemblage toegenomen met 3590 bytes (van 1011750 naar 1015340 bytes).

BusyBox is het belangrijkste hulpmiddel in de strijd tegen GPL-schendingen in firmware. De Software Freedom Conservancy (SFC) en Software Freedom Law Center (SFLC) namens de BusyBox-ontwikkelaars, beide via rechtbank, en op deze manier conclusies buitengerechtelijke overeenkomsten hebben herhaaldelijk met succes bedrijven beïnvloed die geen toegang bieden tot de broncode van GPL-programma's. Tegelijkertijd doet de auteur van BusyBox zijn best voorwerpen tegen een dergelijke bescherming - in de overtuiging dat het zijn bedrijf ruïneert.

De volgende wijzigingen zijn gemarkeerd in BusyBox 1.32:

  • Nieuwe opdracht toegevoegd me om skippts uit te voeren vanuit een bepaald Mim-bestand (enigszins doet denken aan een uitgeklede make-utility);
  • Het zoekprogramma heeft de optie “-empty” toegevoegd om te controleren op lege bestanden;
  • In het wget-hulpprogramma is de limiet op het aantal omleidingen uitgebreid en is ondersteuning voor het controleren van TLS-certificaten met ENABLE_FEATURE_WGET_OPENSSL geïmplementeerd;
  • Correcte ondersteuning toegevoegd voor een lijst met patronen (pattern_list) voor grep en de optie “-R” toegevoegd (recursieve verwerking van directory-inhoud);
  • Problemen opgelost die optraden bij het bouwen in Clang 9 en compilerwaarschuwingen geëlimineerd;
  • Er is een groot aantal oplossingen voorgesteld voor de ash- en hush-commandoshells, gericht op het verbeteren van de compatibiliteit met andere shells. De mogelijkheid om ingebouwde opdrachten automatisch aan te vullen met tabbladen is toegevoegd aan as en stilte. Nieuwe ingebouwde commando's zijn gestabiliseerd in as.
  • Het fdisk-hulpprogramma ondersteunt nu HFS- en HFS+-partities;
  • init heeft een verbeterde afhandeling van raceomstandigheden wanneer signalen worden ontvangen;
  • Om het hulpprogramma voor visuele monitoring van systeemparameters te downloaden nm toegevoegd uitvoerformaat "%NT" (tijd uitgelijnd met nullen);
  • De mogelijkheid om een ​​lijst met CPU's te verwerken en weer te geven is toegevoegd aan de takenset (optie “-c”);
  • In tar is het gedrag van de optie "-a" gewijzigd, die, in plaats van "lzma"-compressie in te schakelen, nu wordt geassocieerd met automatische detectie op bestandsextensie;
  • Udhcpc6 heeft ondersteuning toegevoegd voor de "staatloze» voor DHCPv6 (de server verzendt alleen netwerkparameters, zonder een adres toe te wijzen);
  • nslookup ondersteunt nu de verwerking van antwoorden zonder RR-records en voegt ondersteuning toe voor SRV-records;
  • Nieuwe commando's "showmacs" en "showstp" zijn toegevoegd aan brctl;
  • Ondersteuning toegevoegd voor de parameter "relay server" aan dhcpc;
  • Instelling toegevoegd aan syslogd om de tijd weer te geven met millisecondenprecisie;
  • In httpd is het instellen van een andere homedirectory toegestaan ​​als het in de NOMMU-modus draait en werkt de '-h'-optie wanneer een achtergrondproces wordt uitgevoerd;
  • xargs heeft de verwerking van argumenten tussen aanhalingstekens verbeterd en het correcte gedrag van de “-n” optie gegarandeerd;
  • Bugs opgelost in de grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, routehulpprogramma's.

Ook vorige maand vond plaats релиз Speelgoeddoos 0.8.3, een analoog van BusyBox, ontwikkeld door voormalig BusyBox-onderhouder en gedistribueerd onder BSD-licentie. Het belangrijkste doel van Toybox is om fabrikanten de mogelijkheid te bieden een minimalistische set standaardhulpprogramma's te gebruiken zonder de broncode van gewijzigde componenten te openen. Volgens de mogelijkheden van Toybox tot nu toe achterlopen van BusyBox, maar 272 basiscommando's zijn al geïmplementeerd (204 volledig en 68 gedeeltelijk) van de 343 geplande.

Onder de innovaties van Toybox 0.8.3 kunnen we het volgende opmerken:

  • Nieuwe commando's toegevoegd rtcwake, blkdiscard, getopt en readelf;
  • “make root” biedt de mogelijkheid om een ​​werkende opstartomgeving te creëren die alleen gebaseerd is op de Linux-kernel en Toybox-hulpprogramma's, die kunnen worden geladen met behulp van zijn eigen init-script;
  • Initiële ondersteuning toegevoegd voor modules met afzonderlijke implementaties van hulpprogramma's die niet zijn opgenomen in de hoofd-ToyBox;
  • De commando-interpreter toysh is voor 80% klaar (er is nog geen ondersteuning voor functies, geschiedenis, terminalbeheer, banen, $((wiskunde)), sjablonen);
  • Ondersteuning toegevoegd voor extra opties voor verschillende hulpprogramma's, waaronder patch, cal, cp, mv, lsattr, chattr, ls, id, netcat en setsid.

Bron: opennet.ru

Voeg een reactie