首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >档案上的Overlayfs

档案上的Overlayfs
EN

Unix & Linux用户
提问于 2018-12-09 16:42:44
回答 1查看 1K关注 0票数 2

我试图在安装有overlayfs的文件系统上应用一个使用archivemount的覆盖:

代码语言:javascript
复制
mkdir -p {upper,work,mount}
tar zcf somefile upper/ work/ mount/
mkdir tmp
archivemount -o allow_root -o fsname=ext4 somefile tmp
sudo mount -t overlay -o lowerdir=/,upperdir=tmp/upper,workdir=tmp/work overlayfs tmp/mount

但是,挂载失败的原因是:

代码语言:javascript
复制
mount: /tmp/test8/tmp/mount: wrong fs type, bad option, bad superblock on overlayfs, missing codepage or helper program, or other error.

看着dmesg,我看到了:

代码语言:javascript
复制
overlayfs: filesystem on 'tmp/upper' not supported as upperdir

为什么档案不受支持?有办法解决这个问题吗?

EN

回答 1

Unix & Linux用户

发布于 2018-12-09 18:24:25

覆盖层内核模块的文档指出:

上层文件系统通常是可写的,如果是的话,它必须支持创建trusted.*扩展属性,并且必须在readdir响应中提供有效的d_type,因此NFS是不合适的。

因此,archivemount可能没有实现这些特性中的任何一个,这使得它不适合作为可写覆盖层的上层使用。

请注意,文件继续如下:

由两个只读文件系统组成的只读覆盖系统可以使用任何文件系统类型.

因此,如果只读覆盖足够满足您的需要,那么将其设置在archivemount之上,即使是在较低的层,也可以工作,只需将所有的只读安装到这种情况下即可。

请注意,FUSE协议本身没有限制,使任何FUSE安装都不适合作为覆盖层中的可写上层。

具体来说,FUSE向查询和设置扩展属性公开函数,并公开d_type字段以供实现填充。

但是,特定的FUSE应用程序需要实现这些特性才能使它们可用。

关于扩展属性,archivemount的一个单独的技术限制是,并非所有归档格式都支持存储扩展属性,因此即使archivemount实现对扩展属性的支持,也有可能在所有受支持的归档格式中都不能使用它。

(有关--xattrsGNU焦油的选择的更多细节,请参阅文档。)

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/486946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档