Veröffentlichung des minimalistischen Systemdienstprogramm-Pakets BusyBox 1.32

Präsentiert Veröffentlichung des Pakets BusyBox 1.32 mit der Implementierung eines Satzes von Standard-UNIX-Dienstprogrammen, die in einer einzigen ausführbaren Datei zusammengefasst sind und für einen minimalen Systemressourcenverbrauch bei einer Paketgröße von weniger als 1 MB optimiert sind. Die erste Veröffentlichung der neuen Version 1.32 wird als instabil eingestuft; eine vollständige Stabilisierung wird in der Version 1.32.1 erwartet, die in etwa einem Monat verfügbar sein wird. Der Code des Projekts wird unter der GPLv2-Lizenz veröffentlicht.

Die modulare Natur von BusyBox ermöglicht die Erstellung einer einheitlichen ausführbaren Datei, die eine beliebige Sammlung von in diesem Paket implementierten Dienstprogrammen enthält (jedes Dienstprogramm ist als symbolischer Link zu dieser Datei verfügbar). Größe, Zusammensetzung und Funktionalität der Sammlung von Dienstprogrammen können je nach den Anforderungen und Möglichkeiten der eingebetteten Plattform, für die der Build erstellt wird, variieren. Das Paket ist autark; für die statische Erstellung mit uClibc ist nur die Erstellung einiger Geräte-Dateien im Verzeichnis /dev und die Vorbereitung der Konfigurationsdateien erforderlich, um ein funktionsfähiges System auf dem Linux-Kernel aufzubauen. Im Vergleich zur vorherigen Version 1.31 hat der Arbeitsspeicherverbrauch des typischen Builds von BusyBox 1.32 um 3590 Bytes zugenommen (von 1.011.750 auf 1.015.340 Bytes).

BusyBox ist das Hauptinstrument im Kampf gegen GPL-Verstöße in Firmware. Die Organisationen Software Freedom Conservancy (SFC) und Software Freedom Law Center (SFLC) handeln im Namen der Entwickler von BusyBox sowohl durch Gerichteals auch durch Vergleichsvereinbarungen außergerichtliche Vereinbarungen haben wiederholt erfolgreich Einfluss auf Unternehmen genommen, die keinen Zugriff auf den Quellcode von GPL-Programmen gewähren. Gleichzeitig spricht der Autor von BusyBox entschieden dagegen und ist der Meinung, dass dies sein Geschäft zerstört.

In der Version BusyBox 1.32 werden folgende Änderungen hervorgehoben:

  • Ein neuer Befehl wurde hinzugefügt mim zum Ausführen von Skripten aus einer angegebenen Datei namens Mimfile (ähnlich einer abgespeckten Version des Dienstprogramms make);
  • Im Dienstprogramm find wurde die Option „-empty“ zum Überprüfen leerer Dateien hinzugefügt;
  • In der wget-Anwendung wurde das Limit für die Anzahl der Weiterleitungen erweitert und die Unterstützung für die TLS-Zertifikatsprüfung bei Fehlern mit ENABLE_FEATURE_WGET_OPENSSL implementiert.
  • Im grep wurde die korrekte Unterstützung für die Liste der Muster (pattern_list) hinzugefügt und die Option „-R“ (rekursive Verarbeitung von Verzeichnisinhalten) implementiert.
  • Probleme, die bei der Kompilierung mit Clang 9 auftreten, wurden behoben und Compiler-Warnungen wurden beseitigt.
  • Eine große Anzahl von Korrekturen für die Shells ash und hush wurde vorgeschlagen, um die Kompatibilität mit anderen Shells zu verbessern. In ash und hush wurde die Möglichkeit zur automatischen Vervollständigung von eingebauten Kommandos über die Tabulatortaste hinzugefügt. Die neuen eingebauten Kommandos in ash wurden stabilisiert.
  • In der fdisk-Anwendung wurde die Unterstützung für HFS- und HFS+-Partitionen hinzugefügt.
  • Im init wurde die Behandlung von Race Conditions bei Signalempfängen verbessert.
  • In das Systemmonitoring-Tool nmeter wurde das Ausgabeformat „%NT“ (ausgerichtete Zeit mit Nullen) hinzugefügt.
  • In taskset wurde die Möglichkeit zur Verarbeitung und Ausgabe der CPU-Liste (Option „-c“) hinzugefügt.
  • Im tar wurde das Verhalten der Option „-a“ geändert, die anstelle der Aktivierung der „lzma“-Kompression jetzt mit der automatischen Erkennung anhand der Dateierweiterung verknüpft ist.
  • In udhcpc6 wurde die Unterstützung für den Modus „stateless“ hinzugefügt.» für DHCPv6 (der Server gibt nur Netzparameter ohne Adresszuweisung aus);
  • In nslookup wurde die Verarbeitung von Antworten ohne RR-Einträge hinzugefügt, sowie die Unterstützung für SRV-Einträge;
  • In brctl wurden neue Befehle «showmacs» und «showstp» hinzugefügt;
  • In dhcpc wurde die Unterstützung für den Parameter «relay server» implementiert;
  • In syslogd wurde eine Konfiguration zur Anzeige der Zeit mit Millisekunden-Genauigkeit hinzugefügt;
  • In httpd wurde im NOMMU-Modus die Einstellung eines anderen Heimatverzeichnisses erlaubt und die Option ‘-h’ beim Start des Hintergrundprozesses unterstützt;
  • In xargs wurde die Verarbeitung von in Anführungszeichen eingeschlossenen Argumenten verbessert, und das korrekte Verhalten der Option «-n» wurde sichergestellt;
  • Es wurden Fehler 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 statt Release Toybox 0.8.3, ein Pendant zu BusyBox, das von einem ehemaligen Maintainer von BusyBox entwickelt wird und unter der BSD-Lizenz vertrieben wird. Die Hauptfunktion von Toybox besteht darin, Herstellern die Nutzung eines minimalistischen Sets von Standard-Utilities zu ermöglichen, ohne die Quelltexte der modifizierten Komponenten zu offenbaren. In Bezug auf die Möglichkeiten liegt Toybox bisher hinter von BusyBox, jedoch wurden bereits 272 grundlegende Befehle (204 vollständig und 68 teilweise) aus den geplanten 343 implementiert.

Zu den Neuerungen in Toybox 0.8.3 gehören:

  • Es wurden neue Befehle rtcwake, blkdiscard, getopt und readelf hinzugefügt;
  • In «make root» wurde die Möglichkeit geschaffen, eine funktionsfähige Bootumgebung ausschließlich auf Basis des Linux-Kernels und der Toybox-Utilities zu erstellen, die mit einem eigenen Init-Skript gestartet werden kann;
  • Die anfängliche Unterstützung von Modulen mit separaten Implementierungen von Dienstprogrammen, die nicht im Hauptbestand von ToyBox enthalten sind, wurde hinzugefügt.
  • Der Kommando-Interpreter toysh ist zu 80 % einsatzbereit (derzeit fehlt die Unterstützung für Funktionen, Verlauf, Terminalverwaltung, Job-Aufgaben, $((math)), Vorlagen).
  • Unterstützung zusätzlicher Optionen in verschiedenen Dienstprogrammen wurde hinzugefügt, einschließlich patch, cal, cp, mv, lsattr, chattr, ls, id, netcat und setsid.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster