5.6. Сценарии загрузки системы
5.6. Сценарии загрузки системы
Все Red Hat-подобные системы, в отличие от BSD-подобных (Slackware), используют систему инициализации SysV, хотя и несколько переработанную.
Примечание. Система инициализации —это набор файлов, необходимых для запуска операционной системы. Обычно система инициализации представляет собой сценарии загрузки системы. В процессе развития Unix (см. гл. 1) выделились два основных типа систем — BSD-подобные системы и SysV-совместимые. Первые были совместимы (полностью или частично) с операционной системой BSD, разработанной Калифорнийским университетом, а вторые использовали в качестве своего предка операционную систему Unix System V, разработанную компанией AT&T. Системы инициализации BSD и SysV отличаются набором входящих в них файлов и их назначением.
Запуск и останов демонов осуществляется с помощью сценариев, расположенных в каталоге /etc/re.d/init.d. Демон — это программа, которая в фоновом режиме периодически выполняет какие-нибудь действия. Например, демон ftpd непрерывно проверяет наличие пользовательских запросов на соединение по протоколу FTP.
Сценарии каталога /etc/re.d выполняются автоматически при запуске системы. В этом каталоге есть несколько подкаталогов rcN.d, где N — это номер уровня выполнения. В большинстве случаев у вас будет установлен уровень 5 в качестве уровня по умолчанию. Этот уровень соответствует многопользовательскому режиму с автоматическим запуском системы X Window. В каталоге /etc/rd.d/rc5.d находятся символические ссылки на сценарии, расположенные в каталоге /etc/rc.d/init.d.
Для запуска какого-нибудь демона нужно выполнить соответствующий ему сценарий в каталоге /etc/rc.d/init.d с опцией start. Для останова нужно запустить тот же сценарий, но с опцией stop.
Чтобы обеспечить автоматический запуск какого-нибудь сервера, нужно создать сценарий для его запуска и поместить его в каталоге /etc/rc.d/init.d. Затем, в зависимости от уровня выполнения, в каталоге rcN.d нужно создать символическую ссылку на этот сценарий.
Для выбора демонов, которые будут запускаться автоматически при загрузке системы, обычно используют программу drakconf в операционной системе Linux Mandrake (см. рис. 5.2) или программу setup в ОС Red Hat Linux.
Если вы хотите сами создать сценарий для запуска своего демона, можете воспользоваться приведенным ниже шаблоном (см. листинг 5.3).
Рис. 5.2. Конфигуратор DrakConf
Листинг 5.3. Шаблон для запуска демона
#!/bin/bash
# Шаблон для запуска демона
# Подключаем библиотеку функций
. /etc/init.d/functions
# Определяем параметры
case "$1" in
start)
# Запуск демона
echo "Starting my_daemon…"
daemon my_daemon
touch /var/lock/subsys/my_daemon
;;
stop)
# Останов демона
kill proc my_daemon
rm –f /var/lock/subsys/my_daemon
rm –f /var/run/my_daemon.pid
;;
status)
# Выводим статистику работы
;;
restart | reload)
# действия, выполняемые при перезагрузке демона
:
;;
*)
# Произошел вызов без параметров
echo "Usage: my_daemon {start|stop|status|restart|reload}"
exit 1
esac
exit 0
Теперь рассмотрим весь процесс загрузки системы, начиная с самого начала: от включения питания. Итак, вы включаете питание, система выполняет процедуру самотестирования POST (Power On Self Test). Если во время самотестирования ошибок обнаружено не было, из главной загрузочной записи MBR (Master Boot Record) вызывается загрузчик операционной системы. Поиск загрузчика происходит на загрузочных устройствах в соответствии с последовательностью загрузки (Boot Sequence). Данная последовательность определяется в программе настройки компьютера — SETUP. Например, у вас может быть установлена такая последовательность загрузки:
FLOPPY, HDD-0, CDROM
В этом случае система сначала будет искать загрузчик на дискете (диск А, устройство /dev/fd0). Если в дисководе нет дискеты, система перейдет к поиску загрузчика на первом жестком диске (HDD-0, устройство /dev/hda). Если же в дисководе есть дискета, но она не является загрузочной, вы получите соответствующее сообщение об этом. На этом этапе вы можете либо сменить дискету, либо вообще извлечь ее из дисковода, чтобы разрешить системе произвести поиск загрузчика операционной системы на жестком диске. Если и на жестком диске не будет обнаружен загрузчик, система перейдет к следующему элементу загрузочной последовательности — CDROM.
Предположим, что система нашла загрузчик на жестком диске. Загрузчик должен быть корректно установлен, иначе вы получите сообщение о невозможности загрузиться с данного носителя информации (жесткого диска). После этого управление будет передано программе LILO или любому другому загрузчику операционной системы Linux.
После того, как пользователь выберет нужное ему ядро, загрузка системы будет продолжена. Сначала будет загружаться ядро, а потом — программа init. Для полноты рассмотрения процесса загрузки я буду считать, что у нас установлен уровень управления 5.
Первыми будут выполнены процессы, которые указаны в действии sysinit файла /etc/inittab. Затем — процессы, перечисленные с помощью действий boot и bootwait (см. п. 5.5).
Обычно для действия sysinit выполняется сценарий загрузки /etc/re.d/rc.sysinit:
si::sysinit:/etc/rc.d/rc.sysinit
На данном этапе загрузки системы (sysinit) выполняются следующие действия:
1. Устанавливается имя машины (hostname).
2. Конфигурируются параметры ядра.
3. Устанавливается раскладка клавиш и системный шрифт.
4. Активируются разделы подкачки.
5. Корневая система проверяется программой fsck. Если будут найдены ошибки, которые невозможно исправить автоматически, будет запрошен пароль администратора для входа в административный режим, что равноценно переходу на уровень выполнения 1. В этом режиме вы запустите программу fsck с параметром /, который означает проверку корневой файловой системы. После исправления всех ошибок введите команду exit для перезагрузки системы. Если программа fsck ошибок не обнаружила, файловая система монтируется в режиме чтение/запись.
6. Проверяются зависимости модулей ядра.
7. Выполняется проверка других файловых систем.
8. Монтируются локальные файловые системы.
9. Включаются квоты.
10. Подключается (не активизируется!) раздел подкачки. С этого момента система начинает использовать раздел подкачки.
После выполнения сценария загрузки /etc/re.d/rc.sysinit выполняется сценарий /etc/re.d/rc. Этому сценарию передается один параметр –номер уровня выполнения. В рассматриваемом случае — это номер 5, поэтому будет выполнена команда:
/etc/re.d/rc 5
Разумеется, данный сценарий будет выполнен при наличии в вашем файле /etc/initab строки:
15:5:wait:/etc/re.d/rc 5
Вы можете определить любое другое действие для уровня выполнения 5. Однако я не рекомендую вам этого делать: если вы написали свой сценарий загрузки, который работает лучше, чем предлагаемый разработчиками дистрибутива по умолчанию, значит, вам самое время написать свой дистрибутив! Запуск пятого уровня выполнения подразумевает запуск сценариев из каталога /etc/re.d/rc5.d/.
После выполнения этого сценария будет выполнен сценарий /etc/re.d/rc. local. Данный сценарий всегда выполняется последним, вне зависимости от уровня выполнения.
После запуска сценариев пятого уровня выполнения создаются виртуальные консоли и запускается менеджер дисплеев системы X Window (xdm).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Сценарии, выполняемые при загрузке операционной системы
Сценарии, выполняемые при загрузке операционной системы Сценарии включения/выключения, как и сценарии входа/выхода групповой политики, подключаются с помощью оснастки Групповая политика (Group Policy) в MMC. Процесс добавления оснастки Групповая политика (Group Policy) для
Сценарии, выполняемые при завершении работы операционной системы
Сценарии, выполняемые при завершении работы операционной системы Для подключения сценариев выключения нужно выбрать свойство Завершение работы (Shutdown) в разделе Сценарии (запуск/завершение) (Scripts (Startup/Shutdown)), после чего будет выведено диалоговое окно Свойства: Завершение
2.6. Сценарии
2.6. Сценарии «Мышление... в биологическом плане возникает вслед за развитием процессов формирования образов. Оно возможно только тогда, когда будет найден способ разрушить „массированное“ влияние прежних стимулов и ситуаций, когда будет познан механизм подавления
Сценарии оболочки
Сценарии оболочки Наш затянувшийся разговор о командах и командном интерфейсе подходит к концу. И в заключение этого раздела — ещё немного терпения. Потому что было бы несправедливо не уделить чуть-чуть места тому, что придает командному интерфейсу POSIX-систем его
Сценарии Samba
Сценарии Samba Одна из самых привлекательных особенностей Samba — возможность выполнения сценариев. Вы можете задавать команды, которые будут выполнены при наступлении определенных событий. Благодаря поддержке сценариев Samba можно использовать для решения задач,
7.6.2.3. Сценарии
7.6.2.3. Сценарии Как уже было отмечено выше, в каталоги /etc/cron* помещаются сценарии, которые нужно выполнить в указанное время. Рассмотрим шаблон типичного сценария (листинг 7.4).Листинг 7.4. Шаблон сценария#!/bin/bashкоманды Первая строка обязательна. После нее можно писать любые
24.3. Ускорение загрузки системы для многоядерных процессоров
24.3. Ускорение загрузки системы для многоядерных процессоров В последнее время практически во всех современных компьютерах используются многоядерные процессоры. Наибольшее распространение получили двухъядерные процессоры, можно встретить и более производительные
Убедительные сценарии
Убедительные сценарии Движущая сила убеждения основывается на сценариях, при разработке которых мы учитываем потребности каждого из персонажей, созданных еще на этапе раскрытия. Слово сценарий в последнее время можно услышать в самом разном контексте. И разные
3.2.1. Функции системы ЛИНАР; сценарии работы с системой
3.2.1. Функции системы ЛИНАР; сценарии работы с системой Построение автокорректоров сталкивается с рядом принципиальных и не решенных пока в полном объеме проблем: компактное хранение словарей, эффективные методы морфологического и синтаксического анализа и т.д. Тем не
Сценарии
Сценарии Шаблон проекта базы данных автоматически создает две папки для хранения сценариев SQL. Папка Create Scripts (Сценарии создания данных) содержит сценарии SQL, которые отражают предполагаемые изменения в базе данных. Изменения могут быть отложены, так как разработчик не
14.9. Различные сценарии
14.9. Различные сценарии Приведем еще несколько примеров. Не претендуя на оригинальность, мы отнесли их к категории
33.5. "Цветные" сценарии
33.5. "Цветные" сценарии Для установки атрибутов отображения информации на экране, таких как: жирный текст, цвет символов, цвет фона и т.п., с давних пор используются ANSI[ 62 ] escape-последовательности. Эти последовательности широко используются в пакетных файлах DOS, эти же
9.2. Сценарии
9.2. Сценарии Сценарий awk — это набор инструкций, состоящих из шаблонов и связанных с ними процедур. Когда утилита просматривает записи входного файла, она проверяет, установлена ли опция -F или переменная FS (о ней мы поговорим ниже), задающие разделители полей записи. По
29.4. Сценарии cgi и HTM
29.4. Сценарии cgi и HTM Когда броузер генерирует запрос на загрузку страницы, Web–сервер задается в виде входящего URL. Если в качестве части URL–пути указывается cgi?bin, сервер открывает соединение, которое обычно реализует перенаправление к запрашиваемому cgi–сценарию. Входной и
Скорость загрузки системы: путь на пользовательский десктоп?
Скорость загрузки системы: путь на пользовательский десктоп? LinuxFormat, #87-88 (январь 2007)Время от времени на форумах обсуждается вопрос о скорости загрузки различных ОС и дистрибутивов. В ходе которого мне неоднократно встречалась мысль, что Linux (или некий его конкретный
Глава 9 Ускорение загрузки операционной системы
Глава 9 Ускорение загрузки операционной системы • Настройка системных служб• Очистка списка автозагрузкиПользователей, которых полностью удовлетворяет скорость работы компьютера, точнее, скорость загрузки операционной системы и ее компонентов, немного. Даже если