在同一文件系统中进行硬链接时,跨设备链接无效

在同一文件系统中进行硬链接时,跨设备链接无效

我有/home/myuser/Desktop/rc/.netrc我想要硬链接到的文件/根,即主目录用户。当我做:

ln /home/user/Destkop/rc/.netrc /root

它给出以下错误:

ln: 创建硬链接/root/.netrc' =>.netrc': 无效的跨设备链接

但当我将文件硬链接到时它会起作用我的用户的家,即/home/我的用户

那么,问题出在哪里,为什么这里只有一个文件系统时却说跨设备无效呢?

附言。我在用RHEL6

答案1

您的目录很可能/home与该目录不在同一分区上/root

您可以轻松地检查这一点,因为cat /etc/fstab 硬链接不能在不同分区之间创建,只有符号链接可以。

答案2

在我看来,最好的方法不是使用硬链接,而是使用符号链接。你会发现它不再那么麻烦,而且一切都很好。如果您没有意识到硬链接有一些有趣的问题。

查看man ln并签出该-s选项!

通常请使用符号链接而不是硬链接。

答案3

如果复制到/自的源文件夹或目标文件夹是 fscrypt 加密文件夹,也可能会发生此错误。

在同一个 fscrypt 加密文件夹内(即,源和目标都在同一个 fscrypt 加密文件夹或其任何子目录中),硬链接应该正常工作。

答案4

可能早些时候,符号链接文件夹已被源上的真实目标文件夹替换。现在你的备份脚本失败了。

相关内容