После чуть более чем трех месяцев разработки, запуск новая версия Кирилл 259. В этом обновлении внесены изменения в архитектуру системы, подчеркиваются открытость для альтернативных стандартных библиотек, более строгое управление привилегиями и более жесткие технические требования для будущих версий.
Одним из наиболее обсуждаемых направлений в этом цикле является переход к большей модульности и устранение устаревших зависимостей, что прокладывает путь к экосистеме Linux, которая определенно отходит от стандартов прошлых десятилетий.
Основные новые возможности systemd 259
Новая версия systemd 259 выделяется тем, что... первая версия, добавляющая частичную совместимость с Musl— популярная стандартная библиотека C, используемая в легковесных дистрибутивах и встраиваемых системах. Эта интеграция Управление осуществляется через опцию libc в системе сборки Meson. Однако, поскольку Musl не поддерживает функциональность NSS (Name Service Switch), в этой конфигурации ряд компонентов systemd остаются отключенными.
Среди азаметные отсутствия при компиляции с помощью Musl найденный nss-systemd, nss-resolve, systemd-homed, systemd-userdbd и параметр DynamicUserКроме того, запуск systemd-nspawn без привилегий в рамках этой библиотеки невозможен. Разработчики предупредили, что сохранение этой поддержки в будущих версиях будет зависеть от спроса со стороны сообщества и стабильности любых дополнительных слоев совместимости, которые будут разработаны.
Ещё одной новой функцией новой версии является в утилите run0разработанная как современная и безопасная альтернатива sudo, которая получила новый вариант – расширение возможностей. Эта функция Это позволяет вам войти в систему с повышенными привилегиями. без необходимости изменять идентификатор пользователя (UID) на root.
Кроме того, вместо того, чтобы делегировать полный контроль При переключении пользователей параметр –empower использует индикаторы возможностей ядра, такие как CAP_SYS_ADMIN. выдать строго необходимые разрешения для выполнения привилегированных системных вызовов. Кроме того, полученные процессы интегрируются в определенную группу, которая предоставляет им доступ к действиям Polkit, обеспечивая более надежное разделение привилегий, чем традиционная модель sudo.
Конец эпохи: прощай, System V и новые требования.
Введение systemd версии 259 знаменует начало конца для совместимость с Скрипты службы System VБыло объявлено, что в следующей версии устаревшие компоненты, такие как systemd-sysv-generator, systemd-rc-local-generator и systemd-sysv-install, будут удалены навсегда.
Наряду с очисткой устаревшего кода, были значительно повышены минимальные программные требования для экосистемы systemd:
- Ядро Linux: минимальная версия 5.10.
- Glibc: 2.34.
- OpenSSL: 3.0.0.
- Util-linux: 2.37.
- Другое: Python 3.9.0, cryptsetup 2.4.0 и libseccomp 2.4.0.
Модульность и динамическая загрузка в libsystemd
Комо часть инициативы по снижению зависимости непосредственно при запуске, Теперь libsystemd использует динамическую загрузку через dlopen(). Для таких библиотек, как libacl, libblkid, libseccomp, libselinux и libmount, система будет загружать их в память только тогда, когда их специфические функции потребуются процессу, оптимизируя использование ресурсов. Кроме того, функциональность libcap интегрирована непосредственно в libsystemd, что упрощает цепочку зависимостей.
El В настройках обработки журналов по умолчанию изменена конфигурация: режим хранения журнала (журнал) изменения с «автоматического» на «постоянный»независимо от того, существовал ли ранее каталог /var/log/journal.
В области сетей и виртуализации:
- systemd-networkd и systemd-nspawn: Поддержка правил NAT с использованием iptables удалена, поэтому единственным совместимым вариантом остается nftables.
- systemd-resolved: Теперь разрешено использовать локальные обработчики (хуки) в файле /run/systemd/resolve.hook/ для вмешательства в запросы на разрешение имен.
- systemd-importd: Логика работы с TAR-файлами интегрирована изначально. Кроме того, команды `importd` и `machined` теперь могут запускаться на уровне пользователя, что позволяет управлять образами в локальном каталоге пользователя (`~/.local/state/machines/`).
Другие инновации
API на основе протокола Компания Varlink получила обновления, позволяющие получить доступ к настройкам сервиса и совершать межпроцессные вызовы. например, Reload() и Reexecute(). Для системных администраторов включение свойства OOMKills в службы будет очень полезно, поскольку позволит им отслеживать, сколько раз процесс был завершен из-за нехватки памяти, непосредственно с помощью инструментов systemd.
Наконец, процесс загрузки системы становится более современным благодаря отказу от поддержки TPM 1.2 в systemd-boot, и все усилия по обеспечению безопасности сосредотачиваются на стандарте TPM 2.0.
Если вы хотите узнать больше об этом, вы можете проконсультироваться подробности по следующей ссылке.