Файл /etc/rc conf в FreeBSD обыкновенно пуст и служит лишь для упорядочивания и исполнения различных сценариев запуска системы, содержащихся в каталоге /etc/red. Два файла, /etc/rc.conf и /etc/default/rc.conf, контролируют, какие службы уровня пользователя запускаются во время загрузки.
Каждый из этих файлов загружается сценариями загрузки системы при их исполнении, /etc/defaults/rc.conf содержит значения по умолчанию для различных переменных оболочки, которые управляют тем, должна ли служба запускаться.
Администраторы изменяют значения по умолчанию, помещая в /etc/rc.conf другие значения для тех же самых переменных оболочки. Например, чтобы включить использование в ходе загрузки безопасную оболочку (Secure Shell - ssh), в /etc/rc.conf была бы помещена следующая строка:
sshd_enable = "yes"
Основой системы сценариев гс является программа с названием reorder, которая принимает в качестве ввода сценарии оболочки, вычисляет их взаимозависимости, затем выводит упорядоченный список имен. Каждый сценарий запуска объявляет модули, которые ему нужны, а также те, которые он предоставляет. Программа reorder использует операторы REQUIRE и PROVIDE для определения порядка, в каком нужно запускать сценарии.
Одной из вспомогательных задач является проверка локальных файловых систем после системных сбоев. Если система не загружена с опцией fastboot, тогда сценарий /etc/rc.d/fsck выполняет проверку файловой системы. В версиях BSD до FreeBSD проверки файловой системы были абсолютно необходимыми и должны были проводиться перед любой другой работой, но с введением мягких обновлений и других изменений файловой системы это больше не нужно.
Программа /sbin/fsck проверяет целостность файловой системы и исправляет поврежденные файловые системы. Обычно fsck вызывается из сценария /etc/rc.d/fsck для проверки и восстановления каждой файловой системы, до того как последняя монтируется. При начальной загрузке системы корневая файловая система монтируется с доступом только для чтения. Если корневая файловая система требует исправлений, rc conf FreeBSD выполняет вариант системного вызова mount, который запрашивает у ядра повторную загрузку всех структур данных его корневой файловой системы.
Повторная загрузка гарантирует согласованность между данными в памяти ядра и любыми данными в файловой системе, которые были изменены fsck. Монтирование корневой файловой системы с доступом только для чтения гарантирует, что у ядра не будет в памяти каких-либо измененных данных, которые не могут быть загружены повторно.
Вслед за проверками файловых систем они монтируются, корневая файловая система изменяется с предоставлением доступа на запись, и подключаются все устройства, которые должны использоваться для подкачки. Затем проверяются и включаются дисковые квоты, и система запускает фоновые процессы, которые реализуют различные системные службы.
Эти процессы включают /usr/sbin/cron, программу, которая выполняет команды через периодические интервалы; /usr/sbin/accton, программу, которая включает учет использования ресурсов системы; и /usr/sbin/syslog, процесс регистрации ошибок в журнале. Каждый из этих процессов запускается из своего собственного сценария в /etc/red.
Основные понятия: rc conf, rc conf freebsd, etc rc conf, rc conf перечитать, rc conf route, route freebsd rc conf, rc conf ifconfig