Wydanie minimalistycznego zestawu narzędzi systemowych BusyBox 1.32

Przesłane przez wydanie pakietu BusyBox 1.32 z implementacją zestawu standardowych narzędzi UNIX, zaprojektowanych jako pojedynczy plik wykonywalny i zoptymalizowany pod kątem minimalnego zużycia zasobów systemowych przy ustawionym rozmiarze mniejszym niż 1 MB. Pierwsze wydanie nowej gałęzi 1.32 jest pozycjonowane jako niestabilne, pełna stabilizacja zostanie zapewniona w wersji 1.32.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.31, zużycie pamięci RAM typowego zestawu BusyBox 1.32 wzrosło o 3590 bajtów (z 1011750 do 1015340 bajtów).

BusyBox to główne narzędzie w walce z naruszeniami GPL w oprogramowaniu sprzętowym. Software Freedom Conservancy (SFC) i Software Freedom Law Center (SFLC) w imieniu programistów BusyBox, obie za pośrednictwem sąd, i w ten sposób wnioski umowy pozasądowe wielokrotnie skutecznie wpływały na firmy, które nie udostępniają kodu źródłowego programów GPL. Jednocześnie autor BusyBoxa robi co może przedmioty przeciwko takiej ochronie – wierząc, że rujnuje to jego interesy.

W BusyBox 1.32 wyróżniono następujące zmiany:

  • Dodano nowe polecenie mnie aby uruchomić pomijanie z danego pliku Mim (co przypomina uproszczone narzędzie make);
  • Narzędzie find dodało opcję „-empty”, aby sprawdzić, czy nie ma pustych plików;
  • W narzędziu wget rozszerzono limit liczby przekierowań i zaimplementowano obsługę sprawdzania certyfikatów TLS za pomocą ENABLE_FEATURE_WGET_OPENSSL;
  • Dodano poprawną obsługę listy wzorców (lista_wzorców) do grep oraz dodano opcję „-R” (rekurencyjne przetwarzanie zawartości katalogów);
  • Rozwiązano problemy, które wystąpiły podczas budowania w Clang 9 i wyeliminowano ostrzeżenia kompilatora;
  • Zaproponowano dużą liczbę poprawek dla powłok poleceń Ash i Hush, mających na celu poprawę kompatybilności z innymi powłokami. Do funkcji Ash i Hush dodano możliwość automatycznego uzupełniania wbudowanych poleceń za pomocą zakładek. Nowe wbudowane polecenia zostały ustabilizowane w popiele.
  • Narzędzie fdisk obsługuje teraz partycje HFS i HFS+;
  • init poprawił obsługę warunków wyścigu po odebraniu sygnałów;
  • Do narzędzia do wizualnego monitorowania parametrów systemu nmetr dodany format wyjściowy „%NT” (czas wyrównany do zer);
  • Do zestawu zadań dodano możliwość przetwarzania i wyświetlania listy procesorów (opcja „-c”);
  • W tar zmieniono zachowanie opcji "-a", która zamiast włączać kompresję "lzma", jest teraz powiązana z autodetekcją po rozszerzeniu pliku;
  • Udhcpc6 dodał obsługę „bezpaństwowiec» dla DHCPv6 (serwer wysyła tylko parametry sieciowe, bez przypisywania adresu);
  • nslookup obsługuje teraz przetwarzanie odpowiedzi bez rekordów RR i dodaje obsługę rekordów SRV;
  • Do brctl dodano nowe polecenia „showmacs” i „showstp”;
  • Dodano obsługę parametru „serwer przekaźnikowy” do dhcpc;
  • Dodano ustawienie do syslogd, aby wyświetlać czas z dokładnością do milisekund;
  • W httpd, podczas pracy w trybie NOMMU, dozwolone jest ustawienie innego katalogu domowego, a opcja „-h” działa podczas uruchamiania procesu w tle;
  • xargs poprawiono obsługę argumentów ujętych w cudzysłów i zapewniło poprawne zachowanie opcji „-n”;
  • Naprawiono błędy w narzędziach grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, Route.

Również w zeszłym miesiącu odbyła się wydanie Pudełko na zabawki 0.8.3, odpowiednik BusyBox, opracowany przez byłego opiekuna BusyBox i Rozpowszechniane na licencji BSD. Głównym celem Toybox jest zapewnienie producentom możliwości korzystania z minimalistycznego zestawu standardowych narzędzi bez konieczności otwierania kodu źródłowego modyfikowanych komponentów. Według dotychczasowych możliwości Toybox pozostawać w tyle z BusyBox, ale zaimplementowano już 272 podstawowe polecenia (204 całkowicie i 68 częściowo) z 343 zaplanowanych.

Wśród innowacji Toybox 0.8.3 możemy zauważyć:

  • Dodano nowe polecenia rtcwake, blkdiscard, getopt i readelf;
  • „make root” zapewnia możliwość stworzenia działającego środowiska startowego opartego wyłącznie na jądrze Linuksa i narzędziach Toybox, które można załadować za pomocą własnego skryptu inicjującego;
  • Dodano wstępną obsługę modułów z oddzielnymi implementacjami narzędzi, które nie są zawarte w głównym ToyBoxie;
  • Interpreter poleceń toysh jest gotowy w 80% (nie ma jeszcze obsługi funkcji, historii, zarządzania terminalami, zadań, $((math)), szablonów);
  • Dodano obsługę dodatkowych opcji do różnych narzędzi, w tym patch, cal, cp, mv, lsattr, chattr, ls, id, netcat i setsid.

Źródło: opennet.ru

Dodaj komentarz