Inittab - команда Linux / Unix

click fraud protection

В inittab Файл описывает, какие процессы запускаются при загрузке и во время нормальной работы. В этом отличает разные уровни выполнения, каждый из которых может иметь собственный набор запускаемых процессов. Допустимые уровни запуска: 0-6 плюс А, B, а также C для записей по запросу. Запись в inittab файл имеет следующий формат:

id: уровни выполнения: действие: процесс

Строки, начинающиеся с символа "#", игнорируются.

В файле я быпредставляет собой уникальную последовательность из 1–4 символов, которая идентифицирует запись в inittab.

программист на работе
Getty Images / PeopleImages.com

Для gettys или других процессов входа в систему я бы поле должно быть суффиксом tty соответствующего tty, например 1 для tty1. В противном случае учет входа в систему может работать некорректно.

Уровни выполнения, действия и процессы

Файл iniitab содержит следующую информацию:

  • уровни выполнения перечисляет уровни выполнения, для которых необходимо выполнить указанное действие.
  • действие описывает, какие действия следует предпринять.
  • процесс определяет выполняемый процесс. Если поле процесса начинается с символа `+ ', в этом не будет выполнять учетные записи utmp и wtmp для этого процесса. Это необходимо для gettys, которые настаивают на выполнении своей собственной служебной информации utmp / wtmp. Это тоже исторический баг.

В уровни выполнения Поле может содержать несколько символов для разных уровней выполнения. Например, 123 указывает, что процесс должен запускаться на уровнях выполнения 1, 2 и 3. В уровни выполнения для по запросу, по требованию записи могут содержать А, B, или C. В уровни выполнения поле sysinit, ботинок, а также бутвейт записи игнорируются.

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

Стандарты действий

Допустимые действия для действие поля:

  • респаун: Процесс будет перезапущен всякий раз, когда он завершится (например, getty).
  • ждать: Процесс будет запущен один раз при входе на указанный уровень запуска и в этом будет ждать его окончания.
  • однажды: Процесс будет выполнен один раз при входе на указанный уровень выполнения.
  • ботинок: Процесс будет выполнен во время загрузки системы. В уровни выполнения поле игнорируется.
  • бутвейт: Процесс будет выполняться во время загрузки системы, а в этом ожидает завершения (например, / etc / rc). В уровни выполнения поле игнорируется.
  • по запросу, по требованию: Процесс, отмеченный по запросу, по требованию уровень запуска будет выполняться всякий раз, когда указанныйпо запросу, по требованию уровень запуска называется. Однако изменения уровня выполнения не произойдет (по запросу, по требованию уровни выполнения - `a ',` b' и `c ').
  • initdefault: An initdefault запись указывает уровень запуска, который должен быть введен после загрузки системы. Если ничего не существует, в этом запросит уровень запуска на консоли. В процесс поле игнорируется.
  • sysinit: Процесс будет выполняться во время загрузка системы. Он будет выполнен перед любым ботинок илибутвейт записи. В уровни выполнения поле игнорируется.
  • powerwait: Процесс будет выполнен при отключении питания. Обычно init информируется об этом, когда процесс обращается к ИБП, подключенному к компьютеру. В этом будет ждать завершения процесса, прежде чем продолжить.
  • сбой питания: Что касается powerwait, Кроме этого в этом не дожидается завершения процесса.
  • Powerokwait: Этот процесс будет выполнен, как только в этом Сообщается, что электроснабжение восстановлено.
  • мощность: Этот процесс будет выполнен, когда в этом сообщается, что батарея внешнего ИБП почти разряжена и пропадает питание (при условии, что внешний ИБП и процесс мониторинга могут обнаружить это состояние).
  • ctrlaltdel: Процесс будет выполнен, когда в этом получает сигнал SIGINT. Это означает, что кто-то на системной консоли нажал кнопку Ctrl-Alt-Del комбинация клавиш. Обычно кто-то хочет выполнить какой-то неисправность либо перейти на однопользовательский уровень, либо перезагружать машина.
  • kbrequest: Процесс будет выполнен, когда в этом получает сигнал от обработчика клавиатуры о том, что на клавиатуре консоли была нажата специальная комбинация клавиш.

Документация по этой функции еще не завершена; дополнительную документацию можно найти в пакетах kbd-x.xx. По сути, вы хотите сопоставить некоторую комбинацию клавиш с действием «KeyboardSignal». Например, чтобы отобразить Alt + стрелка вверх для этой цели используйте в файле раскладки:

alt keycode 103 = KeyboardSignal

Примеры файлов inittab

Это пример inittab, который напоминает старую Linux inittab:

# inittab для Linux
id: 1: initdefault:
rc:: bootwait: / и т.д. / RC
1: 1: респаун: / etc / getty 9600 tty1
2: 1: респаун: / etc / getty 9600 tty2
3: 1: респаун: / etc / getty 9600 tty3
4: 1: респаун: / etc / getty 9600 tty4

Этот файл inittab выполняет /etc/rc во время загрузки и запускает gettys на tty1-tty4.

Более сложный inittab с разными уровнями выполнения:

# Уровень для бега
id: 2: initdefault:
# Инициализация системы прежде всего.
si:: sysinit: /etc/rc.d/bcheckrc
# Уровень выполнения 0,6 - остановка и перезагрузка, 1 - режим обслуживания.
l0: 0: ждать: /etc/rc.d/rc.halt
l1: 1: ждать: /etc/rc.d/rc.single
l2: 2345: ждать: /etc/rc.d/rc.multi
l6: 6: ждать: /etc/rc.d/rc.reboot
# Что делать при «салюте 3 пальцами».
ca:: ctrlaltdel: / sbin / shutdown -t5 -rf сейчас
# Уровень выполнения 2 и 3: getty на консоли, уровень 3 также getty на порте модема.
1:23: респаун: / sbin / getty tty1 VC linux
2: 23: респаун: / sbin / getty tty2 VC linux
3: 23: респаун: / sbin / getty tty3 VC linux
4: 23: респаун: / sbin / getty tty4 VC linux
S2: 3: респаун: / sbin / uugetty ttyS2 M19200

Использовать человек команда (% человек), чтобы увидеть, как команда используется на вашем конкретном компьютере.