В минувший понедельник, Стив Лангасек, разработчик Ubuntu, отвечающий за интеграцию и продвижение системы инициализации Upstart, включил в репозиторий Ubuntu пакет systemd. Данное действие является частью ранее заявленных планов по интеграции в Ubuntu ряда компонентов systemd, таких как hostnamed, localed и timedated.
Эти демоны контролируют авторизацию непривилегированных приложений при доступе к различным общесистемным настройкам (дата и время, часовой пояс, локаль, имя хоста), а также обеспечивают уведомление приложений об изменении этих параметров в режиме реального времени. В частности, когда графический настройщик, запущенный из сеанса непривилегированного пользователя, пытается изменить системные настройки, его полномочия проверяются в соответствии с правилами PolicyKit, и при необходимости выводится окно запроса административного пароля. В случае успешного подтверждения полномочий, в соответствующие конфигурационные файлы вносятся изменения, после чего через шину D-Bus отправляется сообщение всем программам, подписанным на данное событие. Также допускается ручная правка конфигурационных файлов от имени root — при этом, благодаря подписке на события, изменения вступят в силу немедленно после перезапуска соответствующих демонов (перезапуск X-сервера и графического сеанса, как раньше, уже не требуется). Большую часть времени эти демоны находятся в незапущенном состоянии, и активируются только при поступлении запросов через D-Bus или команд администратора, что позволяет экономить системные ресурсы.
Стоит отметить некоторые интересные особенности сборки пакета для Ubuntu. За основу взят пакет systemd из Debian, при этом из него удалено большинство бинарных файлов (systemd, udevd, journald, logind и т.д.), но (пока) оставлены библиотеки, использующиеся для доступа к их функциям. Демоны hostnamed, localed и timedated вынесены в отдельный пакет systemd-services. Таким образом, пользователи Ubuntu, начиная с выпуска 13.04, будут лишены даже существовавшей ранее теоретической возможности установить systemd из пакета Debian — теперь файлы из этого пакета будут конфликтовать с аналогичными файлами ключевых системных компонентов. Проще говоря, разработчики Ubuntu оставили возможность использовать для загрузки только технологию, принадлежащую Canonical, усложнив задействование конкурирующих (для сравнения, в Debian пользователь может свободно выбирать между SysV init, systemd и upstart).
Разработчик systemd Леннарт Поттеринг уже прокомментировал сложившуюся ситуацию, отметив, что стремление любыми путями избежать использования systemd как системы инициализации, на фоне усилий, направленных на портирование компонентов systemd в Ubuntu, является попросту мазохизмом, и что подобные глупые ситуации возникают вследствие преобладания политических соображений над техническими (очевидно, имелось в виду стремление Canonical внедрять и распространять собственные технологии, даже несмотря на то, что существующие альтернативы превосходят их по большинству параметров).
Тем временем, дистрибутив NixOS, основанный на пакетном менеджере Nix и предоставляющий ряд собственных разработок, упрощающих настройку и сопровождение системы (например, единый простой файл системной конфигурации, возможность быстрого отката обновлений, поддержка переключения между различными состояниями системы и т.д.), продемонстрировал полное безразличие к политике Canonical, сменив свою систему инициализации с upstart на systemd.