Настройка и работа в Linux




Исследуем процессы Часть Демон init - часть 2


Выглядит так как будто мы не должны возиться с этим файлом самостоятельно. Судя по всему здесь должны находиться очень важные вещи для правильной загрузки нашей системы. Для того что бы понять что на самом деле происходит во время этой фазы загрузки, давайте выборочно посмотрим на некоторые важные куски этого файла. Заметьте, что все сообщения и ошибки выдаваемые сценарием rc процесс init переправляет на терминал. (Мои комментарии будут отмечены табуляцией, строки прижатые влево взяты из файла /etc/rc). Первым делом сценарий rc устанавливает переменную PATH, для того что бы иметь возможность находить исполняемые файлы в вашей FreeBSD.

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin

Затем rc получает содержимое файлов /etc/defaults/rc.conf и /etc/rc.conf:

# If there is a global system configuration file, suck it in. # Если это глобальный конфигурационный файл, то применить его if [ -f /etc/defaults/rc.conf ]; then . /etc/defaults/rc.conf elif [ -f /etc/rc.conf ]; then . /etc/rc.conf fi

Затем делается проверка целостности файловых систем. Если вы некорректно завершили работу вашей FreeBSD, то вы будете оповещены об этом на данном этапе загрузки системы.

echo Automatic boot in progress... fsck -p

(На самом деле все немного сложнее, поскольку запуск fsck можно запретить командами в файле rc.conf – прим. переводчика.) Будем подразумевать что fsck не встретил проблем при проверке файловых систем. Затем rc смонтирует файловые системы.

# Mount everything except nfs filesystems. # Смонтировать все исключая nfs. mount -a -t nonfs

Перед тем, как запустится первый демон, ваши CMOS часы должны быть соответствующим образом отрегулированы, для того, что бы их могли понимать часы ядра.

adjkerntz -i

Содержимое некоторых подкаталогов каталога /var должно быть очищено от посторонних файлов, после чего загрузочные сообщения помещаются в файл dmesg.boot:

clean_var() { if [ ! -f /var/run/clean_var ]; then rm -rf /var/run/* find /var/spool/lock ! -type d -delete rm -rf /var/spool/uucp/.Temp/* # Keep a copy of the boot messages around dmesg >/var/run/dmesg.boot




Содержание  Назад  Вперед