Выпуск системного менеджера systemd 255

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 2261
Зарегистрирован: 20.08.2022

#

Выпуск системного менеджера systemd 255
Дата публикации:Thu, 07 Dec 2023 12:37:09 +0300




После четырёх месяцев разработки представлен релиз системного менеджера systemd 255. Среди наиболее важных улучшений: поддержка экспорта накопителей через NVMe-TCP, компонент systemd-bsod для полноэкранного вывода сообщений об ошибках, утилита systemd-vmspawn для запуска виртуальных машин, утилита varlinkctl для управления сервисами Varlink, утилита systemd-pcrlock для анализа регистров TPM2 PCR и генерации правил доступа, модуль аутентификации pam_systemd_loadkey.so.





Ключевые изменения в новом выпуске:
  • Добавлен компонент "systemd-storagetm", дающий возможность автоматически экспортировать все локальные блочные устройства при помощи драйвера NVMe-TCP (NVMe over TCP), позволяющего обращаться к NVMe-накопителям по сети (NVM Express over Fabrics), используя протокол TCP. За предоставление доступа в режиме NVMe over TCP отвечает новый юнит "storage-target-mode.target", который можно включить на стадии загрузки, указав в командной строке ядра "rd.systemd.unit=storage-target-mode.target", например, при необходимости удалённого обращения к накопителю в диагностических целях.


    Добавлен компонент "systemd-bsod" с реализацией аналога "синего экрана смерти", позволяющего на этапе загрузки выводить сообщения о критических ошибках (LOG_EMERG) в форме полноэкранного уведомления.

    Добавлена утилита "systemd-vmspawn", представляющая аналог утилиты systemd-nspawn для запуска образа операционной системы в виртуальной машине (утилита systemd-nspawn предназначена для запуска контейнеров, а systemd-vmspawn предоставляет похожий интерфейс для виртуальных машин). В настоящее время для запуска виртуальных машин доступен только бэкенд на базе QEMU.

    Добавлена утилита "varlinkctl" для вызова и интроспекции сервисов, использующих протокол 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.

    Код для отслеживания внутренних процессов переведён на использование PIDFD вместо PID в окружениях с ядром, поддерживающим PIDFD (PIDFD связывается с конкретным процессом и не меняется, в том время как PID может быть привязан к другому процессу после завершения текущего процесса, ассоциированного с этим PID). Реализована возможность создания scope-юнитов, используя PIDFD вместо PID для выбора процессов.



    Прекращена поддержка раздельных иерархий каталогов (когда /usr монтируется отдельно от корня или разделены каталоги /bin и /usr/bin, /lib и /usr/lib). В будущем также решено прекратить поддержку cgroups v1, скриптов сервисов System V и EFI-переменных SystemdOptions.




    Команда "systemctl switch-root" ограничена для применения только в initrd. Для замены корневой ФС в обычном окружении следует использовать "systemctl soft-reboot".

    Объявлены устаревшими параметры SuspendMode, HybridSleepMode, HibernateStat и HybridSleepState в секции "[Sleep]" файла systemd-sleep.conf. Данные параметры теперь игнорируются и могут принимать только значения по умолчанию.

    В юниты добавлена опция SurviveFinalKillSignal, позволяющая игнорировать финальный сигнал SIGTERM/SIGKILL, выдаваемый во время завершения работы, что может оказаться полезным для оставления запущенным юнита во время мягкой перезагрузки системы в режиме soft-reboot.


    Добавлена настройка NFTSet, позволяющая использовать идентификаторы cgroup для переключения логики в правилах межсетевого экрана.


    Добавлена опция ConditionSecurity=measured-uki, гарантирующая, что юнит может быть запущен только в системе, загруженной с верифицированного образа ядра в формате UKI.



    В systemd-boot добавлены новые горячие клавиши "B" и "O" для перезагрузки и выключения системы из загрузочного меню. Добавлена настройка "menu-disabled" для отключения показа загрузочного меню.


    В утилиту systemd-repart добавлены новые опции "--copy-from" для получения описаний раздела из указанного образа ФС, "--copy-source" для указания базового каталога для параметра CopyFiles, "--make-ddi=confext", "--make-ddi=sysext" и "--make-ddi=portable" для генерации разных типов DDI, и "--tpm2-device-key" для привязки диска к определённому открытому ключу TPM2.

    В утилиту journalctl в параметр "--lines" добавлено значение "+N" для вывода N старейших записей.

    В udevadm добавлен флаг "--json" для вывода в формате JSON.



    В утилиты systemd-analyze, systemd-tmpfiles, systemd-sysusers, systemd-sysctl и systemd-binfmt добавлена опция "--tldr" для вывода только фактических параметров конфигурации без пробелов и комментариев.

    В подсистему seccomp добавлена поддержка архитектуры LoongArch64. Разрешено использование seccomp для фильтрации системных вызовов в сервисах, выполняемых не под пользователем root без включения настройки NoNewPrivileges=yes.


    В утилиту systemd-mount добавлена опция "--tmpfs" для монтирования нового экземпляра 'tmpfs'.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60248

Жизнь за Нер'зула!

Ответить