Auf meinem kopflosen NAS habe ich sdf1
(eine Flash-Karte) gemountet, /
während /home
von lv00
(einem LVM-Volume, das durch ein Software-RAID gesichert ist ) gemountet wird . Um auf die Maschine zugreifen zu können, wenn das RAID ausfällt, habe ich eine Kopie meines öffentlichen SSH-Schlüssels usw. im /home/foo/.ssh
Dateisystem von sdf1
.
Um die Dateien zu aktualisieren , die versteckt sind durch die montierte /home
ich normalerweise Remount lv00
in /mnt/home
, das tun , was ich zu tun habe, und bewegen Sie dann lv00
an Ort und Stelle zurück.
Gibt es eine Möglichkeit, dies ohne Demontage zu erreichen /home
?
32
mount --bind
, bekam aber nur ein paar verschlungene Ideen, die sicher kaputt gingen, wenn ich sie brauchte. Dies macht genau das, was ich brauche und kann sogar als permanentes Reittier eingesetzt werden. Vielen DankIch habe versucht, etwas Ähnliches zu erreichen, aber die Antwort von ephemient erklärte nicht die Semantik der Methode. Es ist für mich fehlgeschlagen und so habe ich hier auf unix.SE fast die gleiche Frage gestellt. Nach einem Kommentar habe ich es selbst herausgefunden und beantwortet. Dies ist eine überarbeitete Version meiner Antwort, die hier in diesen Kontext passt. Ich habe meine andere Frage (und Antwort) zugunsten dieser Frage entfernt.
Folgendes habe ich versucht:
Beispielfall
Reittiere:
Nach dem Einhängen habe
/
ich einen Ordner/home/joe
für Benutzerjoe
. Sobald der andere Ort gemountet ist (/data
), habe ich den vollständigen Satz von Home-Ordnern zur Verfügung, so dass ich sie an Ort und Stelle binde (/data/home on /home
). Es gibt einen Ordner/data/home/joe
, so lange das Mounten von/dev/sdb1
erfolgreich ist, bekommt er den Inhalt von/data/home/joe
, sonst greift er auf/home/joe
(on/dev/sda1
!) Zurück .Wenn es erfolgreich ist , wie kann ich den ursprünglichen Inhalt des zugreifen
/home/joe
(auf/dev/sda1
!) Anstelle der an Ort und Stelle binden montierte aus/data/home/joe
?Lösung
Basierend auf einem Kommentar von Patricks Kommentar zu meiner Frage und der Lösung durch Ephemient (akzeptierte Antwort hier), kam ich auf Folgendes.
Es ist offenbar möglich
mount --bind
(odermount -o bind
) den übergeordneten Ordner ( dies ist der entscheidende Teil ) eines bind-mount an anderer Stelle und Zugriff dadurch den ursprünglichen Inhalt. Also für meinen Beispielfall, anstatt zu versuchen:(dh die bereits gebundenen Stellen an anderer Stelle einhängen) Ich musste:
Das hat Patrick in seinem Kommentar gemeint
Solange Sie einen übergeordneten Ordner für den eingebundenen Speicherort haben, funktioniert dies, wenn auch mit einer Indirektion, wie oben gezeigt. Wenn Sie etwas überbinden, haben
/
Sie Pech, da es keinen übergeordneten Ordner für gibt/
.quelle
Sie können die Halterung an einen neuen Ort verschieben, ohne sie abzumelden. Verwenden Sie dazu
mount --move
:quelle