Wohin gehen die Dateien, wenn Sie ein Laufwerk in einen Ordner laden, der bereits Dateien enthält?

32

Ich habe gerade versehentlich ein neues Laufwerk in einen Ordner geladen, der bereits Dateien enthielt. Ich interessiere mich nicht für sie und habe sie woanders, aber dieser Ordner scheint jetzt leer zu sein. Ich bin gespannt, was mit den Akten passiert ist. Werden sie von Linux einfach gelöscht?

T. Brian Jones
quelle
Sie "gehen" nirgendwo hin. Man kann sie einfach nicht sehen.
Shadur
14
Sie gehen an denselben Ort, an den Charaktere aus Büchern gehen, wenn Sie sie nicht lesen.
Andrew Beals
5
Dies ist eine der amüsanten Funktionen / Eigenschaften der Montage, die ich manchmal benutze / missbrauche, um den Zustand einiger Dinge zu kennen. Bei einigen Mount-Punkten (dem Verzeichnis) lasse ich eine leere Datei not mounteddarin, sodass ich beim Durchsuchen sofort weiß, dass sie aus irgendeinem Grund nicht gemountet wurde.
Killermist

Antworten:

37

Nur "beschattet" und wird wieder da sein, wenn nicht montiert. :)

Tatsächlich sind die Dateien "da" intakt und wenn Sie sie sofort erreichen müssen, ohne sie aushängen zu müssen, kann dies mit dem sogenannten bindMount umgangen werden:

mount --bind /Original/FS/Mount/Point /Somewhere/Else

Es funktioniert (also), weil wenn Sie den Kernel auffordern, ein Dateisystem auf einem Mountpoint zu mounten, der Kernel diesen Mountpoint als "View-Port" für das Dateisystem behandelt, das Sie mounten , sodass erwartet wird, dass Sie dort gemounteten FS- Inhalt sehen.

Aber dies ist nicht die einzige Art und Weise , wie diese FSEs „Schichten“ kann einzelne Ansicht kombiniert werden. Es gibt einen so genannten " Union Mount " -Ansatz (es ist lustig zu wissen, dass dies "ein zentrales Konzept in Plan 9" ist). Unter Linux könnte man Aufs verwenden , das nie in den Mainline-Kernel gelangt ist, oder derzeit (seit 3.18) OverlayFS - das hat es getan .

Poige
quelle
21

Das neu gemountete Dateisystem ist wie eine Überlagerung, die einen Teil des ursprünglichen Dateisystems verbirgt. Es gibt Tricks, um auf die Dateien zuzugreifen, wie zum Beispiel das von poige beschriebene Bind-Mount. Unter Linux gefällt mir persönlich, dass Sie ein Dateisystem mehr als einmal an verschiedenen Mountpunkten mounten können. So können Sie das Root-Dateisystem sowohl auf /als auch auf einwandfrei mounten /mnt. Dies ist praktisch beim Debuggen von verlorenem Speicherplatz / verlorenen Dateien / beim Zählen der Festplattennutzung / ...

Gotcha's:

  • Die alten Dateien sind noch da und belegen Speicherplatz . Es ist ein häufiger Fehler, dass in Dateien, die von einem Mount ausgeblendet werden, Speicherplatz 'fehlt'. ZB wenn Sie versehentlich große Dateien in ein Verzeichnis geschrieben haben und sich irgendwann dazu entschieden haben, ein Dateisystem darauf zu mounten. ZB versehentliches Starten einer großen Datenbank, bevor das Logging-Dateisystem ordnungsgemäß gemountet wurde ...
  • Wenn in einem Programm eine Datei geöffnet ist, die anschließend von einem neu eingebundenen Dateisystem ausgeblendet wird, kümmert sich das Programm nicht darum und verwendet die "ausgeblendete" Datei weiterhin erfolgreich, bis sie geschlossen wird. Von diesem Moment an wird diese Datei für den Prozess unsichtbar, bis das neue Dateisystem nicht mehr bereitgestellt wird und das zugrunde liegende Verzeichnis erneut angezeigt wird.
jippie
quelle
Sehr interessant, dass Sie ein Dateisystem mehr als einmal mounten können. Das fühlt sich so an, als würde es nützlich sein.
T. Brian Jones