Версія 262 системного та сервісного менеджера systemd тепер доступна, вона містить значні покращення після трьох місяців розробки. Цей реліз відрізняється оптимізацією архітектури для легких віртуалізованих середовищ, покращенням криптографічних протоколів, пов'язаних з модулями довіреної платформи (TPM), та додаванням критично важливих функцій до нативних інструментів, таких як run0 та systemd-sysupdate.
З огляду на контейнери, що потребують мінімального системного сліду, systemd тепер пропонує можливість компілювати один виконуваний файл зі статичним зв'язуванням. Ця компіляція (активована через Meson з такими параметрами, як `-Dsystemd-multicall-binary=true` ) призначена для роботи як процес запуску (PID 1) у дуже малих контейнерах, уникаючи використання викликів `dlopen()` для завантаження динамічних бібліотек та покладаючись на спрощений пошук користувачів та груп замість стандартного NSS.
Крім того, виконуваний файл тепер внутрішньо вбудовує набір важливих файлів модулів ( таких як basic.target, sysinit.target, multi-user.target та reboot.target, серед інших). Ці вбудовані файли використовуються як резервний варіант, якщо неможливо завантажити конфігурації з диска, що дозволяє контейнеру завантажитися без явного встановлення файлів модулів.
Управління послугами та відновлення після збоїв
Щоб зменшити ризик синхронізованих перезапусків, коли кілька служб одночасно виходять з ладу, було введено параметр `RestartRandomizedDelaySec` . Ця політика додає випадкову (рівномірно розподілену) затримку перед автоматичним перезапуском служби, яка додається до часу, налаштованого в `RestartSec`. Крім того, одиниці зрізів містять `ActivatingConcurrencyMax`, обмеження, яке визначає максимальну кількість одиниць, які можна активувати одночасно в ієрархії; будь-які надлишкові активації ставляться в чергу, доки не стануть доступними слоти потужності.
У середовищах, що вимагають постійної високої доступності (наприклад, критично важливі сервери), для сервісних блоків було реалізовано параметр LUOSession. Цей параметр вказує systemd створювати сеанси Live Update Orchestrator, що дозволяє гарячі оновлення ядра системи без переривання роботи служби та збереження стану процесів і пристроїв.
TPM2, fscrypt та безпека сховища
Інші нові функції в цій версії включають спосіб, у який запечатані облікові дані в TPM тепер безпосередньо пов'язані з їхнім кореневим ключем сховища (SRK), що запобігає атакам типу «людина посередині» (MitM) проміжними компонентами, які намагаються перехопити розшифровані дані. Реєстрація облікових даних PIN-коду TPM2 через systemd-cryptenroll використовує алгоритм Argon2id за замовчуванням, генеруючи набагато надійніший ключовий матеріал, ніж застаріла реалізація (direct/PBKDF2).
На рівні користувацького сховища systemd-homed змінив свою поведінку для каталогів, зашифрованих за допомогою файлової системи fscrypt: нові створення за замовчуванням використовуватимуть політики версії 2 (fscrypt v2), що дозволить головному ключу знаходитися в зв'язці ключів файлової системи та бути видимим у різних просторах імен монтування. Каталоги fscrypt v1 залишаться функціональними, хоча вони не матимуть шляху оновлення до версії 2 на місці.
Крім того, для модуля ядра dm-clone було включено вбудовану підтримку завантаження , що дозволяє генерувати змінювані клони з блокових пристроїв лише для читання, оброблених systemd-clonesetup-generator шляхом читання з /etc/clonetab.
Атомні модернізації та зміни навколишнього середовища
Пакет systemd-sysupdate, розроблений для оновлення системи шляхом атомарної заміни розділів і каталогів, тепер підтримує постійну базу даних встановлених файлів. Додано команду cleanup для видалення зайвих файлів , а також прийнято концепцію «пропонованих компонентів». Ці компоненти можна динамічно оцінювати на основі архітектури машини або MachineTags для автоматизації встановлення драйверів.
Інші суттєві зміни у версії 262 включають:
- systemd-vmspawn: Додає підтримку запуску конфіденційних віртуальних машин на архітектурі Intel TDX (–coco=tdx), приєднуючись до AMD SEV-SNP.
- OpenSSL та реєстрація: Система незмінності записів (Forward Secure Sealing, FSS) переноситься з бібліотеки libgcrypt до власних криптографічних функцій OpenSSL. Також додається початкова підтримка компіляції для OpenSSL 4.
- Термінал та зручність використання: Утиліта ескалації привілеїв run0 додає сумісні з sudo параметри, такі як -k, -K та -v, для скидання або перевірки тайм-ауту авторизації Polkit. vconsole дозволяє встановити розмір шрифту на 100% або 200% за допомогою FONT_SCALE, а запити на пароль для токенів FIDO2 тепер відображатимуть кількість спроб введення PIN-коду, що залишилися.
- systemd-sysctl: Тепер він містить прапорець –verify для перевірки шляхом повторного зчитування, чи було значення, записане в систему, фактично застосовано.
Зрештою, якщо ви зацікавлені дізнатися більше, ви можете знайти деталі за наступним посиланням.