Оценить:
 Рейтинг: 3.6

Linux

<< 1 ... 42 43 44 45 46 47 48 49 50 ... 57 >>
На страницу:
46 из 57
Настройки чтения
Размер шрифта
Высота строк
Поля
Применение параметра загрузки sound=0 полностью запрещает драйвер звуковой карты.

Драйвер Bus Mouse (bmouse)

Этот драйвер поддерживает только один параметр, который является значением используемого аппаратного прерывания.

Драйвер MS Bus Mouse (msmouse)

Этот драйвер поддерживает только один параметр, который является значением используемого аппаратного прерывания.

Драйвер принтера (lp)

Используя этот аргумент загрузки можно сообщить драйверу принтера, какие порты можно использовать, а какие – нет. Этот параметр удобен для запрета захвата драйвером принтера всех доступных параллельных портов.

Формат аргумента – несколько пар адресов ввода/вывода, прерываний. Например,

lр=0х3Ьс,0,0x378,7

Драйвер принтера будет использовать порт на 0x3Ьс без прерывания и порт 0x378 с седьмым прерыванием. Порт 0x278 (если он присутствует в компьютере) не будет использоваться, поскольку автоопределение выполняется при отсутствии аргумента lр=. Для полного отключения драйвера принтера можно использовать параметр lр=о.

Процесс init

После того как ядро Linux полностью загрузилось, считало конфигурационные параметры и настроило оборудование (по крайней мере то, которое упоминалось в конфигурационных параметрах, и то, драйверы которого присутствуют в ядре), оно приступает к монтированию разделов жесткого диска. Монтирование всегда начинается с корневой файловой системы. Как только корневая файловая система окажется загружена и смонтирована, будет выведено сообщение:

VFS: Mounted root (ext2 filesystem) readonly

В этой точке система находит на корневой файловой системе программу init и выполняет ее.

Процесс init – это программа, ответственная за продолжение процедуры загрузки и перевод операционной системы из начального состояния, возникающего после загрузки ядра, в стандартное состояние. Во время этого процесса init выполняет множество операций, необходимых для нормального функционирования операционной системы: монтирование и проверку файловых систем, запуск различных служб и т. п. Список производимых действий помимо конфигурации системы зависит от так называемого уровня выполнения (run level).

Достаточно простой аналогией уровня выполнения является обычный распорядок дня человека – пробуждение, приведение себя в порядок, завтрак, "выход в свет" – общение с окружающим миром, ужин, приведение себя в порядок, сон. Так изо дня в день, одни и те же операции, в одной и той же последовательности. Не умывшись, вы на работу не пойдете, завтрак обязательно идет перед ужином и т. д.

Точно так же разбиты уровни выполнения. Каждый уровень выполнения однозначно (по крайней мере, в пределах дистрибутива) определяет перечень действий, выполняемых процессом init, и конфигурацию запущенных процессов. К сожалению (а может, и к счастью) четкого разделения на уровни выполнения, их количество, действия, выполняемые на каждом уровне, нет. Так, в некоторых UNIX-системах уровней выполнения всего два. Некоторые дистрибутивы Linux таким же образом конфигурируют свою операционную систему (в дистрибутиве Slackware, например, два уровня выполнения). В других дистрибутивах (Red Hat Linux) уровней выполнения восемь. Поскольку эта книга базируется на дистрибутиве Red Hat, дальнейшее описание на нем и основано.

В операционной системе Linux существует восемь уровней выполнения:

• 0 – останов системы;

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

• 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 должен настроить

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

<< 1 ... 42 43 44 45 46 47 48 49 50 ... 57 >>
На страницу:
46 из 57

Другие электронные книги автора Алексей Александрович Стахнов