20

我有两台服务器,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

4

6 回答 6

19

软链接只包含本地机器上另一个文件的路径。您不能引用在本地文件系统上不可访问的文件。

选项:

  • 不要使用软链接,复制文件
  • 交联(几乎总是一个坏主意)
  • 重新组织/重做任何强加文件访问要求的内容
于 2010-12-22T17:23:17.447 回答
2

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

于 2014-12-18T19:29:37.023 回答
2

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

于 2010-12-22T13:50:51.780 回答
1

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

于 2010-12-22T17:02:10.217 回答
0

您需要安装/alpha在您的机器上才能使链接正常工作。

于 2010-12-22T15:58:17.480 回答
0

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

一些脚本和工具可能会被它们弄糊涂。

于 2013-02-17T01:48:35.330 回答