Po štirih mesecih razvoja je izdal sistemski upravitelj systemd 255. Med najpomembnejšimi izboljšavami so: podpora za izvoz naprav preko NVMe-TCP, komponenta systemd-bsod za polnoveljavno prikazovanje sporočil o napakah, orodje systemd-vmspawn za zagon virtualnih strojev, orodje varlinkctl za upravljanje storitev Varlink, orodje systemd-pcrlock za analizo registrov TPM2 PCR in generacijo pravil dostopa ter modul za avtentifikacijo pam_systemd_loadkey.so.
Ključne promene u novoj verziji:
- Dodana je komponenta „systemd-storagetm“, ki omogoča samodejni izvoz vseh lokalnih blokovnih naprav z uporabo gonilnika NVMe-TCP (NVMe preko TCP), kar omogoča dostop do NVMe naprav prek omrežja (NVM Express over Fabrics), z uporabo protokola TCP. Za dostop v načinu NVMe preko TCP skrbi nova enota „storage-target-mode.target“, ki jo je mogoče vključiti med zagonom, tako da v ukazno vrstico jedra vnesete „rd.systemd.unit=storage-target-mode.target“, na primer, če je potrebna oddaljena dostopnost do naprave v diagnostične namene.
- Dodana je komponenta „systemd-bsod“ z implementacijo analoga „modrega zaslona smrti“, ki omogoča prikazovanje sporočil o kritičnih napakah (LOG_EMERG) v obliki polnoveljavnega obvestila med zagonom.
- Dodana je orodje „systemd-vmspawn“, ki predstavlja analog orodja systemd-nspawn za zagon slike operacijskega sistema v virtualnem stroju (orodje systemd-nspawn je namenjeno zagonu kontejnerjev, medtem ko systemd-vmspawn ponuja podoben vmesnik za. virtualnih naprav). Trenutno je za zagon virtualnih strojev na voljo le backend na osnovi QEMU.
- Dodano je orodje „varlinkctl“ za klic in introspekcijo storitev, ki uporabljajo protokol Varlink.
- Добавлена утилита «systemd-pcrlock» для анализа и предсказания состояний регистров TPM2 PCR (Platform Configuration Register) и формирования сохраняемых в индексе TPM2 NV правил доступа, разрешающих обращение к объектам TPM2, таким как ключи шифрования диска, только из заверенных цифровой подписью компонентов, запускаемых на стадии верифицированной загрузки. В качестве входных данных для анализа может использоваться результат запроса состояния PCR в TPM2, выдаваемый прошивкой UEFI лог событий текущей загрузки ( /sys/kernel/security/tpm0/binary_bios_measurements ) или локально сохранённый лог TPM2 ( /run/log/systemd/tpm2-measure.log ). Поддержка сохраняемых правил доступа добавлена в systemd-cryptsetup, systemd-cryptenroll и systemd-repart.
- Добавлен PAM-модуль pam_systemd_loadkey.so, предназначенный для автоматического извлечения из хранилища ключей в ядре (keyring) парольной фразы, используемой в cryptsetup для разблокировки зашифрованной корневой ФС, и выставления этой парольной фразы в качестве токена аутентификации (PAM authtok). Модуль может применяться, например, для настройки авторазблокировки доступа к GNOME Keyring и KDE Wallet при включении автоматического входа в систему.
- Добавлена поддержка перехода в спящий режим (hibernation) с сохранением содержимого памяти в файлы подкачки, хранимые в ФС Btrfs.
- В юниты добавлены свойства MemoryPeak, MemorySwapPeak, MemorySwapCurrent и MemoryZSwapCurrent, соответствующие доступным через cgroup v2 свойствам memory.peak, memory.swap.peak, memory.swap.current и memory.zswap.current. Информация о данных свойствах включена в вывод «systemctl status».
- Переработан способ запуска сервисов, который переведён на использование вызова posix_spawn с опциями CLONE_VM и CLONE_VFORK для запуска процесса и применения отдельного исполняемого файла systemd-executor для настройки запускаемого процесса. Ранее процессы ответвлялись функцией fork с копированием памяти управляющего процесса в режиме copy-on-write и выполнением необходимых настроек (монтирование пространств имён и выставление CGroup) до запуска целевого исполняемого файла через вызов exec, что приводило к проблемам из-за невозможности обращения к некоторым API Glibc на стадии между выполнением функций fork и exec.
- Koda za sledenje notranjim procesom je bil prenesen na uporabo PIDFD namesto PID v okoljih z jedrom, ki podpira PIDFD (PIDFD je povezan s specifičnim procesom in se ne spremeni, medtem ko se PID lahko veže na drug proces po zaključku trenutnega procesa, povezanega s tem PID). Uvedena je bila možnost ustvarjanja scope enot, pri čemer se uporablja PIDFD namesto PID za izbiro procesov.
- Podpora za ločene hierarhije imenikov je bila ukinjena (ko je /usr ločeno nameščen od korena ali so imeniki /bin in /usr/bin, /lib in /usr/lib ločeni). V prihodnosti je bilo prav tako odločeno, da se preneha podpora za cgroups v1, skripte sistemskih storitev System V in EFI spremenljivke SystemdOptions.
- Ukaz „systemctl switch-root“ je omejen na uporabo samo v initrd. Za zamenjavo korenske datotečne sistem v običajnem okolju je treba uporabiti „systemctl soft-reboot“.
- Parametri SuspendMode, HybridSleepMode, HibernateStat in HybridSleepState v razdelku „[Sleep]“ datoteke systemd-sleep.conf so razglašeni za zastarele. Ti parametri se zdaj ignorirajo in lahko sprejmejo samo privzete vrednosti.
- Enotam je bila dodana možnost SurviveFinalKillSignal, ki omogoča ignoriranje končnega signala SIGTERM/SIGKILL, ki je poslan med končanjem delovanja, kar je lahko koristno za ohranjanje enote v tekočem stanju med mehko ponastavitvijo sistema v načinu soft-reboot.
- Dodana je bila nastavitev NFTSet, ki omogoča uporabo identifikatorjev cgroup za preklop logike v pravilih požarnega zidu.
- Dodana je bila možnost ConditionSecurity=measured-uki, ki zagotavlja, da se enota lahko zažene le v sistemu, naloženem z overjenim slikovnim jedrom v formatu UKI.
- V systemd-boot so dodane nove bližnjice 'B' in 'O' za ponovni zagon in izklop sistema iz zagonskega menija. Dodana je bila nastavitev 'menu-disabled' za izklop prikazovanja zagonskega menija.
- V pripomoček systemd-repart so dodane nove možnosti '—copy-from' za pridobivanje opisov particije iz določene slike FS, '—copy-source' za določitev osnovnega imenika za parameter CopyFiles, '—make-ddi=confext', '—make-ddi=sysext' in '—make-ddi=portable' za generiranje različnih vrst DDI, ter '—tpm2-device-key' za povezavo diska s posebnim javnim ključem TPM2.
- V pripomoček journalctl je bila možnost '—lines' dodana nova vrednost '+N' za izpis N najstarejših vnosov.
- V udevadm je bila dodana zastavica '—json' za izhod v formatu JSON.
- V utilitah systemd-analyze, systemd-tmpfiles, systemd-sysusers, systemd-sysctl in systemd-binfmt je dodana možnost „—tldr“ za output samo dejanskih konfiguracijskih parametrov brez presledkov in komentarjev.
- V podsystem seccomp je dodana podpora za arhitekturo LoongArch64. Uporaba seccomp za filtriranje sistemskih klicev v storitvah, ki se ne izvajajo pod uporabnikom root, je dovoljena brez vključitve nastavitev NoNewPrivileges=yes.
- V utilitah systemd-mount je dodana možnost „—tmpfs“ za montiranje novega primera 'tmpfs'.
Izvor: opennet.ru
