Вопрос Как отключить сервер apache2 от автоматического запуска при загрузке


Мне было интересно, как я могу отключить сервер apache2 от запуска при загрузке? Кажется, я не могу найти вариант, который отключает его при автозапуске при включении машины.


143
2017-08-01 02:11


происхождения


Возможно, кто-то может быть более конкретным, но я могу указать вам в правильном направлении ... в / etc, есть каталоги для rc * .d, которые содержат все скрипты start / stop, называемые, я думаю, скриптами init. Вы увидите ссылки на скрипты, которые находятся в /etc/init.d, и начинаются с «k» или «s», для «kill» или «start» и числа, которое является упорядочением. - Marty Fried
Да, я знал о каталогах /etc/rcX.d, но я искал его, чтобы узнать о каком-нибудь более удобном инструменте, чем просто переименование файлов вручную (жизнь слишком коротка). update-rc.d заполнил эту пустоту. - Tomasz Gandor


ответы:


Под папкой /etc/init.d/ вы найдете все сценарии инициализации для разных загрузочных сервисов, таких как apache2, сети и т. д.

В зависимости от того, на каком уровне запуска запущен компьютер, запускаются разные службы. Итак, из /etc/init.d/ папка каждая «служба» связана с одной / несколькими / отсутствующими папками уровня запуска, названными из rc0.d в rc6.d,

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

Отключить apache2 просто введите:

sudo update-rc.d apache2 disable

Это отключает apache2 при запуске, но не удаляется, поэтому его можно снова включить. Чтобы удалить скрипты запуска apache2, выполните следующие действия:

Удалять apache2 просто введите:

sudo update-rc.d -f  apache2 remove

Это приведет к удалению всех папок уровня запуска, связанных с apache2.


127
2017-08-01 02:47



chkconfig также может помочь - "chkconfig {service_name} off" - MCR
Больше не работает: The script you are attempting to invoke has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs. (...) - TomDogg
@TomDogg, можете ли вы указать версии, с которыми вы работали? Этот ответ работает на Apache 2 на Ubuntu 14.04.3 - Dale Anderson
Как восстановить сервис? - Eugen Konkov
Предупреждение! Это будет УДАЛИТЬ обслуживание! использование sudo update-rc.d apache2 disable, - Eduardo Cuomo


вы можете просто отключить его:

sudo update-rc.d apache2 disable

а затем, если вы хотите включить его снова:

sudo update-rc.d apache2 enable

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


183
2017-10-08 00:08



enable дал мне ошибку, как runlevel arguments (none) do not match LSB Default-Start values, но sudo update-rc.d apache2 defaults похоже, успешно включил его. - here
@Вот sudo update-rc.d apache2 enable играл так, как ожидалось для меня - Georgios Pligoropoulos
В Ubuntu Trusty он говорит мне: «API-интерфейс disable | enable нестабилен и может измениться в будущем». - Tanner
Не работает - error: no runlevel symlinks to modify, aborting!, Однако apache2 работает и автозапуска. - Daniel Kmak
Больше не работает: update-rc.d: error: no runlevel symlinks to modify, aborting! - TomDogg


С systemd теперь мы можем использовать systemctl команды для предотвращения автоматического запуска службы при загрузке.

вот пример:

sudo systemctl disable apache2

Вы по-прежнему сможете запускать и останавливать службу, но она не запускается при загрузке.


44
2017-09-18 22:20



на Linux Mint (на основе ubuntu) этого не существует и не может установить его через apt-get install systemd >> Это может означать, что пакет отсутствует, был устарел или доступен только из другого источника. Однако следующие пакеты замените его: systemd-services systemd-services: i386 - dragonmnl
Linux Mint по-прежнему базируется на Ubuntu 14.04. Ubuntu начинает использовать systemd с 15.04 по. - twan163
@dragonmnl, как сказал twan163, systemd предназначен для более новых версий (debian jessie или эквивалент +) - mchid
это отлично работало на Debian - Anupam
правильный ответ для debian 9+ - John


Думал, что я просто добавлю ответы @gsullins и @tomodachi, для будущих читателей, которые использовали принятый ответ.

Если вы уже использовали:

sudo update-rc.d apache2 remove

Вы можете использовать аргумент defaults добавить apache2 обратно в автозапуск

sudo update-rc.d apache2 defaults

Затем вы можете включить / отключить

sudo update-rc.d apache2 disable
sudo update-rc.d apache2 enable

3
2018-03-01 00:10