Далі: Рівні роботи
Вгору: 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
|