comment puis-je vérifier si un montage de liaison sur linux est privé ou partagé?

8

La commande mount nous permet de faire un montage bind partagé, esclave, partagé + esclave, privé ou non, mais je n'ai pas pu déterminer pour un point de montage donné quel est le type de sous-arbre enraciné au montage bind (partagé, esclave, privé, partagé + esclave ou indissociable). Comment savoir si un montage de liaison est un esclave ou privé?

anaken78
la source

Réponses:

8

La réponse se trouve également dans la mount(8)page de manuel:

Utilisez findmnt -o TARGET, PROPAGATION pour voir les drapeaux de propagation actuels.

Un exemple:

$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   shared

$ sudo mount -o bind /opt /mnt
$ sudo mount --make-slave /opt
$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   private,slave

$ sudo umount /mnt
$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   private

Consultez la findmntpage de manuel pour d'autres options.

Pour référence, ces exemples utilisent:

$ findmnt --version
findmnt from util-linux 2.27.1
dawud
la source
Quelle version findmntutilisez-vous? J'utilise findmntsur Ubuntu 14.04 et cela ne semble pas avoir l'option "PROPAGATION".
anaken78
7

Alternativement à la réponse de dawud , vous pouvez directement demander au noyau comme ceci:

# cat /proc/1/mountinfo
14 19 0:14 / /sys rw,nosuid,nodev,noexec,relatime shared:7 - sysfs sysfs rw
15 19 0:3 / /proc rw,nosuid,nodev,noexec,relatime shared:12 - proc proc rw
[...]

Vous pouvez voir dans le 7ème champ que mon /syssystème de fichiers est partagé (comme /proc).

Il l'est également et dans le groupe de pairs 7 (les montages dans le même groupe de pairs se propagent les uns aux autres).

Le nombre /proc/1/mountinfoest le PID d'un processus, car les processus peuvent se trouver dans des espaces de noms de montage différents et "voir" des résultats différents. Vous voudrez peut-être utiliser un autre PID, par exemple si vous travaillez avec des conteneurs. Sinon, 1c'est simple et direct.

Les montages partagés sont disponibles depuis la version 2.6.15 du noyau Linux.

Totor
la source
-3

Il s'agit de 2 vues des mêmes données, les modifications dans l'une se reflètent dans l'autre

mount --bind / source / destrination

/unix/198590/what-is-a-bind-mount

les liaisons de montage sont juste un moyen de commander une vue du système de fichiers selon vos préférences

Sum1sAdmin
la source
1
Cela ne répond pas à la question. La question demande comment trouver le mode d'un montage de liaison donné (partagé, esclave, privé, etc.) pour ne pas définir ce qu'est un montage de liaison.
Cosmic Ossifrage
le lien fourni explique, ce n'est rien de ce qui précède
Sum1sAdmin
1
@ Rob-d qu'entendez-vous par "ce n'est rien de ce qui précède"? Comme Cosmic Ossifrage a souligné ma question sur le type de monture, pas sur la façon d'utiliser la monture de liaison.
anaken78
C'est le type à partir duquel vous liez le montage, sinon utilisez bindfs -r etc.
Sum1sAdmin