Red Hat Training

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

18.2.3. Partager des montages

De manière occasionnelle, certaines tâches d'administration système requièrent d'avoir accès au même système de fichiers à partir de plusieurs emplacements dans l'arborescence des répertoires (par exemple, lors de la préparation d'un environnement chroot). Ceci est possible, et Linux vous autorise à monter le même système de fichiers sur autant de répertoires que nécessaire. En outre, la commande mount implémente l'option --bind qui fournit un moyen pour dupliquer certains montages. Son utilisation fonctionne comme suit :
mount --bind old_directory new_directory
Même si cette commande permet à un utilisateur d'accéder au système de fichiers à partir de ces deux emplacements, celle-ci ne s'applique pas aux systèmes de fichiers qui sont montés à l'intérieur du répertoire d'origine. Pour également inclure ces montages, veuillez saisir :
mount --rbind old_directory new_directory
De plus, afin de fournir autant de flexibilité que possible, Red Hat Enterprise Linux 6 implémente la fonctionalité connue sous le nom de sous-arborescence partagée. Cette fonctionnalité permet l'utilisation des quatres types de montage suivants :
Montage partagé
Un montage partagé permet la création d'une réplique exacte d'un point de montage donné. Lorsqu'un point de montage est marqué en tant que montage partagé, tout montage à l'intérieur du point de montage d'origine est reflété dedans, et vice-versa. Pour modifier le type d'un point de montage en montage partagé, veuillez saisir la commande suivante à l'invite shell :
mount --make-shared mount_point
De manière alternative, pour modifier le type de montage du point de montage sélectionné et de tous les points de montage se trouvant sous celui-ci, veuillez saisir :
mount --make-rshared mount_point
Veuillez consulter Exemple 18.4, « Créer un point de montage partagé » pour un exemple d'utilisation.

Exemple 18.4. Créer un point de montage partagé

Il existe deux emplacement dans lesquels les autres systèmes de fichiers sont communément montés : le répertoire /media pour les supports amovibles, et le répertoire /mnt pour les systèmes de fichiers montés temporairement. En utilisant un montage partagé, vous pouvez faire en sorte que ces deux répertoires partagent le même contenu. Pour ce faire, en tant qu'utilisateur root, marquez le répertoire /media en tant que répertoire « partagé » :
~]# mount --bind /media /media
~]# mount --make-shared /media
Puis créez son double dans /mnt en utilisant la commande suivante :
~]# mount --bind /media /mnt
Il est désormais possible de vérifier qu'un montage à l'intérieur de /media apparaît aussi dans /mnt. Par exemple, si le lecteur CD-ROM contient un support qui n'est pas vide et que le répertoire /media/cdrom/ existe, veuillez exécuter les commandes suivantes :
~]# mount /dev/cdrom /media/cdrom
~]# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
~]# ls /mnt/cdrom
EFI  GPL  isolinux  LiveOS
De la même manière, il est possible de vérifier que n'importe quel système de fichiers monté dans le répertoire /mnt se reflètera dans /media. Par exemple, si un lecteur flash USB qui utilise le périphérique /dev/sdc1 est enfiché et que le répertoire /mnt/flashdisk/ est présent, veuillez saisir :
~]# mount /dev/sdc1 /mnt/flashdisk
~]# ls /media/flashdisk
en-US  publican.cfg
~]# ls /mnt/flashdisk
en-US  publican.cfg
Montage esclave
Un montage esclave permet la création d'un double limité d'un point de montage donné. Lorsqu'un point de montage est marqué en tant que montage esclave, tout montage dans le point de montage d'origine y sera reflété, mais aucun montage à l'intérieur d'un montage esclave n'est reflété dans son point d'origine. Pour modifier le type d'un point de montage en montage esclave, veuillez saisir ce qui suit à l'invite shell :
mount --make-slave mount_point
Alternativement, il est possible de modifier le type de montage du point de montage sélectionné et de tous les points de montage se trouvant sous celui-ci en saisissant :
mount --make-rslave mount_point
Veuillez consulter l'Exemple 18.5, « Créer un point de montage esclave » pour voir un exemple d'utilisation.

Exemple 18.5. Créer un point de montage esclave

