UnionFS 是如何運作的?

UnionFS 是如何運作的?

我在維基百科上看到各種文章和解釋,但我很難理解它的意思。到目前為止,我了解到 UnionFS 是一個提供目錄聯合視圖的模組。它位於已安裝目錄之上的一層。 UnionFS 沒有掛載點。

讓我困惑的是UnionFS如何知道應該以統一的方式顯示什麼?

答案1

UnionFS 在目錄級別工作,而不是設備級別,因此它沒有掛載點 - 它位於現有掛載點之上,每個掛載點都可能是一個分支 - 例如,具有基礎層(或使用適當的術語- 只讀iso9660 cd rom 檔案系統上的低優先權層(具有根檔案系統),以及ramdisk 上的分支。每個分支都分配有一個優先級,具有較高優先級的分支會覆蓋較低優先級的分支。

如果一個目錄存在於兩個底層分支中,則Unionfs目錄的內容和屬性是兩個較低目錄的組合。

如果一個檔案存在於兩個分支中,則Unionfs檔案的內容和屬性與高優先權分支中的檔案相同,而低優先權分支中的檔案會被忽略。

最後,如果有重複的目錄,則會隱藏重複的目錄以簡化操作。

Linux期刊有相當全面的文章關於 unionfs 的工作原理,如果您想要的不僅僅是簡單的解釋

答案2

它的 VFS 操作是回調底層檔案系統的 VFS 層的小存根。因此,當您讀取目錄時,它會讀取底層檔案系統的目錄並合併檔案清單。

相關內容