Есть ли «рекомендуемый способ» отключить службу в Debian? (Отключить = служба установлена, но не запускается автоматически при загрузке машины.)
Я знаю что ты можешь update-rc.d -f service remove
(который в основном удаляет ссылки в rcX.d
), но при этом вы теряете порядковый номер службы (SXXservice
, где XX - порядковый номер), что усложняет жизнь, когда вы хотите повторно включить службу. Я также знаю, что могу просто переименовать ссылки в rcX.d
чтобы они не начинали с S
(или переместите их в другое место), но мне было интересно, есть ли какой-нибудь способ сделать это, "одобренный Debian".
Взгляните на страницу руководства update-rc.d. Третий абзац раздела назван Установка ссылок на сценарий инициализации читает…
Распространенной ошибкой системного администрирования является удаление ссылок с мыслью, что это "отключит" службу, то есть предотвратит запуск службы. Однако, если все ссылки были удалены, то при следующем обновлении пакета сценарий postinst пакета снова запустит update-rc.d, и это переустановит ссылки в их заводские расположения по умолчанию. Правильный способ отключить службы - настроить службу как остановленную на всех уровнях запуска, на которых она запускается по умолчанию. В системе инициализации System V это означает переименование символических ссылок службы с S на K.
Последние два предложения должны ответить на ваш вопрос. :-)
Вы можете попробовать утилиту "sysv-rc-conf", чтобы немного облегчить себе жизнь. Это больше инструмент chkconfig другой системы.
Просто введите в подсказке:
sudo apt-get install sysv-rc-conf
Ура!
Фактически, sysv-rc-conf
- это подход, рекомендованный даже на странице руководства update-rc.d:
Обратите внимание, что эта программа была разработана для использования в сценариях сопровождающих пакетов и, соответственно, имеет очень ограниченную функциональность, необходимую для таких сценариев. Системным администраторам не рекомендуется использовать update-rc.d для управления уровнями выполнения. Они должны редактировать ссылки напрямую или использовать вместо них редакторы уровня выполнения, такие как sysv-rc-conf и bum.
Как я понял, "лучшая практика Debian" - это удалить пакет. Вам не следует устанавливать пакеты, если вы их не используете. Вот почему все пакеты Debian настроены на запуск при установке.
(Те несколько пакетов, которые можно было бы установить без запуска, обычно имеют настройку в своих /etc/default/<packagename>
файлы конфигурации, чтобы отключить запуск.)