В Linux…
$ pwd
/etc/rc.d
$ ls
init.d rc.local rc0.d rc2.d rc4.d rc6.d
rc rc.sysinit rc1.d rc3.d rc5.d
Если команда cd применяется в одном из каталогов rcN.d, можно просмотреть и другие сценарии rc.scripts, связанные с этими каталогами.
$ pwd
/etc/rc.d/rc2.d
$ ls -1
lrwxrwxrwx |
1 |
root |
root |
16 |
Dec 3 |
15:16 |
K87ypbind -> ../init.d/yd |
lrwxrwxrwx |
1 |
root |
root |
17 |
Dec 3 |
15:10 |
K89portmap -> ../init.d/p |
lrwxrwxrwx |
1 |
root |
root |
17 |
Dec 3 |
15:07 |
S01kerneld -> ../init.d/d |
28.2. Уточнение текущего уровня выполнения
В этой главе не рассматриваются вопросы системного администрирования, однако shell–программист должен знать не только принципы функционирования сценариев rc.scripts, но также принципы их совмещения с каталогами конфигурации уровня выполнения. Для уточнения уровня выполнения примените команду:
$ who -r
run‑level 4 Apr 22 13:26 4 0 3
Число, расположенное после слов "run‑level" является текущим уровнем выполнения. Следующие за ним данные определяют время выполнения последней перезагрузки системы.
В Linux…
$ runlevel 2 3
В первом столбце указан уровень, на котором система находилась на предварительном этапе, а во втором столбце — текущий уровень, который в данном случае равен 3.
28.3. Ускорение работы с помощью файла inittab
Каталог уровня выполнения состоит из набора сценариев, более совершенных, чем службы. Слово "services" в этом контексте означает и демон, и приложение, и серверы, и подсистемы или процессы сценария. Во время загрузки системы вызывается процесс init (этот процесс является родоначальником всех остальных процессов). Одной из задач упомянутого процесса является определение запускаемых служб, а также определение уровня выполнения, заданного по умолчанию. Эти сведения можно получить, просматривая текстовый файл конфигурации под названием inittab, размещенный в каталоге /etc. Процесс init также использует этот файл для получения указаний по поводу загрузки определенных процессов. Если необходимо изменить этот файл, сначала создайте резервную копию. В случае повреждения файла или возникновения ошибок, приводящих к "деградации" системы, система не будет загружаться обычным образом; вам придется загружаться в однопользовательском режиме и устранять повреждения в файле.
Файл inittab включает поля, имеющие весьма лимитированный формат. Формат файла будет следующий:
id:rstart:action:process
Поле id имеет уникальное название, которое идентифицирует запись процесса,
Поле rstart содержит число, которое указывает, на каком уровне выполнения запускается процесс.
Поле action указывает процессу init, как рассматривать текущий процесс. Существует большое количество названий для поля action, но наиболее распространенными являются wait и respawn. Название wait означает, что начавшийся процесс ожидает завершения. Название respawn означает, что процесс начинается даже в том случае, если он еще не существует. Если же существует, то запускается заново в тот момент, когда он уже завершается.