Wydanie minimalistycznego zestawu narzędzi systemowych BusyBox 1.34

Wydanie pakietu BusyBox 1.34 jest prezentowane z implementacją zestawu standardowych narzędzi UNIX, zaprojektowanych jako pojedynczy plik wykonywalny i zoptymalizowanych pod kątem minimalnego zużycia zasobów systemowych przy ustawionym rozmiarze mniejszym niż 1 MB. Pierwsze wydanie nowej gałęzi 1.34 pozycjonowane jest jako niestabilne, pełna stabilizacja zostanie zapewniona w wersji 1.34.1, która spodziewana jest za około miesiąc. Kod projektu jest rozpowszechniany na licencji GPLv2.

Modułowa natura BusyBox umożliwia utworzenie jednego, ujednoliconego pliku wykonywalnego zawierającego dowolny zestaw narzędzi zaimplementowanych w pakiecie (każde narzędzie dostępne jest w formie symbolicznego dowiązania do tego pliku). Wielkość, skład i funkcjonalność zbioru narzędzi można zmieniać w zależności od potrzeb i możliwości platformy wbudowanej, dla której realizowany jest montaż. Pakiet jest samowystarczalny; po zbudowaniu statycznym za pomocą uclibc, aby stworzyć działający system na jądrze Linuksa, wystarczy utworzyć kilka plików urządzeń w katalogu /dev i przygotować pliki konfiguracyjne. W porównaniu do poprzedniej wersji 1.33, zużycie pamięci RAM typowego zestawu BusyBox 1.34 wzrosło o 9620 bajtów (z 1032724 do 1042344 bajtów).

BusyBox to główne narzędzie w walce z naruszeniami GPL w oprogramowaniu sprzętowym. Organizacje Software Freedom Conservancy (SFC) i Software Freedom Law Center (SFLC) w imieniu twórców BusyBox wielokrotnie skutecznie wywierały wpływ na firmy, które nie zapewniają dostępu do kodu źródłowego programów GPL, zarówno na drodze sądowej, jak i zewnętrznej. -umowy sądowe. Jednocześnie autor BusyBox stanowczo sprzeciwia się takiej ochronie – uważając, że rujnuje to jego biznes.

W BusyBox 1.34 wyróżniono 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.
  • Wbudowany serwer http obsługuje metody DELETE, PUT i OPTIONS.
  • Udhcpc umożliwia zmianę domyślnej nazwy interfejsu sieciowego.
  • Implementacja protokołów TLS obsługuje teraz krzywe eliptyczne secp256r1 (P256)
  • Kontynuowano rozwój powłok dowodzenia Ash i Hush. W ciszy, obsługa polecenia ^D została dostosowana do zachowania ash i bash, zaimplementowano specyficzną dla bash konstrukcję $'str' i zaimplementowano operacje zamiany ${var/pattern/repl} zoptymalizowany.
  • W implementacji narzędzia awk wprowadzono dużą część poprawek i ulepszeń.
  • Do narzędzi base32 i base64 dodano opcję „-i”, aby ignorować nieprawidłowe znaki.
  • W narzędziach bc i dc obsługa zmiennych środowiskowych BC_LINE_LENGTH i DC_LINE_LENGTH jest zbliżona do narzędzi GNU.
  • Dodano opcje --getra i --setra do narzędzia blockdev.
  • Do narzędzi chattr i lsattr dodano opcję „-p”. lsattr rozszerzył liczbę obsługiwanych flag FS ext2.
  • Do narzędzia cp dodano opcje „-n” (wyłącz nadpisywanie) i „-t DIR” (określ katalog docelowy).
  • W cpio dostosowano konstrukcję „cpio -d -p A/B/C”.
  • Do narzędzia df dodano opcję „-t TYP” (ograniczającą dane wyjściowe do określonego typu pliku).
  • Dodano opcję -b do narzędzia du (odpowiednik „—pozorny-rozmiar —rozmiar-bloku=1”).
  • Do narzędzia env dodano opcję „-0” (zakończenie każdej linii znakiem o kodzie zero).
  • Do bezpłatnego narzędzia dodano opcję „-h” (czytelne wyjście).
  • Dodano opcję „-t” (ignoruj ​​awarie) do narzędzia ionice.
  • Narzędzie logowania obsługuje teraz zmienną środowiskową LOGIN_TIMEOUT.
  • Do narzędzia mv dodano opcje „-t” (określ katalog docelowy do przeniesienia) i „-T” (traktuj drugi argument jako plik).
  • Do narzędzia shred dodano opcję „-s ROZMIAR” (liczba bajtów do usunięcia).
  • Do narzędzia zestawu zadań dodano opcję „-a” (zastosuj koligację procesora dla wszystkich wątków procesów).
  • Narzędzia timeout, top, watch i ping obsługują teraz wartości niecałkowite (NN.N).
  • Do narzędzia uniq dodano opcję „-z” (użyj znaku zerowego jako separatora).
  • Do narzędzia unzip dodano opcję „-t” (sprawdzanie archiwum).
  • Edytor vi umożliwia użycie wyrażeń regularnych w poleceniu „:s”. Dodano opcję rozwijania karty. Ulepszone implementacje poruszania się między akapitami, wybierania zakresów i cofania zmian.
  • Narzędzie xxd implementuje opcje -i (wyjście w stylu C) i -o DISPLAYOFFSET.
  • Narzędzie wget umożliwia przetwarzanie kodów HTTP 307/308 dla przekierowań. Dodano opcję FEATURE_WGET_FTP umożliwiającą włączenie/wyłączenie obsługi FTP.
  • Do narzędzia dd dodano opcję „iflag=count_bytes”.
  • Narzędzie wycinania implementuje opcje kompatybilne z zabawkami „-O OUTSEP”, „-D” i „-F LIST”.

Źródło: opennet.ru

Dodaj komentarz