Wydanie minimalistycznego zestawu narzędzi systemowych BusyBox 1.37

Po prawie dwóch latach prac deweloperskich zaprezentowano wydanie pakietu BusyBox 1.37, który wdraża zestaw standardowych narzędzi UNIX w formie jednego pliku wykonywalnego, zoptymalizowanego pod kątem minimalnego zużycia zasobów systemowych, przy rozmiarze zestawu poniżej 1 MB. Pierwsze wydanie nowej gałęzi 1.37 jest określane jako niestabilne, a pełna stabilizacja będzie zapewniona w wersji 1.37.1, która oczekiwana jest za kilka miesięcy. Kod projektu jest dystrybuowany na licencji GPLv2.

Modularny charakter BusyBox pozwala na utworzenie jednego zunifikowanego pliku wykonywalnego, który zawiera dowolny zestaw narzędzi wdrożonych w pakiecie (każde narzędzie jest dostępne w formie symbolicznej linki do tego pliku). Rozmiar, skład i funkcjonalność kolekcji narzędzi można dostosować w zależności od potrzeb i możliwości platformy wbudowanej, dla której jest przeprowadzana kompilacja. Pakiet jest samowystarczalny, w przypadku statycznej kompilacji z uclibc do stworzenia działającego systemu na jądrze Linux wystarczy utworzyć kilka plików urządzeń w katalogu \/dev oraz przygotować pliki konfiguracyjne. W porównaniu do poprzedniego wydania 1.36, zużycie pamięci RAM w typowej kompilacji BusyBox 1.37 wzrosło o 1535 bajtów (z 1022792 do 1024327 bajtów).

BusyBox jest głównym narzędziem w walce z naruszeniem GPL w oprogramowaniu układowym. Organizacje Software Freedom Conservancy (SFC) i Software Freedom Law Center (SFLC) w imieniu twórców BusyBox wielokrotnie skutecznie wpływały na firmy, które nie udostępniają kodu źródłowego programów GPL, zarówno poprzez postępowania sądowe, jak i zawieranie pozasądowych porozumień. Z drugiej strony, autor BusyBox stanowczo sprzeciwia się takiej ochronie, uważając, że niszczy to jego biznes.

Wśród zauważalnych zmian w BusyBox 1.37:

  • Dodano implementację narzędzia getfattr do wyświetlania rozszerzonych atrybutów plików.
  • W udhcpd zaimplementowano opcjonalne wsparcie dla protokołu BOOTP.
  • W narzędziu hwclock dodano możliwość wyświetlania i ustawiania parametrów RTC (Real-Time Clock). Na przykład, dla odczytu „hwclock —param-get bsm”, a dla zmiany „hwclock -p bsm=1”.
  • W komendzie „ip link” dodano wsparcie dla konfiguracji urządzeń CAN przy użyciu interfejsu netlink („ip link set type can”).
  • W narzędziu find zaimplementowano opcję „-ok komenda” do uruchamiania polecenia z uprzednim zapytaniem użytkownika o potwierdzenie tej operacji.
  • Dodano kolejną porcję poprawek dla powłok ash i hush, mających na celu poprawę kompatybilności z innymi powłokami. Dodano wsparcie dla automatycznego uzupełniania nazw funkcji i aliasów klawiszem Tab. W hush dodano wbudowaną implementację polecenia „false”.
  • W awk zaimplementowano flagę „-E” do odczytu tekstu skryptu z pliku.
  • W narzędziu od zaimplementowano opcję «-B» (synonim «-t o2») do wyjścia w postaci ośmiobitowych wartości 2-bajtowych.
  • W narzędziu time w opcji «-f FMT» dozwolone jest eskalowanie znaków za pomocą sekwencji «\escape» i «%%».
  • W narzędziu top poprawiono wyświetlanie dużych identyfikatorów PID.
  • W readlink dodano obsługę separatora «—» oraz poprawiono zgodność ze standardem POSIX w odniesieniu do opcje «-n».
  • Do polecenia start-stop-daemo dodano opcje «-O/—output» (przekierowanie wyjścia) i «-d DIR» (zmiana katalogu domyślnego).
  • W ntpd zapewniono zgodność klienta i serwera NTP z czasem po 2038 roku.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster