在 Debian(以及大多数 Linux 发行版)里,overlay(通常指 OverlayFS)之所以要“配置”,是因为它本身不是简单开箱即用的裸功能,而是涉及内核支持、挂载参数、使用场景和权限/结构约束。下面从“为什么需要配置”和“通常要配置什么”两方面说明。
OverlayFS 是 Linux 内核提供的联合文件系统,需要:
overlay 模块)mount -t overlay)Debian 默认不会自动把某个目录变成 overlay,必须明确配置。
OverlayFS 至少需要:
lowerdir(只读层)upperdir(可写层)workdir(中间工作目录)这四个目录:
workdir 不能和 upperdir 相同如果目录不对,mount 直接失败。
常见场景包括:
| 场景 | 是否需配置 |
|---|---|
| Live CD / Live USB | 内核+initramfs 已配好 |
| Docker 容器存储 | Docker 自动配置 |
| 自定义系统(root overlay) | 必须手动配置 |
| 嵌入式只读系统 + 可写层 | 必须手动配置 |
如果你是想把根文件系统做成 overlay(只读 root + 可写层),那必须:
否则系统启动后还是普通文件系统。
lsmod | grep overlay
# 或
cat /proc/filesystems | grep overlay
没有就:
modprobe overlay
mkdir -p /mnt/lower /mnt/upper /mnt/work /mnt/merged
mount -t overlay overlay \
-o lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work \
/mnt/merged
通常需要:
/etc/initramfs-tools/例如:
update-initramfs -u
overlay /merged overlay defaults,lowerdir=/a,upperdir=/b,workdir=/c 0 0
Debian 的 overlay 需要配置,是因为它是“按需使用的联合文件系统”,不是默认行为;只有明确指定目录结构、挂载方式和启动逻辑,系统才知道如何把多层目录合并成一个可写视图。
如果你说的是某个具体场景(比如 Debian Live、Docker、树莓派只读系统、容器根 overlay),可以告诉我,我可以给你对应的完整配置示例。