AndrolGenhald Asked: 2018-06-30 09:51:00 +0800 CST2018-06-30 09:51:00 +0800 CST 2018-06-30 09:51:00 +0800 CST FUSE 覆盖安装,路径中有冒号 772 当其中一条路径中有冒号时,是否可以进行覆盖安装?我看过的所有 FUSE 覆盖安装解决方案都使用冒号来分隔覆盖中的路径,但我找不到逃避它的方法。 fuse union-mount 1 个回答 Voted Best Answer AndrolGenhald 2018-06-30T09:51:00+08:002018-06-30T09:51:00+08:00 目录结构 假设我们正在尝试覆盖foo:bar, 和bar:baz. 挂载点将是union foo └── a bar └── b foo:bar └── c bar:baz └── d union mergerfs 无论你尝试做什么转义,你都可以从源头上看到它是行不通的。如果您尝试猜测一种逃避它的方法,这很烦人: $ mergerfs 'foo\:bar':'bar\:baz' union 它不会抛出错误,但会默默地忽略不存在的目录: $ ls union b unionfs-fuse 与 相同的问题,mergerfs无法逃脱冒号。如果目录不存在,至少它会失败并出现错误: $ unionfs-fuse 'foo\:bar':'bar\:baz' union Failed to open /foo\/: No such file or directory. Aborting! overlayfs overlayfs 确实允许在路径中转义冒号,但它不是 FUSE 文件系统。 $ mount -t overlay overlay -o lowerdir='foo\:bar':'bar\:baz' union $ ls union c d 解决方法 一个适用于两者的简单解决方法mergerfs是unionfs-fuse使用符号链接: $ ln -s foo:bar foo_bar $ ln -s bar:baz bar_baz $ unionfs-fuse foo_bar:bar_baz union $ ls union c d
目录结构
假设我们正在尝试覆盖
foo:bar
, 和bar:baz
. 挂载点将是union
mergerfs
无论你尝试做什么转义,你都可以从源头上看到它是行不通的。如果您尝试猜测一种逃避它的方法,这很烦人:
它不会抛出错误,但会默默地忽略不存在的目录:
unionfs-fuse
与 相同的问题,
mergerfs
无法逃脱冒号。如果目录不存在,至少它会失败并出现错误:overlayfs
overlayfs
确实允许在路径中转义冒号,但它不是 FUSE 文件系统。解决方法
一个适用于两者的简单解决方法
mergerfs
是unionfs-fuse
使用符号链接: