我有两台服务器,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时,我都希望将符号链接跟踪到实际文件
答案 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)
听起来你真正想要的是一个硬链接。它是另一个指向文件系统中相同数据的指针,因此要真正删除该文件并释放该磁盘空间,您必须删除所有硬链接。
某些脚本和工具可能会被它们搞糊涂。