Auf Serverfehler gefragt , aber nicht genug Aufmerksamkeit erhalten, also hier neu gepostet, mit der Hoffnung, dass einige Leute hier die Antwort wissen.
Es gibt noch eine andere Frage zum Umounten von Rbind-Mounts, aber die Lösung hat unerwünschte Auswirkungen. Betrachten Sie das folgende Verzeichnislayout:
.
├── A_dir
│ └── mount_b
├── B_dir
│ └── mount_c
└── C_dir
Jetzt binde ich C_dir
an B_dir/mount_c
und binde B_dir
an A_dir/mount_b
:
[hidden]$ sudo mount --bind C_dir B_dir/mount_c
[hidden]$ sudo mount --rbind B_dir A_dir/mount_b
[hidden]$ mount | grep _dir | wc -l
3
Jetzt umount A_dir/mount_b
wird scheitern, was nicht überraschend ist. Nach den Antworten überall im Web müssen wir umount A_dir/mount_b/mount_c
erst dann umount A_dir/mount_b
. Allerdings umount A_dir/mount_b/mount_c
wird auch Aushängen B_dir/mount_c
, die unerwünscht ist :
[hidden]$ sudo umount A_dir/mount_b/mount_c
[hidden]$ mount | grep _dir | wc -l
1
Jetzt ist meine Frage, wie ich abmontiere, A_dir/mount_b
aber nicht B_dir
betroffen bin , dh es gibt immer noch eine Bindung B_dir/mount_c
zu C_dir
?
BEARBEITEN: Dieses Problem scheint in Ubuntu nicht aufzutreten. Genauer gesagt funktioniert es gut auf meinem Ubuntu 14.04, aber nicht auf Fedora 23 und CentOS 7. Warum gibt es den Unterschied und was ist die Arbeit für Fedora und CentOS?
EDIT: einige weitere Informationen zum eigentlichen Problem, das ich zu lösen versuche. Ich habe versucht, eine Sandbox zu erstellen und habe --rbind
die /dev
und /proc
an die Sandbox gemountet . Wenn ich die Sandbox zerstöre, kann ich sie anscheinend nicht sauber zerstören, da das <sandbox-root>/dev/pts
Aufheben der Bereitstellung in FC23 und CentOS7 aufgehoben wird. Danach /dev/pts
hängen meine Shell- und SSH-Verbindungen und ich muss den Computer neu starten . Aus diesem Grund frage ich, ob es eine Möglichkeit gibt, die --rbind-Mounts zu entfernen, ohne die Submounts zu beeinflussen.
quelle
Antworten:
Ich habe die Lösung selbst gefunden. Ich muss nur verwenden
--make-rslave
, um Änderungen vorzunehmen undA_dir/mount_b
nicht zurück zu verbreitenB_dir
:Siehe Abschnitt " Mount- Manpage" Die freigegebenen Teilbaumoperationen .
quelle
mount --rbind src target --make-rslave
in einem Anruf kombinieren ; Einige Systeme haben dies für mich verboten.