温馨提示×

ubuntu overlay怎样挂载

小樊
46
2026-09-12 16:45:46
栏目: 智能运维

在 Ubuntu 里,“overlay”通常指的是 OverlayFS(叠加文件系统),常用于 Live CD、容器(Docker)、或者把只读目录和可写目录“合并”成一个视图。

下面按常见使用场景说明怎么挂载。


一、基本 OverlayFS 挂载(手动)

1. 准备目录

mkdir -p /mnt/lower /mnt/upper /mnt/work /mnt/merged

说明:

  • lower:只读层(可以是系统目录、ISO、镜像)
  • upper:可读写层(必须可写)
  • work:OverlayFS 内部工作目录(必须和 upper 同文件系统)
  • merged:最终挂载点

2. 挂载 overlay

mount -t overlay overlay \
  -o lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work \
  /mnt/merged

3. 查看

mount | grep overlay
df -h /mnt/merged

二、开机自动挂载(/etc/fstab)

overlay /mnt/merged overlay \
  lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work 0 0

⚠ 注意:

  • upperwork 必须已存在
  • 不能在网络文件系统(NFS)上随意用

三、把目录挂载到已有系统目录(常见坑)

例如想把 /opt 变成可写覆盖:

mount -t overlay overlay \
  -o lowerdir=/opt,upperdir=/mnt/upper/opt,workdir=/mnt/work/opt \
  /opt

⚠ 不建议直接覆盖 //usr,容易系统起不来。


四、Docker / 容器里的 overlay(了解)

Docker 默认就用 overlay2:

docker info | grep Storage

一般不需要手动挂载。


五、Ubuntu Live 系统的 overlay

Live USB 通常是:

  • lowerdir = squashfs
  • upperdir = 内存或持久分区

这是系统自动完成的。


六、常见错误

错误 原因
workdir and upperdir must be same fs upper 和 work 不在同一文件系统
lowerdir is not a directory 路径写错
挂载后空 lowerdir 路径不对

如果你能说一下具体用途(比如:系统改造 / 容器 / Live 持久化 / 测试环境),我可以给你更精确的挂载方案。

0