Рівні ініціалізації в Ubuntu та CentOS

ініціалізації

Термін рівень виконання означає режим функціонування операційної системи комп'ютера, в якій реалізовано ініціалізацію в стилі ОС Unix System V. Традиційно існують сім рівнів виконання, пронумерованих від 0 до 6. Система в певний момент часу знаходиться на відповідному рівні виконання. wiki

Для запуску сервісу при старті Linux необхідно переконатись, що існує необхідний сервіс у папці /etc/init.d/. Приклад скрипта для запуску самописного сервісу можна переглянути в /etc/init.d/skeleton. Після цього можна додати сервіс при завантаженні або створивши вручну символ у потрібному рівні запуску /etc/rcX.d/, де X може змінюватися від 0..6 або за допомогою утиліт, наведених нижче.

Формат іменування скриптів

Порядковий номер може змінюватися від 1..99, що вище порядковий номер, то пізніше запуститься сервіс.

Після запуску всіх сервісів для вказаного рівня ініціалізації (runlevel) виконується скрипт /etc/rc.local, який містить сценарії користувача запуску.

Перегляд списку всіх сервісів та їх статус (працює під Ubuntu та CentOS)

Рівні ініціалізації в Debian (Ubuntu)

За промовчанням використовується рівень2.

У Ubuntu 9.10 та вище замінили SysV на Upstart. Тепер рівень ініціалізації вказується у файлі /etc/init/rc-sysinit.conf.

Додавання сервісу fooservice на рівні 2,3,4,5 за допомогою update-rc.d

Видалення сервісу fooservice

Запуск сервісу fooservice на рівні 5 із порядковим номером 91, зупинка на рівнях 1 2 3 4 6 із номером 9

Існують консольні утилітиsysv-rc-conf таrcconf зі зручним відображенням списку сервісів на кожному runlevel

GUI-додатки для керування налаштуваннями runlevels - Boot-Up Manager.

Урепозиторіях для Ubuntu є утиліта chkconfig (популярна у світі RedHat) для управління runlevels з консолі

Приклади використання є у розділі CentOS.

Детальніше про upstart можна прочитати у yakim.org.ua.

Рівні ініціалізації в RedHat (CentOS)

За замовчуванням використовується рівень3 або5.

Рівень ініціалізації вказується у файлі /etc/inittab.

Список усіх сервісів та їх стан

Стан сервісу httpd на всіх рівнях

Додавання нового сервісу

Включення сервісу на рівнях 3 та 5

Вимкнення сервісу на всіх рівнях

Також є консольна утилітаntsysv зі зручним відображенням списку сервісів на активному рівні, рівні перемикаються за допомогою ключа --level.