Ich habe eine defekte lxd-Installation und möchte sie komplett löschen und neu beginnen, aber es gibt ein Problem. /var/lib/lxd/devices/desktop enthält eine Reihe von Unterverzeichnissen, die mit Verzeichnissen an anderer Stelle im Dateisystem (sogar auf anderen Laufwerken) verknüpft sind, wie zum Beispiel
drwxr-xr-x 28 karl karl 4096 Apr 11 15:40 disk.shareName.home-karl
drwxr-xr-x 4 nobody nogroup 4096 Apr 14 12:07 disk.thor.mnt-thor
drwxr-xr-x 2 root root 4096 Mar 29 14:02 disk.usbdrive.mnt-usbdrive
Wenn ich beispielsweise eine Datei aus disk.thor.mnt-thor lösche, wird sie auch aus /home/storage gelöscht (beide Verzeichnisse zeigen auf dieselbe Stelle). disk.usbdrive.mnt-usbdrive zeigt den gesamten Inhalt meines USB-Laufwerks an, das in /mnt/usbdrive eingebunden ist. Beide Verzeichnisse zeigen ihren Inhalt an, und Änderungen in einem Verzeichnis werden im anderen widergespiegelt.
Wenn ich diese Verzeichnisse jetzt aber löschen möchte, habe ich ein Problem, da ich nur diese Verzeichnisse unter lxd entfernen möchte, nicht die tatsächlichen Verzeichnisse, auf die sie verweisen, und nicht deren Inhalt. Ich habe versucht, zu verwenden unlink
, aber das funktioniert bei Verzeichnissen nicht.
Antwort1
Versuchen Sie, umount
sie mit - zu versehen.
Die VFS-Schicht in Linux ermöglicht es, Dateien und Verzeichnisse per „Bind-Mount“ an einen anderen Ort zu mounten. Das Ergebnis sieht zwar wie ein Hardlink aus, existiert aber nicht wirklich auf der Festplatte – Bind-Mounts befinden sich genau wie normale Mounts im Speicher.
Diese Funktion bedeutet auch, dass ein einzelnes Dateisystem an mehreren Orten gleichzeitig gemountet werden kann. Beispielsweise /dev/sda1
könnte dasselbe gemountet werden an/mnt/usbdrive
UndAn /var/lib/lxd/mnt-usbdrive
.
Alle diese magischen Reittiere können durch Ausführen vonfindmnt
oder mount
.
(Windows und FreeBSD haben ebenfalls ähnliche Funktionen, z. B. nullfs.)