在 Debian 系统中,“Overlay”通常指 OverlayFS(一种联合文件系统),常用于 Live 系统、容器(如 Docker)或需要分层文件系统的场景。以下是安装和配置 Debian Overlay 的详细步骤:
OverlayFS 从 Linux 3.18+ 开始被主线内核支持,Debian 的现代内核(如 Debian 9 及以上)默认已支持。
lsmod | grep overlay
如果无输出,尝试手动加载:
sudo modprobe overlay
uname -r
# 确保内核版本 ≥ 3.18
通常无需额外安装“Overlay 软件包”,但以下工具可能有用:
sudo apt update
sudo apt install -y util-linux mount
OverlayFS 需要至少两个目录:lowerdir(只读层)和 upperdir(可写层),以及一个 workdir(临时工作目录)。
# 创建目录结构
mkdir -p /tmp/overlay/{lower,upper,work,merged}
# 在 lowerdir 中放入一些文件(只读)
echo "lower content" > /tmp/overlay/lower/test.txt
# 挂载 OverlayFS
sudo mount -t overlay overlay \
-o lowerdir=/tmp/overlay/lower,upperdir=/tmp/overlay/upper,workdir=/tmp/overlay/work \
/tmp/overlay/merged
# 查看合并后的目录
ls /tmp/overlay/merged
cat /tmp/overlay/merged/test.txt
# 尝试写入(写入到 upperdir)
echo "new content" > /tmp/overlay/merged/new.txt
ls /tmp/overlay/upper # 新文件会出现在这里
编辑 /etc/fstab:
sudo nano /etc/fstab
添加一行:
overlay /tmp/overlay/merged overlay defaults,lowerdir=/tmp/overlay/lower,upperdir=/tmp/overlay/upper,workdir=/tmp/overlay/work 0 0
然后测试:
sudo mount -a
如果你是想 制作 Debian Live USB 或使用 Overlay 作为根文件系统,通常需要:
live-boot 包(Debian Live 系统默认支持)。sudo apt install live-boot
mount: unknown filesystem type 'overlay'sudo modprobe overlay
CONFIG_OVERLAY_FS=y
Docker 默认使用 OverlayFS(overlay2),确保:
sudo apt install docker.io
# Docker 会自动使用 overlay2(如果内核支持)
modprobe overlay 即可使用。lowerdir(只读)、upperdir(可写)、workdir(必须为空目录)。如果你有更具体的使用场景(比如 Debian Live、Docker、嵌入式系统、根目录只读 + Overlay),可以告诉我,我可以给你更针对性的方案。