Overlayfs 到现有目录

Overlayfs 到现有目录

我看过 如何使用 OverlayFS?但它没有回答我的问题。

我需要安装一些第三方应用程序,它们需要/opt可写,但我运行的设备有/opt一个可读的根文件系统。本质上,我/opt在只读文件系统(较低)上有一个目录,假设我有一个读写目录/mnt/optw(可写)。我想合并/opt&/mnt/optw并将其挂载到/opt

这可能吗?

答案1

这也可以通过内核内置overlayfs模块实现:

# mount -t overlay -o lowerdir=/opt,upperdir=/mnt/optw,workdir=/tmp/opt-overlay overlay /opt

可以通过以下方式检查是否正确安装:

$ mount | tail -1
overlay on /opt type overlay (rw,relatime,lowerdir=/opt,upperdir=/mnt/optw,workdir=/tmp/opt-overlay)

答案2

您可以像这样/mnt/optw绑定/opt

sudo mount --bind /mnt/optw/ /opt/

这种方式/opt将体现/mnt/optw内容和权限。


要访问下两个目录的内容/opt,请aufs像这样挂载:

sudo mount -t aufs -o br=/opt/:/mnt/optw/ none /opt/

这样,两个目录就合并了,您将能够在 下访问它们的内容/opt/

注意

aufs如果您的系统上没有可用的支持,您可以通过aufs-tools如下安装来添加支持:

sudo apt install aufs-tools

进一步阅读曼奥夫斯


编辑:

关于OP的评论,可以通过内核内置overlayfs模块实现相同的目的:

sudo mount -t overlay -o lowerdir=/opt,upperdir=/mnt/optw,workdir=/tmp/optoverlay overlay /opt

相关内容