Файл этот имеет довольно простую структуру. Как и в иных конфигурационных файлах, строки, начинающиеся символом #, являются комментариями и командой init не обрабатываются. Каждая строка, не являющаяся комментарием, состоит из 4 полей и имеет вид id:runlevel:action:process.
Здесь
1. id (идентификатор строки) – некоторая уникальная двух- или односимвольная метка (в современных системах максимальная длина идентификатора составляет 4 символа). Так, метка si означает system initialization, su – single user, а rc – run command;
2. runlevel (уровень выполнения) – слово, каждая буква или цифра которого соответствует определенному варианту начальной загрузки системы. Если поле уровня выполнения оставлено пустым, строка выполняется на всех уровнях;
3. action (действие) – способ запуска процесса, обозначаемый одним из ключевых слов: respawn, boot, bootwait, ctrlaltdel, initdefault, kbrequest, off, once, ondemand, powerfail, powerokwait, powerwait, waitи sysinit. Среди этих ключевых слов чаще встречаются следующие:
· boot – действие выполняется только один раз при загрузке системы,
· bootwait – загрузка останавливается до завершения указанного в строке сценария,
· initdefault – строка с этим полем запускается по умолчанию и определяет базовый уровень загрузки,
· respawn – запуск процесса происходит в фоновом режиме, а когда процесс завершится (например, с ошибкой), его запускают снова,
· once – запуск производится в фоновом режиме однократно,
· wait – запуск производится интерактивно, и пока процесс не завершится, никаких других действий не выполняется,
· ctrlaltdel– действие, которое выполняется при одновременном нажатии трех клавиш <Ctrl>+<Alt>+<Del>. Специалисты считают возможность перезагрузки небезопасной с позиций консольной атаки на систему и рекомендуют такую строку снабдить символом #,
· sysinit– действие, выполняемое до выдачи приглашения к регистрации. Система дожидается выполнения команды, а затем продолжает загрузку;
4. process – программа или скрипт (сценарий) для выполнения.
В ОС Linux предусмотрено несколько вариантов функционирования после начальной загрузки системы, которые называются уровнями выполнения (run levels). Всего зарезервировано десять таких уровней, при этом реально используется только половина из них. Используемые уровни выполнения нумеруются с 0 до 6 (уровень 0 используется для останова системы, а 6 – для перезагрузки):
· уровень 1, или S (single), соответствует однопользовательскому режиму. При загрузке на первый уровень не запускается никаких служб;
· уровень 2 соответствует многопользовательскому режиму загрузки системы с отключенной службой NFS;
· уровень 3 обеспечивает сетевой многопользовательский режим. На этом уровне обычно работают компьютеры-серверы и рабочие места администратора;
· уровень 4 обычно не используется и зарезервирован для будущего применения (в Slackware – это режим X–Window);
· уровень 5 соответствует многопользовательскому графическому режиму. На этом уровне обычно функционируют рабочие станции, предоставляя пользователям возможность работать с графической подсистемой X-Window. Сеть на этом уровне настроена, но список запущенных сетевых служб может быть меньше, чем на третьем уровне, так как рабочая станция не предназначена для выполнения серверных функций.
Проанализируем основные рабочие строки в приведенном файле.
id:3:initdefault:
Загрузка будет происходить в сетевом многопользовательском текстовом режиме. Если эта строка отсутствует или будет закомментирована, в ходе загрузки последует запрос об установке базового уровня.