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
