Автозапуск демонів в linux ubuntu, softodom - блог про програмування, софт, інтернеті і it

Отже, в цій статті поговоримо про авто запуску демонів в операційній системі Linux Ubuntu. Трапляється таке, що необхідно підкоригувати автозапуск деяких демонів в системі і створюється резонне питання «як це зробити».

Статтю я умовно розділив на 2 частини. У першій я розповім як все зробити швидко, а в другій ми розберемо все докладно.

Так ось, все досить просто. Підемо по шляху найменшого опору і познайомимося з такою чудовою утилітою як rcconf. У базовій комплектації ОС її немає, тому встановимо її:

sudo apt-get install rcconf

sudo apt-get install dialog rcconf

Витяг з мануала говорить нам наступне:

rcconf - Debian Runlevel configuration tool

тобто при перекладі на російську як то так:

rcconf - Debian рівень запуску конфігураційний інструмент

Загалом за допомогою цієї програми можна легко управляти запуском програм демонів у вашій системі. Після запуску запускаємо її:

і відключаємо / включаємо все, що нам треба при запуску системи. Відзначаємо зірочками потрібні демони, з непотрібних їх знімаємо і перезавантажуємося. Програма має простий і зрозумілий консольний інтерфейс, тому там розібратися не важко.

Так само нижче для повноти даю інформацію по ключам запуску rcconf.

  • -expert включає в список важливі системні демони
  • -now зупиняє або запускає демони відразу ж після закриття rcconf
  • -dialog | -whiptail | -notermcheck вибір зовнішнього вигляду
  • -verbose - виводить додаткову інформацію
  • -config * config_file * - дозволяє використовувати файл настройок (Згенерувати його можна c допомогою -list)
  • -list - виводить всі демони і їх статуси

Як бачите все просто. Програма просто чудова.

Взагалі в Linux так само як і в Microsoft Windows багато способів автоматичного запуску програм.

Якщо докладніше, то існують кілька способів зробити автозапуск програм / демонів в Linux:

  • записати виклик програми / скрипта запуску в /etc/rc.local в фоновому режимі () (в різних дистрибутивах може лежати в різних місцях, наприклад, /etc/rc.d/rc.local) з перенаправлення потоками введення / виведення в / dev / null. Наприклад, «/ home / user / my_prog 1> / dev / null 2> / dev / null ». Також, додатково, можна скористатися командою nohup;
  • внести виклик в / etc / inittab, згідно з правилами його оформлення. На відміну від першого способу тут можна вказати рівень запуску для програми;
  • написати скрипт, який дозволяє запускати / зупиняти / перезапускати програму як демона, а також отримувати інформацію про його стан. Саме цей спосіб найчастіше і використовується і є як би стандартом якості програми, про це і поговоримо.

Так ось, в каталозі /etc/init.d містяться, так звані, запускной скрипти всіх демонів, а також два файли (skeleton і README) для бажаючих написати собі свій запускной скрипт, зараз же це виходить за рамки цієї статті. Важливо розрізняти директорії /etc/init.d і / etc / init тому це далеко не однієї і теж, це неспроста. У першій лежать саме запускной скрипти, а в другій ініціалізацій скрипти. Загалом в цих папках ви знайдете файли автоматичного запуску багатьох програм / демонів. Можна взагалі просто видалити / перейменувати або змінити вміст конкретного файлу потрібної програми, що б поміняти тип її запуску або взагалі скасувати його.

Після створення в потрібній папці такого скрипта його необхідно прописати в автозавантаження. Для цього використовується утиліта update-rc.d, хоча в різних дистрибутивах і версіях можуть бути інші варіанти. Наприклад в Debian 6 stable і вище замість неї використовується програма insserv, але мова зараз про update-rc.d. Ось опис з її мануала:

update-rc.d - install and remove System-V style init script links

update-rc.d - установка і видалення посилань скриптів ініціалізації в стилі System-V

Тобто ця програма встановлює і видаляє ті самі скрипти. Значить для управління за потрібне скриптом ініціалізації / запуску використовується наступний синтаксис:

Тобто тепер, коли ми знаємо як все це влаштовано, ми можемо управляти автозавантаженням завантажувальних / сценарій запуску. Як правило файли цих скриптів називаються так само як і програма / демон для якої вони були написані, в усякому разі це правило хорошого тону. Значить знаходимо в директоріях /etc/init.d або / etc / init необхідний файл і видаляємо / додаємо його за допомогою програми update-rc.d з синтаксисом описаним вище.

Взагалі, як я ж казав, це далеко не єдиний спосіб запуску програми / демона, але про це якось патом.

На цьому мабуть все, дякую за увагу.