Veröffentlichung des minimalistischen Sets von Systemwerkzeugen BusyBox 1.32

Vorstellung Release des Pakets BusyBox 1.32 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 das Gericht, als auch durch Absprachen 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 diesem Schutz— da er der Meinung ist, dass er sein GeschĂ€ft zerstört. gegen diesen Schutz — da er seinem GeschĂ€ft schadet.

mim

  • Ein neuer Befehl wurde hinzugefĂŒgt um Skripte aus einer angegebenen Datei Mimfile auszufĂŒhren (Ă€hnelt einem reduzierten Dienstprogramm make); 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 nmeter 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 „stateless“ 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 hat stattgefunden Release Toybox 0.8.3, ein Pendant zu BusyBox, das von einem ehemaligen Maintainer von BusyBox weiterentwickelt wird, und distribuiert 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 hinter 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

60GB SSD 8Gb DDR4