
Загрузка типичной системы на уровень выполнения 5
Итак, что же происходит после запуска init
?
[root@localhost root]# grep rc /etc/inittab
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
[root@localhost root]# grep initdefault /etc/inittab
id:5:initdefault:
Пример 10.10. Стартовые сценарии в /etc/inittab
Метод sysinit
в inittab
означает, что процесс запускается во время начальной загрузки системы, до перехода на какой-нибудь уровень выполнения. Следовательно, первым запускается сценарий /etc/rc.d/rc.sysinit
. Он настраивает аппаратуру дисковых массивов, проверяет и монтирует дисковые файловые системы, инициализирует область подкачки, межсетевой экран - словом, делает все, без чего дальнейшая полноценная загрузка системы невозможна. Далее из строчки с initdefault
init узнает, что уровень выполнения по умолчанию - пятый ( многопользовательский графический ), и выполняет все строки из inittab
, в поле уровни которых есть 5. В частности, запускается сценарий rc
с параметром 5
(l5:5:wait:/etc/rc.d/rc 5
), который и выполняет необходимые действия из .d
-каталога /etc/rc.d/rc5.d
. Метод запуска rc
- wait
, так что init ждет, пока не выполнятся все стартовые сценарии, а потом продолжает разбор inittab
:
[root@localhost root]# ls /etc/rc.d/rc5.d/
K10acpid S10network S30syslogd S37gpm S50xinetd
K20nfs S13portmap S31klogd S40crond S54sshd
K65apmd S15random S32hotplug S41anacron S56rawdevices
K86nfslock S25netfs S35keytable S44xfs S64power
S05kudzu S30sound S36update_wms S45xdm S98splash
Пример 10.11. Профиль системы на уровне выполнения 5
Иван заметил, что сценарий K20nfs
(с параметром stop
) не выполнился: соответствующего сообщения на системной консоли не появилось. Беглый просмотр /etc/rc.d/init.d/nfs
показал, что этот сценарий предназначен для запуска и остановки сервера сетевой файловой системы (NFS). Сервер используется на уровне 3, а на уровне 5 - нет, поэтому при переходе с 3 на 5 его следует останавливать. Поскольку во время начальной загрузки останавливать нечего, сценарий не выполнился.
Из служб, запускаемых именно на пятом уровне, примечателен шрифтовый сервер, под номером 44 (the X font server, xfs) - программа, у которой графическая подсистема получает шрифты (нередко по сети; тогда такой сервер может быть один на несколько рабочих станций), и экранный диспетчер, под номером 45 (the X display manager, xdm) - программа, регистрирующая пользователя на манер login
, с той разницей, что регистрация и запуск графических приложений могут происходить по сети с удаленного компьютера. Тут разрешилась еще одна загадка: вместо обычной виртуальной консоли и login
, Иван нередко наблюдал окно графической подсистемы с надписью Login:
и Password:
, а кое-где даже Логин:
, Пароль:
и портрет самого пользователя! Оказывается, это были различные версии xdm. Дабы не забивать себе голову разрозненными сведениями, Иван решил до поры (до лекции 15) не использовать графическую среду и нажал Ctrl+Alt+F1
, переключившись в текстовую консоль.
Текстовая консоль на пятом уровне доступна: записи вида 1:2345:respawn:/sbin/mingetty tty1
обычно включают 5 в поле уровни.