Dostępny menedżer systemu systemd 258

Po dziewięciu miesiącach prac rozwojowych przedstawiono wydanie menedżera systemowego systemd 258. Kluczowe zmiany: zakończenie wsparcia dla cgroups v1 i komponentów zarządzania systemem w stylu System V, nowe narzędzia systemd-factory-reset i systemd-pty-forward, koncepcja stref domowych, wsparcie dla ładowania z obrazu dysku uzyskanego przez HTTP.

Wśród zmian w nowej wersji:

  • Dodano narzędzie systemd-factory-reset do inicjowania lub anulowania resetu ustawień do stanu fabrycznego (factory reset) przy następnym uruchomieniu. Dodano jednostkę factory-reset-now.target do natychmiastowego resetu. Aby zresetować podczas uruchamiania, dodano parametr wiersza poleceń jądra „systemd.factory_reset”.
  • Dodano koncepcję stref domowych (home area), która pozwala na definiowanie podkatalogów w głównym katalogu domowym ($HOME), do których użytkownik może oddzielnie wchodzić w różnych przestrzeniach roboczych. Na przykład, dla jednego użytkownika można stworzyć oddzielne strefy do testowania ustawień i do rozwoju (~ /Areas/foo i ~ /Areas/bar). Aby połączyć się z dodatkową strefą przy logowaniu, należy w nazwie logowania wskazać nazwę strefy, oddzielając ją symbolem „%” („username%foo”) lub użyć narzędzia run0 z opcją „—area”. Wsparcie dla stref domowych jest na razie zrealizowane tylko w systemd-homed i nie jest dostępne dla pełnych sesji graficznych.
  • Do parametrów wiersza poleceń jądra „systemd.pull” i „rd.systemd.pull”, stosowanych do automatycznego ładowania maszyn wirtualnych, kontenerów lub obrazów rozszerzeń (sysext, confext), dodano flagę „blockdev”. Wskazanie tej flagi powoduje, że załadowany obraz jest przymocowywany do urządzenia loopback, co umożliwia bezpośrednie ładowanie z obrazu dysku uzyskanego przez HTTP. Przykład: rd.systemd.pull=raw,machine,verify=no,blockdev:image:https://192.168.100.1:8081/image.raw \ root=/dev/disk/by-loop-ref/image.raw-part2
  • Dodano narzędzie systemd-pty-forward, za pomocą którego można utworzyć pseudo-terminal („PTY”) i uruchomić na nim proces, przekierowując dowolne wyjście na pierwotny terminal, na którym uruchomiono narzędzie.
  • Usunięto kod zapewniający wsparcie dla cgroups v1.
  • Usunięto komponenty zarządzania systemem w stylu System V, takie jak narzędzia itctl, runlevel i telinit, urządzenie /dev/initctl, koncepcja poziomów uruchamiania (runlevel), pliki jednostkowe runlevel[0-6].target oraz możliwość zarządzania stanem za pomocą polecenia init. Usunięcie wsparcia dla skryptów usług System V planowane jest na następne wydanie.
  • Minimalne wymagania dotyczące wersji jądra Linux zostały podniesione do wydania 5.4 (zalecana wersja to 5.7).
  • Uprawnienia do urządzeń tty/pts zostały zmienione z 0620 (-rw—w—-) na 0600 (-rw——-) w celu zabronienia innym użytkownikom z tej samej grupy zapisu do obcego terminala. Aby przywrócić dawne zachowanie podczas kompilacji, można użyć opcji '-Dtty-mode=0620'.
  • W systemd-resolved i systemd-importd zaprzestano wsparcia dla bibliotek GnuTLS i libgcrypt, jako backend kryptograficzny pozostawiono jedynie OpenSSL.
  • Do plików unit dodano wsparcie dla warunku 'ConditionKernelModuleLoaded', który sprawdza, czy określony moduł jądra jest załadowany. Warunek 'ConditionKernelVersion' został zastąpiony bardziej ogólną konstrukcją 'ConditionVersion', dzięki której można sprawdzić wersje zarówno jądra, jak i systemd oraz glibc.
  • Włączono wsparcie dla użytkowniczych kwot w katalogu /tmp/, umieszczonym w tmpfs, oraz dla /dev/shm/.
  • Dla jednostek slice, używanych do podziału systemu na części (app.slice, background.slice, session.slice) w celu izolacji zasobów między różnymi usługami użytkowników, wprowadzono ustawienia ConcurrencySoftMax i ConcurrencyHardMax do zarządzania liczbą jednocześnie aktywnych jednostek. Dodane możliwości można wykorzystać jako mechanizm zarządzania uruchamianiem zadań z uwzględnieniem zużycia zasobów, wspierający hierarchiczne pule zadań.
  • Do ustawienia ExecStart dodano wsparcie dla prefiksu '|', określającego uruchomienie przez interpreter poleceń.
  • Wdrożono API oparte na protokole Varlink, które może być używane do określenia aktualnego stanu, listy jednostek oraz stanu jednostek.
  • Dodano dodatkowy katalog z predefinicjami ('preset') dla usług systemowych uruchamianych w initrd, pozwalający na oddzielne włączenie usług systemowych dla hosta i initrd.
  • Dodano możliwość przypisania kwot do poszczególnych usług, wykorzystując ustawienia StateDirectoryQuota, StateDirectoryAccounting, CacheDirectoryQuota, CacheDirectoryAccounting, LogsDirectoryQuota i LogsDirectoryAccounting.
  • W systemd-udevd dodano wsparcie dla właściwości ID_NET_BRING_UP_BEFORE_JOINING_BRIDGE, ID_NET_NAME_INCLUDE_DOMAIN, ID_AV_LIGHTS. Dodano parametr kompilacji jądra „udev.trace” i opcję „—traceu” w narzędziu devadm do śledzenia logiki działania udev w trakcie rozruchu oraz podczas pracy. Do narzędzia udevadm dodano polecenie „cat” do wyświetlania zawartości zainstalowanych plików z regułami. Zapewniono automatyczne etykietowanie debugowych interfejsów USB Android (ADB DbC, ADB, Fastboot) dla dostępu przez użytkowników bez uprawnień.
  • W systemd-networkd dodano ustawienia IPv4DuplicateAddressDetectionTimeoutSec, UseSIP w sekcji „[DHCPv6]”, MPLSRouting w sekcji „[Network]”, Preference w sekcji „[IPv6RoutePrefix]”, LinkLocalLearning, Locked, MACAuthenticationBypass oraz VLANTunnel w sekcji „[Bridge]”. Klient DHCPv4 zyskał wsparcie dla protokołu BOOTP.
  • W systemd-logind dodano nowe klasy sesji: „none” do wyłączenia tworzenia sesji; „user-light” oraz „user-early-light” do tworzenia sesji użytkowników bez aktywacji menedżera usług dla użytkownika (dla sesji nieinteraktywnych).
  • W systemd-resolved dodano wsparcie dla stref delegacji („delegate zone”), umożliwiających routowanie zapytań DNS dla określonych domen przez zadane serwery DNS. Zapewniono wysyłanie równoległych zapytań o rekordy DNS A i AAAA dla jednej domeny. W resolved.conf dodano ustawienie RefuseRecordTypes do określenia blokowanych typów rekordów, na przykład, aby zablokować rekordy „A” na hostach z IPv6.
  • Do polecenia „systemctl start” dodano opcję „—verbose” do wyświetlania dzienników pracy jednostek, nad którymi wykonywana jest operacja.
  • W systemd-boot dodano wsparcie dla dwóch nowych specyfikacji bootloaderów — „uki” i „uki-url”. W drugim przypadku wdrożono możliwość ładowania obrazu UKI z zewnętrznego hosta za pośrednictwem protokołu HTTP. Dodano możliwość osadzania obrazów firmware UEFI w obrazach UKI (Unified Kernel Image). W loader.conf dodano ustawienie „reboot-on-error” do określenia działań (zrestartować lub wyświetlić menu startowe) w przypadku awarii wybranej pozycji rozruchowej.
  • W systemd-nspawn dodano wsparcie dla nieuprzywilejowanego uruchamiania obrazów kontenerów przechowywanych w zwykłych katalogach.
  • W systemd-importd dodano wsparcie dla obrazów skompresowanych algorytmem zstd (oprócz .xz, .gz i .bz2).
  • Dodano parametry wiersza poleceń jądra „systemd.break” oraz „rd.systemd.break”, które umożliwiają wstawianie interaktywnych punktów zatrzymania, przerywających ładowanie w określonych momentach. Dostępne są cztery punkty zatrzymania: „pre-udev”, „pre-basic”, „pre-mount” oraz „pre-switch-root”.
  • W następnym wydaniu planowane jest zakończenie wsparcia dla katalogu /run/lock/ oraz filtrów pakietów iptables (wsparcie dla nftables pozostanie jedynie w systemd-networkd i systemd-nspawn). Planowane jest również zwiększenie minimalnych wymagań wersji: jądro Linux 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0.

Ź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