Systemd 262 стал новой стабильной версией широко используемого менеджера системы и служб Linux.

Одно из заметных новшеств, поддержка сборки systemd в виде единого статически слинкованного бинарника PID 1/executor, ориентированного прежде всего на очень маленькие контейнерные окружения. Такие сборки не загружают опциональные библиотеки динамически и используют упрощённый поиск пользователей и групп вместо NSS.

В управлении службами тоже есть несколько дополнений. Новая опция RestartRandomizedDelaySec= добавляет случайную задержку перед автоматическим перезапуском службы, что помогает избежать одновременного перезапуска множества служб после сбоя. У slice-юнитов появилась опция ActivatingConcurrencyMax=, ограничивающая число юнитов в иерархии слайса, которые могут активироваться одновременно; остальные задания встают в очередь до появления свободной ёмкости.

Что касается виртуализации, systemd-vmspawn теперь поддерживает конфиденциальные виртуальные машины Intel TDX через опцию --coco=, дополняя уже имеющуюся поддержку AMD SEV-SNP. Secure Boot можно включить при совместимой прошивке конфиденциальной ВМ.

Есть и важные улучшения, связанные с TPM. Учётные данные, запечатанные в TPM, теперь привязаны к Storage Root Key модуля TPM, что даёт защиту от атак с подставным устройством TPM. Кроме того, Systemd 262 поддерживает Argon2id при регистрации PIN для TPM2, что укрепляет ключевой материал, производный от PIN, по сравнению со старым подходом на основе direct/PBKDF2.

systemd-cryptenroll получил необязательный мастер первого запуска для добавления дополнительных способов разблокировки диска в системах, которые полагаются на автоматическое шифрование на основе TPM. Также появились новые опции --unlock-empty и --unlock-headless для автоматизированных и headless-конфигураций.

Ещё одно заметное изменение, связанное с хранилищем, затрагивает systemd-homed. Новые домашние каталоги на основе fscrypt создаются по политикам fscrypt v2 по умолчанию. Существующие домашние каталоги v1 по-прежнему поддерживаются, хотя обновления на месте между двумя форматами нет.

Подсистема журналирования получила улучшения надёжности. Теперь systemd может пытаться восстановить корректные записи из активных файлов журнала, заголовок или хвост которых был обрезан при некорректном завершении работы под интенсивной записью. Также поддержка sealing журнала переведена с libgcrypt на OpenSSL.

В сетевой части systemd-networkd умеет сопоставлять сетевые конфигурации с тегами машины, а networkctl reload получил новую опцию --no-reconfigure, позволяющую перечитать конфигурационные файлы без немедленной перенастройки существующих интерфейсов. Некоторые настройки стекируемых сетевых устройств теперь принимают сразу несколько имён устройств.

Кроме того, в systemd 262 расширили systemd-sysupdate: теперь он ведёт постоянную базу данных установленных файлов и умеет удалять файлы, которые больше не соответствуют текущей конфигурации, через новую операцию очистки.

У компонентов и функций также появился механизм подсказок, который может автоматически рекомендовать или включать те или иные элементы в зависимости от архитектуры, среды виртуализации, свойств прошивки, тегов машины и других характеристик системы.

Среди других изменений, поддержка OpenSSL 4, новые опции run0, совместимые с некоторыми привычными моделями поведения sudo, режим headless для systemd.firstboot=, улучшенная обратная связь по PIN для FIDO2 и новая экспериментальная опция --introspect-cli, которая выдаёт машиночитаемые метаданные команд в JSON вместо того, чтобы заставлять скрипты разбирать вывод --help.

Как обычно для крупных релизов systemd, версия 262 приносит несколько изменений совместимости и отмен. В частности, удалён устаревший протокол управляющего сокета udev в пользу Varlink IPC, убраны несколько старых опций сборки Meson, а также изменились некоторые форматы вывода команд и JSON-интерфейсы.

Подробности можно найти в полном списке изменений.