我的 lxd 安裝有問題,想完全刪除它並重新開始,但有一個問題。 /var/lib/lxd/devices/desktop 包含一堆子目錄,這些子目錄連結到檔案系統中其他位置的目錄(甚至在不同的磁碟機上),例如
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
例如,如果我從 disk.thor.mnt-thor 中刪除一個文件,它也會從 /home/storage 中刪除(兩個目錄都指向同一個位置)。 disk.usbdrive.mnt-usbdrive 顯示安裝到 /mnt/usbdrive 的 USB 隨身碟的所有內容。兩個目錄都顯示其內容,其中一個目錄的修改會反映在另一個目錄中。
但現在如果我想刪除這些目錄,我就有問題了,因為我只想刪除lxd下的那些目錄,而不是它們指向的實際目錄,而不是它們的內容。我嘗試使用unlink
,但它不適用於目錄。
答案1
嘗試umount
-ing它們。
Linux 中的 VFS 層允許將檔案和目錄「綁定安裝」到另一個位置。結果確實看起來像硬鏈接,但實際上並不存在於磁碟上 - 綁定掛載就像常規掛載一樣位於內存中。
此功能還意味著單一檔案系統可以同時安裝在多個位置。例如,同樣/dev/sda1
可以安裝在/mnt/usbdrive
和在/var/lib/lxd/mnt-usbdrive
。
所有這些魔法坐騎都可以透過跑步看到findmnt
或者mount
。
(Windows 和 FreeBSD 也具有類似的功能,例如 nullfs。)