首先确保系统安装了overlayroot(内核模块,用于简化配置)和fuse-overlayfs(用户态工具,增强兼容性):
sudo apt update
sudo apt install overlayroot fuse-overlayfs
编辑/etc/overlayroot.conf文件(核心配置文件),指定Overlay的各层目录:
sudo nano /etc/overlayroot.conf
添加以下内容(根据实际路径修改):
[general]
enabled = yes          # 启用overlayroot
upperdir = /mnt/overlay_upper  # 可写上层目录(存储修改的文件)
workdir = /mnt/overlay_work    # 工作目录(存储临时文件,必须为空目录)
lowerdir = /mnt/overlay_lower  # 只读下层目录(基础文件系统,如系统镜像)
mergedir = /mnt/overlay_merged # 合并后的挂载点(最终访问的统一视图)
参数说明:
enabled = yes:必须设置为yes以启用overlay功能;upperdir:用户修改的文件会保存至此(如/mnt/overlay_upper);workdir:OverlayFS内部使用的临时目录(需提前创建且为空);lowerdir:基础只读目录(如系统根目录的镜像或分区);mergedir:挂载后的统一视图路径(用户访问的实际目录)。创建配置中指定的目录(确保workdir为空):
sudo mkdir -p /mnt/overlay_upper /mnt/overlay_work /mnt/overlay_lower /mnt/overlay_merged
sudo touch /mnt/overlay_work/.keep  # 确保workdir存在(可选)
重新加载overlayroot模块以应用配置:
sudo modprobe -r overlayroot  # 卸载现有模块(若有)
sudo modprobe overlayroot     # 加载模块
通过mount命令立即挂载,验证配置是否正确:
sudo mount -t overlay overlay \
-o lowerdir=/mnt/overlay_lower,upperdir=/mnt/overlay_upper,workdir=/mnt/overlay_work \
/mnt/overlay_merged
验证步骤:
mount | grep overlay(应显示overlay挂载信息);/mnt/overlay_merged中创建文件,检查是否保存至upperdir;ls /mnt/overlay_merged(应包含lowerdir和upperdir的内容)。编辑/etc/fstab文件,使Overlay在系统启动时自动挂载:
sudo nano /etc/fstab
添加以下行(与手动挂载参数一致):
overlay /mnt/overlay_merged overlay defaults,lowerdir=/mnt/overlay_lower,upperdir=/mnt/overlay_upper,workdir=/mnt/overlay_work 0 0
保存后,重新挂载所有文件系统以应用更改:
sudo mount -a
重启系统后,检查Overlay是否自动挂载:
mount | grep overlay
ls /mnt/overlay_merged
若挂载信息存在且mergedir包含预期内容,则说明配置成功。
upperdir、workdir、lowerdir和mergedir的路径正确,且当前用户有访问权限;overlayroot模块,需确保内核支持overlayfs(可通过lsmod | grep overlay检查)。