Linux OverlayFS是一種聯合文件系統,它允許將多個目錄(通常是一個只讀層和一個可寫層)組合成一個單一的目錄結構。以下是一個基本的使用指南:
確保你的Linux內核版本支持OverlayFS。大多數現代發行版都支持這個功能。你可以通過運行 uname -r
命令來查看你的內核版本。
安裝必要的軟件包。在Debian和Ubuntu上,你可以使用以下命令安裝:
sudo apt-get install overlayfs aufs-tools
創建三個目錄,分別表示上層目錄、下層目錄和工作目錄。例如:
mkdir upper lower work merged
將一些文件或目錄添加到下層目錄中。例如:
echo "Hello from lower" > lower/hello.txt
使用 mount
命令將OverlayFS掛載到合并目錄。例如:
sudo mount -t overlay overlay -o lowerdir=./lower,upperdir=./upper,workdir=./work ./merged
這將在當前目錄下創建一個名為 merged
的新目錄,其中包含下層目錄 lower
中的所有文件。此外,任何對 merged
目錄所做的更改都將存儲在上層目錄 upper
中。
現在你可以像訪問普通目錄一樣訪問 merged
目錄。例如:
cat merged/hello.txt
輸出:
Hello from lower
當你在 merged
目錄中修改文件時,更改將自動應用到上層目錄。例如:
echo "Hello from upper" > merged/hello.txt
當你不再需要OverlayFS時,可以使用 umount
命令將其卸載。例如:
sudo umount merged
刪除上層獨有的文件或目錄:
rm -rf merged/foo3
這將在 upper
目錄中刪除 foo3
文件,并在 lower
目錄中創建一個whiteout文件來屏蔽底層的同名文件。
刪除下層獨有的文件或目錄:
rm -rf merged/foo1
這將在 lower
目錄中刪除 foo1
文件,并在 merged
目錄中創建一個whiteout文件來屏蔽底層的同名文件。
刪除上下層合并的文件或目錄:
rm -rf merged/dir
這將在 upper
目錄中刪除 dir
目錄,并在 merged
目錄中創建一個whiteout文件來屏蔽底層的同名文件。