Релиз системы инициализации Upstart 1.7
Увидел свет релиз системы инициализации Upstart 1.7, изначально разработанной компанией Canonical и ныне используемой в дистрибутивах Ubuntu и RedHat Enterprise Linux 6, а также в проектах Maemo, Chrome OS и webOS. В отличии от стандартной init-системы SysV, Upstart базируется на парадигме обработки событий, работает в асинхронном режиме и использует метод учета зависимостей для определения последовательности запуска сервисов и оценки возможности их выполнения в параллельном режиме. Параллелизм запуска сервисов обеспечивает существенное повышение скорости загрузки, но ценой этому является необходимость определенной переработки init-скриптов (поддерживается режим совместимости, позволяющий запускать обычные sysvinit-скрипты, но эффективность загрузки и работы при этом теряется).В новой версии:
- В initctl добавлены новые команды set-env, unset-env, get-env, list-env, reset-env и list-sessions. Для всех команд, кроме list-sessions, подготовлены соответствующие методы D-Bus;
- Реализованы новые передаваемые через D-Bus сигналы EventEmitted, Restarted и EndSession;
- Добавлена возможность запуска с идентификатором процесса больше единицы, что открывает возможности для применения Upstart для управления сеансами пользователей (режим Session Init);
- Новый модуль upstart-event-bridge для проксирования системных событий на уровень сессий, что даёт возможность реагирования пользовательских заданий на события udev;
- В режиме Session Init добавлена поддержка чтения конфигурации задания и переопределения файлов из типовых путей хранения конфигурации, определённых в спецификациях freedesktop;
- В режиме Session Init добавлена поддержка завершения работы как через системный запрос, так и после завершения сеанса пользователя.
Особенности Upstart:
- Запуск и остановка задач и сервисов производится через генерацию события. Например, Upstart может запустить определенные сервисы после подключения к системе дополнительного устройства и завершить после его отключения;
- События генерируются при запуске или остановке задач и сервисов, что позволяет организовать привязку к ним других задач и сервисов;
- События могут быть получены от любого другого процесса в системе;
- Сервисы могут быть автоматически перезапущены при их непредвиденном завершении;
- Наблюдение и перезапуск демонов может производиться раздельно от их родительских процессов;
- Связь с управляющим init-процессом может осуществляться посредством D-Bus;
- Планируемые возможности: генерация событий в промежутки времени или через определенные интервалы (встроенный аналог cron), а также при изменении файлов или директорий (встроенный аналог incron).
© OpenNet