如何使符号链接与远程安装一起使用?

时间:2010-12-22 13:46:50

标签: linux filesystems symlink nfs

我有两台服务器,A和B

A有两个文件系统,/ alpha和/ beta

我有一个符号链接:

ln -s /alpha/foo /beta/bar

这样:

lrwxrwxrwx 1 root    root           70 Dec 22 13:32 /beta/bar -> /alpha/foo

接下来,我通过NFS挂载在B上远程挂载/ beta,

该链接不再有效。

有没有办法实现这一目标。我希望能够在服务器B上访问A:/ alpha / foo,但我希望能够通过/ beta / bar符号链接来访问它。

我是否需要修改我的挂载或链接?或者我是否想要实现不可能的目标?

更新

我应该添加:'没有挂载/ alpha到服务器B'。 简而言之,每当服务器B访问/ beta / bar时,我都希望将符号链接跟踪到实际文件

6 个答案:

答案 0 :(得分:19)

软链接仅包含本地计算机上另一个文件的路径。您无法引用本地文件系统无法访问的文件。

选项:

  • 请勿使用软链接,复制文件
  • 交叉链接(几乎总是一个坏主意)
  • 重新组织/重做任何强加文件访问要求的内容

答案 1 :(得分:3)

链接正确指向/alpha/foo,但您的计算机上不存在此链接。如果您挂载/alpha,则该链接将起作用。

答案 2 :(得分:2)

您可以使用sshfs实用程序执行您想要执行的操作。这将允许您在本地远程计算机上安装文件系统。以下是如何执行此操作的参考: https://www.digitalocean.com/community/tutorials/how-to-use-sshfs-to-mount-remote-file-systems-over-ssh

答案 3 :(得分:1)

软符号链接的内容是一个路径字符串,它不知道如何挂载文件系统。在您的情况下,您可以使用A的样本路径在B上挂载/ alpha和/ beta。但强烈建议不要在网络系统之间交叉链接,这很难维护。

答案 4 :(得分:0)

您需要在计算机中安装/alpha才能使链接正常工作。

答案 5 :(得分:0)

听起来你真正想要的是一个硬链接。它是另一个指向文件系统中相同数据的指针,因此要真正删除该文件并释放该磁盘空间,您必须删除所有硬链接。

某些脚本和工具可能会被它们搞糊涂。