Рекомендований спосіб відключення послуги в Debian


10

Чи є "рекомендований спосіб" відключити послугу в Debian? (Disable = Послуга встановлена, але не запуститься автоматично, коли машина завантажується.)

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

Відповіді:


12

Подивіться на головну сторінку update-rc.d. У третьому абзаці розділу " Встановлення посилань сценарію Init" написано ...

Поширена помилка адміністрації системи - це видалення посилань з думкою, що це "відключить" службу, тобто, що це не дозволить запустити службу. Однак якщо всі посилання були видалені, то наступного разу, коли пакунок буде оновлений, поштовий сценарій пакета знову запустить update-rc.d, і це перевстановить посилання на їх заводських місцях за замовчуванням. Правильний спосіб відключення послуг - це налаштування служби як зупиненої у всіх рівнях запуску, в яких вона запускається за замовчуванням. У системі System V init це означає перейменування символічних зв’язків служби з S на K.

Останні два речення повинні відповісти на ваше запитання. :-)


наприклад:sudo update-rc.d postgresql disable
Lluís

5

Ви можете спробувати утиліту "sysv-rc-conf", щоб полегшити своє життя. Це більше інструмент chkconfig іншої системи.

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

sudo apt-get install sysv-rc-conf

Ура!


Гарний інструмент, дякую. Я бачу, що він також правильно відключає послуги (тобто перейменовуючи посилання на K ...).
Хайнзі

2

Насправді, sysv-rc-confтакий підхід рекомендується навіть на man-сторінці update-rc.d:

Зверніть увагу, що ця програма була розроблена для використання в скриптах для обслуговування пакунків і, відповідно, має лише дуже обмежену функціональність, необхідну для таких сценаріїв. Системним адміністраторам не рекомендується використовувати update-rc.d для управління рівнями запуску. Вони повинні редагувати посилання безпосередньо або використовувати редактори runlevel, такі як sysv-rc-conf та bum.


0

Як я зрозумів, "найкраща практика Debian" - це видалити пакет . У вас не повинно бути встановлених пакетів, якщо ви їх не використовуєте. Ось чому всі пакунки Debian налаштовані для запуску при встановленні.

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


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