Upstart — унаследованная событийная система инициализации и управления службами, разработанная Canonical. Её использовали старые Ubuntu и несколько других дистрибутивов, но современные выпуски Ubuntu работают с systemd. Изучайте Upstart для подтверждённого унаследованного хоста, а не как стандартное предположение о новой установке.
Init · Урок 3
Обзор Upstart
Узнайте, как унаследованная система Upstart связывает выражения событий с целями жизненного цикла jobs.
Подтверждение унаследованного хоста Upstart
Проверьте PID 1 и активный интерфейс управления:
$ ps -p 1 -o pid,comm,args=
$ readlink /proc/1/exe
$ initctl version
Последняя команда осмысленно работает только при наличии службы управления Upstart и клиента. Каталог /usr/share/upstart или оставшиеся файлы /etc/init — слабый признак: пакеты и следы миграции могут сохраняться после перехода на другую систему.
Что наиболее надёжно доказывает реальное использование Upstart хостом?
Jobs и события
Job Upstart описывает службу или задачу: команды процесса и условия жизненного цикла. Событие — именованное уведомление с необязательными переменными среды. Конфигурация job выражает, когда её цель должна стать запуском или остановкой.
Системные файлы jobs обычно находятся в /etc/init/ и имеют суффикс .conf. Например:
description "Example worker"
start on runlevel [2345]
stop on runlevel [016]
exec /usr/local/sbin/example-worker
Здесь события runlevel служат входами совместимости. Upstart также может реагировать на события файловой системы, устройств, сети или приложений — в зависимости от того, что выдаёт система.
Что определяет секция Upstart start on?
Событийный запуск
Во время запуска Upstart загружает определения jobs и получает события. Совпавшие выражения start on или stop on обновляют цели; переходы jobs могут выдавать дополнительные события и разблокировать другую работу. Независимые jobs способны выполняться параллельно.
Модель избегает одной жёстко заданной глобальной последовательности сценариев, но её трудно диагностировать при неявных именах, порядке и условиях событий. По умолчанию события не являются постоянной очередью, поэтому добавленная позднее job или изменённое условие не должны ожидать повторения всех прошлых событий.
Как одна job Upstart может привести к запуску другой?
Миграция и совместимость
Systemd может предоставлять ограниченную совместимость с некоторыми унаследованными сценариями служб, но не выполняет синтаксис jobs Upstart как родные units. При миграции переводите условия жизненного цикла, окружение, политику respawn, журналирование, зависимости и семантику готовности, а не механически переименовывайте файлы.
Какую систему инициализации используют современные стандартные выпуски Ubuntu?
Урок завершён
Вы завершили Обзор Upstart
Теперь вы можете понимать Upstart как унаследованную модель событий и jobs.
Подтверждать живой PID 1 и интерфейс управления.
Отличать определения jobs от уведомлений событий.
Интерпретировать
start onиstop onкак выражения жизненного цикла.Явно переносить семантику вместо переименования конфигурационных файлов.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт