Scroll to navigation

inittab(5) 2007-10-27-16:31 inittab(5)

НАЗВА

inittab - формат файлу inittab, використовуваного сумісним з sysv процесом init

ОПИС

Файл inittab описує, які процеси запускаються під час старту системи і під звичайної роботи комп'ютера (тобто, які скрипти виконуються з /etc/init.d/boot, /etc/init.d/rc, параметри getty і.т.д.). initd(8) розпізнає багатократні робочі рівні, кожен з яких включає набір процесів, що започатковуються. Дійсними робочими рівнями є 0-6 і A, B і C для записів ondemand (англ. за вимогою). Записи в inittab мають наступну форму:


id:runlevels:action:process
Рядки, що починаються з "#" вважаються коментарем і не беруться до уваги.


Ідентифікаційний номер. Унікальна послідовність з 1-4 чисел для ідентифікації запису в inittab (для sysvinit, компільованої з бібліотеками до 5.2.18 або a.out - лише 2 знаки).

Примітка: для getty або інших процесів реєстрації користувачів, поле id повинно дорівнювати суфіксу відповідного tty, на якому відбудеться реєстрація, наприклад, 1 для tty1. У протилежному випадку, реєстрація користувачів може не працювати як слід.


Робочі рівні. Перелік робочих рівнів, у яких відповідна дія матиме місце.

Дія. Поле, що вказує на дію, яка відбудеться.

Процес. Вказує на процес, який необхідно запустити. Якщо це поле починається зі знаку '+', init не робитиме журнальні записи у utmp і wtmp для цього процесу. Це може згодитись для програм getty, які наполягають на самостійному ведені журнальних записів до utmp/wtmp. (Це також вважається історичним недоліком.)

Поле робочих рівнів, runlevels, може містити знаки для декількох рівнів. Так, 123 означає, що процес повинен бути запущено у робочих рівнях 1, 2 і 3. Записи ondemand можуть містити позначення робочих рівнів A, B і C. Поле runlevels для пунктів sysinit, boot і bootwait буде ігноровано.

Під час зміни робочого рівня, всі процеси, що не вказано у новому робочому рівні буде вбито, спочатку за допомогою SIGTERM, затім SIGKILL.

Чинними діями для поля action є:


Процес буде перезаладовано якщо він обірветься (наприклад getty).

Процес запуститься один раз при входженні до відповідного робочого рівня і init зачекає на закінчення цього процесу.

Процес буде виконано один раз при входженні до вказаних робочих рівнів.

Процес буде виконано під час завантаження системи. Поле робочих рівнів runlevel ігноровано.

Процес буде виконано під час завантаження системи, init очікуючи на його завершення (наприклад /etc/rc). Поле робочих рівнів runlevel ігноровано.

Не здійснює жодної дії.

Процес, позначений як ondemand буде виконано тільки коли викликати вказаний робочий рівень "за вимогою". Однак, сам перехід до робочого рівня "за вимогою" не відбудеться. (Нагадуємо, робочими рівнями для ondemand можуть бути лише `a', `b' і `c'.)

Запис initdefault вказує на робочий рівень на якому зупинитись під час завантаження системи. Якщо жоден не вказано, init запитає користувача на системній консолі. Поле process ігнорується.

Процес буде виконано під час завантаження системи. Його виконання відбудеться до будь-яких процесів навпроти boot або bootwait записів. Поле runlevels ігнорується.

Процес буде виконано у випадку втрати живлення.Init, як правило, буде поінформовано про це через один з процесів комунікації з резервною батареєю UPS, підключеною до комп'ютера. Init зачекає на завершення процесу з powerwait запису, перед тим як продовжувати будь-які інші дії.

Схоже до powerwait, за виключенням того, що init не очікує завершення процесу.

Процес буде виконано, як тільки init поінформовано про відновлення живлення.

Процес буде виконано коли init буде поінформовано про виснаження резервної батареї UPS (лише у випадку, що спостерігаючий процес в змозі виявити такий стан).

Процес буде виконано при отриманні init сигналу SIGINT. Це означає, що хтось на системній консолі притиснув клавішну комбінацію CTRL-ALT-DEL. Типово, вона використовується, якщо хтось хоче виконати shutdown, тобто зупинити систему, увійти у однокористувацький режим або перезавантажити систему.

Процес буде виконано у випадку отримання init сигналу від оброблювача сигналів клавіатури про те, що певна спеціальна комбінація клавіш була введена на консолі.

Документацію цієї функції не є завершеною. Додаткову документацію слід шукати у пакеті kbd-x.xx (найостаннішим був kbd-0.94, під час складання цього документу). Загалом, вам необхідно закріпити певну комбінацію клавіш до дії "KeyboardSignal". Наприклад, щоб вказати комбінацію Alt-Uparrow як спеціальну, добавте наступне у файл keymaps:



alt keycode 103 = KeyboardSignal

ПРИКЛАДИ

Наступне є прикладом inittab, схожого з тими, що використовувались на ранніх системах Linux:


# inittab for linux
id:1:initdefault:
rc::bootwait:/etc/rc
1:1:respawn:/etc/getty 9600 tty1
2:1:respawn:/etc/getty 9600 tty2
3:1:respawn:/etc/getty 9600 tty3
4:1:respawn:/etc/getty 9600 tty4
У цьому прикладі виконується (скрипт) /etc/rc під час завантаження і запускається getty на терміналах tty1 до tty4.

Наступне є складнішим прикладом inittab, з різноманітними робочими рівнями (дивіться коментарі всередині):


# На якому робочому рівні зупинитися.
id:2:initdefault:
# Системна ініціалізація, перед усім іншим.
si::sysinit:/etc/rc.d/bcheckrc
# Рівень 0,6 для зупинки і рестарту,
# 1 - для однокористувацького режиму.
l0:0:wait:/etc/rc.d/rc.halt
l1:1:wait:/etc/rc.d/rc.single
l2:2345:wait:/etc/rc.d/rc.multi
l6:6:wait:/etc/rc.d/rc.reboot
# Що робити у випадку "3-пальцевого салюту".
ca::ctrlaltdel:/sbin/shutdown -t5 -rf now
# Рівні 2 і 3: getty на консолі; 3 - getty на порту
# модема.
1:23:respawn:/sbin/getty tty1 VC linux
2:23:respawn:/sbin/getty tty2 VC linux
3:23:respawn:/sbin/getty tty3 VC linux
4:23:respawn:/sbin/getty tty4 VC linux
S2:3:respawn:/sbin/uugetty ttyS2 M19200

ФАЙЛИ

/etc/inittab

АВТОР

Init була написана Miquel van Smoorenburg (miquels@cistron.nl). Цей посібник складено Sebastian Lederer (lederer@francium.informatik.unibonn.de) і змінено Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de).

ДИВІТЬСЯ ТАКОЖ

init(8), telinit(8)

---- Переклав Віталій Цибуляк <vi@uatech.atspace.com>

2007-10-27-16:31 © 2005-2007 DLOU, GNU FDL