在 Debian(以及其它 Linux 发行版)中,Overlay 通常指 OverlayFS(overlay filesystem),用于把多个目录“叠加”成一个统一视图,常用于:
下面按常见使用场景说明如何在 Debian 上创建 overlay。
内核支持 OverlayFS
uname -r
lsmod | grep overlay
如果没有加载:
sudo modprobe overlay
安装必要工具
sudo apt update
sudo apt install fuse overlayroot # overlayroot 可选
/mnt/
├── lower # 只读层(原始系统)
├── upper # 可写层
├── work # 工作目录(必须为空)
└── merged # 挂载后的统一视图
sudo mkdir -p /mnt/lower /mnt/upper /mnt/work /mnt/merged
sudo mount -t overlay overlay \
-o lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work \
/mnt/merged
mount | grep overlay
ls /mnt/merged
✅ 对
/mnt/merged的修改会写入/mnt/upper✅/mnt/lower始终保持不变
编辑 /etc/fstab:
overlay /mnt/merged overlay defaults,lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work 0 0
然后:
sudo mount -a
适合 只读根文件系统
sudo apt install overlayroot
编辑 /etc/overlayroot.conf:
overlayroot="tmpfs"
或指定设备:
overlayroot="/dev/sda2"
sudo update-initramfs -u
重启后根文件系统将是 overlay 模式。
Docker 在 Debian 上默认使用 overlay2:
docker info | grep Storage
如未启用:
sudo apt install docker.io
Docker 会自动管理 overlay 层。
❌ 错误:
overlay: workdir is not empty
✅ 解决:使用独立空目录
OverlayFS 不支持多层嵌套 overlay
确保:
| 场景 | 方式 |
|---|---|
| 系统只读 + 可写 | overlayroot |
| 自定义 Live 系统 | lower + upper |
| 容器存储 | Docker overlay2 |
| 调试系统 | 手动 mount |
如果你能说明:
我可以给你更精确的配置示例。