Рівні запуску

Linux Mint успадкував систему запуску, прийняту колись у Unix System V Головна її відмінність – наявність декількох рівнів завантаження системи Почнемо з того, що всі сервіси, що встановлюються в системі за допомогою пакетів, прописують в каталог / etc / initd – скрипт, що дозволяє ними керувати

Крім безпосередньо запуску сервісу такий скрипт може встановлювати додаткові змінні і параметри, необхідні для його коректної роботи Скрипт називається, як правило, так само, як і виконуваний файл, або його імя показує призначення Наприклад, за запуск, зупинку і перезавантаження мережевих інтерфейсів відповідає скрипт / etc / init / d / networking Наприклад, щоб перезапустити мережеві інтерфейси (ну хіба мало навіщо), просто вводимо

$ sudo /etc/init/d/networking restart

або, як варіант, замість restart використовуємо force-reload для швидкого перезавантаження сервісу

ПРИМІТКА

Якщо запустити скрипт без додаткових вказівок, він видасть допустимі параметри, зазвичай це start, stop, restart і force-reload

Якщо подивитися список файлів в / etc / initd, то ми побачимо, що їх досить багато Видалити звідти файл, значить, фактично позбавити користувача можливості завантажити сервіс вручну Виникає резонне питання: вони всі завантажуються Ні На етапі розвитку Unix-систем прийшли до простої схеми: в каталозі / etc / initd розміщуються скрипти, а в окремому каталозі або файлі вказується список тих, які необхідно запускати У Linux Mint використовуються саме каталоги В / etc знаходяться каталоги з імям, що починається з rc – / etc / rclocal, / etc/rc0d, / etc/rc1d,

/ Etc/rc2d, / etc/rc3d, / etc/rc4d, / etc/rc5d, / etc/rc6d та / etc / rcSd Якщо переглянути список файлів усередині, то побачимо, що всі вони є символічними посиланнями на файл в / etc / initd Наведу для прикладу частина файлів, розміщених в / etc/rc5d / Для цього скористаємося консольної командою Is

$ ls -al /etc/rc2d/

lrwxrwxrwx  1 root root   20 2010-05-22 13:14 K20fancontrol

-&gt  ./initd/fancontrol

lrwxrwxrwx  1 root root   17 2010-05-22 13:14 S20hddtemp

-&gt  ./initd/hddtemp

lrwxrwxrwx  1 root root   19 2010-05-22 13:14 S25bluetooth

-&gt  ./initd/bluetooth

lrwxrwxrwx  1 root root   18 2010-05-22 13:14 S99rclocal

-&gt  ./initd/rclocal

Як бачите, файл / etc/rc5d/K20fancontrol насправді є символічною посиланням на файл / etc / initd / fancontrol

ПРИМІТКА

У консолі можна вказувати абсолютне імя файлу як відносно кореня дерева, так і щодо поточного становища При цьому () Точка означає поточний каталог, а дві точки (.) – каталог рівнем вище

Тепер розберемо, що ми отримали З каталогу / etc / rcSd запускаються базові системні компоненти, їх краще не чіпати Трохи вище було сказано про рівні завантаження (runlevels) Linux, які дозволяють встановити сервіси в залежне ти від обраного варіанту використання системи Всього пять рівнів, розглянемо їх

1 Однокористувацький режим – в системі не запускаються додаткові служби, як правило, доступна одна консоль, відсутні мережеві підключення Застосовується зазвичай при аварійно-відновлювальних роботах

2 Багатокористувацький режим з мінімально необхідними сервісами – досту п до мережі відсутня, застосовується при первинній налаштуванні серверів з метою підвищення безпеки

3 Багатокористувацький режим – працюють всі зумовлені сервіси, мережу

доступна, в такому режимі завантажуються всі сервера

4 Не використовується / не визначений – адміністратор може самостійно його налаштувати

