【问题标题】:How do you make symbolic links work with a remote mount?您如何使符号链接与远程安装一起使用?
【发布时间】:2011-05-29 10:17:25
【问题描述】:

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

【问题讨论】:

    标签: linux filesystems symlink nfs


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          选项:

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

          【讨论】:

            【解决方案5】:

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

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

            【讨论】:

            • 您的回答与用户关于链接多个文件系统的问题无关。
            • @mattgately:是的。像素没有表达得很清楚,但是硬链接是绝对的解决方案。可能由于任何(有效)原因,OP 都没有准备好使用,但绝对是直接从 /beta 访问所需文件而无需挂载 /alpha 的有效解决方案。
            • 我可能弄错了,但我认为问题是关于两个不同文件系统上的文件,所以在这种情况下甚至不能选择硬链接。
            【解决方案6】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-12-23
              • 2010-09-16
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多