Wersja 262 menedżera systemu i usług systemd jest już dostępna, wprowadzając znaczące udoskonalenia po trzech miesiącach prac rozwojowych. Wydanie to wyróżnia się optymalizacją architektury pod kątem lekkich środowisk zwirtualizowanych, ulepszeniem protokołów kryptograficznych powiązanych z modułami TPM (Trusted Platform Modules) oraz dodaniem kluczowych funkcjonalności do natywnych narzędzi, takich jak run0 i systemd-sysupdate.
Z myślą o kontenerach wymagających minimalnego obciążenia systemu, systemd oferuje teraz możliwość kompilacji pojedynczego pliku wykonywalnego ze statycznym linkowaniem. Ta kompilacja (włączana za pomocą Mesona z parametrami takimi jak `-Dsystemd-multicall-binary=true` ) została zaprojektowana tak, aby działać jako proces startowy (PID 1) w bardzo małych kontenerach, unikając używania wywołań `dlopen()` do ładowania bibliotek dynamicznych i polegając na uproszczonym wyszukiwaniu użytkowników i grup zamiast standardowego NSS.
Ponadto plik wykonywalny zawiera teraz wewnętrznie osadzony zestaw niezbędnych plików jednostkowych ( takich jak basic.target, sysinit.target, multi-user.target i reboot.target i inne). Te osadzone pliki służą jako rozwiązanie awaryjne w przypadku braku możliwości załadowania konfiguracji z dysku, umożliwiając uruchomienie kontenera bez jawnej instalacji plików jednostkowych.
Zarządzanie usługami i odzyskiwanie danych po awarii
Aby zminimalizować ryzyko zsynchronizowanych restartów w przypadku jednoczesnej awarii wielu usług, wprowadzono parametr `RestartRandomizedDelaySec` . Ta zasada dodaje losowe (równomiernie rozłożone) opóźnienie przed automatycznym restartem usługi, które jest dodawane do czasu skonfigurowanego w parametrze `RestartSec`. Dodatkowo, jednostki segmentowe zawierają parametr `ActivatingConcurrencyMax`, limit określający maksymalną liczbę jednostek, które mogą być aktywowane jednocześnie w hierarchii; wszelkie nadmiarowe aktywacje są umieszczane w kolejce do momentu, aż zwolnią się sloty pojemności.
W środowiskach wymagających ciągłej wysokiej dostępności (takich jak serwery krytyczne) zaimplementowano parametr LUOSession dla jednostek usługowych. Parametr ten instruuje systemd, aby tworzył sesje Live Update Orchestrator, umożliwiając szybkie aktualizacje jądra systemu bez przerywania działania usług i zachowując stan procesów i urządzeń.
TPM2, fscrypt i bezpieczeństwo pamięci masowej
Inne nowe funkcje w tej wersji obejmują bezpośrednie powiązanie zapieczętowanych danych uwierzytelniających w module TPM z kluczem głównym (SRK), co zapobiega atakom typu „man-in-the-middle” (MitM) przeprowadzanym przez komponenty pośredniczące próbujące przechwycić odszyfrowane dane. Rejestracja danych uwierzytelniających PIN modułu TPM2 za pośrednictwem systemd-cryptenroll domyślnie korzysta z algorytmu Argon2id, generując znacznie solidniejszy klucz niż w starszej implementacji (direct/PBKDF2).
Na poziomie pamięci masowej użytkownika systemd-homed zmienił swoje zachowanie w przypadku katalogów zaszyfrowanych za pomocą systemu plików fscrypt: nowe katalogi będą domyślnie zgodne z zasadami wersji 2 (fscrypt v2), co umożliwi przechowywanie klucza głównego w pęku kluczy systemu plików i jego widoczność w różnych przestrzeniach nazw montowań. Katalogi fscrypt v1 zachowają funkcjonalność, chociaż nie będą miały ścieżki aktualizacji do wersji 2.
Dodatkowo w module jądra dm-clone uwzględniono natywną obsługę rozruchu , która umożliwia generowanie modyfikowalnych klonów z urządzeń blokowych tylko do odczytu, przetwarzanych przez systemd-clonesetup-generator poprzez odczyt z /etc/clonetab.
Ulepszenia atomowe i zmiany środowiskowe
Pakiet systemd-sysupdate, zaprojektowany do aktualizacji systemu poprzez atomową zamianę partycji i katalogów, utrzymuje teraz trwałą bazę danych zainstalowanych plików. Dodano polecenie cleanup, które usuwa zbędne pliki , a także wprowadzono koncepcję „sugerowanych komponentów”. Komponenty te mogą być dynamicznie oceniane na podstawie architektury komputera lub znaczników MachineTags, co automatyzuje instalację sterowników.
Inne istotne zmiany w wersji 262 obejmują:
- systemd-vmspawn: Dodaje obsługę uruchamiania poufnych maszyn wirtualnych w ramach architektury Intel TDX (–coco=tdx), dołączając do AMD SEV-SNP.
- OpenSSL i rejestracja: System niezmienności rekordów (Forward Secure Sealing, FSS) jest migrowany z biblioteki libgcrypt do natywnych funkcji kryptograficznych OpenSSL. Dodawane jest również wstępne wsparcie kompilacji dla OpenSSL 4.
- Terminal i użyteczność: Narzędzie eskalacji uprawnień run0 dodaje opcje zgodne z sudo, takie jak -k, -K i -v, które resetują lub sprawdzają limit czasu autoryzacji Polkit. vconsole umożliwia ustawienie rozmiaru czcionki na 100% lub 200% za pomocą FONT_SCALE, a w monitach o hasło dla tokenów FIDO2 będą teraz wyświetlane pozostałe próby podania kodu PIN.
- systemd-sysctl: Teraz zawiera flagę –verify, która pozwala sprawdzić poprzez ponowne odczytanie, czy wartość zapisana w systemie została faktycznie zastosowana.
Jeśli chcesz dowiedzieć się więcej, szczegóły znajdziesz pod poniższym linkiem.