Доступен системный менеджер systemd 259

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

#

Доступен системный менеджер systemd 259
Дата публикации:Fri, 19 Dec 2025 15:08:48 +0300

После трёх месяцев разработки доступен релиз системного менеджера systemd 259. Ключевые изменения: поддержка стандартной библиотеки Musl, команда "run0 --empower" для выполнения привилегированных действий без смены UID, динамическая загрузка сторонних библиотек, востребованных в libsystemd, игнорирование файлов конфигурации через добавление к имени ".ignore".
Среди изменений в новом выпуске:
  • Добавлена частичная поддержка стандартной Си-библиотеки Musl, включаемая через выставление значения "musl" в опции "libc" в сборочной системе Meson. Из-за того, что библиотека Musl не предоставляет функциональность NSS, при сборке systemd с Musl недоступны компоненты nss-systemd, nss-resolve, systemd-homed, systemd-nsresourced, systemd-userdbd, а также параметр DynamicUser и возможность непривилегированного запуска systemd-nspawn. Разработчики systemd пока не гарантируют, что поддержка Musl останется в будущих выпусках. Решение будет зависеть от успешности развития прослойки, реализующей дополнительную функциональность поверх Musl, а также востребованности проекта и сообщений о специфичных для Musl ошибках. В утилиту run0, преподносимую как безопасная замена программы sudo, работающая поверх systemd-run, добавлена опция "--empower", позволяющая запустить новый сеанс с повышенными привилегиями, не переключаясь на пользователя root. Выполнение привилегированных действий без смены UID организовано через выставление capabilities-флагов, таких как CAP_SYS_ADMIN, достаточных для обращения к большинству привилегированных системных вызовов. Запускаемые процессы также помещаются в отдельную группу "empower", для которой предоставлен доступ к большинству действий Polkit. Решено удалить в следующем выпуске поддержку скриптов сервисов в формате System V. К удалению намечены компоненты systemd-sysv-install, systemd-rc-local-generator и systemd-sysv-generator. В следующем релизе также намечено повышение требований к минимальным версиям: ядро Linux 5.10, glibc 2.34, openssl 3.0.0, python 3.9.0, libxcrypt 4.4.0, util-linux 2.37, elfutils 0.177, cryptsetup 2.4.0, libseccomp 2.4.0. В рамках инициативы по сокращению зависимостей у libsystemd реализована динамическая загрузка библиотек libacl, libblkid, libseccomp, libselinux, libmount при помощи вызова dlopen() в ситуациях, когда их функции действительно необходимы. Через dlopen() также реализована работа с подсистемой аудита Linux и с PAM. Функциональность, ранее вызываемая через библиотеку-прослойку libcap, встроена в libsystemd. В systemd-resolved добавлена возможность прикрепления локальных обработчиков, вызываемых при каждом запросе резолвинга локальных имён. Обработчики размещаются в каталоге /run/systemd/resolve.hook/. В БД с данными о пользователях добавлено поле UUID, а в утилиту userdbctl добавлена опция "--uuid" для поиска по UUID. Обеспечено игнорирование файлов конфигурации с именами, оканчивающимися на ".ignore". В systemd-importd реализована встроенная логика работы с TAR-архивами, использующая libarchive место вызова утилиты GNU tar. Реализована возможность запуска systemd-machined и systemd-importd в привязке к пользователям, а не на системном уровне, с загрузкой системных образов в ~/.local/state/machines/. Для выбора режима работы в утилиту importctl добавлены опции "--user" и "--system". Режим хранения журнала по умолчанию изменён с 'auto' на 'persistent' (ранее режим зависел от наличия каталога /var/log/journal). В systemd-networkd и systemd-nspawn прекращена поддержка создания правил трансляции адресов (NAT) через iptables/libiptc. Оставлена только поддержка nftables. В systemd-boot и systemd-stub прекращена поддержка TPM 1.2 (оставлена поддержка TPM 2.0). В systemd-machined по умолчанию обеспечено монтирование "скрытых" дисковых образов, имя которых начинается с точки, в режиме только для чтения. Расширен API на базе протокола Varlink, который теперь может применяться для доступа к настройкам сервисов. Реализованы IPC-вызовы Reload() и Reexecute(). Добавлены вызовы для доступа к функциональности и настройкам systemd-repart, systemd-resolved и systemd-networkd. Добавлена настройка ExecReloadPost, позволяющая организовать запуск команд после перезагрузки конфигурации сервиса. Для сервисов реализованы свойства OOMKills и ManagedOOMKills, содержащие число процессов, принудительно завершённых ядром или systemd-oomd из-за нехватки памяти. Для временных сервисов добавлено свойство RootDirectoryFileDescriptor, определяющее файловый дескриптор корневого каталога. Добавлена настройка UserNamespacePath, позволяющая привязать unit к пространству идентификаторов пользователей (user namespace) через указание пути в псевдо-ФС /proc, по аналогии с настройками IPCNamespacePath и NetworkNamespacePath. В systemd-nspawn для указания сетевого пространства имён в секцию [Network] файлов .nspawn добавлена настройка NamespacePath. В systemd-sysext и systemd-confext реализована поддержка отдельных файлов конфигурации /etc/systemd/systemd-sysext.conf и /etc/systemd/systemd-confext.conf. Добавлена возможность использования переменной окружения SYSTEMD_SYSEXT_OVERLAYFS_MOUNT_OPTIONS и $SYSTEMD_CONFEXT_OVERLAYFS_MOUNT_OPTIONS для настройки параметров монтирования Overlayfs. В systemd-udevd добавлена настройка OPTIONS="dump-json" для вывода состояния текущего события в формате JSON. В функции net_id реализована генерация предсказуемых имён беспроводных сетевых интерфейсов на системах с DeviceTree. Обеспечена генерация символических ссылок /dev/gpio/by-id/… для устройств GPIO. В команду "homectl update" добавлена возможность использования опции "--recovery-key" для добавления запасных ключей к существующей учётной записи пользователя (ранее подобные ключи могли добавляться только во время создания пользователя). В systemd-homed добавлены опции "--prompt-shell" и "--prompt-groups" для интерактивного выбора командной оболочки и группы во время первой загрузки с использованием сервиса systemd-homed-firstboot.service. В systemd-firstboot добавлена опция "--prompt-keymap-auto" для запроса раскладки клавиатуры при работе через локальную консоль во время первой загрузки. В systemd-boot добавлена возможность выставления уровня детализации логов через параметр log-level в loader.conf или SMBIOS-поле io.systemd.boot.loglevel. В systemd-networkd для DHCP-сервера добавлены опции EmitDomain и Domain, а также реализован обработчик для определения отдаваемых через DHCP имён хостов через DNS-резолвинг. В systemd-run добавлена опция "--root-directory" для запуска сервиса в указанном корневом каталоге. В systemd-run и run0 добавлена опция "--same-root-dir" ("-R") для запуска сервиса в том же корневом каталоге, что и у запускающего. В systemd-modules-load реализовано распараллеливание загрузки модулей ядра. В systemd-integrity-setup добавлена поддержка алгоритмов HMAC-SHA256, PHMAC-SHA256 и PHMAC-SHA512.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64450

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

Ответить