Cet exemple montre comment faire pour que le contenu du répertoire /media soit également affiché dans /mnt, mais sans qu'aucun montage du répertoire /mnt ne soit reflété dans /media. En tant qu'utilisateur root, veuillez marquer le répertoire /media en tant que répertoire « partagé » :
~]# mount --bind /media /media
~]# mount --make-shared /media
Puis créez son dupliqué dans /mnt, mais marquez-le en tant qu'« esclave » :
~]# mount --bind /media /mnt
~]# mount --make-slave /mnt
Veuillez vérifier qu'un montage à l'intérieur de /media apparaîsse aussi dans /mnt. Par exemple, si le lecteur CD-ROM contient un support qui n'est pas vide et que le répertoire /media/cdrom/ existe, veuillez exécuter les commandes suivantes :
~]# mount /dev/cdrom /media/cdrom
~]# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
~]# ls /mnt/cdrom
EFI  GPL  isolinux  LiveOS
Veuillez également vérifier qu'aucun des systèmes de fichiers montés dans le répertoire /mnt ne soit reflété dans /media. Par exemple, si un lecteur flash USB qui utilise le périphérique /dev/sdc1 est attaché et que le répertoire /mnt/flashdisk/ est présent, veuillez saisir :
~]# mount /dev/sdc1 /mnt/flashdisk
~]# ls /media/flashdisk
~]# ls /mnt/flashdisk
en-US  publican.cfg
Montage privé
Un montage privé est le type de montage par défaut, contrairement à un montage privé ou partagé, il ne reçoit et ne transfère pas d'événements de propagation. Pour marquer explicitement un point de montage en tant que montage privé, veuillez saisir ce qui suit à l'invite shell :
mount --make-private mount_point
Alternativement, il est possible de modifier le type de montage du point de montage sélectionné et de tous les points de montage se trouvant sous celui-ci :
mount --make-rprivate mount_point
Veuillez consulter l'Exemple 18.6, « Créer un point de montage privé » pour voir un exemple d'utilisation.

Exemple 18.6. Créer un point de montage privé

En prenant en compte le scénario dans l'Exemple 18.4, « Créer un point de montage partagé », supposez que le point de montage partagé a été créé auparavant en utilisant les commandes suivantes en tant qu'utilisateur root:
~]# mount --bind /media /media
~]# mount --make-shared /media
~]# mount --bind /media /mnt
Pour marquer le répertoire /mnt en tant que « privé », veuillez saisir :
~]# mount --make-private /mnt
Il est désormais possible de vérifier qu'aucun des montages présents à l'intérieur de /media n'apparaisse dans /mnt. Par exemple, si le lecteur CD-ROM contient un support qui n'est pas vide et que le répertoire /media/cdrom/ existe, veuillez exécuter les commandes suivantes :
~]# mount /dev/cdrom /media/cdrom
~]# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
~]# ls /mnt/cdrom
~]#
Il est également possible de vérifier qu'aucun des systèmes de fichiers montés dans le répertoire /mnt ne soit reflété dans /media. Par exemple, si un lecteur flash USB qui utilise le périphérique /dev/sdc1 est attaché et que le répertoire /mnt/flashdisk/ est présent, veuillez saisir :
~]# mount /dev/sdc1 /mnt/flashdisk
~]# ls /media/flashdisk
~]# ls /mnt/flashdisk
en-US  publican.cfg
Montage ne pouvant pas être lié
Pour empêcher qu'un point de montage donné ne soit dupliqué, un montage ne pouvant pas être lié peut être utilisé. Pour modifier le type d'un point de montage en montage ne pouvant pas être lié, veuillez saisir ce qui suit à l'invite shell :
mount --make-unbindable mount_point
Alternativement, il est possible de modifier le type de montage du point de montage sélectionné et de tous les points de montage se trouvant sous celui-ci :
mount --make-runbindable mount_point
Veuillez consulter l'Exemple 18.7, « Créer un point de montage ne pouvant pas être lié » pour voir un exemple d'utilisation.

Exemple 18.7. Créer un point de montage ne pouvant pas être lié

Pour empêcher que le répertoire /media soit partagé, veuillez saisir ce qui suit à l'invite shell en tant qu'utilisateur root :
~]# mount --bind /media /media
~]# mount --make-unbindable /media
Ainsi, toute tentative conséquente de créer un dupliqué de ce montage échouera avec une erreur :
~]# mount --bind /media /mnt
mount: wrong fs type, bad option, bad superblock on /media,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail  or so