Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 38
Текст из файла (страница 38)
Если в дисководе нет дискеты, система перейдет кпоиску загрузчика на первом жестком диске (HDD-0, устройство /dev/hda).Если же в дисководе есть дискета, но она не является загрузочной, выполучите соответствующее сообщение об этом. На этом этапе вы можете либосменить дискету, либо вообще извлечь ее из дисковода, чтобы разрешитьсистеме произвести поиск загрузчика операционной системы на жесткомдиске. Если и на жестком диске не будет обнаружен загрузчик, системаперейдет к следующему элементу загрузочной последовательности — CDROM.151ПроцессыПредположим, что система нашла загрузчик на жестком диске. Загрузчик должен быть корректно установлен, иначе вы получите сообщение оневозможности загрузиться с данного носителя информации (жесткого диска).
После этого управление будет передано программе LILO или любомудругому загрузчику операционной системы Linux.После того, как пользователь выберет нужное ему ядро, загрузка системы будет продолжена. Сначала будет загружаться ядро, а потом — программа init. Для полноты рассмотрения процесса загрузки я буду считать, что унас установлен уровень управления 5.Первыми будут выполнены процессы, которые указаны в действии sysinitфайла /etc/inittab.
Затем — процессы, перечисленные с помощью действий boot и bootwait (см. п. 5.5).Обычно для действия sysinit выполняется сценарий загрузки/etc/re.d/re.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. Подключается (не активизируется!) раздел подкачки. С этого момента система начинает использовать раздел подкачки.После выполнения сценария загрузки / e t c / r e . d / r c . s y s i n i t выполняется сценарий / e t c / r e . d / r c .
Этому сценарию передается один параметр номер уровня выполнения. В рассматриваемом случае - - это номер 5,поэтому будет выполнена команда:/etc/re.d/rc 5Разумеется, данный сценарий будет выполнен при наличии в вашемфайле /etc/initab строки:15:5rwait:/etc/re.d/rc 5752ПроцессыВы можете определить любое другое действие для уровня выполнения 5.Однако я не рекомендую вам этого делать: если вы написали свой сценарийзагрузки, который работает лучше, чем предлагаемый разработчиками дистрибутива по умолчанию, значит, вам самое время написать свой дистрибутив! Запуск пятого уровня выполнения подразумевает запуск сценариев изкаталога / e t c / r e . d / r c 5 .
d / .После выполнения этого сценария будет выполнен сценарий/ e t c / r e . d / r c . local. Данный сценарий всегда выполняется последним,вне зависимости от уровня выполнения.После запуска сценариев пятого уровня выполнения создаются виртуальные консоли и запускается менеджер дисплеев системы X Window (xdm).5.7. Стандартные файлы протоколов (журналов)В любой Unix-системе есть стандартные файлы протоколов (журналов),расположение которых может изменяться в зависимости от операционнойсистемы. В Linux они находятся в каталоге / v a r / l o g . К стандартнымпротоколам относятся следующие файлы:secureauth.logboot.logdmesgmessagessyslogВ подкаталогах каталога /var/log находятся журналы (протоколы) другихпрограмм, например, в каталоге /var/log/kernel находятся журналы ядра, ав /var/log/httpd — журналы HTTP-сервера. По большому счету расположение журналов зависит от настройки соответствующих им программ, но встандартном виде все они находятся в каталоге /var/log и его подкаталогах.Назначение стандартных журналов представлено в табл.
5.6.Подробно файлы журналов будут рассмотрены в следующем пункте(п. 5.8), в котором мы научимся управлять процессом протоколирования.Стандартные журналыФайлauth.loguser.logsecuremessagesТаблица 5.6НазначениеПротоколирование аутентификацииСообщения пользовательских программОбычно в этот файл записываются сообщения об удаленном доступе к этой машине,например, сообщения от демона FTP о том, какие пользователи и когда регистрировалисьна данном сервереОстальные сообщения5.8.
Управление протоколированиемЭтот раздел посвящен демону syslogd, а также управлению протоколированием сообщений системы и ядра с помощью этого демона. Прежде всегоследует отметить, что демон находится в пакете sysklogd (если вы, конечно,используете Red Hat-совместимую систему), поэтому перед его использова-Процессынием нужно установить этот пакет. В большинстве случаев у вас пакет ужебудет установлен, а демон syslogd запущен. Чтобы проверить этот факт,введите команду syslogd. Если демон запущен, то в ответ вы должны получить сообщение:syslogd: Already running.Убедиться в том, что демон запущен, можно также с помощью команды:ps -ax I grep syslogdОбратите внимание, что в пакет sysklogd на самом деле входят двепрограммы: syslogd и klogd.
Программа syslogd отвечает за протоколированиесообщений системы, a klogd — ядра.5.8.1. Демон SyslogdДемон syslogd (system logging-deamon) обеспечивает вид протоколирования, который поддерживается большинством программ. При этом демонsyslogd пишет сообщения в файл / v a r / l o g / s y s l o g . Записи в этом файлеобычно содержат такие поля: дата и время, хост, программа, сообщение.Пример этого файла представлен ниже:JanJanJanJanJanJanJan27 17:09:35 dhsilabs' modprobe: modprobe: Can't locate module sound-service-1-027 17:09:35 dhsilabs modprobe: modprobe: Can't locate module sound-slot-127 17:12:28 dhsilabs kernel: VFS: Disk change detected on device idel(22,64)27 17:12:31 dhsilabs kernel: ISO 9660 Extensions: Microsoft Joliet Level 127 17:12:31 dhsilabs kernel: ISOFS: changing to secondary root27 17:12:32 dhsilabs kernel: VFS: Disk change detected on device fd(2,0)27 17:12:32 dhsilabs kernel: endjrequest: I/O error, dev 02:00 (floppy), sector 0Например, из предпоследней записи мы можем узнать, что 27-го января2002 года в 17:12 произошла смена носителя в устройстве fd, о чем намлюбезно сообщило ядро системы (запись «программа» — kernel).
А носитель(дискета) оказался подпорченным, о чем свидетельствует следующая запись — ошибка ввода/вывода (I/O error, dev 02:00 (floppy), sector 0).Демон syslogd запускается автоматически при старте системы. Для егозапуска предназначен сценарий / e t c / r e , d / i n i t . d / s y s l o g . Как обычно, запустить демон самостоятельно вы можете с помощью команды:/etc/rc.d/init.d/syslog start, а остановить — /etc/rc.d/init.d/syslog stop. Дляобеспечения автоматической загрузки нужно создать символическую ссылку на этот файл, например:Is -s /etc/re.d/rc5.d/@S30syslog / e t c / r c .
d / i n i t . d / s y s l o g .В этом случае вы обеспечите запуск демона на пятом уровне запуска(автоматический запуск X Window). Если вы используете Linux Mandrake,включить и отключить автоматический запуск вы можете с помощью команды drakxservices. При использовании Linux Red Hat включите-автозапускдемона с помощью конфигуратора setup. Демон syslogd можно запускать сопциями, указанными в табл. 5.7.В табл. 5.7 указаны не все опции демона. Назначение всех остальныхопций вы можете найти в справочной системе, введя команду man syslogd.154ПроцессыОпции демона syslogdОпцияТаблица 5.7Описание-а сокетЭтот параметр позволяет указать дополнительный сокет, который syslogd должен прослушивать-dВключает режим отладки.
В этом режиме демон не будет использовать системный вызов fork(2)для переключения себя в фоновый режим и будет выводить больше отладочной информации-f файлЭтот параметр определяет альтернативный файл конфигурации-hПо умолчанию демон не перенаправляет сообщения, которые он получает от других узлов.Этот параметр позволяет перенаправить сообщения другим хостам, которые определены-nЭтот параметр нужен, если syslogd запускается и контролируется программой init-р сокет-гПозволяет задать другой сокет Unix вместо /dev/logПозволяет принимать сообщения из сети.
Данная опция появилась в версии syslogd 1.3-VВыводит версию демона syslogd5.8.2. СигналыДемон syslogd реагирует на следующие сигналы: SYGTERM, SIGINT,SIGQUIT, SIGHUP, SIGUSR1, SIGCHLD. Реакция демона на сигналыописана в табл. 5.8.Реакция демона на сигналыТаблица 5.8РеакцияСигналSIGTERMЗавершает работу демонаSIGINT, SIGQUITЗавершает работу демона, если выключена отладка (debugging), Если же отладкавключена, эти сигналы игнорируютсяSIGUSR1Включает или выключает отладкуSIGHUPПерезапуск демона5.8.3.