Veröffentlichung des minimalistischen Satzes von System-Utilities BusyBox 1.31

Präsentiert Veröffentlichung des Pakets BusyBox 1.31 mit der Implementierung eines Sets von Standard-UNIX-Utilities, die als eine einzige ausführbare Datei gestaltet sind und für einen minimalen Systemressourcenverbrauch optimiert wurden, während das gesamte Paket unter 1 MB bleibt. Die erste Ausgabe der neuen Version 1.31 wird als instabil eingestuft; eine vollständige Stabilisierung wird in Version 1.31.1 erwartet, die in etwa einem Monat verfügbar sein wird. Der Code des Projekts wird unter der GPLv2-Lizenz veröffentlicht.

Die modulare Struktur von BusyBox ermöglicht es, eine einheitliche ausführbare Datei zu erstellen, die eine beliebige Anzahl von im Paket enthaltenen Tools umfasst (jedes Tool ist in Form eines symbolischen Links zu dieser Datei verfügbar). Größe, Inhalt und Funktionalität der Sammlung von Tools können je nach den Anforderungen und Möglichkeiten der eingebetteten Plattform, für die die Zusammenstellung erfolgt, variieren. Das Paket ist autark; bei einer statischen Kompilierung mit uclibc sind nur einige Gerätedateien im Verzeichnis /dev zu erstellen und die Konfigurationsdateien vorzubereiten, um ein funktionierendes System auf dem Linux-Kernel zu schaffen. Im Vergleich zur vorherigen Version 1.30 hat der Speicherkonsum der typischen BusyBox 1.31-Installation um 86 Byte abgenommen (von 1008478 auf 1008392 Byte).

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.31 sind folgende Änderungen aufgeführt:

  • Neue Befehle wurden hinzugefügt: ts (Implementierung eines Clients und Servers für das TSP-Protokoll (Time-Stamp Protocol)) und i2ctransfer (Erstellung und Sendung von I2C-Nachrichten);
  • In udhcp wurde Unterstützung für die DHCP-Optionen 100 (Informationen zur Zeitzone) und 101 (Name der Zeitzone in der TZ-Datenbank) für IPv6 hinzugefügt;
  • In udhcpd wurde Unterstützung für statische Bindungen von Hostnamen zu Clients hinzugefügt;
  • In den Shells ash und hush wurden numerische Literale "BASE#nnnn" implementiert. Die Implementierung des Befehls ulimit wurde mit bash kompatibel gemacht, einschließlich der Optionen "-i RLIMIT_SIGPENDING" und "-q RLIMIT_MSGQUEUE". Unterstützung für "wait -n" wurde hinzugefügt. Bash-kompatible Variablen EPOCH wurden hinzugefügt;
  • In der Shell hush wurde die Variable "$-" implementiert, in der die standardmäßig aktivierten Optionen der Shell aufgeführt sind;
  • Im bc wurde der Code aus dem Upstream übertragen, um Werte per Referenz zu übergeben. Unterstützung für void-Funktionen und die Arbeit mit ibase-Werten bis 36 wurde hinzugefügt.
  • Im brctl wurden alle Befehle auf die Nutzung des Pseudo-Dateisystems /sys umgestellt.
  • Der Code der Utilities fsync und sync wurde zusammengeführt.
  • Die Implementierung von httpd wurde verbessert. Die Verarbeitung von HTTP-Headern und der Betrieb im Proxy-Modus wurden optimiert. SVG- und JavaScript-MIME-Typen wurden in die Liste aufgenommen.
  • In losetup wurde die Option "-c" (zwangsweise Überprüfung der Dateigröße, die mit dem Loop-Gerät verbunden ist) hinzugefügt, sowie eine Option zum Scannen von Partitionen. In mount und losetup wurde die Unterstützung für die Nutzung von /dev/loop-control sichergestellt.
  • Im ntpd wurde der Wert SLEW_THRESHOLD von 0.125 auf 0.5 erhöht.
  • In sysctl wurde die Unterstützung für die Zuweisung leerer Werte hinzugefügt.
  • In watch wurde die Unterstützung für Dezimalwerte in der Option "-n SEC" integriert.
  • Die Möglichkeit, mdev als Hintergrundprozess zu starten, wurde hinzugefügt.
  • Im wget-Utility wurde das Flag "-o" zur Angabe einer Datei für das Logging implementiert. Benachrichtigungen zum Beginn und Abschluss des Downloads wurden hinzugefügt.
  • In telnetd wurde die Unterstützung für den Befehl AYT IAC hinzugefügt.
  • In vi wurde der Befehl ‘dG’ (Inhalt von der aktuellen Zeile bis zum Ende der Datei löschen) hinzugefügt.
  • Dem dd-Befehl wurde die Option 'oflag=append' hinzugefügt.
  • Im Tool top wurde die Option '-H' hinzugefügt, um den Modus zur Scanning einzelner Threads zu aktivieren.

Darüber hinaus fand vor zwei Wochen statt Release Toybox 0.8.1, 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 BusyBox, hat jedoch bereits 188 von 220 geplanten Basisbefehlen implementiert.

Zu den Neuerungen in Toybox 0.8.1 gehören:

  • Ein Funktionsniveau wurde erreicht, das ausreicht, um Android in einer Umgebung basierend auf Toybox-Utilities zu erstellen.
  • Neue Befehle wie mcookie und devmem wurden hinzugefügt, und die überarbeiteten Befehle tar, gunzip und zcat aus dem Testzweig wurden übernommen.
  • Für Tests wurde eine neue Implementierung von vi vorgeschlagen.
  • Der Befehl find unterstützt jetzt die Optionen '-wholename/-iwholename',
    '-printf' und '-context';
  • In grep wurde die Option '--exclude-dir' hinzugefügt;
  • In echo gibt es Unterstützung für die Option '-E'.
  • In mount wurde die Unterstützung für 'UUID' hinzugefügt.
  • Im Befehl date wurde die Berücksichtigung der Zeitzone, die in der Umgebungsvariable TZ angegeben ist, hinzugefügt.
  • In sed wurde die Unterstützung für relative Bereiche (+N) hinzugefügt.
  • Die Lesbarkeit der Ausgaben von ps, top und iotop wurde verbessert.

Quelle: opennet.ru

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