După patru luni de dezvoltare, este prezentată lansarea managerului de sistem systemd 255. Printre cele mai importante îmbunătățiri: suport pentru exportul de unități prin NVMe-TCP, componenta systemd-bsod pentru afișarea pe ecran complet a mesajelor de eroare, systemd-vmspawn utilitar pentru pornirea mașinilor virtuale, utilitarul varlinkctl pentru gestionarea serviciilor Varlink , utilitar systemd-pcrlock pentru analiza registrelor PCR TPM2 și generarea regulilor de acces, modulul de autentificare pam_systemd_loadkey.so.
Modificări cheie în noua versiune:
- A fost adăugată componenta „systemd-storagetm”, ceea ce face posibilă exportarea automată a tuturor dispozitivelor bloc locale folosind driverul NVMe-TCP (NVMe over TCP), care vă permite să accesați unități NVMe prin rețea (NVM Express over Fabrics) folosind protocolul TCP. O nouă unitate „storage-target-mode.target” este responsabilă pentru furnizarea accesului în modul NVMe prin TCP, care poate fi activată în faza de pornire prin specificarea „rd.systemd.unit=storage-target-mode.target” în linia de comandă a nucleului, de exemplu, dacă trebuie să accesați de la distanță unitatea în scopuri de diagnosticare.
- A fost adăugată componenta „systemd-bsod” cu implementarea unui analog al „ecranului albastru al morții”, care vă permite să afișați mesaje despre erori critice (LOG_EMERG) sub forma unei notificări pe ecran complet în faza de pornire.
- A fost adăugat utilitarul „systemd-vmspawn”, care este un analog al utilitarului systemd-nspawn pentru lansarea unei imagini a sistemului de operare într-o mașină virtuală (utilitarul systemd-nspawn este conceput pentru a lansa containere, iar systemd-vmspawn oferă o interfață similară pentru mașini virtuale). În prezent, doar un backend bazat pe QEMU este disponibil pentru rularea mașinilor virtuale.
- S-a adăugat utilitarul „varlinkctl” pentru apelarea și introspectarea serviciilor folosind protocolul Varlink.
- Utilitarul „systemd-pcrlock” a fost adăugat pentru a analiza și prezice stările registrelor TPM2 PCR (Platform Configuration Register) și pentru a genera reguli de acces stocate în indexul TPM2 NV care permit accesul la obiectele TPM2, cum ar fi cheile de criptare a discului, numai din componentele semnate digital lansate în etapa de descărcare verificată. Rezultatul unei solicitări de stare PCR în TPM2, jurnalul curent al evenimentelor de pornire produs de firmware-ul UEFI (/sys/kernel/security/tpm0/binary_bios_measurements) sau un jurnal TPM2 salvat local (/run/log/systemd/tpm2-measure) pot fi folosite ca date de intrare pentru analiză .log). Suport pentru regulile de acces persistente a fost adăugat la systemd-cryptsetup, systemd-cryptenroll și systemd-repart.
- S-a adăugat modulul PAM pam_systemd_loadkey.so, conceput pentru a extrage automat din ansamblul de chei kernel fraza de acces utilizată în cryptsetup pentru a debloca rădăcina criptată FS și pentru a seta această expresie de acces ca simbol de autentificare (PAM authtok). Modulul poate fi folosit, de exemplu, pentru a configura accesul de deblocare automată la GNOME Keyring și KDE Wallet atunci când conectarea automată este activată.
- S-a adăugat suport pentru intrarea în modul de hibernare cu salvarea conținutului de memorie pentru a schimba fișierele stocate în sistemul de fișiere Btrfs.
- Proprietățile MemoryPeak, MemorySwapPeak, MemorySwapCurrent și MemoryZSwapCurrent au fost adăugate la unități, corespunzătoare proprietăților memory.peak, memory.swap.peak, memory.swap.current și memory.zswap.current disponibile prin cgroup v2. Informațiile despre aceste proprietăți sunt incluse în ieșirea „systemctl status”.
- Modul de pornire a serviciilor a fost reelaborat, trecând la utilizarea unui apel posix_spawn cu opțiunile CLONE_VM și CLONE_VFORK pentru a porni un proces și folosind un executabil systemd-executor separat pentru a configura procesul să pornească. Anterior, procesele erau ramificate cu funcția fork, copierea memoriei procesului de control în modul copy-on-write și efectuarea setărilor necesare (montarea spațiilor de nume și setarea CGroup) înainte de lansarea fișierului executabil țintă prin apelul exec, ceea ce a dus la probleme din cauza incapacității de a accesa unele API-uri Glibc se află în stadiul dintre executarea funcțiilor fork și exec.
- Codul pentru urmărirea proceselor interne a fost mutat pentru a utiliza PIDFD în loc de PID în medii cu un nucleu care acceptă PIDFD (PIDFD este asociat cu un anumit proces și nu se modifică, în timp ce un PID poate fi asociat cu un alt proces după procesul curent asociat cu acel PID se termină). S-a implementat capacitatea de a crea unități de domeniu folosind PIDFD în loc de PID pentru a selecta procesele.
- Suportul pentru ierarhii de directoare separate a fost întrerupt (când /usr este montat separat de rădăcină sau directoarele /bin și /usr/bin, /lib și /usr/lib sunt separate). În viitor, s-a decis, de asemenea, întreruperea suportului pentru cgroups v1, scripturi de serviciu System V și variabile EFI SystemdOptions.
- Comanda „systemctl switch-root” este limitată la utilizare numai în initrd. Pentru a înlocui sistemul de fișiere rădăcină într-un mediu normal, utilizați „systemctl soft-reboot”.
- Parametrii SuspendMode, HybridSleepMode, HibernateStat și HybridSleepState au fost depreciați din secțiunea „[Sleep]” din systemd-sleep.conf. Acești parametri sunt acum ignorați și pot lua doar valori implicite.
- Opțiunea SurviveFinalKillSignal a fost adăugată la unități, ceea ce vă permite să ignorați semnalul final SIGTERM/SIGKILL emis în timpul opririi, ceea ce poate fi util pentru a lăsa o unitate să funcționeze în timpul unei reporniri soft a sistemului în modul soft-reboot.
- S-a adăugat setarea NFTSet care vă permite să utilizați identificatorii cgroup pentru a comuta logica în regulile firewall.
- S-a adăugat opțiunea ConditionSecurity=mesured-uki pentru a se asigura că unitatea poate fi lansată numai pe un sistem pornit dintr-o imagine de kernel verificată în format UKI.
- systemd-boot a adăugat noi taste rapide „B” și „O” pentru a reporni și a opri sistemul din meniul de pornire. S-a adăugat setarea „meniu-disabled” pentru a dezactiva meniul de pornire.
- Au fost adăugate noi opțiuni la utilitarul systemd-repart: „—copy-from” pentru a obține descrieri ale partițiilor din imaginea sistemului de fișiere specificată, „—copy-source” pentru a specifica directorul de bază pentru parametrul CopyFiles, „—make-ddi =confext”, „—make-ddi=sysext” și „--make-ddi=portable” pentru a genera diferite tipuri DDI și „--tpm2-device-key” pentru a lega discul la o anumită cheie publică TPM2.
- În utilitarul journalctl, valoarea „+N” a fost adăugată la parametrul „—line” pentru a afișa cele mai vechi N înregistrări.
- S-a adăugat flag „--json” la udevadm pentru ieșire în format JSON.
- S-a adăugat opțiunea „--tldr” la utilitarele systemd-analyze, systemd-tmpfiles, systemd-sysusers, systemd-sysctl și systemd-binfmt pentru a imprima numai parametrii de configurare actuali, fără spații sau comentarii.
- Suportul pentru arhitectura LoongArch64 a fost adăugat la subsistemul seccomp. Permiteți utilizarea seccomp pentru a filtra apelurile de sistem în serviciile care rulează ca utilizator non-root fără a activa setarea NoNewPrivileges=yes.
- S-a adăugat o opțiune „--tmpfs” la utilitarul systemd-mount pentru a monta o nouă instanță „tmpfs”.
Sursa: opennet.ru
