如何存取安裝在與 lowerdir 相同位置的覆蓋層的原始檔案(lowerdir)?

如何存取安裝在與 lowerdir 相同位置的覆蓋層的原始檔案(lowerdir)?

我發現自己所處的情況是我必須從半只讀位置運行 Fedora Linux。我可以對檔案系統進行編輯、放置檔案等,但重新啟動後一切都會遺失,而且更麻煩的是,我也無法輕鬆增加可用儲存空間。不過,我確實可以訪問一些可寫媒體,所以我想我會這樣做:

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

第二行工作正常,第一行不起作用。它的目的是讓我能夠非重疊地訪問/usr.我希望由於綁定安裝是在覆蓋安裝之前創建的/usr/home/username/Store/Orig/usr因此仍然會看到舊內容。但不,/home/username/Store/Orig/usr顯示覆蓋的文件,就像/usr.

有沒有辦法存取原始內容/usr

答案1

我認為你正在經歷「共享」行為,而你需要「私人」行為。看man 8 mount:

共享子樹操作。
從 Linux 2.6.15 開始,掛載及其子掛載可以標記為共用、私有、從屬或不可綁定。共享掛載提供了創建該掛載的鏡像的能力,以便任何鏡像中的掛載和卸載都會傳播到另一個鏡像。 [...] 私人坐騎沒有傳播能力。 […]

解決方案:調用mount --bind …前後mount -t overlay …

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

相關內容