Uitgave van een minimalistische set systeemhulpprogramma's BusyBox 1.31

Geïntroduceerd pakket vrijgave BusyBox 1.31 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.31 is gepositioneerd als onstabiel; volledige stabilisatie zal worden geboden in versie 1.31.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.30 is het RAM-verbruik van de typische BusyBox 1.31-assemblage met 86 bytes afgenomen (van 1008478 naar 1008392 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.31:

  • Nieuwe commando's toegevoegd: ts (implementatie van client en server voor het TSP-protocol (Time-Stamp Protocol)) en i2ctransfer (aanmaken en verzenden van I2C-berichten);
  • Ondersteuning voor DHCP-opties toegevoegd aan udhcp 100 (tijdzone-informatie) en 101 (tijdzonenaam in de TZ-database) voor IPv6;
  • Ondersteuning toegevoegd voor statische hostnaambindingen aan clients in udhcpd;
  • De as- en stilteschalen implementeren de numerieke letterlijke waarden "BASE#nnnn". De implementatie van het ulimit-commando is bash-compatibel gemaakt, inclusief de opties “-i RLIMIT_SIGPENDING” en “-q RLIMIT_MSGQUEUE”. Ondersteuning toegevoegd voor "wait -n". Bash-compatibele EPOCH-variabelen toegevoegd;
  • De hush shell implementeert een "$-" variabele die de standaard ingeschakelde shell-opties opsomt;
  • De code voor het doorgeven van waarden door middel van referentie werd van stroomopwaarts naar bc overgebracht, ondersteuning voor void-functies werd toegevoegd en de mogelijkheid om met ibase-waarden tot 36 te werken;
  • In brctl zijn alle commando's geconverteerd om te werken met de pseudo-FS /sys;
  • De code van de fsync- en synchronisatiehulpprogramma's is samengevoegd;
  • De implementatie van httpd is verbeterd. Verbeterde verwerking van HTTP-headers en werk in proxymodus. De lijst met MIME-typen omvat SVG en JavaScript;
  • De optie “-c” is toegevoegd aan lostup (geforceerde dubbele controle van de bestandsgrootte die aan het lusapparaat is gekoppeld), evenals een optie voor het scannen van partities. mount en lostup bieden ondersteuning voor het werken met /dev/loop-control;
  • In ntpd is de SLEW_THRESHOLD-waarde verhoogd van 0.125 naar 0.5;
  • Ondersteuning toegevoegd voor het toewijzen van nulwaarden aan sysctl;
  • Ondersteuning toegevoegd voor fractionele waarden in de “-n SEC” optie om te bekijken;
  • De mogelijkheid toegevoegd om mdev als achtergrondproces uit te voeren;
  • Het wget-hulpprogramma implementeert de vlag "-o" om het bestand op te geven waarnaar het logboek moet worden geschreven. Meldingen toegevoegd over het starten en voltooien van downloads;
  • Ondersteuning toegevoegd voor het AYT IAC-commando aan telnetd;
  • 'dG'-opdracht toegevoegd aan vi (verwijder de inhoud van de huidige regel tot het einde van het bestand);
  • Optie 'oflag=append' toegevoegd aan het dd-commando;
  • De vlag '-H' is toegevoegd aan het bovenste hulpprogramma om het scannen van individuele threads mogelijk te maken.

Ook twee weken geleden vond plaats релиз Speelgoeddoos 0.8.1, 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 188 van de 220 geplande basisopdrachten zijn al geïmplementeerd.

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

  • Er is een functionaliteitsniveau bereikt dat voldoende is om Android te bouwen in een omgeving gebaseerd op Toybox-hulpprogramma's.
  • De nieuwe mcookie- en devmem-opdrachten zijn inbegrepen, en de herschreven tar-, gunzip- en zcat-opdrachten zijn verplaatst van de testbranch.
  • Er is een nieuwe implementatie van vi voorgesteld om te testen.
  • Het find-commando ondersteunt nu de "-wholename/-iwholename"-opties.
    "-printf" en "-context";

  • Optie "--exclude-dir" toegevoegd aan grep;
  • Echo ondersteunt nu de optie "-E".
  • Ondersteuning voor "UUID" toegevoegd om te mounten.
  • Het datumcommando houdt nu rekening met de tijdzone die is opgegeven in de TZ-omgevingsvariabele.
  • Ondersteuning toegevoegd voor relatieve bereiken (+N) tot sed.
  • Verbeterde leesbaarheid van ps-, top- en iotop-uitvoer.

Bron: opennet.ru

Voeg een reactie