在 Debian(以及其它 Linux 发行版)里,OverlayFS 通常是通过 mount 命令或 /etc/fstab 来挂载的。你提到的“上层”指的是 overlay 的 upperdir(可写层)。
下面按常见用法说明。
Overlay 挂载至少需要:
: 分隔)结构示意:
lowerdir (只读)
upperdir (可写)
workdir (内部使用)
↓
merged (挂载后的统一视图)
假设目录结构如下:
/mnt/lower
/mnt/upper
/mnt/work
/mnt/merged
执行:
mount -t overlay overlay \
-o lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work \
/mnt/merged
说明:
upperdir=/mnt/upper 就是你要挂载的“上层”/mnt/merged 的写操作会落到 /mnt/uppermount -t overlay overlay \
-o lowerdir=/mnt/lower1:/mnt/lower2,upperdir=/mnt/upper,workdir=/mnt/work \
/mnt/merged
编辑 /etc/fstab:
overlay /mnt/merged overlay defaults,lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work 0 0
然后:
mount -a
错误示例会报:
mount: wrong fs type, bad option, workdir and upperdir must be on same fs
否则无法写入。
overlayfs查看是否支持:
lsmod | grep overlay
modprobe overlay
如果你说的“挂载上层”是指 只挂载 upperdir 看里面内容,那直接:
ls /mnt/upper
因为 upperdir 本身就是一个普通目录,不需要额外挂载。
如果你有具体场景(比如 Docker、initramfs、Live 系统),可以告诉我,我可以给你更针对性的示例。