在 Debian 系统中配置 Overlay(通常指 OverlayFS)常用于 Live 系统、容器、或需要“只读根文件系统 + 可写层”的场景。下面按常见用途给你一个清晰、可操作的说明。
OverlayFS 是一种 联合文件系统,可以把多个目录合并成一个,看起来像一个文件系统:
lsmod | grep overlay
如果没有输出,尝试加载模块:
modprobe overlay
Debian 官方内核(特别是 amd64 / arm64)默认已支持。
mkdir -p /mnt/overlay/{lower,upper,work,merged}
目录说明:
| 目录 | 作用 |
|---|---|
| lower | 只读层 |
| upper | 可写层 |
| work | OverlayFS 工作目录 |
| merged | 最终挂载点 |
mount -t overlay overlay \
-o lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work \
/mnt/overlay/merged
验证:
mount | grep overlay
echo "read-only" > /mnt/overlay/lower/file.txt
echo "write" > /mnt/overlay/merged/file.txt
cat /mnt/overlay/upper/file.txt
lower/file.txt 不会被修改upper/ 中编辑 /etc/fstab:
overlay /mnt/overlay/merged overlay defaults,lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work 0 0
然后执行:
mount -a
如果你是想 把 Debian 的根文件系统做成 Overlay(Live CD / 嵌入式),常见结构是:
/ (rootfs)
├── lower (squashfs)
├── upper (tmpfs / disk)
├── work
└── merged (new root)
/rootswitch_root 到 merged示例(initramfs 脚本片段):
mkdir -p /overlay/lower /overlay/upper /overlay/work /overlay/merged
mount -o loop /root/filesystem.squashfs /overlay/lower
mount -t tmpfs tmpfs /overlay/upper
mount -t overlay overlay \
-o lowerdir=/overlay/lower,upperdir=/overlay/upper,workdir=/overlay/work \
/overlay/merged
exec switch_root /overlay/merged /sbin/init
Debian 上 Docker 默认使用 overlay2:
docker info | grep Storage
无需手动配置,除非你要调优:
cat /etc/docker/daemon.json
是的,它只是 文件级联合挂载,不是块级快照。
支持:
lowerdir=/a:/b:/c
优先级从左到右。
OverlayFS 内部需要它做临时操作。
✅ 最简单用法:
mount -t overlay overlay -o lowerdir=...,upperdir=...,workdir=... merged
✅ 适合场景:
如果你能说明 具体用途(例如:Live Debian、Docker、嵌入式、根目录 Overlay、chroot),我可以给你更精确的配置方案。