wydanie pakietu z implementacją zestawu standardowych narzędzi UNIX, przedstawionych jako pojedynczy plik wykonywalny i zoptymalizowanych pod kątem minimalnego zużycia zasobów systemowych przy rozmiarze pakietu mniejszym niż 1 MB. Pierwsza wersja nowej gałęzi 1.32 jest określana jako niestabilna, pełna stabilizacja będzie zapewniona w wersji 1.32.1, która jest spodziewana za około miesiąc. Kod projektu jest dystrybuowany na licencji GPLv2.
Modularny charakter BusyBox pozwala na utworzenie jednego zunifikowanego pliku wykonywalnego, zawierającego dowolny zestaw narzędzi wdrożonych w pakiecie (każde narzędzie dostępne jest w formie dowiązania symbolicznego 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 tworzony jest zestaw. Pakiet jest samowystarczalny, przy statycznej kompilacji z uclibc do stworzenia działającego systemu na jądra Linux wystarczy stworzyć kilka plików urządzeń w katalogu /dev i przygotować pliki konfiguracyjne. W porównaniu do poprzedniej wersji 1.31 zużycie pamięci RAM typowej kompilacji BusyBox 1.32 wzrosło o 3590 bajtów (z 1011750 do 1015340 bajtów).
BusyBox jest głównym narzędziem w walce z naruszeniem GPL w oprogramowaniu wbudowanym. Organizacje Software Freedom Conservancy (SFC) i Software Freedom Law Center (SFLC) w imieniu deweloperów BusyBox coraz częściej oddziałują na firmy, które nie udostępniają kodu źródłowego programów GPL. , a także poprzez poza sądem umów, wielokrotnie udawało się skutecznie wpłynąć na firmy, które nie zapewniają dostępu do kodu źródłowego programów GPL. Jednocześnie autor BusyBox bezwzględnie takiej ochronie, uważając, że łamie mu to biznes.
W wersji BusyBox 1.32 wyróżniają się następujące zmiany:
- Dodano nowe polecenie do uruchamiania skryptów z określonego pliku Mimfile (przypomina to okrojoną wersję narzędzia make);
- W narzędziu find dodano opcję „-empty” do sprawdzania pustych plików;
- W narzędziu wget rozszerzono limit na liczbę przekierowań oraz wprowadzono wsparcie dla weryfikacji certyfikatów TLS w przypadku błędu przy ENABLE_FEATURE_WGET_OPENSSL;
- W grep dodano poprawną obsługę listy wzorów (pattern_list) oraz dodano opcję „-R” (rekursywne przetwarzanie zawartości katalogu);
- Rozwiązano problemy pojawiające się podczas kompilacji w Clang 9 oraz usunięto ostrzeżenia kompilatora;
- Zaproponowano dużą porcję poprawek w powłokach ash i hush, mających na celu poprawę zgodności z innymi powłokami. W ash i hush dodano możliwość autouzupełniania wbudowanych komend za pomocą klawisza Tab. W ash ustabilizowano nowe wbudowane komendy.
- W narzędziu fdisk dodano wsparcie dla partycji HFS i HFS+.
- W init poprawiono obsługę stanu wyścigu przy odbieraniu sygnałów.
- Do narzędzia wizualizacji monitorowania parametrów systemu dodano format wyjścia „%NT” (wyrównany czas z zerami).
- W taskset dodano możliwość przetwarzania i wyświetlania listy CPU (opcja „-c”).
- W tar zmieniono zachowanie opcji „-a”, która zamiast włączenia kompresji „lzma” teraz wiąże się z automatycznym rozpoznawaniem na podstawie rozszerzenia pliku.
- W udhcpc6 dodano wsparcie dla trybu „” dla DHCPv6 (serwer zwraca tylko parametry sieci, bez przydzielania adresu).
- W nslookup zapewniono obsługę odpowiedzi bez rekordów RR oraz dodano wsparcie dla rekordów SRV.
- W brctl dodano nowe komendy „showmacs” i „showstp”.
- W dhcpc dodano wsparcie dla parametru „relay server”.
- W syslogd dodano ustawienie do wyświetlania czasu z dokładnością do milisekund.
- W httpd, podczas pracy w trybie NOMMU, zezwolono na ustawienie innego katalogu domowego oraz zapewniono działanie opcji „-h” przy uruchamianiu procesu w tle.
- W xargs naprawiono obsługę argumentów otoczonych cudzysłowami oraz zapewniono poprawne działanie opcji „-n.”
- Poprawiono niedociągnięcia w narzędziach grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route.
Ponadto, w zeszłym miesiącu wydanie , będący odpowiednikiem BusyBox, rozwijany przez byłego maintenara BusyBox i na licencji BSD. Głównym celem Toybox jest umożliwienie producentom korzystania z minimalistycznego zestawu standardowych narzędzi bez ujawniania kodu źródłowego zmodyfikowanych komponentów. Jak na razie możliwości Toybox BusyBox, ale już zrealizowano 272 podstawowe komendy (204 w pełni i 68 częściowo) z 343 planowanych.
Z nowości Toybox 0.8.3 można wyróżnić:
- Dodano nowe komendy rtcwake, blkdiscard, getopt i readelf.
- W „make root” możliwe jest stworzenie środowiska rozruchowego wyłącznie na podstawie jądra Linux i narzędzi Toybox, które może być załadowane za pomocą własnego skryptu init.
- Dodano wstępne wsparcie dla modułów z oddzielnymi implementacjami narzędzi, które nie są częścią głównego zestawu ToyBox;
- Interpreter poleceń toysh jest gotowy w 80% (brakuje wspólnej obsługi funkcji, historii, zarządzania terminalem, zadań jobs, $((math)), szablonów);
- Dodano obsługę dodatkowych opcji w różnych narzędziach, w tym patch, cal, cp, mv, lsattr, chattr, ls, id, netcat i setsid.
Źródło: opennet.ru
