Рекомендуемый способ отключить службу в Debian


10

Есть ли «рекомендуемый способ» отключить службу в Debian? (Отключено = служба установлена, но не запускается автоматически при загрузке машины.)

Я знаю, что вы можете update-rc.d -f service remove(что в основном удаляет ссылки rcX.d), но при этом вы теряете порядковый номер службы ( SXXserviceгде XX - порядковый номер), что усложняет жизнь, когда вы хотите снова включить службу. Я также знаю, что могу просто переименовать ссылки, rcX.dчтобы они не начинались S(или переместить их куда-то еще), но мне было интересно, есть ли какой-нибудь «одобренный Debian» способ сделать это.

Ответы:


12

Загляните на страницу руководства update-rc.d. Третий абзац раздела « Установка ссылок сценария инициализации» гласит:

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

Последние два предложения должны ответить на ваш вопрос. :-)


например:sudo update-rc.d postgresql disable
Lluís

5

Вы можете попробовать утилиту "sysv-rc-conf", чтобы немного облегчить себе жизнь. Это больше инструмент chkconfig другой системы.

Просто введите в подсказку:

sudo apt-get установить sysv-rc-conf

Ура!


Хороший инструмент, спасибо. Я вижу, что он также правильно отключает службы (т. Е. Путем переименования символической ссылки в K ...).
Хайнци

2

На самом деле, sysv-rc-confэтот подход рекомендуется даже на man-странице update-rc.d:

Обратите внимание, что эта программа была разработана для использования в скриптах сопровождающего пакета и, соответственно, имеет только очень ограниченную функциональность, требуемую такими скриптами. Системным администраторам не рекомендуется использовать update-rc.d для управления уровнями выполнения. Они должны редактировать ссылки напрямую или использовать редакторы уровня запуска, такие как sysv-rc-conf и bum.


0

Насколько я понял, «наилучшей практикой Debian» является удаление пакета . У вас не должно быть установленных пакетов, если вы их не используете. Вот почему все пакеты Debian настроены для запуска при установке.

(Те немногие пакеты, которые могут быть полезны для установки без запуска, обычно имеют настройки в своих /etc/default/<packagename>файлах конфигурации, чтобы отключить запуск.)


2
Ты не понимаешь. «не запускаться автоматически при загрузке» не означает «вообще не использовать пакет». В качестве одного упрощенного примера я мог бы хотеть, чтобы мой SSH-сервер запускался xinetd по мере необходимости, а не запускался как демон при загрузке.
Квик-кихот
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.