Отже, в цій статті поговоримо про авто запуску демонів в операційній системі 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 з синтаксисом описаним вище.
Взагалі, як я ж казав, це далеко не єдиний спосіб запуску програми / демона, але про це якось патом.
На цьому мабуть все, дякую за увагу.