Может возникнуть необходимость примонтировать определённую системную директорию внуть джейла (или директрию джейла в другой джейл на уровне одной хост-системы), но ведь нелогично использовать NFS внутри одной машины. Например, нужно примонтировать директорию с исходным кодом системы и коллекцию портов в джейлы в целях экономии дискового пространства и в целях централизованности обслуживания. С этой задачей справится утилита mount_nullfs.
Из man mount_nullfs. Утилита mount_nullfs создает нулевой слой, дублируя субдерево пространства имён файловой системы как ещё одно субдерево глобального пространства имен. Это позволяет одним и тем же файлам и каталогам существовать и быть доступными под разными путями. Основные различия между виртуальной копией файловой системы и символической ссылкой в том, что getcwd (3) функции корректно работают в виртуальной копии, и что другие файловые системы могут быть примонтированы на виртуальной копии не затрагивая исходной.
Для использования утилиты ядро должно быть собрано со следующей опцией:
options NULLFS
Можно также вручную добавить этот модуль в ядро и автоматически подгружать при старте системы:
# kldload nullfs.ko # echo 'nullfs_load="YES"' >> /boot/loader.conf
… несмотря на то что модуль автоматически подгрузится при вызове утилиты mount_nullfs из командной оболочки. Далее пробуем монтирование директории /dir/ect/ory/1 в директорию /dir/ect/ory/2:
# mount_nullfs /dir/ect/ory/1 /dir/ect/ory/2 # mount_nullfs /usr/ports /some/jail/usr/ports
Для автоматического монтирования указанных директорий при старте системы указываем в /etc/fstab:
# vi /etc/fstab
/dir/ect/ory/1 /dir/ect/ory/2 nullfs rw 0 0 /usr/ports /some/jail/usr/ports nullfs rw 0 0
Для размонтирования указываем для umount точку монтирования nullfs:
# umount /dir/ect/ory/2 # umount /some/jail/usr/ports