next up previous contents index
Дал╕: Р╕вн╕ роботи Вгору: init Назад: init приходить першим

    
Настройка init для старту getty: файл /etc/inittab

На початку роботи init  чита╓ конф╕╜урац╕йний файл /etc/inittab . П╕д час роботи системи в╕н не буде б╕льше звертатися до цього файлу ╕ перечита╓ його, т╕льки якщо йому послано сигнал HUP140. Дякуючи цьому не потр╕бно перегружати систему, п╕сля зм╕н в /etc/inittab .

Синтаксис файлу /etc/inittab  трохи заплутаний, тому ми почнем з простого випадку конф╕╜урац╕╖ л╕н╕й getty . Рядки в файл╕ /etc/inittab  складаються з чотирьох пол╕в розд╕лених двокрапками:

id:робоч╕ р╕вн╕:д╕я:процес
Поля описан╕ трохи дал╕. Додатково /etc/inittab  може мати пуст╕ рядки та рядки, як╕ починаються символом номера141 - (`verb|#|'). Обидва типи таких рядк╕в ╕гноруються.

id
Це поле визнача╓ назву рядка. Для рядк╕в конф╕╜урац╕╖ getty  воно вказу╓ терм╕нал, де працю╓ даний getty  (л╕тери, що йдуть п╕сля /dev/tty  в назв╕ спец╕ального файлу пристрою). В ╕нших випадках це поле не ма╓ н╕якого значення (кр╕м х╕ба що обмежень по довжин╕). Але вс╕ рядки в /etc/inittab  повинн╕ мати в╕дм╕нн╕ м╕ж собою поля.

робоч╕ р╕вн╕
Т╕ робоч╕ р╕вн╕, на яких даний рядок треба виконувати. Робоч╕ р╕вн╕ задаються у вигляд╕ однозначних чисел (цифр) без розд╕лових знак╕в. (Робоч╕ р╕вн╕ описан╕ в наступному розд╕л╕).
д╕я
Визнача╓ спос╕б роботи даного рядка. Якщо в цьому пол╕ вказано respawn, то програма буде запускатися заново кожного разу, коли вона зак╕нчить роботу, якщо ж вказано once - програма викона╓ться один раз.
процес
Команда для виконання.

Для того, щоб getty  стартував на першому в╕ртуальному терм╕нал╕ (/dev/tty1 ) на вс╕х нормальних багатокористувацьких робочих р╕внях (2-5) сл╕д додади до inittab  такий рядок:

1:2345:respawn:/sbin/getty 9600 tty1

Перше поле вказу╓, що це рядок для /dev/tty1 . В другому кажеться, що команда повинна виконуватися на робочих р╕внях 2,3,4 та 5. Трет╓ поле вказу╓, що п╕сля зак╕нчення роботи ц╕╓╖ програми, ╖╖ треба перезапустити знову (тобто, користувач може заре╓струватися в систем╕, вийти з системи ╕ буде мати можлив╕сть заре╓струватися знову). Останн╓ поле рядка викону╓ команду getty  на першому в╕ртуальному терм╕нал╕.142

Якщо Вам потр╕бно додати терм╕нал╕в чи модем╕в в систему, Вам потр╕бно додати б╕льше рядк╕в в /etc/inittab  - по одному рядку на кожен терм╕нал чи модем. Як це зробити див╕ться в п╕дказках по init (8), inittab (5) та getty (8).

Якщо вказана в inittab  програма не може стартувати в╕рно, вона помира╓ зразу ж п╕сля старту. init  настро╓ний стартувати ╖╖ знову. Програма старту╓, вмира╓, старту╓ знову, зупиня╓ться... ╕ т.д. Це займа╓ страшенну к╕льк╕сть системних ресурс╕в. Тому init  веде обл╕к к╕лькост╕ раз╕в, що та чи ╕нша програма стартувала, ╕ якщо це трапля╓ться занадто часто, в╕н затриму╓ старт на п'ять хвилин.


Dmytro Kovalev
1999-06-10