Pas katër muajsh zhvillimi, është prezantuar versioni i menaxherit të sistemit systemd 255. Ndër përmirësimet më të rëndësishme janë: mbështetje për eksportimin e aksesorëve përmes NVMe-TCP, komponenti systemd-bsod për shfaqjen me ekran të plotë të mesazheve të gabimeve, utilitari systemd-vmspawn për të nisur makina virtuale, utilitari varlinkctl për menaxhimin e shërbimeve Varlink, utilitari systemd-pcrlock për analizimin e regjistrave TPM2 PCR dhe gjenerimin e rregullave të aksesit, moduli i autentifikimit pam_systemd_loadkey.so.
Ndryshimet kyçe në lëshimin e ri:
- Është shtuar komponenti ‘systemd-storagetm’, i cili mundëson eksportimin automatik të të gjitha pajisjeve lokale bllok përmes driver-it NVMe-TCP (NVMe mbi TCP), duke mundësuar aksesin në ndihmësit NVMe përmes rrjetit (NVM Express mbi Fabrics) duke përdorur protokollin TCP. Për ofrimin e aksesit në modalitetin NVMe mbi TCP është përgjegjës një njësi e re ‘storage-target-mode.target’, e cila mund të aktivizohet gjatë ngarkimit, duke specifikuar në komandën e bërthamës ‘rd.systemd.unit=storage-target-mode.target’, për shembull, kur është e nevojshme të qaset në ndihmës në qëllime diagnostike.
- Rënduar komponenti «systemd-bsod» me implementimin e ekuivalencës së «ekranit të blertë të vdekjes», që lejon të shfaqen mesazhe mbi gabime kritike (LOG_EMERG) në formën e një njoftimi në ekran të plotë gjatë ngarkimit.
- Shtuar utilitarin «systemd-vmspawn», që paraqet një ekuivalencë të utilitarit systemd-nspawn për të nisur një imazh të sistemit operativ në një makinë virtuale (utilitari systemd-nspawn është i projektuar për të nisur konteinerët, dhe systemd-vmspawn ofron një ndërfaqe të ngjashme për makinave virtuale). Në këtë moment, për të nisur makinat virtuale është e disponueshme vetëm backend-i i bazuar në QEMU.
- Shtuar utilitarin «varlinkctl» për t'u thirrur dhe për të bërë introspektim të shërbimeve që përdorin protokollin Varlink.
- U shtua utilita «systemd-pcrlock» për analizimin dhe parashikimin e gjendjeve të regjistrave TPM2 PCR (Platform Configuration Register) dhe formimin e rregullave të aksesit të ruajtura në indeksin TPM2 NV, që lejojnë qasjen në objektet TPM2, siç janë çelësat e enkriptimit të diskut, vetëm nga komponentët e verifikuar me nënshkrim digjital që nisin në fazën e ngarkesës së verifikuar. Si të dhëna hyrëse për analizë mund të përdoret rezultati i kërkesës për gjendjen e PCR në TPM2, që jepet nga firmueri UEFI log të ngarkesës aktuale (/sys/kernel/security/tpm0/binary_bios_measurements) ose logun e ruajtur lokal të TPM2 (/run/log/systemd/tpm2-measure.log). Mbështetja për rregullat e aksesit të ruajtura është shtuar në systemd-cryptsetup, systemd-cryptenroll dhe systemd-repart.
- Shtuar moduli PAM pam_systemd_loadkey.so, i cili është i destinuar për nxjerrjen automatikisht nga depoja e çelësave në bërthamë (keyring) të fjalëkalimit të përdorur në cryptsetup për të çelur sistemin e skedarëve të enkriptuar, dhe për vendosjen e këtij fjalëkalimi si një token autentifikimi (PAM authtok). Moduli mund të përdoret, për shembull, për konfigurimin e hapjes automatike të qasjes në GNOME Keyring dhe KDE Wallet kur aktivizohet hyrja automatike në sistem.
- Është shtuar mbështetje për kalimin në gjumin e thellë (hibernation) me ruajtjen e përmbajtjes së memories në skedarët e ndihmës, që ruhen në sistemin e skedarëve Btrfs.
- Në njësitë janë shtuar pronat MemoryPeak, MemorySwapPeak, MemorySwapCurrent dhe MemoryZSwapCurrent, që përputhen me pronat memory.peak, memory.swap.peak, memory.swap.current dhe memory.zswap.current në cgroup v2. Informacioni rreth këtyre pronave është përfshirë në daljen e «systemctl status».
- Metoda e fillimit të shërbimeve është rishikuar dhe është kaluar në përdorimin e thirrjes posix_spawn me opsionet CLONE_VM dhe CLONE_VFORK për të nisur procesin dhe për të aplikuar një skedar të veçantë ekzekutiv systemd-executor për konfigurimin e procesit të nisur. Më parë, proceset ishin shkëputur nga funksioni fork me kopjimin e memories së procesit të kontrollit në modalitetin copy-on-write dhe duke bërë konfigurimet e nevojshme (montimin e hapësirave të emrave dhe vendosjen e CGroup) para se të niste skedari ekzekutiv i synuar përmes thirrjes exec, çka shkaktonte probleme për shkak të pamundësisë për t'u qasur në disa API Glibc në fazën midis ekzekutimit të funksioneve fork dhe exec.
- Kodi për gjurmimin e proceseve të brendshme është përshtatur për të përdorur PIDFD në vend të PID në mjedise me bërthamë që mbështesin PIDFD (PIDFD lidhet me një proces të veçantë dhe nuk ndryshon, ndërsa PID mund të lidhet me një proces tjetër pas përfundimit të procesit aktual që është i lidhur me këtë PID). Është realizuar mundësia e krijimit të njësive të hapësirës duke përdorur PIDFD në vend të PID për të zgjedhur proceset.
- Mbështetja për hierarki të ndara katalogësh është ndërprerë (kur /usr montohen veçmas nga rrënja ose katalogët /bin dhe /usr/bin, /lib dhe /usr/lib janë të ndara). Në të ardhmen është vendosur gjithashtu të ndërpritet mbështetja për cgroups v1, skenaret e shërbimeve System V dhe variablat EFI të SystemdOptions.
- Komanda «systemctl switch-root» është e kufizuar për t'u aplikuar vetëm në initrd. Për të zëvendësuar sistemin e skedarëve të rrënjës në një mjedis të zakonshëm, duhet të përdoret «systemctl soft-reboot».
- Parametrat SuspendMode, HybridSleepMode, HibernateStat dhe HybridSleepState në seksionin «[Sleep]» të skedarit systemd-sleep.conf janë shpallur të papërshtatshëm. Këta parametra tani injorohen dhe mund të pranojnë vetëm vlerat e paracaktuara.
- Në njësitë është shtuar opsioni SurviveFinalKillSignal, që lejon injorimin e sinjalit përfundimtar SIGTERM/SIGKILL, i dhënë gjatë mbylljes, gjë që mund të jetë e dobishme për të mbajtur njësi të aktivizuara gjatë një rinovimi të butë të sistemit në mënyrën soft-reboot.
- Është shtuar konfigurimi NFTSet, që lejon përdorimin e identifikatorëve cgroup për të ndryshuar logjikën në rregullat e firewall-it.
- Është shtuar opsioni ConditionSecurity=measured-uki, që garanton se njësi mund të aktivizohet vetëm në një sistem të ngarkuar me një imazh të verifikuar të bërthamës në formatin UKI.
- Në systemd-boot janë shtuar kombinime të reja të çelësit ‘B’ dhe ‘O’ për rinisjen dhe fikjen e sistemit nga menuja e ngarkimit. Është shtuar konfigurimi ‘menu-disabled’ për të fikur shfaqjen e menusë së ngarkimit.
- Në utilitarin systemd-repart janë shtuar opsionet e reja ‘—copy-from’ për të marrë përshkrimet e particionit nga imazhi i caktuar të FS, ‘—copy-source’ për të treguar katalogun bazë për parametrin CopyFiles, ‘—make-ddi=confext’, ‘—make-ddi=sysext’ dhe ‘—make-ddi=portable’ për të gjeneruar lloje të ndryshme DDI, dhe ‘—tpm2-device-key’ për të lidhur diskun me një çelës të hapur të caktuar TPM2.
- Në utilitarin journalctl është shtuar vlerën «+N» për parametrin «—lines» për të shfaqur N regjistrimet më të vjetra.
- Në udevadm është shtuar flamuri «—json» për dalje në formatin JSON.
- Në utilitat si systemd-analyze, systemd-tmpfiles, systemd-sysusers, systemd-sysctl dhe systemd-binfmt është shtuar opsioni «—tldr» për të shfaqur vetëm parametrat aktualë të konfigurimit pa boshllëqe dhe komente.
- Në nën-sistemin seccomp është shtuar mbështetje për arkitekturën LoongArch64. Përdorimi i seccomp për filtrimin e thirrjeve sistemike në shërbimet që nuk ekzekutohen nën përdoruesin root pa aktivizuar konfigurimin NoNewPrivileges=yes është lejuar.
- Në utilitarin systemd-mount është shtuar opsioni «—tmpfs» për të montuar një instancë të re ‘tmpfs’.
Burimi: opennet.ru
