Найти тему
Борис Державец

Версия 256 systemd может похвастаться «на 42% меньшим количеством философии Unix»

Включает в себя еще одну часть Linux, заменив sudo

Вышла последняя версия системы инициализации systemd с откровенно конфронтационным слоганом: «Скоро будет доступно в ближайшем дистрибутиве, теперь с философией Unix на 42 процента меньше». Как отмечается в объявлении Леннарта Поеттеринга, это первая версия systemd, номер версии которой представляет собой девятибитное значение. Версия 256, как обычно, содержит широкий набор новых функций, но также отключает некоторые старые функции, которые сейчас считаются устаревшими. Например, она не будет работать под cgroups версии 1, только принудительно. Примерно с 2008 года cgroups — это механизм контейнеризации ядра Linux, первоначально подаренный Google, десять лет назад. Cgroups v2 была объединена в 2016 году, так что это не радикальное изменение. Сценарии служб System V также устарели, как и переменная EFI SystemdOptions. Кроме того, есть несколько новых команд и опций. Некоторые из них относительно незначительны, например, новый двоичный файл systemd-vpick, который может автоматически выбирать последний член версионных каталогов.

Прежде чем поклонники OpenVMS начнут волноваться, отметим, что Linux теперь не поддерживает версии для файлов и каталогов. Вместо этого это новый вариант, который использует формализованную систему управления версиями, включающую: … пути, конечные компоненты которых имеют суффикс .v/, указывающий на каталог. Затем эти компоненты будут автоматически искать подходящие файлы внутри каталога, выполнять сравнение версий и открывать самый новый найденный файл (по версии). Последняя функция, которая вызовет у некоторых раздражение, — это совершенно новая команда run0, которая эффективно заменяет команду sudo, которая использовалась в macOS от Apple и в Ubuntu с момента первого выпуска. Агент P представил новую команду в Mastodon thread. Он говорит, что ключевым преимуществом является то, что run0 не требует setuid, базовой функции POSIX, которая, цитируя страницу руководства Linux, «устанавливает эффективный идентификатор пользователя вызывающего процесса». Другими словами, sudo творит черную магию, чтобы заставить ОС обрабатывать команду, выполняемую обычным непривилегированным пользователем (то есть вами, peon), как если бы вместо этого эту команду выполнил суперпользователь «root». Это очень старая команда, появившаяся еще в 1980 году, но она стала массовой только в начале этого столетия. Вскоре это было настолько принято, что даже к 2006 году оно стало предметом комиксов.

Г-н Поттеринг считает этот фокус-покус плохим делом: В моем идеальном мире у нас была бы ОС вообще без SUID. Давайте выкинем концепцию SUID на свалку плохих идей UNIX.

Новая альтернатива не допускает такой ловкости рук. Вместо этого он просто заставляет демон systemd выполнить команду за вас, используя специальную форму существующей команды systemd-run.

Еще одна новая команда — importctl, которая управляет импортом и экспортом образов дисков как на уровне блоков, так и на уровне файловой системы. И есть новый тип системной службы, называемый капсулой, и «небольшой новый менеджер служб» под названием systemd-ssh-generator, который позволяет виртуальным машинам и контейнерам принимать SSH-соединения, пока systemd может найти двоичный файл sshd — даже если сеть не подключена. доступный. Как обычно, многие старые мастера xNix будут ворчать, что такого рода функциональность не принадлежит системе инициализации. Возможно, это так, но рост популярности systemd сейчас кажется неумолимым. В настоящее время его используют явное большинство дистрибутивов, и новые пользователи все еще появляются. Есть еще некоторые противники, и FreeBSD находится здесь как безопасное место.

Picture 1
Picture 1