挂载文件系统后访问挂载点中预先存在的文件

挂载文件系统后访问挂载点中预先存在的文件

假设我在 /mnt 中有文件,我正在将 nfs 共享挂载到 /mnt。之后我可以在 /mnt 中找到 nfs 共享内容。但缺少预先存在的文件。有没有办法同时访问预先存在的文件和挂载的文件?

答案1

严格来说:您无法看到较低安装的文件系统的文件系统内容。

尽管如此,还是有一些解决方案的。首先想到的几个是:

  • unionfs - 选取几个 FS 并呈现它们的合并视图
  • aufs - 与 unionfs 类似但更成熟

最佳实践是不要在一个挂载点上挂载多个文件系统。如果需要在单个树下访问,则在挂载点内创建目录并将其挂载在那里,或者将它们一个挂载在另一个目录下,例如 /mnt/nfs/< nfs share files >

答案2

我认为你不能。(见编辑)最简单的方法是在 /mnt 中创建一个子目录,然后在子目录中安装 nfs 共享。例如,如果你在 /mnt 中有 file1.txt 和 file2.txt,而在 nfs 共享中有 file3.txt 和 file4.txt。

# mkdir /mnt/nfs
# mount <nfs-share> /mnt/nfs

然后

# ls /mnt
file1.txt file2.txt nfs
# ls /mnt/nfs
file3.txt file4.txt

编辑:这是我能找到的最接近的东西

Linux 如何处理挂载点中的现有文件?

总体思路是绑定挂载 /mnt 的父目录(即 /),以便可以访问 /mnt 的实际内容。

# mkdir /fakeroot
# mount --bind / /fakeroot
# mount <nfs-share> /mnt

现在:

# ls /mnt
file3.txt file4.txt
# ls /fakeroot/mnt
file1.txt file2.txt

如果您想查看 /mnt 中的文件和 /mnt 中的 nfs 共享中的文件,您可能需要联合文件系统。

相关内容