Новая версия системы инициализации systemd 256 вышла под провокационным лозунгом, демонстрирующим отход от философии Unix на 42%. Как анонсировал ведущий разработчик проекта Ленарт Поэттеринг, это первый релиз с 9-битным номером версии.
Systemd – это менеджер системных сервисов для Linux, разработанный для повышения скорости загрузки и упрощения управления сервисами. Она заменяет традиционные системы инИт, такие как System V и Upstart, предлагая более современные и функциональные возможности. Systemd использует параллельный запуск процессов, контроль ресурсов с помощью cgroups и имеет собственные механизмы для управления зависимостями между задачами. Её цель – упростить и улучшить администрирование, обеспечивая более быстрый и надёжный запуск системы.
По традиции релиз привносит обширный набор новых возможностей, но также расстаётся с некоторыми устаревшими функциями. К примеру, systemd 256 больше не поддерживает механизм управления ресурсами cgroups в первой версии, если специально не активировать эту опцию.
Напомним, cgroups – это технология контейнеризации ядра Linux, исходный код которой был передан Google ещё в 2008 году. Вторая версия cgroups вошла в ядро в 2016 году, так что отказ от первой вряд ли можно назвать радикальным шагом. Кроме того, устаревшими теперь считаются системные скрипты System V и переменная UEFI SystemdOptions.
Среди новых команд и параметров есть как сравнительно мелкие дополнения, так и серьёзные нововведения. К первым относится, к примеру, утилита systemd-vpick для автоматического выбора самой свежей версии из каталогов с версионированными файлами. Но энтузиастам OpenVMS не стоит обольщаться – в Linux по-прежнему отсутствует поддержка версионирования файлов и каталогов как таковая. Новая технология предполагает использование суффикса.v/ для обозначения путей к каталогам.
А вот новая команда run0, призванная заменить популярную sudo из macOS и Ubuntu, по мнению некоторых специалистов, наверняка вызовет широкий резонанс. Сам Поэттеринг представил эту команду в одном из тредов Mastodon. Ключевое преимущество run0 – отказ от функции setuid, базового системного вызова POSIX, который используется sudo для запуска команд от лица суперпользователя. Именно этот “трюк” Поэттеринг считает “плохой идеей” в духе Unix, от которой пора избавляться. Его идеалом является ОС “полностью без setuid”. Вместо подобных ухищрений run0 просто передаёт команду демону systemd через systemd-run.
Другие новинки – команда importctl для импорта и экспорта образов дисков (блочных и файловых систем), а также “капсулы” – новый вид системных сервисов. Ещё одно нововведение – системный сервис-менеджер systemd-ssh-generator, позволяющий виртуальным машинам и контейнерам принимать подключения по SSH при наличии бинарного файла sshd в системе, даже без сетевого доступа.
Как и ожидалось, многие подвергают сомнению целесообразность выпуска системы инициализации со столь обширным функционалом. И в какой-то степени эти опасения оправданы. Однако распространение systemd кажется уже неизбежным – этот инструмент используют большинство современных Linux-дистрибутивов, а новые проекты продолжают переходить на него. Хотя с момента появления systemd в 2008 году прошло немало времени, система по-прежнему критикуется консервативно настроенными пользователями из Unix-сообщества. Для них альтернативой остается FreeBSD.
Полный список изменений опубликован в примечаниях к релизу systemd 256. А разъяснения многих нововведений можно найти в тематических тредах , созданных самим Поэттерингом.