Sie sollten sehen können, dass neue Mounts nicht mehr kopiert werden, wenn Sie mount --make-private
ausführen am Mountpoint.
Der Unterschied beim Ausführen von bash als init besteht darin, dass die source Das Dateisystem wurde als privat gemountet.[*] Während beim Booten des gesamten Systems effektiv --make-shared
ausgeführt wird . Sie können den Unterschied sehen, indem Sie sich findmnt -o +PROPAGATION
ansehen .
Sobald das Root-Dateisystem als freigegeben gemountet ist, erbt jedes Dateisystem, das direkt darunter gemountet wird, dieselbe Weitergabeeinstellung.
Das Root-Dateisystem wird neu eingehängt, wie es von systemd
geteilt wird . Dieses Feature wurde um 2012 zu systemd hinzugefügt. Es wurde im erstaunlichen Arch Linux-Wiki diskutiert.
https://wiki.archlinux.org/index.php?title=Talk:Systemd&oldid=411350#Systemd_defaults_.2F_to_rshared.2C_gotcha
https://github.com/systemd/systemd/commit/b3ac5f8cb98757416d8660023d6564a7c411f0a0
Während Sie dies lesen, empfehle ich auch zu lernen, wie man ein rekursives Bind-Mount sicher zerlegt. Denn bei gemeinsam genutzten Mounts, Mounts und Unmounts in beide Richtungen ausbreiten :-).
[*] Booten mit init=/bin/bash
, sah ich die als privat gemounteten Dateisysteme. Obwohl ich immer noch mit Fedoras dracut
gebootet habe initramfs, das systemd intern ausführt. Ich bin mir nicht 100 % sicher, was hier passiert ist.