После трёх месяцев разработки доступен релиз системного менеджера systemd 261. Ключевые изменения: подготовка к поддержке API для верификации возраста, поддержка подсистем Kexec Handover и Live Update Orchestration для перезапуска без потери состояния, подсистема IMDS (Instance Metadata Service), функциональность для защиты загрузки на системах без физического TPM (Trusted Platform Module), компонент systemd-sysinstall с реализацией инсталлятора.
Представлен релиз systemd 251 — свободного (GPLv2+) системного менеджера GNU/Linux.
Основные изменения:
повышены требования к окружению (Linux kernel 4.15 c опцией CLOCK_BOOTTIME, С11 с расширениями GNU) - поскольку разработчики systemd тщательно заботятся об обратной совместимости, заголовочные файлы по-прежнему C89
sd-boot сохраняет хэш командной строки ядра по-умолчанию в TPM PCR 12 вместо PCR 8 для улучшения совместимости с Grub, который активно использует данный регистр
в Boot Loader Specification добавлен файл /loader/entries.srel с описанием формата записей в /loader/entries/directory в ESP
юниты, прибитые systemd-oomd, получат соответствующий статус oom-kill
множество Private*= и Protect*= опций теперь доступно и для пользовательского инстанса системного менеджера (при наличии user namespaces в системе)
опция LoadCredential= теперь поддерживает папки /etc/credstore/, /run/credstore/, /usr/lib/credstore/ - см https://systemd.io/CREDENTIALS/
новая команда udevadm lock позволяет получить эксклюзивный доступ к блочному устройству на время выполнения критических операций - см. https://systemd.io/BLOCK_DEVICE_LOCKING/
добавлен юнит systemd-networkd-wait-online@<interface>.service для удобного ожидания появления сети на определённом интерфейсе
новая опция сборки default-user-shell= позволяет задать пользовательскую оболочку в явном виде вместо окаянного bash
Новый релиз системного менеджера GNU/Linux — systemd (лицензия GPL-v2+):
возможность явного или автоматического выбора из нескольких root разделов в образе диска с помощью параметра --image= в systemd-nspawn, systemd-dissect и других утилитах, работающих с образами дисков
новые опциональные параметры IMAGE_VERSION и IMAGE_ID в файле /etc/os-release
поддержка build-id и .note.package из ELF в systemd-coredump позволяет явным образом соотнести дамп памяти с конкретным пакетом, из которого был установлен соответствующий бинарник
поддержка UUID для событий udev, которая позволяет отслеживать конкретное событие в явном виде
поддержка JSON с помощью интерфейса DBus и параметра командной строки в systemd-hostnamed и systemd-networkd. В дальнейшей её планируется распространить на все компоненты systemd
автоматическое добавление хэшей паролей в shadow для пользователей systemd-homed
поддержка добавления пользователей и групп с помощью конфигурационных файлов в формате JSON в /etc/userdb/, /run/userdb/, /run/host/userdb/ и /usr/lib/userdb/
расширение механизма зависимостей с помощью неконфигурируемых автоматических обратных зависимостей (OnSuccessOf для OnSuccess, UpheldBy для Upholds, OnFailureOf для OnFailure и т. п.) для упрощения отслеживания и настройки зависимостей между юнитами
по многочисленным просьбам анонимусов с LOR была документирована архитектура systemd
И множество других изменений, исправлений и улучшений.
Не нуждающийся в представлении системный менеджер для GNU/Linux подготовил очередной релиз за номером 246.
В этом выпуске:
автоматическая загрузка правил безопасности AppArmor
поддержка проверки шифрования диска в юнитах с помощью ConditionPathIsEncrypted=/AssertPathIsEncrypted=
поддержка проверки переменных окружения ConditionEnvironment=/AssertEnvironment=
поддержка проверки цифровой подписи раздела (dm-verity) в .service юнитах
возможность передачи ключей и сертификатов через сокеты AF_UNIX без необходимости сохранения в файл
дополнительный спецификаторы в шаблонах юнитов для различных параметров из /etc/os-release
убрана поддержка .include из юнит файлов (была объявлена устаревшей 6 лет назад)
убрана поддержка недокументированных вариантов syslog и syslog-console для StandardError=/StandardOutput= в юнитах - вместо этого используются современные опции journal и journal+console
автоматические ограничения на размер всех tmpfs монтируемых самим systemd (/tmp, /run…)
дополнительные опции для systemd из команды загрузки ядра
От себя добавлю что релиз выглядит не столь новаторским как прошлый, добавивший systemd-repart, systemd-homed и userdb. Просто множество различных улучшений, удобств и исправлений.
Новый релиз пожалуй самого известного из свободных системных менеджеров.
Наиболее интересные (на мой взгляд) изменения в данном выпуске:
systemd-homed - новый компонент, позволяющий прозрачно и удобно управлять шифрованными домашними директориями, обеспечивающий переносимость (нет необходимости заботиться о разных UID на разных системах), безопасность (бэкэнд по-умолчанию LUKS) и возможность миграции на свежеустановленные системы копированием одного файла. Во всех подробностях рассказано в https://media.ccc.de/v/ASG2019-164-reinventing-home-directories
systemd-userdb - новый компонент, без которого нельзя было реализовать предыдущий сервис. Расширяемая база данных пользователей в JSON формате, заменяющая (в светлом будущем) и дополняющая (начиная с данного релиза) формат /etc/passwd
пространства имён для systemd-journald - теперь можно запустить отдельную копию демона журнала (со своими лимитами, политиками и т. п.) и использовать её для группы процессов
улучшения в поддержке SELinux
опция ProtectClock= для защиты системного времени от модификации, аналог ProtectSystem= и прочих Protect опций
множество улучшений в systemd-networkd в плане гибкости настройки маршрутов, QoS и т. д.
основательно переделан сайт https://systemd.io/ - теперь отличная документация сразу под рукой
новый логотип от Тобиаса Бернарда
И множество других изменений, который наверняка пройдут незамеченными на фоне оживлённой дискуссии по поводу homed и userd :)
Вышла новая systemd. Достойны отдельного упоминания (по мнению автора новости) следующие изменения:
команды networkctl теперь поддерживают globbing
публичный DNS от Cloudflare добавлен в список fallback DNS
сгенерированные юниты .device (например посредством systemd-fstab-generator) теперь не цепляют соответствующий .mount в качестве автоматической зависимости (Wants=) - то есть подключённый девайс не обязательно будет примонтирован автоматически
добавлена опция CPUQuotaPeriodSec= для задания отрезка времени по которому считается CPUQuota=
новая опция юнитов ProtectHostname= предотвращает изменение имени хоста
опция RestrictSUIDSGID= для запрета создания SUID/SGID файлов
можно задать network namespace с помощью пути к файлу через опцию NetworkNamespacePath=
можно создавать .socket юниты в определённом network namespace с помощью опций PrivateNetwork= и JoinsNamespaceOf=
возможность активировать .timer юниты при изменении системного времени или часового пояса с помощью опций OnClockChange= и OnTimezoneChange=
опция –show-transaction для ‘systemctl start’ позволяющая просмотреть что именно потребуется для активации данного юнита
поддержка L2TP туннелей в systemd-networkd
поддержка раздела XBOOTLDR (Extended Boot Loader) в sd-boot и bootctl монтируемого в /boot в дополнение к ESP (монтируемого в /efi или /boot/efi)
busctl может генерировать сигналы dbus
systemctl позволяет перезагрузку в определённую ОС (если загрузчик такое поддерживает)
И множество других любопытных новшеств и исправлений.