3. Подсистема rc и файловые системы в режиме только чтения

Инициализация встраиваемой системы FreeBSD после загрузки управляется /etc/rc.initdiskless.

/etc/rc.d/var монтирует /var как файловую систему в памяти, создает указываемый список каталогов в /var при помощи команды mkdir(1), изменяет режимы доступа на некоторые из этих каталогов. В процессе выполнения /etc/rc.d/var задействуется еще одна переменная rc.confvarsize. Скрипт /etc/rc.d/var создает раздел /var на основе значения этой переменной из rc.conf:

varsize=8192

Запомните, что по умолчанию это значение указано в секторах.

Факт использования файловой системы /var в режиме чтения и записи является важным признаком, так как раздел / (и любые другие разделы, которые могут находиться на флэш-носителе) должен монтироваться в режиме только для чтения. Вспомните, что в Разд. 1 мы касались ограничений флэш-памяти - особенно ограничений, касающихся возможностей записи. Важно не монтировать файловые системы на флэш-носителях в режимах чтения и записи, и важность отказа от файла подкачки не может быть переоценена. Файл подкачки на загруженной системе может пережечь кусок флэш-носителя менее чем за год. Частое журналирование и создание временных файлов приводят к тому же результату. Поэтому, кроме удаления записи swap из вашего файла /etc/fstab, вы должны также изменить поле параметров каждой файловой системы на ro таким образом:

# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ad0s1a             /               ufs     ro              1       1

В результате этих изменений в среднестатистической системе несколько приложений немедленно перестанут работать. Например, cron не будет нормально запускаться в результате отсутствия таблиц для него в каталоге /var, созданном /etc/rc.d/var, а syslog и dhcp будут испытывать проблемы из-за доступа файловой системы только для чтения, а также отсутствия записей в /var, который был создан скриптом /etc/rc.d/var. Хотя эти проблемы являются временными и обсуждаются вместе с решением проблем с запуском распространенных программных пакетов, в Разд. 5.

Важно помнить, что файловая система, которая была смонтирована только для чтения при помощи файла /etc/fstab, в любой момент может быть сделана доступной по чтению и записи выдачей команды:

# /sbin/mount -uw partition

и может быть возвращена к режиму доступа только для чтения по такой команде:

# /sbin/mount -ur partition

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.