9

Моя проблема в том, что я не хочу останавливать демон apache с помощью команды ./apache2 stop из /etc/init.d (я знаю, как это сделать). Я не хочу, чтобы служба apache запускалась автоматически в /etc/init.d при запуске системы. Но мне также нужно сохранить сервис в папке init.d Как я могу это сделать? Нужно ли менять некоторые поля в служебном скрипте?

2 ответа2

18

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

Для Debian проблема с данным ответом состоит в том, что изменение будет отменено при следующем обновлении программного обеспечения. Со страницы руководства для update-rc.d:

Распространенной ошибкой системного администрирования является удаление ссылок с мыслью, что это "отключит" службу, т. Е. Предотвратит запуск службы. Однако, если все ссылки были удалены, то при следующем обновлении пакета сценарий postinst пакета снова запустит update-rc.d и переустановит ссылки в их заводских местоположениях по умолчанию.

Я считаю, что лучше использовать директиву отключения:

sudo update-rc.d apache2 disable

Это имеет то преимущество, что директива enable может отменить изменение.

8

В зависимости от вашего дистрибутива вы сможете выполнить команду, чтобы отключить службу при запуске. При этом он будет остановлен, пока вы не запустите его вручную. Вот несколько примеров на разных дистрибутивах:

  • Ubuntu/Debian: update-rc.d -f apache2 remove
  • Gentoo: rc-update del apache2
  • ArchLinux: systemctl disable apache2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .