Як зупинити автоматичний запуск Apache2 під час завантаження?


173

Як зупинити автоматичний запуск Apache2 під час завантаження? Я не можу знайти варіант, який відключає автоматичний запуск при включенні машини.


1
Можливо, хтось може бути більш конкретним, але я можу вказати вам у правильному напрямку ... в / і т. Д. Є каталоги для rc * .d, які містять усі скрипти запуску / зупинки, що називаються, я думаю, init скриптами. Ви побачите посилання на скрипти, які знаходяться в /etc/init.d, і починаючи з "k" або "s", для "kill" або "start", і число, яке є впорядкуванням.
Марті Фрід

Так, я знав про каталоги /etc/rcX.d, але шукав його, щоб дізнатися про якийсь кращий інструмент, ніж просто перейменування файлів вручну (життя занадто коротке). update-rc.dзаповнив цю порожнечу.
Томаш Гандор

Відповіді:


160

Під папкою /etc/init.d/ви знайдете всі скрипти init для різних служб завантаження, таких як 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.


2
chkconfig також може допомогти - "chkconfig {service_name} вимкнено"
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

2
@TomDogg, чи можете ви вказати версії, з якими працювали? Ця відповідь працює для Apache 2 на Ubuntu 14.04.3
Дейл Андерсон

1
Як відновити послугу?
Євген Конков

9
Увага! Це ВІДКРИТИ послугу! Використовуйте sudo update-rc.d apache2 disable.
Едуардо Куомо

194

ви можете просто відключити його:

sudo update-rc.d apache2 disable

а потім, якщо ви хочете знову ввімкнути це:

sudo update-rc.d apache2 enable

Залежно від проекту, над яким я працюю, зручно мати зручну послугу, якщо я хочу її повторно включити.


4
enableвидав мені помилку на кшталт runlevel arguments (none) do not match LSB Default-Start values, але, sudo update-rc.d apache2 defaultsсхоже, успішно її ввімкнув.
ось

2
@ ніде не sudo update-rc.d apache2 enableграв, як очікувалося для мене
Георгіос Плігоропулос

1
У Ubuntu Trusty він говорить мені: "API | enable | enable API не стабільний і може змінитися в майбутньому".
Таннер

1
Не працює - error: no runlevel symlinks to modify, aborting!. Однак, apache2 працює і автозапускається.
Даніель Кмак

Більше не працює:update-rc.d: error: no runlevel symlinks to modify, aborting!
TomDogg

55

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

ось приклад:

sudo systemctl disable apache2

Ви все одно зможете запустити та зупинити послугу, але вона не запуститься під час завантаження.


2
Linux Mint досі базується на Ubuntu 14.04. Ubuntu починає використовувати systemd з 15.04.
twan163

1
@dragonmnl, як сказав twan163, systemd призначений для новіших версій (debian jessie або еквівалент +)
mchid

1
це спрацювало чудово на Debian
Anupam

1
правильна відповідь для debian 9+
Джон

1
Якщо ви зіткнулися update-rc.d: error: no runlevel symlinks to modify, aborting!, відтворіть будь-які нижче відсутнє посилання; потім повторіть: /etc/rc0.d/K01 <service> /etc/rc1.d/K01 <service> /etc/rc2.d/S99 <service> /etc/rc3.d/S99 <service> / тощо / rc4.d / S99 <service> /etc/rc5.d/S99 <service> /etc/rc6.d/K01 <service>
Amil Waduwawara

5

Думав, що я просто додам відповіді від @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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.