3.11. Noms de chemins Contexte-dépendants et Montage associés
Les systèmes de fichiers ne fournissent pas de support pour les noms d'emplacements contexte-dépendants (CPDNs), ce qui vous permet de créer les liens symboliques qui mènent à des destinations multiples de fichiers et de répertoires. Pour cette fonction dans GFS2, vous pouvez utiliser l'option
bind
de la commande mount
.
L'option
bind
de la commande mount
vous permet de remonter une partie d'une hiérarchie de fichiers vers un emplacement différent tandis qu'elle est toujours dans son emplacement d'origine. Le format de cette commande suit.
mount --bind olddir newdir
Après avoir exécuté cette commande, le contenu du répertoire
olddir
est disponible dans deux emplacements: olddir
et newdir
. Vous pouvez également utiliser cette option pour rendre ce fichier disponible dans deux emplacements.
Par exemple, après avoir exécuté les commandes suivantes, le contenu de
/root/tmp
sera identique au contenu du répertoire monté auparavant /var/log
.
[root@menscryfa ~]#cd ~root
[root@menscryfa ~]#mkdir ./tmp
[root@menscryfa ~]#mount --bind /var/log /tmp
Sinon, vous pouvez utiliser une entrée dans le fichier
/etc/fstab
pour le même résultat au moment du montage. L'entrée suivante /etc/fstab
amènera à ce que le contenu de /root/tmp
soit identique au contenu du répertoire /var/log
.
/var/log /root/tmp none bind 0 0
Après avoir monté le système de fichiers, vous pouvez utiliser la commande
mount
pour voir si le système de fichiers a bien été monté, comme dans l'exemple suivant.
[root@menscryfa ~]# mount | grep /tmp
/var/log on /root/tmp type none (rw,bind)
Avec un système de fichier qui suppporte les noms de chemins contexte-dépendants, vous avez peut-être pu définir le répertoire
/bin
dans un nom d'emplacement contexte-dépendant, qui se résoudrait aux emplacements ci-dessous, suivant le système d'architecture.
/usr/i386-bin /usr/x86_64-bin /usr/ppc64-bin
Vous pouvez obtenir la même fonctionalité en créant un répertoire vide
/bin
. Puis, en utilisant un script ou un point d'entrée dans le fichier /etc/fstab
, vous pouvez monter chaque répertoire de l'architecture individuelle dans le répertoire /bin
à l'aide d'une commande mount -bind
. Par exemple, vous pouvez utiliser les commandes suivantes dans une ligne de script.
mount --bind /usr/i386-bin /bin
Ou bien, vous pouvez utiliser l'entrée suivante dans le fichier
/etc/fstab
.
/usr/1386-bin /bin none bind 0 0
Un montage associé peut offrir une plus grande flexibilité pour un nom d'emplacement contexte-dépendant, car vous pouvez utiliser cet attribut pour monter differents répertoires suivant n'importe quel critère que vous déterminez (comme la valeur de
%fill
pour le système de fichiers). Les noms d'emplacement contexte-dépendants sont plus limités à ce qu'ils englobent. Notez, cependant, que vous aurez besoin d'écrire votre propre script pour effectuer les montages suivant des critères comme la valeur de %fill
.
Avertissement
Lorsque vous montez un système de fichiers avec l'option
bind
et que le système de fichiers original était monté rw
, le nouveau système de fichiers sera également monté rw
même si vous utilisez le marqueur ro
; le marqueur ro
est ignoré silencieusement. Dans ce cas, le nouveau système de fichiers pourrait être marqué en tant que ro
dans le répertoire /proc/mounts
, ce qui pourrait induire à confusion.