Обзор Upstart
100%

Init · Урок 3

Обзор Upstart

Узнайте, как унаследованная система Upstart связывает выражения событий с целями жизненного цикла jobs.

Upstart — унаследованная событийная система инициализации и управления службами, разработанная Canonical. Её использовали старые Ubuntu и несколько других дистрибутивов, но современные выпуски Ubuntu работают с systemd. Изучайте Upstart для подтверждённого унаследованного хоста, а не как стандартное предположение о новой установке.

Подтверждение унаследованного хоста 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 как выражения жизненного цикла.

  • Явно переносить семантику вместо переименования конфигурационных файлов.

Сохраните прогресс

Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.

Создать бесплатный аккаунт
Следующий Урок
Назад к Init