В Upstart планируется добавить механизм управления пользовательскими сеансами, повторяющий возможности systemd

Группа разработчиков из проекта Ubuntu планирует добавить в систему инициализации и контроля за выполнение системных сервисов Upstart механизм управления пользовательскими сеансами, полностью копирующий аналогичную функциональность systemd. Леннарт Поттеринг (Lennart Poettering), создатель systemd, написал по этому поводу заслуживающую внимание заметку, раскрывающую некоторые тонкости перехода десктоп-окружений на новые подсистемы управления пользовательскими сеансами.

Уже на протяжении долгого времени, в systemd присутствует возможность использования не только в качестве общесистемного процесса init (работает от имени root), но и в качестве ведущего процесса пользовательского сеанса (запускается от имени пользователя). Учитывая определенное сходство процессов инициализации системы и пользовательского сеанса (которые сводятся, по сути, к запуску определенного набора фоновых процессов), эти задачи могут быть успешно решены одним и тем же кодом.

В настоящее время, практически все десктоп-окружения поддерживают свои собственные, несовместимые между собой системы инициализации пользовательских сеансов. Переход на стандартный механизм позволил бы значительно упростить и унифицировать соответствующие процедуры. Именно из этих соображений в systemd была добавлена данная функциональность. Однако разработчики systemd не планировали в обозримом будущем форсировать такой переход, чтобы не создавать трудностей разработчикам десктоп-окружений — в настоящее время многие дистрибутивы используют системы инициализации, отличные от systemd, и для них пришлось бы поддерживать старый код управления сеансами, что свело бы к нулю все выгоды и создало бы ряд проблем совместимости.

Однако, разработчиков Upstart такие проблемы не пугают. В их планы входит полное копирование функциональности systemd в пространстве пользователя, включая запуск ведущего процесса сеанса от имени соответствующего пользователя, и делегирование пользователю возможностей управления собственным сеансом (добавление собственных конфигурационных файлов для служб, запуск и остановка служб соответствующими командами). Также планируется реализовать некоторые побочные функции — например, встроенный в systemd механизм реагирования на события файловой системы (inotify).

Разумеется, для обеспечения требуемой функциональности, требуется модифицировать и код десктоп-окружений. Разработчики Upstart пока не уточняют, каким образом они планируют это делать — поддерживать патчи на уровне дистрибутива или продвигать их в апстрим. В любом случае, для запуска в Ubuntu во все десктоп-окружения будет необходимо интегрировать альтернативный механизм управления пользовательским сеансом, который будет совместим только с Ubuntu.

Леннарт Поттеринг, отмечает, что разработчики из Canonical сознательно идут на раскол, стремясь создать вокруг Ubuntu собственную экосистему, изолированную от мира GNU/Linux (хотя и основанную на его компонентах), как это уже сделали разработчики Google, создавая Android. Первым таким шагом стало создание Unity — десктоп-окружения, которое работает только и исключительно в Ubuntu. Следующим шагом, очевидно, будет жесткая привязка всех поддерживаемых пользовательских окружений к механизмам, специфичным для Upstart.

Стоит заметить, что это далеко не первый случай копирования в Upstart возможностей systemd. Например, большинство нововведений ветки 0.9, включая возможность блокировки запуска службы, создание override-конфигов, поддержка inetd-style сокетов, были скопированы с systemd. В последующих версиях разработчики продолжили эту практику — в качестве примера можно привести поддержку перезапуска процесса init на лету, с сохранением состояния всех служб. Любопытно, что именно эти разработчики, в частности, Steve Langasek, весной этого года блокировали инициативу перехода Ubuntu на systemd, мотивируя это исключительно тем, что дистрибутив еще не оправился от проблем после перехода с sysvinit на Upstart.

В то же время, на недавно прошедшем саммите разработчиков Ubuntu было объявлено о начале работ по интеграции в Ubuntu ряда компонентов systemd, включая hostnamed, localed и timedated (демонов, осуществляющих авторизацию доступа к общесистемным настройкам, а также ответственных за информирование приложений об изменении этих настроек). Ранее эта работа выполнялась службой ubuntu-system-settings.

Источник:
http://www.opennet.ru/opennews/art.shtml?num=35420

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>