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/usr
ich noch immer den alten Inhalt sehen würde. Aber nein, /home/username/Store/Orig/usr
es 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