1
С а м о с т р о й
к
J
H a t-клонов, так как они у нас самые
популярные) шесть уровней запуска: 0 —
останов системы; 1 — однопользова-
тельский режим без поддержки сети;
2 — многопользовательский режим без
сети; 3 — многопользовательский кон-
сольный с сетью;
4
— не используется;
5
— многопользовательский графиче-
ский с сетью;
б
— перезагрузка компь-
ютера. Для определения уровня запус-
ка по умолчанию в файле
/etc/init-
tab
есть строка id :X :
initdefault,
где
х — уровень запуска по умолчанию. То
есть, если вам необходима голая кон-
соль, то эта строка будет выглядеть так:
id:
3 :
initdefault,
а в случае необ-
ходимости загрузки графики при стар-
|
те —
id:5:initdefault.
Для уровней
запуска в Red H at создана иерархия
каталогов
/etc/rc.d
где каждому уров-
ню запуска соответствует свой каталог.
Выглядит это так: в
/etc/rc.d
присут-
ствуют подкаталоги с именами от
/etc/
rc.d/rcO.d
д о
/etc/ rc.d/rc6.d,
где
цифра в имени каталога соответствует
уровню запуска. В этих каталогах со-
держатся ссылки на скрипты запуска-
останова служб (демонов), сами же
скрипты находятся в каталоге
/etc/
rc.d/init.d.
Ссылки имеют вид
s (k )
ХХимя_скрипта,
где хх — стартовый
номер службы. Каждая служба может
либо запускаться, либо останавливать-
ся, и именно для этой цели используют-
ся буквы s и к в имени ссылки. А имен-
но: чтобы запустить службу на опреде-
ленном уровне запуска, в имени ссыл-
ки нужно поставить букву S, а чтобы ос-
тановить — соответственно, букву к.
Стартовый номер демона использует-
ся для порядка при их запуске или ос-
тановке. Номера присваиваются про-
извольно, но при этом нужно учитывать,
что некоторые демоны должны запус-
каться раньше остальных, а останавли-
ваться позже других, и наоборот. Еще
один момент: если служба запущена,
то при перезагрузке или выключении
компьютера она должна быть останов-
лена. Поэтому если вы создали ссылку
для запуска службы, то должны создать
и ссылку для ее остановки в каталогах
/etc/rc.d/rcO.d
и
/etc/гс.d/гсб.d,
причем негласным правилом стало, что
стартовые номера для запуска и оста-
новки службы должны в сумме давать
99.
Например: если служба
wine
за-
пускается ссылкой
S98wine,
то в ката-
логах
/etc/rc.d/ rcO.d
и
/etc/
rc.d/rc6.d
долж на
быть
ссылка
Klwine,
то есть если служба запуска-
ется позже других, то останавливаться
должна раньше всех. Чтобы научиться
разбираться в этом вопросе, советую
открыть каталог
/etc/ rc.d
и хо р о -
шенько его исследовать, а также почи-
тать скрипты в
/etc/rc.d/ init.d,
это
поможет вам узнать больше не только
о процессе запуска служб, но и о на-
писании скриптов (скажу честно, скрип-
ты незаменимая штука, научитесь их пи-
сать — не пожалеете).
Хотя тема демонов довольно инте-
ресна, но все же продолжим разговор
о процессе загрузки, i n i t , определив
Т
V
уровень запуска, передает управление
скрипту
/etc/rc.sysinit.
Функций у
этого скрипта очень много, приведу толь-
ко основные: установка переменной
PATH (установка путей); установка име-
ни хоста (вашего компьютера в сети (в
Linux всегда есть сеть, если не реаль-
ная, то виртуальная)); чтение конфига
сети
/etc/sysconfig/network;
монти-
рование
псевдоф айловой
системы
/ргос;
установка часов; установка сис-
темного шрифта; активизация раздела
подкачки (SWAP); подключение USB-ycr-
ройств; проверка корневой файловой
системы утилитой
fsck;
настройка уст-
ройств Plug'n'Play; перемонтирование
корневой Ф С в режим чтения-записи;
обновление файлов
fstab
и
mtab
(чи-
тайте ниже), монтирование локальных,
не корневых, Ф С ; очистка временного
каталога
/tmp;
включение подкачки; за
прос на вход в интерактивную загруз-
ку. Этот файл является лучшим приме-
ром скриптов.
Д алее
init
передает управление
скрипту
/etc/rc.
Этот скрипт опреде-
ляет уровень выполнения, на котором в
данный момент находится система, и
уровень, на который нужно перейти, а
также запрашивает подтверждение на
интерактивную или неинтерактивную за-
грузку. Затем он, в соответствии с по-
лученными параметрами, выполняет за
пуск или остановку служб. Но, согласи-
тесь, довольно глупо запускать уже за-
пущенную службу или останавливать ос-
тановленную. Поэтому в Linux исполь-
зуют простую, но эффективную систему
флагов для контроля состояния служб.
Ее смысл состоит в следующем: при за-
пуске службы создается так называе-
мый флаг — файл вида
/var/lock/HMs_
службы/$
{имя
службы) .init.
Скрипт
гс
проверяет наличие таких флагов: ес-
ли флага нет, то запуск службы имеет
смысл, и наоборот.
После окончания работы скриптов
init
запускает процесс
getty
или
mget-
ty.
Далее у пользователя запрашивает-
ся его имя в системе (login), а затем и
пароль. После их ввода программа
lo-
gin
проверяет правильность логина и
пароля, сравнивая их с записями в фай-
ле
/etc/shadow.
Если все правильно
login
запускает программу-оболочку,
которой в основном является
bash
(за-
пускаемую оболочку можно поменять в
файле
/etc/passwd).
После запуска
bash
читоет конфигурационный файл пользо-
вателя с именем
.profile
и выводит
приглашение для ввода команд. Поль-
зователь после всего этого оказывает-
ся в своем домашнем каталоге, для обыч-
ного пользователя это
/home/имяполь-
зователя,
а для root'a —
/root.
Также хочу сказать несколько слов о
конфигурационных файлах, которые при-
нимают участие в загрузке. Три из них
уже упомянуты выше, это
/etc/passwd,
/etc/shadow
и
.profile
Кроме того
есть файл
/etc/bashrc,
в котором на
ходятся настройки программы
bash,
и
файл
/etc/fstab,
в котором записаны
все файловые системы, зарегистриро-
ванные в системе.
М О Й КОМПЬЮТЕР
предыдущая страница 27 Мой Компьютер 2005 09 читать онлайн следующая страница 29 Мой Компьютер 2005 09 читать онлайн Домой Выключить/включить текст