wydanie pakietu z realizacją zestawu standardowych narzędzi UNIX w postaci pojedynczego pliku wykonywalnego, zoptymalizowanego pod kątem minimalnego zużycia zasobów systemowych przy rozmiarze pakietu poniżej 1 MB. Pierwsza wersja nowej gałęzi 1.31 jest klasyfikowana jako niestabilna, a pełna stabilizacja zostanie zapewniona w wersji 1.31.1, która spodziewana jest za około miesiąc. Kod projektu jest rozpowszechniany na licencji GPLv2.
Modularna natura BusyBox pozwala na utworzenie jednego zunifikowanego pliku wykonywalnego, zawierającego dowolny zestaw zrealizowanych w pakiecie narzędzi (każde narzędzie jest dostępne w formie symbolicznego linku do tego pliku). Rozmiar, skład i funkcjonalność kolekcji narzędzi mogą być dostosowywane w zależności od potrzeb i możliwości platformy osadzonej, dla której jest realizowane kompilowanie. Pakiet jest samowystarczalny, a do utworzenia działającego systemu na jądrze Linux przy statycznym kompilowaniu z uclibc wystarczy stworzyć kilka plików urządzeń w katalogu /dev i przygotować pliki konfiguracyjne. W porównaniu do poprzedniej wersji 1.30, zużycie pamięci operacyjnej typową kompilacją BusyBox 1.31 zmniejszyło się o 86 bajtów (z 1008478 do 1008392 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.31 wyróżniają się następujące zmiany:
- Dodano nowe komendy: ts (implementacja klienta i serwera dla protokołu TSP (Time-Stamp Protocol)) oraz i2ctransfer (tworzenie i wysyłanie wiadomości I2C);
- W udhcp dodano obsługę opcji DHCP (informacje o strefie czasowej) oraz 101 (nazwa strefy czasowej w bazie danych TZ) dla IPv6;
- W udhcpd dodano wsparcie dla statycznych przypisań nazw hostów do klientów;
- W powłokach ash i hush wdrożono numeryczne literały «BASE#nnnn». Wprowadzono zgodność z powłoką bash, w tym dodano opcje «-i RLIMIT_SIGPENDING» i «-q RLIMIT_MSGQUEUE». Dodano wsparcie dla «wait -n». Dodano zmienne EPOCH zgodne z bash;
- W powłoce hush wdrożono zmienną «$-«, w której wymienione są domyślnie aktywowane opcje powłoki;
- W bc przeniesiono kod z upstreamu do przekazywania wartości przez referencję, dodano wsparcie dla funkcji void oraz możliwość pracy z wartościami ibase do 36;
- W brctl wszystkie komendy przestawiono na pracę z użyciem pseudo-DFS /sys;
- Zintegrowano kod narzędzi fsync i sync;
- Ulepszona implementacja httpd. Poprawiono obsługę nagłówków HTTP i działanie w trybie proxy. Lista typów MIME została rozszerzona o SVG i JavaScript;
- Do losetup dodano opcję „-c” (wymuszone ponowne sprawdzenie rozmiaru pliku powiązanego z urządzeniem loop), oraz opcję skanowania partycji. W mount i losetup zapewniono obsługę pracy z wykorzystaniem /dev/loop-control;
- W ntpd wartość SLEW_THRESHOLD zwiększono z 0,125 do 0,5;
- W sysctl dodano wsparcie dla przypisywania pustych wartości;
- W watch dodano wsparcie dla wartości ułamkowych w opcji „-n SEC”;
- Dodano możliwość uruchamiania mdev jako procesu w tle;
- W narzędziu wget wdrożono flagę „-o” do określania pliku do zapisu logu. Dodano powiadomienia o rozpoczęciu i zakończeniu pobierania;
- W telnetd dodano wsparcie dla komendy AYT IAC;
- W vi dodano komendę ‘dG’ (usunięcie zawartości od bieżącej linii do końca pliku);
- Do polecenia dd dodano opcję ‘oflag=append’;
- W narzędziu top dodano flagę ‘-H’ do włączenia trybu skanowania pojedynczych wątków.
Ponadto, dwa tygodnie temu 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 od BusyBox, ale już zaimplementowano 188 podstawowych komend z 220 planowanych.
Wśród nowości Toybox 0.8.1 można zauważyć:
- Osiągnięto poziom funkcjonalności wystarczający do budowy Androida w środowisku opartym na narzędziach Toybox.
- W zestawie znalazły się nowe polecenia mcookie i devmem, z testowej gałęzi przeniesiono przepisane polecenia tar, gunzip i zcat.
- Dla testów zaproponowano nową implementację vi.
- W poleceniu find dodano wsparcie dla opcji „-wholename/-iwholename”,
„-printf” i „-context”; - W grep dodano opcję „—exclude-dir”;
- W echo dodano wsparcie dla opcji „-E”.
- W mount dodano wsparcie dla „UUID”.
- W poleceniu date dodano uwzględnienie strefy czasowej zdefiniowanej w zmiennej środowiskowej TZ.
- W sed dodano wsparcie dla względnych zakresów (+N).
- Poprawiono czytelność wyjścia ps, top i iotop.
Źródło: opennet.ru
