Бесплатно Экспресс-аудит сайта:

15.06.2024

Эра перемен в Linux: Systemd 256 ломает каноны и удивляет новыми командами

Новая версия системы инициализации 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. А разъяснения многих нововведений можно найти в тематических тредах , созданных самим Поэттерингом.