Została wydana wersja pakietu BusyBox 1.34 z implementacją zestawu standardowych narzędzi UNIX, zapakowanych w jeden plik wykonywalny i zoptymalizowanych pod kątem minimalnego zużycia zasobów systemowych, przy rozmiarze zestawu mniejszym niż 1 MB. Pierwsza wersja nowej gałęzi 1.34 jest oznaczona jako niestabilna, pełna stabilizacja zostanie zapewniona w wersji 1.34.1, która jest spodziewana w ciągu około miesiąca. Kod projektu jest rozpowszechniany na licencji GPLv2.
Modularny charakter BusyBox pozwala na utworzenie jednego zjednoczonego pliku wykonywalnego, który zawiera dowolny zestaw narzędzi zaimplementowanych 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 odbywa się budowanie. Pakiet jest samowystarczalny, przy statycznym budowaniu z uclibc do utworzenia działającego systemu na rdzeniu Linux wystarczy utworzyć kilka plików urządzeń w katalogu /dev i przygotować pliki konfiguracyjne. W porównaniu z poprzednią wersją 1.33 zużycie pamięci operacyjnej typowej wersji BusyBox 1.34 wzrosło o 9620 bajtów (z 1032724 do 1042344 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 wersji BusyBox 1.34 wyróżniają się następujące zmiany:
- Dodano nowe narzędzie ascii z interaktywną tabelą nazw znaków ASCII.
- Dodano nowe narzędzie crc32 do obliczania sum kontrolnych.
- W wbudowanym serwerze http zaimplementowano obsługę metod DELETE, PUT i OPTIONS.
- W udhcpc dodano możliwość zmiany domyślnej nazwy interfejsu sieciowego.
- W implementacji protokołów TLS dodano wsparcie dla krzywych eliptycznych secp256r1 (P256).
- Kontynuowano rozwój powłok zespołowych ash i hush. W hush przetwarzanie polecenia ^D dostosowano do zachowania ash i bash, zrealizowano specyficzną konstrukcję dla bash $’str’, przeprowadzono optymalizację operacji zastąpienia ${var/pattern/repl}.
- Wprowadzono dużą ilość poprawek i usprawnień w realizacji narzędzia awk.
- Do narzędzi base32 i base64 dodano opcję „-i” do ignorowania niepoprawnych znaków.
- W narzędziach bc i dc przetwarzanie zmiennych środowiskowych BC_LINE_LENGTH i DC_LINE_LENGTH zbliżono do narzędzi GNU.
- Do narzędzia blockdev dodano opcje —getra i —setra.
- Do narzędzi chattr i lsattr dodano opcję „-p”. W lsattr rozszerzono liczbę wspieranych flag systemu plików ext2.
- Do narzędzia cp dodano opcje „-n” (zakaz nadpisywania) i „-t DIR” (określenie katalogu docelowego).
- W cpio nawiązało działanie konstrukcje „cpio -d -p A/B/C”.
- Do narzędzia df dodano opcję „-t TYPE” (ograniczenie wyjścia do określonego typu systemu plików).
- Do narzędzia du dodano opcję -b (odpowiednik ‘—apparent-size —block-size=1’).
- Do narzędzia env dodano opcję „-0” (zakończenie każdej linii znakiem zerowym).
- Do narzędzia free dodano opcję „-h” (wyjście w czytelnej formie).
- Do narzędzia ionice dodano opcję „-t” (ignorowanie błędów).
- W narzędziu login wprowadzono wsparcie dla zmiennej środowiskowej LOGIN_TIMEOUT.
- Do narzędzia mv dodano opcje „-t” (określenie katalogu docelowego dla przeniesienia) i „-T” (przetwarzanie drugiego argumentu jako pliku).
- Do narzędzia shred dodano opcję „-s SIZE” (liczba czyszczonych bajtów).
- Do narzędzia taskset dodano opcję „-a” (zastosowanie powiązania z CPU dla wszystkich wątków procesu).
- W narzędziach timeout, top, watch i ping wprowadzono wsparcie dla wartości niecałkowitych (NN.N).
- Do narzędzia uniq dodano opcję „-z” (użycie znaku zerowego jako separatora).
- Do narzędzia unzip dodano opcję „-t” (sprawdzenie archiwum).
- W edytorze vi zezwolono na używanie wyrażeń regularnych w poleceniu ‘:s’. Dodano parametr expandtab. Ulepszono realizację poruszania się między akapitami, wybierania zakresów oraz cofania zmian.
- W narzędziu xxd wprowadzono opcje -i (wyjście w stylu C) i „-o DISPLAYOFFSET”.
- W narzędziu wget zezwolono na przetwarzanie kodów HTTP 307/308 dla przekierowania. Dodano opcję FEATURE_WGET_FTP do włączania/wyłączania wsparcia FTP.
- W narzędziu dd dodano opcję „iflag=count_bytes”.
- W narzędziu cut wprowadzono zgodne z narzędziem toybox opcje „-O OUTSEP”, „-D” i „-F LIST”.
Źródło: opennet.ru
