freebsd : mount_nullfs

Sous GNU/Linux, j’utilisais assez les mount --bind pour monter un système de fichiers à un autre endroit de l’arborescence. Ceci étant une spécificité Linux, il n’existe pas sous FreeBSD. Mais il y a nullfs qui fait à peu près la même chose. Voici comment utiliser mount_nullfs pour – par exemple – monter une sous-arborescence music sous le home de toto :

# mkdir /usr/home/toto/music
# mount_nullfs /dataraid/zfsdata/music /usr/home/toto/music

L’arborescence /dataraid/zfsdata/music est désormais aliasée et ainsi disponible dans le home de toto. La grosse différence entre ceci et un lien symbolique est que le chemin de cette nouvelle arborescence est réellement vu à l’endroit indiqué /usr/home/toto/music. Ainsi :

# cd /usr/home/toto/music/
# realpath .
/usr/home/alex/music
# stat .
134283012 107 drwxr-xr-x 342 fabien wheel 0 345 "Dec 22 03:01:29 2009" "Dec 19 17:00:43 2009" "Dec 19 17:00:43 2009" "Dec  9 20:32:31 2009" 4096 27 0 .

Le realpath retourne bien notre système de fichiers et non celui d’origine sous /dataraid/zfsdata/music. stat quant à lui nous indique qu’il s’agit bien d’un répertoire et non d’un lien symbolique.

Pour faire ce montage (en lecture-écriture) automatiquement au démarrage dans le fstab, ajouter cette ligne :

/dataraid/zfsdata/music    /usr/home/toto/music nullfs  rw      0       0