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

После трёх с половиной месяцев разработки представлен релиз системного менеджера systemd 253.

Среди изменений в новом выпуске:

  • В состав включена утилита 'ukify', предназначенная для сборки, проверки и формирования подписей для унифицированных образов ядра (UKI, Unified Kernel Image), объединяющих обработчик для загрузки ядра из UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd, применяемое для начальной инициализации на стадии до монтирования корневой ФС. Утилита заменяет собой функциональность, ранее предоставляемую командой 'dracut --uefi', и дополняет её возможностями для автоматического расчёта смещений в PE-файлах, объединения initrd, подписи встраиваемых образов ядра, создания комбинированных образов c sbsign, эвристикой для определения uname ядра, проверкой изображения с заставкой и добавлением подписанных PCR-политик, сгенерированных утилитой systemd-measure.

  • Добавлена поддержка initrd-окружений не ограниченных размещением в памяти, в которых вместо tmpfs используется overlayfs. Для подобных окружений systemd не выполняет удаление всех файлов в initrd после переключения корневой ФС.

  • В сервисы добавлен параметр «OpenFile» для открытия произвольных файлов в ФС (или подключения к Unix-сокетам) и передачи связанных с ними файловых дескрипторов в запускаемый процесс (например, когда нужно организовать доступ к файлу для непривилегированного сервиса без изменения прав доступа на файл).

  • В systemd-cryptenroll при регистрации новых ключей реализована возможность разблокировки зашифрованных разделов при помощи токенов FIDO2 (--unlock-fido2-device) без необходимости ввода пароля. Обеспечено хранения с солью заданного пользователем PIN-кода для усложнения определения методом перебора.

  • Добавлены настройки ReloadLimitIntervalSec и ReloadLimitBurst, а также опции командной строки ядра (systemd.reload_limit_interval_sec и /systemd.reload_limit_burst) для ограничения интенсивности перезапуска фоновых процессов.

  • Для unit-ов реализована опция «MemoryZSwapMax» для настройки cвойства memory.zswap.max, определяющего максимальный размер zswap.

  • Для unit-ов реализована опция «LogFilterPatterns», позволяющую задать регулярные выражения для фильтрации информации, выводимой в лог (может использоваться для исключения определённого вывода или сохранения только определённых данных).

  • В scope-юнитах реализована поддержка настройки «OOMPolicy» для задания поведения при попытке вытеснения при нехватке памяти (для сеансов входа выставлено значение OOMPolicy=continue, чтобы OOM killer их принудительно не завершал).

  • Определён новый тип сервисов — «Type=notify-reload», который расширяет тип «Type=notify» возможностью ожидания завершения обработки сигнала перезапуска (SIGHUP). На новый тип переведены сервисы systemd-networkd.service, systemd-udevd.service и systemd-logind.





  • В udev задействована новая схема наименования сетевых устройств, отличия которой в том, что для не привязанных к шине PCI USB-устройств теперь выставляется ID_NET_NAME_PATH для обеспечения большей предсказуемости имён. Для переменных SYMLINK реализован оператор '-=', оставляющий символические ссылки не настроенными, если до этого было определено правило их добавления.

  • В systemd-boot переделана передача затравки для генераторов псевдослучайных чисел в ядре и для дискового бэкенда. Добавлена поддержка загрузки ядра не только из раздела ESP (EFI System Partition), например, из прошивки или напрямую для QEMU. Обеспечен разбор параметров SMBIOS для определения запуска в окружении виртуализации. Реализован новый режим 'if-safe' при котором сертификат для UEFI Secure Boot загружается из ESP только, если считается безопасным (запускается в виртуальной машине).

  • В утилите bootctl реализована генерация системных токенов на всех системах EFI, кроме окружений виртуализации. Добавлены команды 'kernel-identify' и 'kernel-inspect' для отображения типа образа ядра и информации об опциях командной строки и версии ядра, «unlink» для удаления файла, связанного с первым типом загрузочных записей, «cleanup» для удаления всех файлов из каталога «entry-token» в ESP и XBOOTLDR, не связанных с первым типом загрузочных записей. Обеспечена обработка переменной KERNEL_INSTALL_CONF_ROOT.

  • В команде 'systemctl list-dependencies' обеспечена обработка опций »--type» и »--state», а в команде 'systemctl kexec' добавлена поддержка окружений на базе гипервизора Xen.

  • В файлах .network в секции [DHCPv4] появилась поддержка опций SocketPriority и QuickAck, RouteMetric=high|medium|low.

  • В systemd-repart добавлены опции »--include-partitions»,»--exclude-partitions» и »--defer-partitions» для фильтрации разделов по типу UUID, что, например, позволяет собирать образы в которых один раздел построен на основе содержимого другого раздела. Также добавлена опция »--sector-size» для указания размера сектора, используемого при создании раздела. Добавлена поддержка генерации ФС erofs. В настройке Minimize реализована обработка значения «best» для выбора минимально возможного размера образа.

  • В systemd-journal-remote разрешено использование настроек MaxUse, KeepFree, MaxFileSize и MaxFiles для ограничения потребления дискового пространства.

  • В systemd-cryptsetup добавлена поддержка отправки упреждающих запросов к токенам FIDO2 для определения их наличия до аутентификации.

  • В crypttab добавлены новые параметры tpm2-measure-bank и tpm2-measure-pcr.

  • В systemd-gpt-auto-generator реализовано монтирование разделов ESP и XBOOTLDR в режимах «noexec, nosuid, nodev», а также добавлен учёт переданных через командную строку ядра параметров rootfstype и rootflags.

  • В systemd-resolved предоставлена возможность настройки параметров резолвера через указание опций nameserver, domain, network.dns и network.search_domains в командной строке ядра.

  • В команде «systemd-analyze plot» появилась возможность вывода в формате JSON при указании флага »--json». Для управления выводом также добавлены новые опции »--table» и » --no-legend».

  • В 2023 году планируется прекратить поддержку cgroups v1 и раздельных иерархий каталогов (когда /usr монтируется отдельно от корня или разделены каталоги /bin и /usr/bin, /lib и /usr/lib).



Источник: http://www.opennet.ru/opennews/art.shtml? num=58661

© OpenNet