在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之前,请确保您的系统满足这些要求。