pakketuitgave met de implementatie van een set standaard UNIX-hulpprogramma's, verpakt in één uitvoerbaar bestand en geoptimaliseerd voor minimaal systeemverbruik met een pakketgrootte van minder dan 1 MB. De eerste release van de nieuwe tak 1.32 wordt gepositioneerd als instabiel; volledige stabilisatie zal worden gegarandeerd in versie 1.32.1, die over ongeveer een maand wordt verwacht. De code van het project wordt verspreid onder de GPLv2-licentie.
De modulaire aard van BusyBox maakt het mogelijk om één uniform uitvoerbaar bestand te vormen, dat een willekeurige set van de in het pakket geïmplementeerde hulpprogramma's bevat (elk hulpprogramma is beschikbaar in de vorm van een symbolische link naar dit bestand). De grootte, samenstelling en functionaliteit van de collectie hulpprogramma's kunnen worden gevarieerd afhankelijk van de behoeften en mogelijkheden van het ingebedde platform waarvoor de build plaatsvindt. Het pakket is zelfvoorzienend; bij statische compilatie met uclibc is het enige dat nodig is om een werkend systeem bovenop de Linux-kernel op te zetten, het creëren van enkele apparaatsbestanden in de map /dev en het voorbereiden van configuratiebestanden. In vergelijking met de vorige release 1.31 is het geheugenverbruik van de typische BusyBox 1.32-bouwer met 3590 bytes gestegen (van 1011750 tot 1015340 bytes).
BusyBox is een belangrijke tool in de strijd tegen GPL-overtredingen in firmware. Organisaties zoals de Software Freedom Conservancy (SFC) en het Software Freedom Law Center (SFLC) hebben namens de ontwikkelaars van BusyBox zowel via , als via meerdere keren succesvol bedrijven onder druk gezet die geen toegang bieden tot de broncode van GPL-software. Tegelijkertijd verzet de auteur van BusyBox zich krachtig In BusyBox versie 1.31 zijn de volgende wijzigingen aangebracht:
In versie BusyBox 1.32 zijn de volgende wijzigingen te onderscheiden:
- Een nieuwe opdracht is toegevoegd om scripts uit een opgegeven bestand Mimfile uit te voeren (vergelijkbaar met een afgeslankte versie van de utiliteit make);
- In de utiliteit find is de optie „-empty” toegevoegd om lege bestanden te controleren;
- In de utiliteit wget is de limiet voor het aantal omleidingen uitgebreid en is ondersteuning voor TLS-certificaatcontrole toegevoegd bij falen met ENABLE_FEATURE_WGET_OPENSSL;
- In grep is correcte ondersteuning voor patroonlijsten (pattern_list) toegevoegd en is de optie „-R” (recursieve verwerking van de inhoud van de map) toegevoegd;
- Problemen die zich voordoen bij het bouwen met Clang 9 zijn opgelost en compilerwaarschuwingen zijn verholpen;
- Er zijn talrijke verbeteringen voorgesteld in de opdracht shells ash en hush, gericht op het verbeteren van de compatibiliteit met andere shells. In ash en hush is de mogelijkheid om ingebouwde opdrachten met tab te autocomplete toegevoegd. In ash zijn nieuwe ingebouwde opdrachten gestabiliseerd.
- In de utiliteit fdisk is ondersteuning voor HFS en HFS+-partities toegevoegd;
- In init is de verwerking van racecondities bij het ontvangen van signalen verbeterd;
- In de utiliteit voor visuele monitoring van systeemparameters toegevoegd outputformaat «%NT» (uitgelijnde tijd met nullen);
- In taskset is de mogelijkheid toegevoegd om een lijst van CPU's te verwerken en weer te geven (optie «-c»);
- In tar is het gedrag van de optie «-a» gewijzigd, die in plaats van compressie «lzma» nu automatisch wordt bepaald op basis van de bestandsextensie;
- In udhcpc6 is ondersteuning voor de modus «» voor DHCPv6 toegevoegd (de server geeft alleen netwerkparameters zonder adrestoewijzing);
- In nslookup is de verwerking van antwoorden zonder RR-records verbeterd en is ondersteuning voor SRV-records toegevoegd;
- In brctl zijn nieuwe commando's «showmacs» en «showstp» toegevoegd;
- In dhcpc is ondersteuning voor de parameter «relay server» toegevoegd;
- In syslogd is een instelling toegevoegd voor het weergeven van tijd met milliseconde-precisie;
- In httpd, wanneer het werkt in NOMMU-modus, is het toegestaan om een andere home-directory in te stellen en werkt de optie ‘-h’ bij het starten van een achtergrondproces;
- In xargs is de verwerking van argumenten tussen aanhalingstekens verbeterd en correct gedrag van de optie «-n» verzekerd;
- Verbeteringen zijn aangebracht in de hulpprogramma's grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route.
Bovendien, vorige maand release , een alternatief voor BusyBox, ontwikkeld door de voormalige maintainer van BusyBox en onder de BSD-licentie. Het belangrijkste doel van Toybox is om fabrikanten de mogelijkheid te bieden een minimalistische set van standaardutilities te gebruiken zonder de broncode van gemodificeerde componenten vrij te geven. Wat functionaliteit betreft, is Toybox voorlopig van BusyBox, maar al zijn 272 basiscommando's (204 volledig en 68 gedeeltelijk) van de 343 geplande gerealiseerd.
Van de nieuwigheden in Toybox 0.8.3 zijn de volgende te vermelden:
- Nieuwe commando's rtcwake, blkdiscard, getopt en readelf toegevoegd;
- In «make root» is het mogelijk om een werkend opstartomgeving te creëren op basis van alleen de Linux-kernel en de hulpprogramma's van Toybox, die kan worden opgestart met behulp van een eigen init-script;
- De initiële ondersteuning voor modules met afzonderlijke implementaties van hulpprogramma's die niet tot de hoofdset ToyBox behoren, is toegevoegd;
- De commandoregelinterpreter toysh is voor 80% gereed (ondersteuning voor functies, geschiedenis, terminalbeheer, job-opdrachten, $((math)), sjablonen ontbreekt nog);
- Ondersteuning voor extra opties in verschillende hulpprogramma's is toegevoegd, waaronder patch, cal, cp, mv, lsattr, chattr, ls, id, netcat en setsid.
Bron: opennet.ru
