Veröffentlichung des minimalistischen Set von Systemtools BusyBox 1.34

Die Veröffentlichung von BusyBox 1.34 wurde vorgestellt, das ein Set von Standard-UNIX-Dienstprogrammen in einer einzelnen ausführbaren Datei zusammenfasst und optimiert ist, um eine minimale Ressourcennutzung mit einer Gesamtgröße von weniger als 1 MB zu gewährleisten. Die erste Version des neuen Branches 1.34 wird als instabil eingestuft; eine vollständige Stabilisierung wird mit Version 1.34.1 erwartet, die in etwa einem Monat verfügbar sein wird. Der Quellcode des Projekts steht unter der GPLv2-Lizenz zur Verfügung.

Die modulare Struktur von BusyBox ermöglicht es, eine einheitliche ausführbare Datei zu erstellen, die eine beliebige Anzahl von in diesem Paket implementierten Dienstprogrammen enthält (jede Dienstprogramm ist als symbolischer Link zu dieser Datei verfügbar). Größe, Inhalt und Funktionalität der Sammlung von Dienstprogrammen können je nach Anforderungen und Möglichkeiten der eingebetteten Plattform, für die das Build durchgeführt wird, variieren. Das Paket ist eigenständig; bei einer statischen Erstellung mit uclibc sind lediglich einige Gerätedateien im Verzeichnis /dev zu erstellen und Konfigurationsdateien vorzubereiten, um ein funktionierendes System über dem Linux-Kernel zu erstellen. Im Vergleich zur vorherigen Version 1.33 ist der Speicherverbrauch der typischen BusyBox 1.34-Installation um 9.620 Byte gestiegen (von 1.032.724 auf 1.042.344 Byte).

BusyBox ist ein wesentliches Werkzeug im Kampf gegen die Verletzung der GPL in Firmware. Die Organisationen Software Freedom Conservancy (SFC) und Software Freedom Law Center (SFLC) haben im Namen der Entwickler von BusyBox sowohl durch Gerichtsverfahren als auch durch außergerichtliche Einigungen erfolgreich Unternehmen zur Bereitstellung des Quellcodes von GPL-Programmen bewegt. Gleichzeitig widerspricht der Entwickler von BusyBox vehement diesem Schutz, da er der Meinung ist, dass er sein Geschäft schädigt.

Die folgende Änderungen sind in BusyBox 1.34 zu verzeichnen:

  • Ein neues Dienstprogramm ascii mit einer interaktiven Tabelle der ASCII-Zeichennamen wurde hinzugefügt.
  • Ein neues Dienstprogramm crc32 zur Berechnung von Prüfziffern wurde hinzugefügt.
  • Der integrierte HTTP-Server unterstützt jetzt die Methoden DELETE, PUT und OPTIONS.
  • In udhcpc wurde die Möglichkeit hinzugefügt, den Standardnetzwerkschnittstellennamen zu ändern.
  • In der Implementierung der TLS-Protokolle wurde die Unterstützung für die elliptischen Kurven secp256r1 (P256) hinzugefügt.
  • Die Entwicklung der Shells ash und hush wurde fortgesetzt. In hush wurde die Verarbeitung des Befehls ^D an das Verhalten von ash und bash angepasst, die bash-spezifische Konstruktion $’str’ implementiert und die Operationen zur Ersetzung ${var/pattern/repl} optimiert.
  • Eine große Anzahl an Korrekturen und Verbesserungen wurde in die Implementierung des Werkzeugs awk aufgenommen.
  • In die Tools base32 und base64 wurde die Option „-i“ zum Ignorieren ungültiger Zeichen hinzugefügt.
  • In den Tools bc und dc wurde die Verarbeitung der Umgebungsvariablen BC_LINE_LENGTH und DC_LINE_LENGTH an die GNU-Tools angeglichen.
  • In das Tool blockdev wurden die Optionen —getra und —setra hinzugefügt.
  • In die Tools chattr und lsattr wurde die Option „-p“ integriert. In lsattr wurde die Anzahl der unterstützten Flags für das ext2-Dateisystem erweitert.
  • In das Tool cp wurden die Optionen „-n“ (Schreibschutz) und „-t DIR“ (Festlegung des Zielverzeichnisses) hinzugefügt.
  • In cpio wurde die Funktionalität der Konstruktion „cpio -d -p A/B/C“ verbessert.
  • In das Tool df wurde die Option „-t TYPE“ (Einschränkung der Ausgabe auf einen bestimmten Dateisystemtyp) hinzugefügt.
  • In das Tool du wurde die Option -b (äquivalent zu ‘—apparent-size —block-size=1’) implementiert.
  • In das Tool env wurde die Option „-0“ (Beendigung jeder Zeile mit einem Null-Zeichen) hinzugefügt.
  • In das Tool free wurde die Option „-h“ (Ausgabe im lesbaren Format) hinzugefügt.
  • In das Tool ionice wurde die Option „-t“ (Ignorieren von Fehlern) hinzugefügt.
  • Im Tool login wurde die Unterstützung der Umgebungsvariable LOGIN_TIMEOUT implementiert.
  • In das Tool mv wurden die Optionen „-t“ (Zielverzeichnis für die Verschiebung festlegen) und „-T“ (zweiten Argument als Datei behandeln) hinzugefügt.
  • In das Tool shred wurde die Option „-s SIZE“ (Anzahl der zu löschenden Bytes) hinzugefügt.
  • In das Tool taskset wurde die Option „-a“ (CPU-Bindung für alle Threads des Prozesses anwenden) hinzugefügt.
  • In den Tools timeout, top, watch und ping wurde die Unterstützung für nicht ganze Werte (NN.N) implementiert.
  • In das Tool uniq wurde die Option „-z“ (Verwendung des Nullzeichens als Trennzeichen) hinzugefügt.
  • In das Tool unzip wurde die Option „-t“ (Archivprüfung) hinzugefügt.
  • Im Editor vi wurde die Verwendung regulärer Ausdrücke im Befehl ‚:s‘ erlaubt. Der Parameter expandtab wurde hinzugefügt. Die Implementierungen für die Navigation zwischen Absätzen, die Auswahl von Bereichen und das Zurücksetzen von Änderungen wurden verbessert.
  • Im Tool xxd wurden die Optionen -i (Ausgabe im C-Stil) und „-o DISPLAYOFFSET“ implementiert.
  • Im Tool wget wurde die Verarbeitung der HTTP-Codes 307/308 für Umleitungen erlaubt. Die Option FEATURE_WGET_FTP zum Aktivieren/Deaktivieren der FTP-Unterstützung wurde hinzugefügt.
  • In der dd-Utility wurde die Option „iflag=count_bytes“ hinzugefügt.
  • In der cut-Utility wurden die mit dem Toolset toybox kompatiblen Optionen „-O OUTSEP“, „-D“ und „-F LIST“ implementiert.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster