我使用 Overlayfs 将三个目录合并在一起,如下所示:
mount -t overlay overlay -o lowerdir=/dir1:/dir2:/dir3 /targetdir
这部分符合我的预期。下层目录中的一些文件在目标目录中是可见的,但是目录不合并。例如,如果我有以下文件:
/dir1/subdir/file1
/dir2/subdir/file2
/dir3/subdir/file3
然后我期望在目标中看到:
/targetdir/subdir/file1
/targetdir/subdir/file2
/targetdir/subdir/file3
但我实际看到的是:
/targetdir/subdir/file3
看起来目录没有合并,而是列表中最右边的条目lowerdir
优先于其他条目。
这就是我认为相关的部分文档:
现在可以使用冒号(“:”)作为目录名称之间的分隔符来给出多个较低层。例如:
mount -t overlay overlay -olowerdir=/lower1:/lower2:/lower3 /merged
如示例所示,“upperdir=”和“workdir=”可以省略。在这种情况下,覆盖层将是只读的。
指定的下级目录将从最右边的目录开始向左堆叠。在上面的例子中,lower1 是顶层,lower2 是中间层,lower3 是底层。
我现在想知道我是否应该以不同的方式解释上面的“堆叠”一词,因为我认为它的意思是“合并”。