Wie überprüfe ich, ob ein Bind-Mount unter Linux privat oder freigegeben ist?

8

Mit dem Befehl mount können wir einen Bind-Mount freigegeben, Slave, Shared + Slave, privat oder nicht bindend machen. Ich konnte jedoch für einen bestimmten Mount-Punkt nicht herausfinden, welche Art von Teilbaum auf dem Bind-Mount verwurzelt ist (Shared, Slave, privat, geteilt + Sklave oder unverbindlich). Wie finde ich heraus, ob ein Bind-Mount ein Slave oder ein privater ist?

anaken78
quelle

Antworten:

8

Die Antwort finden Sie auch auf der mount(8)Handbuchseite:

Verwenden Sie findmnt -o TARGET, PROPAGATION, um die aktuellen Ausbreitungsflags anzuzeigen.

Ein Beispiel:

$ 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

findmntWeitere Optionen finden Sie auf der Handbuchseite.

Als Referenz verwenden diese Beispiele:

$ findmnt --version
findmnt from util-linux 2.27.1
dawud
quelle
Welche Version verwenden findmntSie? Ich verwende findmntUbuntu 14.04 und das scheint nicht die Option "PROPAGATION" zu haben.
anaken78
7

Alternativ zur Antwort von dawud können Sie den Kernel direkt wie folgt fragen:

# 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
[...]

Sie können aus dem 7. Feld /sysersehen, dass mein Dateisystem gemeinsam genutzt wird (genau wie /proc).

Es ist auch und in Peer-Gruppe 7 (Bereitstellungen in derselben Peer-Gruppe verbreiten Ereignisse untereinander).

Die Zahl in /proc/1/mountinfoist die PID eines Prozesses, da sich Prozesse in unterschiedlichen Mount-Namespaces befinden und unterschiedliche Ergebnisse "sehen" können. Möglicherweise möchten Sie eine andere PID verwenden, dh wenn Sie mit Containern arbeiten. Ansonsten 1ist einfach und unkompliziert.

Gemeinsam genutzte Halterungen sind verfügbar , da Linux - Kernel - Version 2.6.15.

Totor
quelle
-3

Es sind 2 Ansichten derselben Daten, Änderungen in einer spiegeln sich in der anderen wider

mount --bind / source / destrination

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

Mount-Bindungen sind nur eine Möglichkeit, eine Dateisystemansicht nach Ihren Wünschen zu bestellen

Sum1sAdmin
quelle
1
Dies beantwortet die Frage nicht. In der Frage wird gefragt, wie der Modus eines bestimmten Bind-Mount (gemeinsam genutzt, Slave, privat usw.) ermittelt werden kann, um nicht zu definieren, was ein Bind-Mount ist.
Cosmic Ossifrage
Der Link erklärt, es ist keine der oben genannten
Sum1sAdmin
1
@ Rob-d was meinst du mit "es ist keines der oben genannten"? Als Cosmic Ossifrage auf meine Frage hinwies, was ist mit der Art der Montierung, nicht wie man die Bindungsmontage verwendet.
anaken78
Es ist der Typ, von dem Sie binden, andernfalls verwenden Sie bindfs -r usw.
Sum1sAdmin