5 Багатокористувацький режим з використанням графічної підсистеми – саме про в ньому працюють за замовчуванням всі дистрибутиви, орієнтовані на роботу в якості настільної системи

Крім цього визначено режими: 0 – зупинка системи і 6 – перезавантаження Їх також не слід чіпати, оскільки в цих режимах виконуються операції з коректного завершення роботи системи (размонтирование ресурсів, зупинка служб і т д) Так говорить теорія, але на практиці з правил, як звичайно, є винятки Якщо переглянути посилання в Linux Mint, то вийде, що різниці

між рівнями 25 немає Команда runlevel, введена в Linux Mint, виводить рівень 2 завантаження:

$ runlevel

ПРИМІТКА

Як варіант, для перегляду рівня завантаження можна використовувати команду who-r

Надалі будемо вважати, що Linux Mint завантажується на рівні 2, тому нас цікавить вміст каталогу / etc/rc2d / Після установки системи в ньому знайдемо

більше десятка посилань, імя яких буде починатися з літери S або К, потім слідує цифра і назва програми Цифра показує порядок завантаження демонів Це зроблено для того, щоб задовольнити залежності Наприклад, деякий сервіс вимагає, щоб спочатку була активована мережа: якщо його запустити, перед тим як будуть підняті мережеві інтерфейси, він завершиться з помилкою Чим менше цифра, тим раніше завантажиться демон Якщо ви додаєте свій сервіс і не впевнені в тому, що знаєте порядок, встановіть просто саму максимальну цифру – 99 До речі,

під 99 йде посилання на файл / etc / initd / rclocal Він разом с / etc / rclocal призначений

для запуску сервісів, визначених самим користувачем Просто відкриваємо файл в редакторі і вписуємо команду для запуску, і потрібна програма або сервіс

будуть завантажені разом з системою Самостійно створити заслання за допомогою команди в терміналі дуже просто:

$ ln -s /etc/initd/samba /etc/rc2d/S20samba

Тут S (start) показує, що демон буде завантажуватися, а К (Kill) – не буде працювати Іншими словами, щоб тимчасово призупинити запуск демона при завантаженні систем, ми можемо не видаляти символічну посилання, а просто замінити букву S на К:

$ sudo mv /etc/rc2d/S20hddtemp /etc/rc5d/K20hddtemp

Тепер сервіс, що відслідковує температуру жорстких дисків, що не буде стартувати при завантаженні системи Відключаючи непотрібні сервіси, ми можемо економити системи ресурси, трохи розвантаживши систему

Вручну створювати і видаляти посилання необовязково У комплекті Linux Mint доступна консольна утиліта update-rcd, яка дозволяє створювати всі необхідні посилання і контролює черговість завантаження сервісів Всі її параметри доступні в довідковій системі man, щоб отримати доступ до неї, слід ввести в консолі

$ man update-rcd

Параметри запуску прості Щоб видалити програму program з автозавантаження, використовуємо

$ sudo update-rcd program remove

Якщо необхідно просто переглянути, що робитиме утиліта без виконання власне операції видалення, додаємо ключ-n Ключ-f дозволить примусово видалити посилання в будь-якому випадку Для активації сервісу на всіх рівнях використовуємо параметр defaults

$ sudo update-rcd program defaults

Можна вказати і дії на конкретних рівнях:

$ sudo update-rcd program start 20 2 3 4 5 stop 20 0 1 6

Тепер програма стартуватиме на рівнях 25 і відключена на рівнях 0,1 і 6 Цифра 20 на першій позиції вказує число, яке стоятиме після S або К, тобто S20 або К20

ПРИМІТКА

Утиліта insservis використовується дл я обновлени я списку символічно х посилань на основі LSB-сценарію в завантаження, щоб спочатку запускалися залежні сервіси Вона доступн а остан е установки Linux Mint, просто запустіть її в терміналі

Джерело: Яремчук С А Linux Mint на 100% – СПб: Питер, 2011 – 240 е: ил – (Серія «На 100%»)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*