Systemd является фундаментальным компонентом большинства современных дистрибутивов Linux, отвечая за инициализацию системы, управление сервисами и множество других задач, формируя устойчивую и гибко настраиваемую инфраструктуру. Релиз systemd 258, выпущенный в сентябре 2025 года, принес серьёзное количество нововведений и улучшений, акцентируя внимание на безопасности, управлении ресурсами, расширении функциональности системных сервисов и поддержке новых технологических стандартов. Одно из наиболее заметных и важных изменений в systemd 258 - полное удаление поддержки cgroup v1, включая legacy и hybrid варианты иерархий. Теперь единым и обязательным механизмом становится cgroup v2 - unified hierarchy. Это решение укрепляет стандартизацию и упрощает администрирование, задавая единый интерфейс для контроля групп процессов, что облегчает разработку и эксплуатацию контейнеров и сервисов.
При загрузке системы инициализация unified cgroup проводится автоматически, что улучшает консистентность поведения как на хостах, так и в контейнерных средах systemd-nspawn. Параллельно с этим, минимальная поддерживаемая версия ядра Linux была увеличена до версии 5.4 с рекомендацией на 5.7 и выше, что отражает рост требований к современным функциональным возможностям и безопасности. Рекомендуется тщательно контролировать соответствие используемого ядра и API для корректной работы последних функций systemd.
В сфере безопасности произошло изменение стандартных прав доступа на терминальные устройства tty и pts. Отныне права по умолчанию - 0600 вместо прежних 0620, что исключает возможность записи в терминал из соображений безопасности. Это традиционная рекомендация по снижению риска несанкционированного вмешательства при многопользовательской работе. Для тех, кому необходим старый режим, предусмотрена возможность восстановления через параметр конфигурации при сборке. Связанный с безопасностью процесс теперь проще и прозрачнее благодаря изменению в применении ACL к устройствам, маркированным тегом "uaccess" в udev.
Ранее системой systemd-logind применялись права доступа, теперь эту работу берет на себя systemd-udevd, реагируя на события изменения устройства. Для корректной работы рекомендуется расширить правила udev, чтобы тег "uaccess" применялся не только при добавлении, но и при изменении устройства, исключая только удаление. Такой подход повышает гибкость управления правами и упрощает поддержку устройств, которые часто меняют состояние. Одним из важных процессов оптимизации стал переход на использование pidfd для отслеживания сессий systemd-logind вместо старой схемы с FIFO. Применение pidfd обеспечивает надежное обнаружение длительности жизненного цикла ключевых процессов, исключает гонки, свойственные традиционным PID, и позволяет немедленно останавливать сессии при завершении ведущего процесса.
Это повышает надежность и безопасность системы и одновременно упрощает внутреннюю логику сессий. Ещё один пример глубокой интеграции безопасности и современного железа - изменение в инструментах работы с TPM2. Systemd-cryptenroll и связанные утилиты теперь по умолчанию не привязывают шифрование к статическому значению PCR 7, поскольку SecureBoot-политики обновляются регулярно. Вместо этого предлагается использовать управляемые политики systemd-pcrlock с ключами и комплексным связыванием PCR, что улучшает стабильность и гибкость защитных сценариев при загрузке и работе системы. В разделе сетевых компонентов systemd-networkd представлена новая функциональность, позволяющая контролировать таймаут для обнаружения дубликатов IPv4 адресов (Duplicate Address Detection) с установлением нового безопасного минимального значения, а также добавлена поддержка DHCPv6 опций для SIP.
Это актуально для организаций, внедряющих комплексные VoIP-сети и сложную адресацию. В дополнение к этому расширены возможности настройки мостов и VLAN, а также введена возможность задать параметры туннелирования VXLAN и HSR/SRP, что дает широкие возможности для построения отказоустойчивых и масштабируемых сетевых решений. В составе systemd-journald и журналистских утилит появилась поддержка HTTP компрессии в journal-upload и journal-remote, а также возможность добавления дополнительных HTTP-заголовков. Такая функциональность даёт возможность интегрироваться с системами централизованного сбора и обработки логов, повышая эффективность сетевого взаимодействия и управления данными. Флагманская утилита systemd-run в версии 258 получила возможность расширенного управления параметрами запуска transient-сервисов, включая опции для расширения переменных окружения по умолчанию, что упрощает динамическое создание экземпляров сервисов с нужными привилегиями и контекстом.
Такой функционал востребован администраторами и разработчиками для автоматизации и тонкой настройки процессов. Systemd-homed, важный компонент для управления домашними директориями пользователей в зашифрованном и защищённом виде, получил ряд оптимизаций и новых возможностей. Теперь поддерживаются пространственные области внутри домашнего каталога - home areas, позволяющие разделить конфигурации и окружение, а также появились команды и API для управления ключами подписи пользователей, что облегчает миграцию и масштабирование учетных записей в распределенных и федеративных средах. Утилиты systemd-nspawn и systemd-vmspawn выросли в плане расширенной поддержки непользовательских контейнеров с возможностью работать с директориями без привилегий, а также получили новых управляемых опций для SMBIOS, TPM и сетевых устройств, что существенно повышает их применимость в современном DevOps-окружении. Ещё стоит отметить развитие системы проверок и валидаций файловых систем и дисков с помощью новых сервисов и шаблонов unit, таких как systemd-validatefs и systemd-loop, которые контролируют целостность и соответствие автоматически монтируемых разделов, создавая дополнительный уровень безопасности и прогнозируемости при загрузке и развертывании.
Новые возможности для разработчиков и интеграторов открываются через расширенные D-Bus и Varlink API. Появился базовый Varlink API для менеджера сервисов, а во многих утилитах введена возможность взаимодействия на уровне JSON и передачи fd, что облегчает создание инструментов мониторинга и управления. Переход исключительно на OpenSSL как криптографическую бэкэнд-библиотеку для systemd-resolved и systemd-importd оптимизирует безопасность и поддерживает современные стандарты шифрования, отказавшись от альтернативных бэкендов, таких как gnutls и gcrypt. Также были удалены устаревшие механизмы и интерфейсы, включая поддержку System V init, старых системных переменных и устаревших опций командной строки. Это внимание к упрощению кода и повышению качества инфраструктуры открывает дорогу для более эффективного развития и поддержки systemd в будущем.
Systemd 258 - это значимый шаг в истории проекта, направленный на усиление безопасности, повышения управляемости и расширения функциональных возможностей для современных системных администраторов и разработчиков. Внедрение новых стандартов, отказ от устаревшего кода и интеграция с современными технологиями отражают постоянный вклад сообщества и разработчиков в развитие Linux-инфраструктуры, обеспечивая надежность и гибкость системного управления на годы вперед. .