Ubuntu Overlay,通常指的是在Ubuntu操作系统中使用的OverlayFS文件系统,它允许将多个目录(通常是一个只读层和一个可写层)组合成一个单一的目录结构。这种文件系统在Docker等容器技术中非常有用。以下是学习 Ubuntu Overlay 的基本步骤:
在Debian和Ubuntu上,你可以使用以下命令安装overlayroot和fuse-overlayfs:
sudo apt update
sudo apt install overlayroot fuse-overlayfs
创建三个目录,分别表示上层目录(upperdir)、下层目录(lowerdir)和工作目录(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之前,请确保您的系统满足这些要求。