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

10

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

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

Heinzi
источник

Ответы:

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

Ура!

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

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

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

lubomir.brindza
источник
0

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

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

Тедди
источник
2
Ты не понимаешь. «не запускаться автоматически при загрузке» не означает «вообще не использовать пакет». В качестве одного упрощенного примера я мог бы хотеть, чтобы мой SSH-сервер запускался xinetd по мере необходимости, а не запускался как демон при загрузке.
Квик-кихот