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).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

3.2.1. Функции системы ЛИНАР; сценарии работы с системой

Из книги Прикладное программное обеспечение: системы автоматической обработки текстов автора Мальковский Михаил Георгиевич

3.2.1. Функции системы ЛИНАР; сценарии работы с системой Построение автокорректоров сталкивается с рядом принципиальных и не решенных пока в полном объеме проблем: компактное хранение словарей, эффективные методы морфологического и синтаксического анализа и т.д. Тем не


7.6.2.3. Сценарии

Из книги Fedora 8 Руководство пользователя автора Колисниченко Денис Николаевич

7.6.2.3. Сценарии Как уже было отмечено выше, в каталоги /etc/cron* помещаются сценарии, которые нужно выполнить в указанное время. Рассмотрим шаблон типичного сценария (листинг 7.4).Листинг 7.4. Шаблон сценария#!/bin/bashкоманды Первая строка обязательна. После нее можно писать любые


Глава 9 Ускорение загрузки операционной системы

Из книги Собираем компьютер своими руками автора Ватаманюк Александр Иванович

Глава 9 Ускорение загрузки операционной системы • Настройка системных служб• Очистка списка автозагрузкиПользователей, которых полностью удовлетворяет скорость работы компьютера, точнее, скорость загрузки операционной системы и ее компонентов, немного. Даже если


Сценарии

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Сценарии Шаблон проекта базы данных автоматически создает две папки для хранения сценариев SQL. Папка Create Scripts (Сценарии создания данных) содержит сценарии SQL, которые отражают предполагаемые изменения в базе данных. Изменения могут быть отложены, так как разработчик не


2.6. Сценарии

Из книги Фреймы для представления знаний автора Мински Марвин

2.6. Сценарии «Мышление... в биологическом плане возникает вслед за развитием процессов формирования образов. Оно возможно только тогда, когда будет найден способ разрушить „массированное“ влияние прежних стимулов и ситуаций, когда будет познан механизм подавления


Сценарии, выполняемые при загрузке операционной системы 

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Сценарии, выполняемые при загрузке операционной системы  Сценарии включения/выключения, как и сценарии входа/выхода групповой политики, подключаются с помощью оснастки Групповая политика (Group Policy) в MMC. Процесс добавления оснастки Групповая политика (Group Policy) для


Сценарии, выполняемые при завершении работы операционной системы

Из книги Добавьте в корзину. Ключевые принципы повышения конверсии веб-сайтов автора Айзенберг Джеффри

Сценарии, выполняемые при завершении работы операционной системы Для подключения сценариев выключения нужно выбрать свойство Завершение работы (Shutdown) в разделе Сценарии (запуск/завершение) (Scripts (Startup/Shutdown)), после чего будет выведено диалоговое окно Свойства: Завершение


Убедительные сценарии

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Убедительные сценарии Движущая сила убеждения основывается на сценариях, при разработке которых мы учитываем потребности каждого из персонажей, созданных еще на этапе раскрытия. Слово сценарий в последнее время можно услышать в самом разном контексте. И разные


14.9. Различные сценарии

Из книги Сетевые средства Linux автора Смит Родерик В.

14.9. Различные сценарии Приведем еще несколько примеров. Не претендуя на оригинальность, мы отнесли их к категории


Сценарии Samba

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Сценарии Samba Одна из самых привлекательных особенностей Samba — возможность выполнения сценариев. Вы можете задавать команды, которые будут выполнены при наступлении определенных событий. Благодаря поддержке сценариев Samba можно использовать для решения задач,


33.5. "Цветные" сценарии

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

33.5. "Цветные" сценарии Для установки атрибутов отображения информации на экране, таких как: жирный текст, цвет символов, цвет фона и т.п., с давних пор используются ANSI[ 62 ] escape-последовательности. Эти последовательности широко используются в пакетных файлах DOS, эти же


9.2. Сценарии

Из книги Установка, настройка и восстановление Windows 7 на 100% автора Ватаманюк Александр Иванович

9.2. Сценарии Сценарий awk — это набор инструкций, состоящих из шаблонов и связанных с ними процедур. Когда утилита просматривает записи входного файла, она проверяет, установлена ли опция -F или переменная FS (о ней мы поговорим ниже), задающие разделители полей записи. По


29.4. Сценарии cgi и HTM

Из книги Linux Mint и его Cinnamon. Очерки применителя автора Федорчук Алексей Викторович

29.4. Сценарии cgi и HTM Когда броузер генерирует запрос на загрузку страницы, Web–сервер задается в виде входящего URL. Если в качестве части URL–пути указывается cgi?bin, сервер открывает соединение, которое обычно реализует перенаправление к запрашиваемому cgi–сценарию. Входной и


24.3. Ускорение загрузки системы для многоядерных процессоров

Из книги Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013 автора Федорчук Алексей Викторович

24.3. Ускорение загрузки системы для многоядерных процессоров В последнее время практически во всех современных компьютерах используются многоядерные процессоры. Наибольшее распространение получили двухъядерные процессоры, можно встретить и более производительные


Сценарии оболочки

Из книги автора

Сценарии оболочки Наш затянувшийся разговор о командах и командном интерфейсе подходит к концу. И в заключение этого раздела — ещё немного терпения. Потому что было бы несправедливо не уделить чуть-чуть места тому, что придает командному интерфейсу POSIX-систем его


Скорость загрузки системы: путь на пользовательский десктоп?

Из книги автора

Скорость загрузки системы: путь на пользовательский десктоп? LinuxFormat, #87-88 (январь 2007)Время от времени на форумах обсуждается вопрос о скорости загрузки различных ОС и дистрибутивов. В ходе которого мне неоднократно встречалась мысль, что Linux (или некий его конкретный