Wydanie systemowego menedżera systemd 251

Po pięciu miesiącach prac rozwojowych zaprezentowano wydanie menedżera systemowego systemd 251.

Główne zmiany:

  • Wymagania systemowe zostały podwyższone. Minimalna wspierana wersja jądra Linux została zwiększona z 3.13 do 4.15. Do pracy wymagany jest timer CLOCK_BOOTTIME. Do kompilacji potrzebny jest kompilator z obsługą standardu C11 i rozszerzeń GNU (dla nagłówków nadal używany jest standard C89).
  • Dodano eksperymentalne narzędzie systemd-sysupdate do automatycznego wykrywania, pobierania i instalowania aktualizacji za pomocą atomowego mechanizmu wymiany sekcji, plików lub katalogów (używane są dwie niezależne sekcje/pliki/katalogi, w jednym z nich znajduje się aktualnie działający zasób, a na drugim instalowana jest kolejna aktualizacja, po czym sekcje/pliki/katalogi są zamieniane miejscami).
  • Wprowadzono nową wewnętrzną współdzieloną bibliotekę libsystemd-core-.so, która jest instalowana w katalogu /usr/lib/systemd/system i odpowiada istniejącej bibliotece libsystemd-shared-.so. Użycie współdzielonej biblioteki libsystemd-core-.so umożliwia zmniejszenie całkowitego rozmiaru instalacji poprzez ponowne wykorzystanie kodu binarnego. Numer wersji można określić za pomocą parametru ‘shared-lib-tag’ w systemie budowania meson, co pozwala dystrybucjom na równoczesne dostarczanie wielu wersji tych bibliotek.
  • Zrealizowano przekazywanie do handlerów OnFailure/OnSuccess zmiennych środowiskowych $MONITOR_SERVICE_RESULT, $MONITOR_EXIT_CODE, $MONITOR_EXIT_STATUS, $MONITOR_INVOCATION_ID oraz $MONITOR_UNIT z informacjami o śledzonym jednostce.
  • Dla jednostek wprowadzono konfigurację ExtensionDirectories, którą można wykorzystać do organizacji ładowania komponentów rozszerzenia systemu (System Extension) z normalnych katalogów, a nie obrazów dysków. Zawartość katalogu rozszerzenia systemu nakłada się za pomocą OverlayFS i jest stosowana do rozszerzenia hierarchii katalogów /usr/ oraz /opt/, oraz dodawania dodatkowych plików w czasie działania, nawet jeśli wskazane katalogi są zamontowane w trybie tylko do odczytu. Do polecenia ‘portablectl attach —extension=’ dodano również wsparcie dla wskazywania katalogu.
  • Dla jednostek, które zostały wymuszone do zakończenia przez handler systemd-oomd z powodu braku pamięci w systemie, zapewniono przekazywanie flagi ‘oom-kill’ oraz odzwierciedlenie w atrybucie ‘user.oomd_ooms’ liczby wymuszonych zakończeń.
  • Dla jednostek dodano nowe specyfikatory ścieżek %y/%Y, odzwierciedlające znormalizowaną ścieżkę do jednostki (z rozwinięciem linków symbolicznych). Dodano również specyfikatory %q do podstawienia wartości PRETTY_HOSTNAME oraz %d do podstawienia CREDENTIALS_DIRECTORY.
  • W usługach nieuprzywilejowanych, uruchamianych przez zwykłego użytkownika z użyciem flagi „—user”, zezwolono na zmianę ustawień RootDirectory, MountAPIVFS, ExtensionDirectories, *Capabilities*, ProtectHome, *Directory, TemporaryFileSystem, PrivateTmp, PrivateDevices, PrivateNetwork, NetworkNamespacePath, PrivateIPC, IPCNamespacePath, PrivateUsers, ProtectClock, ProtectKernelTunables, ProtectKernelModules, ProtectKernelLogs oraz MountFlags. Możliwość ta jest dostępna tylko przy włączonym w systemie przestrzeni nazw identyfikatorów użytkownika (user namespaces).
  • W konfiguracji LoadCredential zezwolono na podanie nazwy katalogu jako argumentu, w takim przypadku podejmowana jest próba załadowania poświadczeń ze wszystkich plików w podanym katalogu.
  • W systemctl w parametrze „—timestamp” pojawiła się możliwość wskazania flagi „unix” w celu wyświetlenia czasu w formacie epokowym (liczba sekund od 1 stycznia 1970 roku).
  • W „systemctl status” wprowadzono flagę „old-kernel”, wyświetlaną, jeśli załadowane w sesji jądro ma starszy numer wersji niż dostępne w systemie podstawowe jądro. Dodano również flagę „unmerged-usr” w celu określenia, że zawartość katalogów /bin/ oraz /sbin/ nie została utworzona przez linki symboliczne do /usr.
  • Dla procesów uruchamianych przez PID 1 dostarczono nowe zmienne środowiskowe $SYSTEMD_SCOPE (uruchamiane z usługi systemowej lub użytkownika), $SYSTEMD_IN_INITRD (uruchamiane z initrd lub środowiska gospodarza), $SYSTEMD_FIRST_BOOT (wskaźnik pierwszego uruchomienia), $SYSTEMD_VIRTUALIZATION (przypadek wirtualizacji lub uruchamiania w kontenerze) oraz $SYSTEMD_ARCHITECTURE (architektura, dla której skompilowane jest jądro).
  • W obsłudze PID 1 wprowadzono możliwość ładowania parametrów systemowych z interfejsu QEMU fw_cfg lub przez podanie w wierszu poleceń jądra parametru systemd.set_credential. W dyrektywie LoadCredential umożliwiono automatyczne wyszukiwanie poświadczeń w katalogach /etc/credstore/, /run/credstore/ oraz /usr/lib/credstore/, jeśli jako argument podano względną ścieżkę. Podobne zachowanie zastosowano w dyrektywie LoadCredentialEncrypted, w której dodatkowo sprawdzane są katalogi /etc/credstore.encrypted/, /run/credstore.encrypted/ oraz /usr/lib/credstore.encrypted/.
  • W systemd-journald stabilizowano możliwość eksportu w formacie JSON. W poleceniach „journalctl —list-boots” i „bootctl list” dodano wsparcie dla wyjścia w formacie JSON (flaga „—json”).
  • W udev dodano nowe pliki z bazami danych hwdb, zawierające informacje o urządzeniach przenośnych (PDA, kalkulatory itd.) oraz urządzeniach używanych do tworzenia dźwięku i wideo (miksery DJ-skie, kontrolery).
  • W udevadm dodano nowe opcje „—prioritized-subsystem” do określenia priorytetu systemów (używane w systemd-udev-trigger.service do przetwarzania najpierw urządzeń blokowych i TPM), „—type=all”, „—initialized-match” oraz „—initialized-nomatch” do wyboru urządzeń zainicjowanych lub niezainicjowanych, „udevadm info —tree” do wyświetlania drzewa obiektów w hierarchii /sys/. W udevadm dodano również nowe polecenia „wait” i „lock” do oczekiwania na pojawienie się w bazie danych rekordu o urządzeniu oraz blokowania urządzenia blokowego podczas formatowania lub zapisywania tabeli partycji.
  • Dodano nowy zestaw symbolicznych linków do urządzeń /dev/disk/by-diskseq/ do identyfikacji urządzeń blokowych według numeru porządkowego („diskseq”).
  • Do plików .link w sekcji [Match] dodano wsparcie dla parametru „Firmware” do dopasowania urządzenia według ciągu opisu oprogramowania.
  • W systemd-networkd dla tras unicast, konfigurowanych za pomocą sekcji [Route], wartość scope domyślnie zmieniono na „link”, aby odpowiadała zachowaniu polecenia „ip route”. Do sekcji [Bridge] dodano parametr Isolated=true|false do konfiguracji tego samego atrybutu mostków sieciowych w jądrze. W sekcji [Tunnel] dodano parametr External do ustalania tunelu typu external (tryb zbierania metadanych). W sekcji [DHCPServer] dodano parametry BootServerName, BootServerAddress i BootFilename do konfiguracji adresu serwera, nazwy serwera i nazwy pliku uruchamiającego, wysyłanych. serwerem DHCP podczas uruchamiania w trybie PXE. W sekcji [Network] usunięto parametr L2TP, zamiast którego w plikach .netdev można używać nowej konfiguracji Local powiązanej z interfejsem L2TP.
  • Dodano nowy unit „systemd-networkd-wait-online@.service”, który można używać do oczekiwania na podniesienie określonego interfejsu sieciowego.
  • Zrealizowano możliwość używania plików .netdev do tworzenia wirtualnych urządzeń WLAN, dla których zaproponowano sekcję [WLAN].
  • W plikach .link/.network w sekcji [Match] wprowadzono parametr Kind do dopasowania według typu urządzenia („bond”, „bridge”, „gre”, „tun”, „veth”).
  • Umożliwiono uruchomienie systemd-resolved na wcześniejszym etapie ładowania, w tym uruchomienie z initrd w przypadku obecności systemd-resolved w obrazie initrd.
  • W systemd-cryptenroll dodano opcję —fido2-credential-algorithm do wyboru algorytmu szyfrowania danych uwierzytelniających oraz opcję —tpm2-with-pin do zarządzania wprowadzeniem kodu PIN podczas odblokowywania partycji z użyciem TPM. W /etc/crypttab dodano odpowiednią opcję tpm2-pin. Podczas odblokowywania urządzeń przez TPM zapewniono szyfrowanie parametrów w celu ochrony przed przechwytywaniem kluczy szyfrowania.
  • W systemd-timesyncd dodano interfejs API D-Bus do dynamicznego uzyskiwania informacji z serwera NTP przez IPC.
  • Aby określić potrzebę kolorowego wyjścia we wszystkich poleceniach, wprowadzono sprawdzenie zmiennej środowiskowej COLORTERM oprócz wcześniej sprawdzanych NO_COLOR, SYSTEMD_COLORS i TERM.
  • W systemie budowy Meson wprowadzono opcję install_tag do selektywnej budowy i instalacji potrzebnych komponentów: pam, nss, devel (pkg-config), systemd-boot, libsystemd, libudev. Dodano opcję budowy default-compression do wyboru algorytmu kompresji dla systemd-journald i systemd-coredump.
  • W sd-boot w loader.conf dodano eksperymentalne ustawienie „reboot-for-bitlocker” do uruchamiania systemu Microsoft Windows z BitLocker TPM.

Ź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