FILESYSTEM OPTIONS

Этот раздел определяет - поддержка каких файловых систем будет включена в ядро.

Обратите внимание, если вы не включите поддержку какой-либо FS, это еще не означает, что вы не сможете ей воспользоваться. Некоторые из модулей поддержки FS оформлены в виде lkm(загружаемые модули ядра) и могут "подстыковываться" к ядру по мере необходимости во время работы.

Однако, некоторые из типов FS не имеют таких загружаемых модулей и, поэтому, их поддержка должна быть "встроена" в ядро (если, конечно, она вам нужна).

И, кроме того, обязательно встраивать в ядро поддержку той FS, с которой будет грузиться ваша система (где находятся /, /usr и /tmp). Обычно, это FFS. Но, если вы, например, собираетесь делать систему загружаемую по сети (типа discless station), то необходимо включить в ядро поддержку NFS (Network File System), хотя в других случаях она может подгружаться во время работы.

"Реальные" FS

Это обычные файловые системы, предназначенные для хранения файлов.

options FFS #Fast filesystem

Основная FS для FreeBSD. Должна быть обязательно.

options "CD9660" #ISO 9660 filesystem

Наиболее распространенная FS для CD-ROM. Существует в виде lkm, поэтому, в ядро можно не включать.

options MSDOSFS #MS DOS File System

FS для MS DOS. Существует в виде lkm, поэтому, в ядро можно не включать.

options MFS #Memory File System

FS для построения "виртуального диска" в ОЗУ машины. Модуля lkm нет, поэтому, если хотите ее использовать, то необходимо включить в ядро.
(Я слабо представляю себе - когда ее использование оправдано. Не забывайте, что под этот "виртуальный диск" отдается часть оперативной памяти, которой, обычно, не бывает в избытке).
options "MFS_ROOT=10"
Размер (в килобайтах) памяти, зарезервированой внутри ядра для MFS
options MFS_AUTOLOAD
Эта опция позволяет ядру автоматически загружать разметку для "виртуального диска" с флопика, при необходимости. (Поскольку, при перезагрузке машины разметка диска в памяти не сохраняется, ее приходится каждый раз копировать с какого-нибудь реального диска).

options LFS #Log filesystem

Еще одна (продвинутая) FS для UNIX. Пока в стадии экспериментальной. Модуля lkm нет, поэтому, если хотите ее использовать, то необходимо включить в ядро.

options NFS #Network File System

Сетевая FS. В UNIX это основной механизм, позволяющий работать с дисками других машин через сеть.
Существует в виде lkm, поэтому, в ядро можно не включать (если, конечно, система грузится не по сети).
options NQNFS #Enable NQNFS lease checking
Некоторое расширение функций NFS.
options NFS_NOSERVER #Disable the NFS-server code.
Если ваша машина будет только NFS-клиентом, то есть только пользоваться чужими дисками и не отдавать свои в сеть, то этой опцией можно подсократить скомпилированный код.

Кстати, интересно - с какими опциями скомпилирован lkm для NFS?

options "EXT2FS"

Еще одна FS для UNIX. В оригинальном LINT эта опция стоит в разделе "еще некоторые недокументированные опции". Поэтому, я не знаю - насколько она работоспособна. Модуля lkm нет, поэтому, если хотите ее использовать, то необходимо включить в ядро.

"Специальные" FS.

Эти "псевдо-" файловые системы предназначены для того, чтобы обращаться (считывать/изменять) к различным объектам операционной системы и их некоторым параметрам как к файлам, то есть обычными операциями чтения/записи файлов.

Какие из них вам нужны - это определяется теми прикладными программами, которые захотят их использовать.

Во всяком случае, все они существуют в виде lkm (кроме DEVFS) и, следовательно, включать их в ядро нет необходимости.

options PROCFS #Process filesystem

Отображает параметры текущих процессов в виде файлов.
Подробности - man procfs.

options KERNFS #Kernel filesystem

Отображает некоторые параметры системы в виде файлов.
Подробности - man kernfs.

options FDESC #File descriptor filesystem

Отображает дескрипторы открытых в данный момент файлов в виде файлов.
Подробности - man fdesc.

options PORTAL #Portal filesystem

Отображает параметры некоторых объектов (например, сокетов) в виде файлов.
Подробности - man mount_portal.
Находится в стадии экспериментальной (то есть - не работает :-).

options DEVFS #devices filesystem

Эмулирует "device special files" (которые обычно лежат в /dev) для всех устройств, поддержка которых включена в ядро.
Подробности - man devfs. :-)
Находится в стадии экспериментальной (но, говорят, что работает).
Модуля lkm нет, поэтому, если хотите ее использовать, то необходимо включить в ядро.

"Вспомогательные" FS.

Это модули, которые используются "поверх" (или "между") реальных FS для некоторых дополнительных действий.

Все эти модули существуют в виде lkm и, следовательно, включать их в ядро нет необходимости.

options UNION #Union filesystem

Позволяет монтировать в одну директорию несколько "реальных" FS.
Например, можно смонтировать в одну директорию CD-ROM и директорию с винчестера. В результате, в этой директории будут файлы с CD-ROM, но, при этом, в нее можно дописывать свои файлы (которые, естественноб будут записаваться в соответствующую директорию на винчестере).
Подробности - man mount_union.
Находится в стадии экспериментальной.

options UMAPFS #UID map filesystem

Позволяет иметь кроме "реальной" FS ее копию, но с измененными UID и GID на файлах. (Естественно, при монтировании указывается таблица соответствий реальных/подмененных UID'ов и GID'ов).
Подробности - man mount_umap.

options NULLFS #NULL filesystem

Ничего не делает с "реальной" FS. :-) С ее помощью можно просто сделать копию уже смонтированной FS.
Подробности - man mount_null.

Некоторые опции, имеющие отношение к файловым системам.

options "NSWAPDEV=20"

Для swap можно использовать одновременно несколько устройств/разделов диска (см. man swapon). Этот параметр задает их максимальное количество.
Если этот параметр не задавать, то, по умолчанию, их будет 4.
А этого, как правило, вполне достаточно.

options QUOTA #enable disk quotas

Если вы хотите задавать "дисковую квоту", то есть ограничение на размер дискового пространства для отдельных юзеров, то эта опция должна быть обязательно.
Подробности о quota - man quota (и те man'ы, на которые он ссылается).

options NULLFS_DIAGNOSTIC
options KERNFS_DIAGNOSTIC
options UMAPFS_DIAGNOSTIC
options UNION_DIAGNOSTIC

Включение в соответствующих FS дополнительной диагностики.

Иван Паскаль pascal@tsu.ru