Das Release-Paket BusyBox 1.34 wird mit einer Implementierung des Sets von Standard-Unix-Utilities prĂ€sentiert, die in einer einzigen ausfĂŒhrbaren Datei zusammengefasst und fĂŒr einen minimalen Systemressourcenverbrauch optimiert sind, wobei die GesamtgröĂe des Sets weniger als 1 MB betrĂ€gt. Die erste Ausgabe des neuen Zweigs 1.34 wird als instabil positioniert; eine vollstĂ€ndige Stabilisierung wird in der Version 1.34.1 gewĂ€hrleistet, die voraussichtlich in etwa einem Monat erscheinen wird. Der Projektcode wird unter der GPLv2-Lizenz veröffentlicht.
Die modulare Natur von BusyBox ermöglicht es, eine einheitliche ausfĂŒhrbare Datei zu erstellen, die eine beliebige Sammlung der im Paket implementierten Utilities enthĂ€lt (jede Utility ist als symbolischer Link zu dieser Datei verfĂŒgbar). GröĂe, Inhalt und FunktionalitĂ€t der Sammlung können je nach den BedĂŒrfnissen und Möglichkeiten der eingebetteten Plattform, fĂŒr die das Set erstellt wird, variiert werden. Das Paket ist eigenstĂ€ndig; bei statischer Kompilierung mit uclibc sind zur Erstellung eines funktionierenden Systems ĂŒber dem Linux-Kernel nur einige GerĂ€tedateien im Verzeichnis /dev zu erstellen und Konfigurationsdateien vorzubereiten. Im Vergleich zur vorherigen Version 1.33 hat der RAM-Verbrauch einer typischen BusyBox 1.34-Kompilation um 9620 Byte zugenommen (von 1032724 auf 1042344 Byte).
BusyBox ist ein zentrales Werkzeug im Kampf gegen VerstöĂe gegen die GPL in Firmware. Die Organisationen Software Freedom Conservancy (SFC) und Software Freedom Law Center (SFLC) haben im Namen der Entwickler von BusyBox sowohl gerichtlich als auch durch auĂergerichtliche Vereinbarungen wiederholt erfolgreich auf Unternehmen eingewirkt, die keinen Zugang zum Quellcode von GPL-Programmen bieten. Gleichzeitig widerspricht der Autor von BusyBox einer solchen Verteidigung vehement - er hĂ€lt sie fĂŒr schĂ€dlich fĂŒr sein GeschĂ€ft.
In der Version BusyBox 1.34 sind folgende Ănderungen zu verzeichnen:
- Eine neue Utility ascii mit einer interaktiven Tabelle von ASCII-Zeichennamen wurde hinzugefĂŒgt.
- Eine neue Utility crc32 zur Berechnung von PrĂŒfziffern wurde hinzugefĂŒgt.
- Im eingebetteten HTTP-Server wurde die UnterstĂŒtzung fĂŒr die Methoden DELETE, PUT und OPTIONS implementiert.
- In udhcpc wurde die Möglichkeit zur Ănderung des Standardnamens der Netzwerkschnittstelle bereitgestellt.
- In der Implementierung der TLS-Protokolle wurde die UnterstĂŒtzung fĂŒr die elliptischen Kurven secp256r1 (P256) hinzugefĂŒgt.
- Die Entwicklung der Kommandozeileninterpreter ash und hush wurde fortgesetzt. In hush wurde die Behandlung des Befehls ^D an das Verhalten von ash und bash angepasst, die bash-spezifische Konstruktion $'str' implementiert und die Optimierung der Ersetzungsoperation ${var/pattern/repl} durchgefĂŒhrt.
- Eine groĂe Anzahl von Fehlerkorrekturen und Verbesserungen bei der Implementierung der Utility awk wurde vorgenommen.
- In die Utilities base32 und base64 wurde die Option â-iâ zum Ignorieren ungĂŒltiger Zeichen hinzugefĂŒgt.
- In den Utilities bc und dc wurde die Verarbeitung der Umgebungsvariablen BC_LINE_LENGTH und DC_LINE_LENGTH an die GNU-Utilities angenÀhert.
- In die Utility blockdev wurden die Optionen âgetra und âsetra hinzugefĂŒgt.
- In den Dienstprogramme chattr und lsattr wurde die Option â-pâ hinzugefĂŒgt. In lsattr wurde die Anzahl der unterstĂŒtzten ext2-Dateisystemflags erweitert.
- In das Dienstprogramm cp wurden die Optionen â-nâ (Verhinderung des Ăberschreibens) 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 Dienstprogramm df wurde die Option â-t TYPEâ (EinschrĂ€nkung der Ausgabe auf einen bestimmten Dateisystemtyp) hinzugefĂŒgt.
- In das Dienstprogramm du wurde die Option -b (entspricht ââapparent-size âblock-size=1â) hinzugefĂŒgt.
- In das Dienstprogramm env wurde die Option â-0â (Beendigung jeder Zeile mit einem Null-Zeichen) hinzugefĂŒgt.
- In das Dienstprogramm free wurde die Option â-hâ (Ausgabe in lesbarem Format) hinzugefĂŒgt.
- In das Dienstprogramm ionice wurde die Option â-tâ (Ignorieren von Fehlern) hinzugefĂŒgt.
- In dem Dienstprogramm login wurde die UnterstĂŒtzung fĂŒr die Umgebungsvariable LOGIN_TIMEOUT implementiert.
- In das Dienstprogramm mv wurden die Optionen â-tâ (Festlegung des Zielverzeichnisses fĂŒr die Verschiebung) und â-Tâ (Behandlung des zweiten Arguments als Datei) hinzugefĂŒgt.
- In das Dienstprogramm shred wurde die Option â-s SIZEâ (Anzahl der zu löschenden Bytes) hinzugefĂŒgt.
- In das Dienstprogramm taskset wurde die Option â-aâ (Anwendung der CPU-Bindung auf alle Threads des Prozesses) hinzugefĂŒgt.
- In den Dienstprogrammen timeout, top, watch und ping wurde die UnterstĂŒtzung fĂŒr nicht-ganzzahlige Werte (NN.N) implementiert.
- In das Dienstprogramm uniq wurde die Option â-zâ (Verwendung eines Null-Zeichens als Trennzeichen) hinzugefĂŒgt.
- In das Dienstprogramm unzip wurde die Option â-tâ (PrĂŒfung des Archivs) hinzugefĂŒgt.
- Im Editor vi wurde die Verwendung von regulĂ€ren AusdrĂŒcken im Befehl â:sâ ermöglicht. Ein neuer Parameter expandtab wurde hinzugefĂŒgt. Die Implementierungen des Wechsels zwischen AbsĂ€tzen, der Auswahl von Bereichen und der RĂŒckgĂ€ngigmachung von Ănderungen wurden verbessert.
- In das Dienstprogramm xxd wurden die Optionen -i (Ausgabe im C-Stil) und â-o DISPLAYOFFSETâ implementiert.
- In das Dienstprogramm wget wurde die Verarbeitung von HTTP-Codes 307/308 fĂŒr Weiterleitungen ermöglicht. Die Option FEATURE_WGET_FTP wurde hinzugefĂŒgt, um die UnterstĂŒtzung fĂŒr FTP ein- oder auszuschalten.
- In das Dienstprogramm dd wurde die Option âiflag=count_bytesâ hinzugefĂŒgt.
- In das Dienstprogramm cut wurden die mit dem Werkzeug toybox kompatiblen Optionen â-O OUTSEPâ, â-Dâ und â-F LISTâ implementiert.
Quelle: opennet.ru
