Release des Pakets mit der Implementierung einer Sammlung standardmĂ€Ăiger UNIX-Dienstprogramme, die als eine einzige ausfĂŒhrbare Datei angeboten und fĂŒr einen minimalen Systemressourcennutz optimiert sind, wobei die GesamtgröĂe des Pakets weniger als 1 MB betrĂ€gt. Die erste Version des neuen Zweigs 1.32 wird als instabil eingestuft, die vollstĂ€ndige Stabilisierung wird in Version 1.32.1 gewĂ€hrleistet, die in etwa einem Monat erwartet wird. Der Quellcode des Projekts wird unter der Lizenz GPLv2 verbreitet.
Die modulare Architektur von BusyBox ermöglicht die Erstellung einer einzigen einheitlichen ausfĂŒhrbaren Datei, die eine beliebige Sammlung der im Paket implementierten Dienstprogramme enthĂ€lt (jedes Dienstprogramm ist als symbolischer Link auf diese Datei verfĂŒgbar). GröĂe, Inhalt und FunktionalitĂ€t der Sammlung von Dienstprogrammen können je nach BedĂŒrfnissen und Möglichkeiten der eingebetteten Plattform, fĂŒr die die Sammlung erstellt wird, variiert werden. Das Paket ist autark; bei einer statischen Kompilierung mit uclibc sind nur einige GerĂ€tedateien im Verzeichnis /dev zu erstellen und Konfigurationsdateien vorzubereiten, um ein funktionierendes System unter dem Linux-Kernel zu schaffen. Im Vergleich zur vorherigen Version 1.31 hat der Speicherverbrauch der typischen BusyBox 1.32-Kompilierung um 3590 Bytes zugenommen (von 1011750 auf 1015340 Bytes).
BusyBox ist das Hauptwerkzeug im Kampf gegen die Verletzung der GPL in Firmware. Die Organisationen Software Freedom Conservancy (SFC) und Software Freedom Law Center (SFLC) haben durch die Entwickler von BusyBox sowohl ĂŒber , als auch durch auĂergerichtliche Vereinbarungen haben sie mehrfach erfolgreich auf Unternehmen eingewirkt, die keinen Zugang zu den Quellcodes von GPL-Programmen bereitstellen. Gleichzeitig widerspricht der Autor von BusyBox entschieden gegen diesen Schutz â da er seinem GeschĂ€ft schadet.
mim
- Ein neuer Befehl wurde hinzugefĂŒgt In der Dienstprogramm find wurde die Option â-emptyâ hinzugefĂŒgt, um leere Dateien zu ĂŒberprĂŒfen;
- Im Tool find wurde die Option â-emptyâ zum ĂberprĂŒfen von leeren Dateien hinzugefĂŒgt;
- In grep wurde eine korrekte UnterstĂŒtzung fĂŒr die Liste von Mustern (pattern_list) hinzugefĂŒgt und die Option â-Râ (rekursive Bearbeitung des Verzeichnisinhalts) ergĂ€nzt;
- In grep wurde die korrekte UnterstĂŒtzung fĂŒr die Liste der Muster (pattern_list) hinzugefĂŒgt und die Option â-Râ (rekursive Verarbeitung des Verzeichnisinhalts) ergĂ€nzt;
- Probleme, die beim Kompilieren mit Clang 9 auftraten, wurden gelöst und Compilerwarnungen wurden beseitigt;
- Eine umfangreiche Reihe an Ănderungen wurde an den Shells ash und hush vorgeschlagen, die auf die Verbesserung der KompatibilitĂ€t mit anderen Shells abzielen. In ash und hush wurde die Möglichkeit zur automatischen VervollstĂ€ndigung von eingebetteten Befehlen durch Tab-Taste hinzugefĂŒgt. In ash wurden neue eingebaute Befehle stabilisiert.
- Das Dienstprogramm fdisk unterstĂŒtzt jetzt die Partitionen HFS und HFS+;
- Im init wurde die Behandlung von Race Conditions bei Signalempfang verbessert;
- Im Utility zur visuellen Ăberwachung von Systemparametern das Ausgabeformat â%NTâ (ausgerichtete Zeit mit Nullen) wurde hinzugefĂŒgt;
- In taskset wurde die Möglichkeit zur Verarbeitung und Ausgabe der CPU-Liste (Option â-câ) hinzugefĂŒgt;
- In tar wurde das Verhalten der Option â-aâ geĂ€ndert, die nun statt die Kompression âlzmaâ zu aktivieren, mit der automatischen Erkennung basierend auf der Dateierweiterung verbunden ist;
- In udhcpc6 wurde die UnterstĂŒtzung fĂŒr den Modus ââ fĂŒr DHCPv6 hinzugefĂŒgt (der Server liefert nur die Netzparameter ohne Adresszuweisung);
- In nslookup wurde die Verarbeitung von Antworten ohne RR-EintrĂ€ge sichergestellt und die UnterstĂŒtzung fĂŒr SRV-EintrĂ€ge hinzugefĂŒgt;
- In brctl wurden die neuen Befehle âshowmacsâ und âshowstpâ hinzugefĂŒgt;
- In dhcpc wurde die UnterstĂŒtzung fĂŒr den Parameter ârelay serverâ hinzugefĂŒgt;
- In syslogd wurde eine Einstellung zur Anzeige der Zeit mit MillisekundenprĂ€zision hinzugefĂŒgt;
- In httpd wurde im NOMMU-Modus die Festlegung eines anderen Home-Verzeichnisses ermöglicht und die Funktion der Option â-hâ beim Start eines Hintergrundprozesses gewĂ€hrleistet;
- In xargs wurde die Verarbeitung von Argumenten, die in AnfĂŒhrungszeichen eingeschlossen sind, verbessert und das korrekte Verhalten der Option â-nâ sichergestellt;
- Es wurden MĂ€ngel in den Dienstprogrammen grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route behoben.
DarĂŒber hinaus wurde im vergangenen Monat Release , ein Pendant zu BusyBox, das von einem ehemaligen Maintainer von BusyBox weiterentwickelt wird, und unter der BSD-Lizenz. Das Hauptziel von Toybox besteht darin, Herstellern die Nutzung eines minimalistischen Satzes von Standarddienstprogrammen zu ermöglichen, ohne den Quellcode der modifizierten Komponenten offenlegen zu mĂŒssen. Bei den Möglichkeiten bleibt Toybox derzeit BusyBox zurĂŒck, hat jedoch bereits 272 grundlegende Befehle (204 vollstĂ€ndig und 68 teilweise) von 343 geplanten implementiert.
Zu den Neuerungen in Toybox 0.8.3 zÀhlen:
- Neue Befehle rtcwake, blkdiscard, getopt und readelf wurden hinzugefĂŒgt;
- In âmake rootâ wurde die Möglichkeit geschaffen, ein funktionierendes Boot-Umfeld ausschlieĂlich auf Basis des Linux-Kernels und der Toybox-Utilities zu erstellen, das ĂŒber ein eigenes Init-Skript geladen werden kann;
- Die anfĂ€ngliche UnterstĂŒtzung fĂŒr Module mit separaten Implementierungen von Utilities, die nicht im Hauptbestand von ToyBox enthalten sind, wurde hinzugefĂŒgt;
- Der Befehl-Interpreter toysh ist zu 80 % einsatzbereit (unterstĂŒtzt derzeit keine Funktionen, Historie, Terminalverwaltung, Jobaufgaben, $((math)), Vorlagen);
- UnterstĂŒtzung zusĂ€tzlicher Optionen in verschiedenen Utilities wurde hinzugefĂŒgt, darunter patch, cal, cp, mv, lsattr, chattr, ls, id, netcat und setsid.
Quelle: opennet.ru
