Как я выбираю, который способ позволить/запретить, запустите/остановите или проверьте состояние сервиса?

Если я хочу запустить системную установленную службу, я могу сделать:

# /etc/init.d/some-svc start
# initctl start some-svc
# service some-svc start
# start some-svc

Если я хочу отключить сервис от выполнения при начальной загрузке, я могу сделать:

# rm /etc/rc2.d/S99some-svc
# update-rc.d some-svc disable
# mv /etc/init/some-svc.conf /etc/init/some-svc.conf.disabled

Затем существуют столь же различные вещи, которые я могу сделать для включения сервисов для запуска при начальной загрузке и так далее.

Я знаю о том, что выскочка является (относительно) новой вещью, и я знаю о том, как SysV init раньше работал, и я неопределенно знаю о наборе ерунды D-шины, но что я не знаю, то, как каждый на самом деле предназначается для взаимодействия через интерфейс с этим материалом. Например, я не знаю, как легко определить, является ли сервис Новомодным заданием или вещью SysV прежней версии, на самом деле не прочитывая источник ее сценариев оболочки экстенсивно.

Так: если я хочу запустить или остановить сервис, или в данный момент или постоянно, какой из этих инструментов я должен использовать, и почему? Если ответ зависит от некоторого атрибута (как "эта сервисная выскочка поддержек") затем, как делают меня быстро и легко узнают о том атрибуте установленного пакета?

Связано, есть ли какие-либо инструменты пользовательского интерфейса, которые могут безопасно и правильно взаимодействовать с современной инфраструктурой обслуживания (выскочка, и/или независимо от того, что ее sysv совместимость)? Например, мог я надежно использовать sysv-rc-conf определить, какие сервисы должны запуститься?

7
задан 11 October 2012 в 09:01

1 ответ

Функционально, нет никакого различия ни между одним из этих методов вызова.

start и stop символьные ссылки на initctl. service сценарий оболочки, который определяет, выполнить ли init сценарий или использовать initctl.

Самый простой способ видеть, что является Новомодным заданием, состоит в том, чтобы смотреть на /etc/init/. Все там - Новомодное задание. Если Вы ls -l /etc/init.d/ Вы будете видеть каждый сервис и системную задачу. Задания SysV init будут реальными файлами, в то время как Новомодные задания будут символьными ссылками на /lib/init/upstart-job который правильно вызовет Новомодное задание.

Другими словами, можно также вызвать задания Upstart путем вызова, например, /etc/init.d/apport restart, хотя вывод предложит использовать сервис, запустите или остановитесь вместо этого.

Так, на практике это не имеет никакого значения (все же!). Но если бы я писал сценарий чего-то, то я, конечно, использовал бы сервис, запуститься, или остановка, поскольку нет почти никакого шанса, который будет удержанный от использования, тогда как вызов сервисов через/etc/init.d/мог уйти в будущем (хотя, вероятно, не скоро).

Примечание по отключению сервисов: переименование .conf работ файла, но я не рекомендую это. Вы могли бы отключить сервис тот путь, но если будет доступное обновление пакета, то dpkg будет копировать новую копию Новомодного задания и не предназначая это, Вашему сервису включают снова. Корректный способ отключить Новомодное задание состоит в том, чтобы использовать .override файл, который оставляет исходное задание неповрежденным.

Например, для отключения по левую сторону судна просто создайте названный файл /etc/init/apport.override это содержит слово "руководство".

# echo "manual" > /etc/init/apport.override

Лично, я избегал бы использования sysv-rc-conf. Может быть достаточно безопасно использовать его для изменения заданий SysV, но я не уверен; это, кажется, не поддерживает Новомодные задания, и нет никакого способа сказать форме интерфейс, который является который. Я придерживался бы с update-rc.d для управления сценариями SysV.

Для большего количества Выскочки информация см.:

  1. Новомодная поваренная книга: http://upstart.ubuntu.com/cookbook/
  2. Команда man 5 init: http://manpages.ubuntu.com/manpages/precise/en/man5/init.5.html
9
ответ дан 11 October 2012 в 09:01

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

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