
Моя проблема в том, что я не хочу останавливать демон Apache с помощью команды./apache2 stop
из /etc/init.d
(я знаю, как это сделать). Я не хочу, чтобы служба Apache запускалась автоматически /etc/init.d
при запуске системы. Но мне также нужно сохранить службу в init.d
папке. Как это сделать? Нужно ли мне изменить некоторые поля в скрипте службы?
решение1
В зависимости от вашего дистрибутива, вы должны иметь возможность выполнить команду для отключения службы при запуске. Сделав это, она будет остановлена, пока вы не запустите ее вручную. Вот несколько примеров для разных дистрибутивов:
- Убунту/Дебиан:
update-rc.d -f apache2 remove
- Генту:
rc-update del apache2
- ArchLinux:
systemctl disable apache2
решение2
Это старая тема, но я добавлю то, что только что узнал, чтобы помочь другим, кто сюда заходит.
Для Debian проблема с данным ответом заключается в том, что изменение будет отменено при следующем обновлении программного обеспечения. Из страницы руководства для update-rc.d
:
Распространенной ошибкой системного администрирования является удаление ссылок с мыслью, что это "отключит" службу, т. е. что это предотвратит запуск службы. Однако, если все ссылки были удалены, то при следующем обновлении пакета скрипт postinst пакета снова запустит update-rc.d, и это переустановит ссылки в их заводские расположения по умолчанию.
Я считаю, что лучше использовать директиву disable:
sudo update-rc.d apache2 disable
Преимущество этого подхода заключается в том, что enable
директива может отменить изменение.