Wydanie minimalistycznego zestawu narzędzi systemowych BusyBox 1.34

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

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