INITTAB
Updated: 19 мая 1998
Index Return to Main Contents
НАЗВАНИЕ
inittab - формат файла inittab, используемого sysv-совместимым процессом initОПИСАНИЕ
Файл inittab описывает, какие процессы запускаются во время загрузки и во время нормальной работы (например /etc/init.d/boot, /etc/init.d/rc, gettys...). Init(8) различает несколько уровней выполнения, каждый из которых может иметь свой собственный набор запускаемых процессов. Действительными уровнями выполнения являются 0-6 плюс A, B, и C для ondemand записей. Запись в файле inittab имеет следующий формат:-
id:уровни выполнения:действие:процесс
- id
-
это уникальная последовательность из 1-4 символов, которые однозначно определяют
запись в
inittab
(для версий sysvinit, собранных с библиотеками < 5.2.18 или a.out ограничивается
2 символами).
Замечание: Для gettys или других процессов регистрации, к полю id должен быть прибавлен номер tty соответствующей tty, например 1 для tty1. Иначе, регистрация бюджета может сработать неправильно.
- уровни_выполнения
- список уровней выполнения, для которых указанной действие должно быть выполнено.
- действие
- описывает выполняемое действие.
- процесс
- указывается процесс для выполнения. Если поле процесса начинается с символа `+', то init не будет учитывать этот процесс в utmp и wtmp. Это необходимо для getty-ей, которые настаивают на выполнении ими самими ведения utmp/wtmp. Также это исторический баг.
Поле уровни выполнения может содержать несколько символов для различных уровней выполнения. Например, 123 указывает, что процесс должен запускаться при уровнях выполнения 1, 2, и 3. Уровни выполнения для записей ondemand могут содержать A, B, или C. Поле уровни выполнения для записей sysinit, boot, и bootwait игнорируется.
Когда уровень выполнения системы изменяется, любые запущенные процессы, которые не указаны для нового уровня выполнения, убиваются, сначала посредством SIGTERM, затем SIGKILL.
Легальные действия для поля действие:
- respawn
- Процесс будет перезапускаться всякий раз когда он завершается (например getty).
- wait
- Процесс будет запускаться только при входе в указанный уровень выполнения и init будет ждать его завершения.
- once
- Процесс будет выполняться только при входе в указанный уровень выполнения.
- boot
- Процесс будет выполняться во время загрузки системы. Поле уровни выполнения.
- bootwait
- Процесс будет выполняться во время загрузки системы, init будет ждать его завершения (например /etc/rc). Поле уровни выполнения игнорируется.
- off
- Ничего не делает.
- ondemand
- Процесс, отмеченный с ondemand уровнем выполнения будет выполнен только при вызове указанного ondemand уровня выполнения. Однако, изменение уровня выполнения происходит не будет (уровни выполнения ondemand `a', `b', и `c').
- initdefault
- Запись initdefault указывает уровень выполнения, в который нужно войти после загрузки системы. Если её не существует, init спросит уровень выполнения с консоли. Поле процесс игнорируется.
- sysinit
- Процесс будет выполнен в время загрузки системы. Он будет выполнен перед любыми записями boot или bootwait. Поле уровни выполнения игнорируется.
- powerwait
- Процесс будет выполнен, когда упало питание. Обычно Init об этом узнаёт от UPS, подключённого к компьютеру. Init ждёт завершения процесса перед продолжением.
- powerfail
- То же что и для powerwait, только init не ждёт завершения процесса.
- powerokwait
- Этот процесс выполняется сразу после того как init узнаёт, что питание восстановлено.
- powerfailnow
- Этот процесс выполняется когда init узнаёт, что батареи внешнего UPS почти пустые и нет питания (при условии, что внешний UPS и отслеживающий процесс способен определить это состояние).
- ctrlaltdel
- Этот процесс выполняется когда init получает сигнал SIGINT. Это означает, что кто-то на системной консоли нажал комбинацию клавиш CTRL-ALT-DEL. Обычно ожидается выполнение какой-то разновидности shutdown или переход в однопользовательский режим или перезагрузка машины.
- kbrequest
-
Этот процесс выполняется когда init получает сигнал от обработчика клавиатуры,
что нажата специальная комбинация клавиш клавиатуре консоли.
Документация на эту функцию ещё полностью не готова; дополнительную документацию можно найти в пакете kbd-x.xx (самый новый на время написания был kbd-0.94). По существу, ты хочешь отобразить некоторую клавиатурную комбинацию в действие "KeyboardSignal". Например, отображение Alt-Uparrow для этих целей используется следующее в файле keymaps:
-
alt keycode 103 = KeyboardSignal
-
ПРИМЕРЫ
Это пример inittab похож на старый Linux inittab:-
# 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
Более усовершенствованный 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 # Что делать при нажатии "комбинации из трёх пальцев". 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.uni-bonn.de) и отредактирована Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de).СМ. ТАКЖЕ
init(8), telinit(8)ПЕРЕВОД
Оригинал взят из sysvinit-2.77.tar.gz Перевод выполнил Юрий Козлов, очень рад замечаниям по адресу off@tsinet.ru. Втр Янв 4 09:02:52 MSK 2000 Сергиев-Посадская LUG spslug.sposad.ru
Index
- НАЗВАНИЕ
- ОПИСАНИЕ
- ПРИМЕРЫ
- ФАЙЛЫ
- АВТОР
- СМ. ТАКЖЕ
- ПЕРЕВОД