在 Debian(以及其他 Linux 发行版)语境里,overlay 通常指 OverlayFS(overlay filesystem),它是一种联合文件系统(union filesystem),可以把多个目录“叠加”在一起,形成一个统一的视图。
下面从概念 → 原理 → 在 Debian 中的常见用法 → 实际例子逐步说明。
OverlayFS 允许你把:
用户看到的是合并后的结果,但写入只会发生在上层。
简单比喻:
像透明幻灯片叠在一起
- 下面那张是“只读底图”
- 上面那张是“可写修改层”
- 你看到的是叠在一起的效果
| 名称 | 作用 |
|---|---|
| lowerdir | 只读层(可以是多个) |
| upperdir | 可写层(只能一个) |
| workdir | 内部工作目录(必须和 upperdir 同文件系统) |
| merged | 最终挂载后看到的目录 |
在 Debian 中,overlay 常用于:
mkdir -p /tmp/lower /tmp/upper /tmp/work /tmp/merged
echo "from lower" > /tmp/lower/file.txt
mount -t overlay overlay \
-o lowerdir=/tmp/lower,upperdir=/tmp/upper,workdir=/tmp/work \
/tmp/merged
查看:
cat /tmp/merged/file.txt
# from lower
写入:
echo "modify" >> /tmp/merged/file.txt
cat /tmp/upper/file.txt
# from lower
# modify
/tmp/lower/file.txt 没变(只读)/tmp/upper| 场景 | 行为 |
|---|---|
| 读文件 | 从 upper → lower 找 |
| 写文件 | 写在 upper |
| 删文件 | 在 upper 建立 whiteout(隐藏 lower) |
| 改 lower 文件 | 实际是 copy-up 到 upper |
这就是 写时复制(Copy-on-Write)
# 查看是否支持
cat /proc/filesystems | grep overlay
# 查看挂载
mount | grep overlay
# 卸载
umount /tmp/merged
Debian 中的 overlay,是用 OverlayFS 把“只读系统 + 可写层”叠在一起,让你既能看到完整系统,又不会破坏原始文件。
如果你是想了解:
可以告诉我你的具体场景,我可以更进一步展开。