Wie kann ich auf die Originaldateien (das untere Verzeichnis) eines Overlays zugreifen, das am selben Speicherort wie das untere Verzeichnis gemountet ist?

Wie kann ich auf die Originaldateien (das untere Verzeichnis) eines Overlays zugreifen, das am selben Speicherort wie das untere Verzeichnis gemountet ist?

Ich befinde mich in einer Situation, in der ich Fedora Linux von einem halb schreibgeschützten Ort aus ausführen muss. Ich kann Änderungen am Dateisystem vornehmen, Dateien platzieren und so, aber beim Neustart geht alles verloren, und als zusätzliches Ärgernis kann ich den verfügbaren Speicherplatz auch nicht einfach vergrößern. Ich habe jedoch Zugriff auf einige beschreibbare Medien, also dachte ich, ich mache Folgendes:

sudo mount --bind /usr /home/username/Store/Orig/usr
sudo mount -t overlay ovl_usr -o lowerdir=/usr,upperdir=/home/username/Store/usr,workdir=/home/username/Store/Work/usr /usr

Die zweite Zeile funktioniert einwandfrei, die erste funktioniert nicht. Sie soll mir nicht überlagerten Zugriff auf den Originalinhalt von geben /usr. Da die Bind-Mount-Datei erstellt wird, bevor das Overlay auf gemountet wird /usr, würde ich erwarten, dass /home/username/Store/Orig/usrich noch immer den alten Inhalt sehen würde. Aber nein, /home/username/Store/Orig/usres werden die überlagerten Dateien angezeigt, genau wie /usr.

Gibt es eine Möglichkeit, auf den Originalinhalt von zuzugreifen /usr?

Antwort1

Ich denke, Sie erleben ein "gemeinsames" Verhalten, während Sie "privat" brauchen. Sieheman 8 mount:

Die Operationen gemeinsam genutzter Unterbäume.
Seit Linux 2.6.15 ist es möglich, einen Mount und seine Untermounts als gemeinsam genutzt, privat, Slave oder nicht bindebar zu markieren. Ein gemeinsam genutzter Mount bietet die Möglichkeit, Spiegel dieses Mounts zu erstellen, sodass Mounts und Umounts innerhalb eines der Spiegel auf den anderen Spiegel übertragen werden. […] Ein privater Mount hat keine Übertragungsfähigkeiten. […]

Lösung: nach mount --bind …und vor mount -t overlay …dem Aufruf:

sudo mount --make-private /home/username/Store/Orig/usr

verwandte Informationen