我试图在安装有overlayfs的文件系统上应用一个使用archivemount的覆盖:
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但是,挂载失败的原因是:
mount: /tmp/test8/tmp/mount: wrong fs type, bad option, bad superblock on overlayfs, missing codepage or helper program, or other error.看着dmesg,我看到了:
overlayfs: filesystem on 'tmp/upper' not supported as upperdir为什么档案不受支持?有办法解决这个问题吗?
发布于 2018-12-09 18:24:25
覆盖层内核模块的文档指出:
上层文件系统通常是可写的,如果是的话,它必须支持创建
trusted.*扩展属性,并且必须在readdir响应中提供有效的d_type,因此NFS是不合适的。
因此,archivemount可能没有实现这些特性中的任何一个,这使得它不适合作为可写覆盖层的上层使用。
请注意,文件继续如下:
由两个只读文件系统组成的只读覆盖系统可以使用任何文件系统类型.
因此,如果只读覆盖足够满足您的需要,那么将其设置在archivemount之上,即使是在较低的层,也可以工作,只需将所有的只读安装到这种情况下即可。
请注意,FUSE协议本身没有限制,使任何FUSE安装都不适合作为覆盖层中的可写上层。
具体来说,FUSE向查询和设置扩展属性公开函数,并公开d_type字段以供实现填充。
但是,特定的FUSE应用程序需要实现这些特性才能使它们可用。
关于扩展属性,archivemount的一个单独的技术限制是,并非所有归档格式都支持存储扩展属性,因此即使archivemount实现对扩展属性的支持,也有可能在所有受支持的归档格式中都不能使用它。
(有关--xattrsGNU焦油的选择的更多细节,请参阅文档。)
https://unix.stackexchange.com/questions/486946
复制相似问题