Як запобігти запуску демона при завантаженні в Debian


16

Є кілька демонів, які я відключаю від запуску при завантаженні. Як приклад, я використовую наступне:

 sudo update-rc.d -f postgresql remove

Я навіть не впевнений, що ця команда правильна, і я не пам'ятаю, звідки я її взяв.

У будь-якому разі, коли я оновлюю postgresql, налаштування втрачається (тобто демон перезапускається).


1
Мені подобається Debian із SysVinit file-rc. Замість керування символьними посиланнями я керую текстовим файлом зі своїми конфігураціями runlevel.
Жил 'ТАК - перестань бути злим'

Відповіді:


22

update-rc.dспочатку використовувався сценаріями оновлення пакунків. removeвикликається при видаленні пакета та видаляє всі посилання, defaultsвикликається при встановленні пакету enableабо disableможе використовуватися залежно від debconf і корисний для sysadmins. Розмитнення removeнасправді не корисні для відключення послуги. На чоловіковій сторінці:

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

sudo update-rc.d postgresql disableзробить те, що ви хочете, тому що він зберігає rc.d символічні посилання, але з префіксом K (вбито, зупинено). Поверніть його за допомогою enable. Деякі служби підтримують відключення /etc/defaults/$serviceфайлів зі свого файлу, але, на жаль, є винятки. Інші способи відключити послугу - це chmod -x /etc/init.d/$serviceфайл або вставлення значка exit 0вгорі.


6

Щоб уточнити найкраще рішення, подібний до відповіді, яку дав Тобу:

  1. Не використовуйте update-rc.dз removeопцією.
  2. Замість цього використовуйте update-rc.dз disableопцією.

Приклад: update-rc.d postgresql disable


ПЛЮС, Ви також можете знайти (та відключити) інші, більш конкретні сервіси systemctl.

Приклад: systemctl disable pppd-dns.service


+1 за пораду не використовувати варіант ВИДАЛЕННЯ
PYK

3

Tobu абсолютно вірно, але для повноти картини є інструмент , щоб дати вам смарт - огляд: sysv-rc-conf. Для копіювання та виправлення:

apt-get install sysv-rc-conf

Запуск sysv-rc-confви побачите, який сценарій виконується в якому рівні запуску. Ви можете ввімкнути / вимкнути послуги через spaceта вийти з них q.


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