在Ubuntu系統中使用Overlay文件系統可以幫助你創建輕量級的沙箱環境或實現文件系統的動態修改。以下是使用Overlay文件系統的基本步驟:
uname -r
sudo apt-get update
sudo apt-get install overlayfs aufs-tools
創建三個目錄,分別表示上層目錄(upper)、下層目錄(lower)和工作目錄(workdir):
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文件來屏蔽底層的同名文件。
請注意,使用OverlayFS可能需要較新版本的Ubuntu內核(3.18及以上),并且對共享存儲的支持有限。在使用OverlayFS之前,請確保您的系統滿足這些要求。