Библиотека сайта rus-linux.net
Настройка init для запуска getty: файл настроек /etc/inittab
При запуске системы init читает файл настроек
/etc/inittab
. Когда система уже работает, он
перечитает данный файл при получении сигнала HUP. Такое свойство избавляет от
необходимости перезагружать систему, чтобы сделать изменения конфигурации
актуальными для init. Используйте команду
kill -HUP 1 от имени root-пользователя для передачи
такого сигнала. Только не забудьте -HUP! Если Вы
дадите команду kill 1, то уничтожите процесс
init и получите останов системы с жутким скрежетом.
Файл /etc/inittab
устроен довольно просто. Мы
начнем с наиболее простого случая настройки getty.
Каждая строка в /etc/inittab
состоит из четырех
полей, разделенных двоеточиями:
id:runlevels:action:processПоля описаны ниже. Кроме таких строк
/etc/inittab
может содержать пустые строки и строки комментариев, начинающиеся со знака
`#
'; такие строки игнорируются системой.
- id
Определяет строку в файле. Для строк настройки getty, указывает терминал, на котором будет запущена данная копия (символ после
/dev/tty
в имени файла устройства). Для других строк данное значение особого значения не имеет и нужно только для выполнения требований формата файла. Значение в данной позиции должно быть уникальным для каждой строки!- runlevels
Уровни выполнения, на которых данная строка рассматривается. Каждый уровень выполнения задается одной цифрой без разделителей.
- action
Задает действие, которое должно быть выполнено, например
respawn
для того, чтобы выполнить команду в следующем поле многократно илиonce
, чтобы выполнить команду только один раз.- process
Выполняемая команда.
/dev/tty1
), на всех нормальных
многопользовательских уровнях выполнения (2-5), примените строку:
1:2345:respawn:/sbin/getty 9600 tty1Первое поле строки указывает, что это строка для
/dev/tty1
. Второе поле говорит, что это применяется к уровням
выполнения 2, 3, 4 и 5. Третье поле означает, что команда должна выполняться
многократно (кто-то зашел, вышел и снова зашел в систему с терминала).
Последнее поле указывает команду, которая выполняет getty
на первом виртуальном терминале.
Если Вы хотите добавить терминалы или телефонные линии с модемами для
доступа к системе, добавьте строки в /etc/inittab
,
по одной на каждый терминал или модемную линию. Более подробная информация
есть в man-руководствах по init,
inittab
и getty. Разные версии
getty могут иметь разные параметры, так что сначала
прочитайте руководство!
Если команда при запуске терпит неудачу, а init сконфигурирован на ее перезапуск, то будет занято много ресурсов системы постоянными перезапусками команды. Во избежание такой ситуации init хранит протокол перезапусков команды, и если частота перезапусков слишком высока, делает паузу в 5 минут перед очередным перезапуском команды.