Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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.