Viele Leute sagen immer wieder, dass Linux keine Informationen über Bindungs-Mounts speichert, daher gibt es keine Möglichkeit, eine Liste von ihnen und ihren Quellen zu erhalten. Hier sind einige Beispiele:
aus einem der Kommentare hier :
IIRC Diese Informationen werden nirgendwo aufbewahrt: Nachdem
mount --bind
die beiden Kopien gleichwertig sind, gibt es keine, die „origineller“ ist als die andere. Schließlich könnte es kein Original geben, wenn Sie bereits abgemeldet wären/mnt
.von einer Antwort auf dieser Seite :
Die einzige Möglichkeit, sich daran zu erinnern, welche Mounts Bindungs-Mounts waren, ist das Protokoll der verbleibenden Mount-Befehle
/etc/mtab
. Eine Bind-Mount-Operation wird durch die Bind-Mount-Option angezeigt (wodurch der Dateisystemtyp ignoriert wird). Mount hat jedoch keine Option, nur Dateisysteme aufzulisten, die mit einem bestimmten Satz von Optionen gemountet wurden.aus einem Debian-Fehlerbericht :
Dies ist beabsichtigt. Beide Mount-Punkte sind in jeder Hinsicht vollständig gleich, sodass der Kernel keine Flags behält, um sie zu unterscheiden.
Das obige ist jedoch Unsinn. Das Tool findmnt
kann die Quellpfade von Bindungs-Mounts auflisten (in Form von device[source-path]
; ich versuche auch, es dazu zu bringen, nur den Quellpfad und nicht das Gerät aufzulisten). Wenn der Linux-Kernel einen Bind-Mount verwalten soll, müssen diese Informationen irgendwo gespeichert werden , andernfalls konnte er nicht wissen, dass sie /home
gebunden sind /users
. Wo sind diese Daten? Wird es in einem dunklen Bereich im RAM gespeichert? Hat findmnt
Blick in /proc
irgendwo?
/proc/self/mountinfo
relativ kurzer Zeit wurde umstrukturiert. Ich war auf meinem RHEL6-Computer, auf dem zuvor keine Pfadinformationen vorhanden waren, aber auf meinem RHEL7-Computer und wie in Ihrem Link erwähnt, auch auf Wheezy.
/dev/A
bei /B
und Sie gemountet sind mount --bind /B /C
, erinnern sich ältere Kernel nur an /B → /dev/A
und /C → /dev/A
sie erinnern sich an keine Beziehung zwischen /B
und /C
. Das Abhängen /B
hat also natürlich keine Auswirkung auf /C
. Neuere Kernel erinnern sich, dass dies /C
ein Bind-Mount von war /B
, aber auf eine Weise, die nicht verhindert, dass sie weiterarbeiten, /C
wenn sie nicht gemountet sind , /B
weiß ich nicht genau, wie.
findmnt
läuft und welche Optionen geben Sie ihr? Meins druckt es nicht so aus und schaut sich den Quellcode an, den es zu verwenden scheint ,_PATH_PROC_MOUNTINFO
der aussieht,/proc/self/mountinfo
der diese Informationen auch nicht enthält.