Как системные сервисы запускаются в 12.10?

В Ubuntu меня всегда смущало то, как запускаются системные службы. Я знаю, что Ubuntu использует Upstart и поддерживает SysV, но какой из них используется для запуска служб? Это имеет значение, когда вы хотите запустить сервис вручную.

Например, в моей системе у меня есть файлы для следующих служб в /etc/init.d/<service> (SysV) и /etc/init/<service>.conf (Upstart):

acpid, mysql, networking, qemu-kvm, ufw, libvirt-bin

Так что если я хочу отключить выполнение MySQL на при запуске, я должен использовать способ Upstart или SysV, чтобы отключить его? Кроме того, как я могу сказать, какой из них действительно используется для запуска универсального сервиса?

Редактировать

Реальное сомнение здесь не в том, как отключить / включить сервисы с помощью SysV / Upstart. Что меня действительно смущает, так это то, что некоторые службы, кажется, определены (и включены) в SysV и Upstart одновременно. Есть ли какой-то приоритет между ними (например, если mysql включен при запуске его с помощью SysV)? Или может быть так, что один инструмент использует другой в фоновом режиме?

12
задан 4 December 2012 в 05:08

2 ответа

Это действительно в основном зависит от приложения и его упаковочного специалиста по обслуживанию.

Существует решительное предпочтение Новомодным сценариям, потому что они обрабатывают события (который обычно является большой вещью), но много приложений не имеет достаточно хорошие Новомодные сценарии в наличии, или специалист по обслуживанию приложения принял решение придерживаться значений по умолчанию (приложение или Debian).

Так или иначе Вы находитесь в положении, где необходимо адаптироваться.

  • Для выскочки:
    • Переименуйте файл к чему-то, что не заканчивается .conf, или
    • Добавить manual в файл. Это позволит Вам вручную загружать сервис.
  • Для более старых сервисов:

    update-rc.d -f <service> remove
    

Если Вы имеете /etc/init.d/ сценарий для чего-то и /etc/init/ сценарий и Вы хотите проверить, ли init.d версия, все еще живут, можно свериться:

ls -l /etc/rc?.d/*<service>

Если Вы видите загрузку символьных ссылок, она установлена в старом SysV init.

6
ответ дан 4 December 2012 в 05:08

Что касается сервисов, которые определены как в SysV, так и в upstart, то, как правило, если вы перезапустите его через SysV, вы увидите нечто вроде этого: эти сервисы, а реализация SysV - просто оболочка.

Кроме того, я думаю, что у вас есть смысл каталогов в обратном направлении. / etc / init - это конфигурация upstart, /etc/init.d - это совместимость с SysV, но это всего лишь символические ссылки на upstart для таких сервисов.

0
ответ дан 4 December 2012 в 05:08

Другие вопросы по тегам:

Похожие вопросы: