Сценарии запуска системы

Мини-картинка

Последним этапом загрузки ядра является запуск демона /sbin/init. Этот демон читает конфигурационный файл /etc/inittab, в котором указано, какие программы запускать и на какой уровень выполнения следует перейти. Уровень выполнения определяет состояние системы на основании совокупности запущенных процессов. Уровни выполнения различаются по номерам — от 0 до 9, плюс уровень s или S (однопользовательский режим). По умолчанию уровни 79 не сконфигурированы. Перечень процессов, запускаемых или останавливаемых на конкретном уровне, приведен в файле /etc/inittab, а также в сценариях запуска системы, находящихся в каталогах /etc/rc. d/rcN. d, где N — целое число от 0 до 9 включительно.

Сменить уровень выполнения позволяет команда in it N, где N — номер уровня (09) либо буква s или S. Если заданный уровень не определен, демон init просто завершается. Чтобы узнать текущий уровень выполнения, воспользуйтесь командой /sbin/runlevel.

Дополнительная информация о демоне init и команде runlevel содержится в man страницах init (8) и runlevel (8), а также в многочисленных книгах по системному администрированию. Мы будем ссылаться на сценарии запуска системы в различных местах книги, поэтому ниже опишем порядок работы с ними.

По умолчанию все сценарии запуска системы, кроме /etc/rc. d/rc. local, находятся в каталоге /etc/rc. d/init. d. Упомянутые выше сценарии каталогов /etc/ rc. d/rcW. d являются символическими ссылками. Все сценарии принимают определенное число аргументов, два из которых обязательны: start и stop. Когда сценарий вызывается с аргументом start, контролируемые им процессы запускаются. В случае аргумента stop процессы завершаются.

К примеру, сценарий /etc/rc. d/init.d/lpd, контролирующий работу демона печати lpd, является объектом символических ссылок, перечисленных в листинге 3.4. Все эти сценарии вызываются демоном init. Если имя сценария начинается с буквы К, демону lpd передается аргумент stop, если с буквы S — аргумент start. Число 60 в названии сценария определяет порядок вызова сценария по отношению к другим сценариям в том же каталоге.

Листинг 3.4. Символические ссылки на сценарий /etc/rc .d/init. d/lpd

/etc/rc.d/rcO.d/K601pd /etc/rc.d/rcl.d/K601pd /etc/rc.d/rc2.d/K601pd /etc/rc.d/rc3.d/K601pd /etc/rc.d/rc4.d/K601pd /etc/rc.d/rc5.d/K601pd /etc/rc.d/rc6.d/K601pd

Поскольку все сценарии запуска, вызываемые демоном init, являются символическими ссылками на сценарии каталога /etc/rc . d/init. d, только последние нужно модифицировать при внесении изменений. Если нужно добавить новый сценарий, поместите его в каталог /etc/rc. d/init. d и создайте символические ссылки S и К в каталогах /etc/rc.d/rcN.d. Чтобы отключить ту или иную программу, например sendmail, удалите или переименуйте символические ссылки на соответствующий сценарий (в данном случае /etc/rc . d/init. d/sendmail).

Для автоматизированного управления сценариями запуска системы предназначена утилита chkconf ig. Например, команда

chkconfig lpd on

создает символические ссылки, перечисленные в листинге 3.4. Команда

chkconfig lpd off

удаляет ссылки, начинающиеся с буквы S, вследствие чего демон lpd не будет запускаться на этапе начальной загрузки.

Исключением из правил является сценарий /etc/rc. d/rc . local. Он служит объектом для символических ссылок S991ocal в каталогах /etc/rc . d/rc2 . d, /etc/ rc . d/rc3 . d и /etc/rc. d/rc5 . d. Это последний сценарий, вызываемый при переходе системы на уровни выполнения 2, 3 и 5.


какие подарки любят тельцы
Ведете ли вы блог?

Да
Нет
Планирую


Результаты опроса

Новостной блок