...
Пятница , 22 ноября 2024

Этот файл прочитывается заново

Этот файл прочитывается заново и в случае поступления сигнала HUP; эта особенность избавляет от необходимости перезагружать систему для того, чтобы сделать изменения в начальной конфигурации.

Таким образом, процесс начальной загрузки init постоянно находится в оперативной памяти и при получении соответствующих сигналов повторно выполняет цикл чтения из файла /etc/inittab инструкций о том, что нужно делать, причем этот набор инструкций различен для разных уровней выполнения.

Когда суперпользователь останавливает систему (командой shutdown), именно init завершает все другие исполняющиеся процессы, размонтирует все файловые системы и останавливает процессор.

Замечание

В приведенном описании опущены многие важные детали. Более подробное описание можно найти в man-страницах по init (8), inittab (5) и getty (8), а также в документах ‘Linux Documentation Project’s Serial HOWTO’.

Замечание4sem2OFDbCc

Если вы некорректно модифицируете файл /etc/inittab, система может перестать загружаться. Так что перед внесением каких-либо изменений в этот файл по меньшей мере запаситесь загрузочной дискетой и сохраните копию исходного файла на случай фатальных ошибок.

8.2.2. ОСНОВНЫЕ КОНФИГУРАЦИОННЫЕ ФАЙЛЫ

Если вы прочитали разд. 8.2.1 (или если смотрели файл /etc/inittab), то представляете, что в обычной ситуации процесс init помимо запуска процессов getty выполняет 2 основных действия:

• запускает скрипт rc.sysinit из каталога /etc/rc.d;

• запускает скрипт rc из того же каталога /etc/rc.d с опцией, равной уровню выполнения (обычно rc 3).

В файле rc.sysinit содержатся команды инициализации системы, в том числе команды установки системных переменных, загрузки таблиц раскладки клавиатуры (командой loadkeys) и системного шрифта (команда consolechars), монтирования и проверки файловых систем, загрузки модулей, задания предпочитаемой графической оболочки и т. д.

Если вы внимательно прочитали раздел о командном языке интерпретатора команд shell (гл. 5), то вы легко поймете большую часть скрипта /etc/rc.d/rc.sysinit.

Прежде чем рассматривать функции, выполняемые скриптом rc, надо сказать несколько слов о каталоге /etc/rc.d. Этот каталог вообще играет важную роль в процессе загрузки, поскольку он содержит основные скрипты (программы на языке командного процессора shell), служащие для организации процесса загрузки.

Каталог rc.d содержит следующий набор подкаталогов:

• rc0.d

• rc1.d

• rc2.d

• rc3.d

• rc4.d

• rc5.d

• rc6.d

•  init.d

Если вы просмотрите (например, с помощью команды ls -l) содержимое подкаталогов rcX.d, то увидите, что в этих подкаталогах содержатся не файлы, а только ссылки на файлы скриптов, находящиеся в других каталогах, а именно (за редким исключением), в каталоге /etc/rc.d/init.d. Названия этих ссылок имеют имена, начинающиеся либо с буквы K, либо с буквы S. Подкаталог init.d содержит по одному скрипту для каждой из возможных в системе служб (NFS, sendmail, httpd и т. п.).

Теперь вспомним, что процесс init после скрипта rc.sysinit запускает скрипт rc с опцией, равной заданному уровню выполнения. Этот скрипт предназначен в общем случае для перевода системы из одного уровня выполнения на другой. В процессе начальной загрузки этот скрипт переводит систему из однопользовательского режима на уровень, задаваемый по умолчанию. Общий алгоритм работы rc состоит в следующем. При переходе на уровень X сначала просматривается каталог rcX.d и для всех ссылок, которые начинаются на K, вызываются файлы, на которые идет ссылка, с опцией stop, т. е. осуществляется останов соответствующих служб (которые не должны работать на данном уровне выполнения). Затем запускаются службы, которые на данном уровне выполнения должны быть запущены. Это осуществляется путем последовательного просмотра ссылок, которые начинаются с символа S, и запуска соответствующих скриптов с опцией start. Из сказанного ясно, что буквы (символы) S и K, с которых начинаются имена ссылок в подкаталогах rcX.d, происходят от start и kill, соответственно. Заметим еще, что после S и K в именах ссылок стоят двузначные номера, которые служат для задания порядка запуска скриптов.

О нас admin

Проверить еще

Backyard Landscape

Что такое быстровозводимые здания сегодня?

Желание жить только в самом безопасном и комфортном месте присуще каждому человеку, ведь это позволяет …

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.