我们可以使用符号链接代替“mount --bind”吗?

我们可以使用符号链接代替“mount --bind”吗?

最近我了解了这个mount --bind命令,但有些东西我不太明白。假设我有一个磁盘分区,我使用此命令将其挂载到挂载点 /bkup。

sudo mount /dev/sdd1 /bkup

如果我想让 /home/bkup 目录显示为 ~/bkup,我可以这样做

sudo mount --bind /bkup ~/bkup

但它与

ln -s /bkup ~/bkup

效果如何?如果我可以用命令mount --bind做同样的事情,为什么还要使用它呢?ln -s

答案1

mount --bind更像是目录的“硬链接”(嗯,您无法创建目录的硬链接,但这是您可以获得的最接近的链接),而符号链接是……嗯,符号链接。

我自己发现了两种情况,其中差异可能很重要:

  1. 在 chroot 中运行某些服务。从 chroot jail 内部到 chroot jail 外部的符号链接不起作用,而mount --bind可以。

  2. 通过网络共享某个目录。您无法共享符号链接,但可以共享挂载在网络上的目录mount --bind

您还必须非常小心那些在设计上区分符号链接和实际目录的程序,例如rsync。尝试rsync在目录的符号链接上运行可能会给您带来与预期完全不同的结果。

相关内容