Выбрать главу

• 2 – многопользовательский режим без поддержки сети;

• 3 – многопользовательский режим с поддержкой сети;

• 4 – использование не регламентировано;

• 5 – обычно по умолчанию стартует X Window System;

• 6 – перезагрузка системы;

• S или s – практически то же, что и однопользовательский режим, но уровень выполнения S используется, в основном, в скриптах.

Как можно заметить, существует определенное логическое нарушение в следовании уровней выполнения. Было бы более логично нулевой уровень выполнения вставить перед шестым. Однако здесь проявили себя исторические традиции – как повелось много лет назад в UNIX, так ради совместимости и остается.

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

Конфигурационный файл init – /etc/inittab

Как всякая программа, после старта init сразу считывает свой конфигурационный файл /etc/inittab. Это обычный текстовый файл, состоящий из отдельных строк. Если строка начинается со знака # (стандартный признак комментария в конфигурационных файлах и скриптах) или пуста, она игнорируется. Все остальные строки состоят из 4 разделенных двоеточиями полей, имеющих вид:

id: runlevels: action: process

где:

• id – идентификатор строки. Выбирается произвольно, но в файле не может быть двух строк с одинаковыми идентификаторами. Если конфигурационный файл модифицируется достаточно часто, имеет смысл использовать неписаное правило нумерации строк в BASIC – номера строкам назначать кратно пяти или десяти;

• runieveis – уровни выполнения, на которых эта строка будет задействована. Уровни задаются цифрами (без разделителей);

• process – команда, которая должна быть запущена;

• action – действие. В этом поле стоит ключевое слово, которое определяет, что должен делать процесс init, пока выполняется (или после выполнения) команда, заданная полем process:

– wait – ожидать завершения процесса. Соответственно, пока не закончится данный процесс, init не запускает никаких других процессов. Как правило, такого типа процессы используются для разнообразных проверочных действий (проверка и восстановление файловых систем), а так же для запуска различных служб (демонов);

– once – выполнять процесс только один раз;

– respawn – перезапустить процесс в случае его «смерти». Актуально для некоторых служб, которые должны постоянно присутствовать в системе;

– off – игнорировать данный элемент. Можно использовать при отладке конфигурационного файла;

– boot – процесс должен быть выполнен при загрузке операционной системы, поле runieveis (уровни выполнения) при этом игнорируется;

– bootwait – то же, что и предыдущая опция, но init должен ожидать окончания работы процесса;

– initdefauit – указывает init, в какой уровень выполнения необходимо перейти системе после загрузки;

– sysinit – процесс должен быть выполнен во время загрузки операционной системы до выполнения любой строки с boot или bootwait;

– powerwait – позволяет процессу init остановить систему при пропадании электроэнергии. Применение этого ключевого слова предполагает, что используется источник бесперебойного питания (UPS), имеющий специальный интерфейс, с помощью которого источник бесперебойного питания может посылать в компьютер и принимать из него различные управляющие сигналы (например "нет питания", "выключить источник бесперебойного питания", "аккумуляторы разряжены" и т. п.), а также программное обеспечение, которое отслеживает состояние источника бесперебойного питания и информирует init о том, что питание отключилось;

– ctriaitdei – разрешает init перезагрузить систему, когда пользователь нажимает комбинацию <Ctrl>+<Alt>+<Del> на клавиатуре. Однако системный администратор может определить действия по <Ctrl>+<Alt>+<Del>, например, игнорировать нажатие этой комбинации.

Этот список не является исчерпывающим. Подробную информацию о файле inittab можно узнать из тап-страниц init, inittab.

В качестве примера приведем файл inittab, который находится в только что установленной системе Red Hat 7.1.

# inittab Этот файл описывает как процесс INIT должен настроить

# операционную систему в соответствующем уровне выполнения

#

# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>

# Modified for RHS Linux by Marc Ewing and Donnie Barnes

#

# Default runlevel. The runieveis used by RHS are:

# 0 – halt (Do NOT set initdefault to this)

# 1 – Single user mode

# 2 – Multiuser, without NFS (The same as 3, if you do not have

# networking)

# 3 – Full multiuser mode