linux:挂载后使链接工作

linux:挂载后使链接工作

这不是经典的编程问题,而且由于我对这个(真的很酷!)网站还很陌生,我不确定这里是否是合适的地方,所以无论如何我都会尝试一下。

当实验室里所有人都使用 Windows 电脑并通过 ssh 访问实验室 Linux 服务器时,我就在实验室工作。

我更喜欢 Linux,所以我在 PC 上本地安装了 ubuntu 10.4。我使用 mount server:/home /mnt/home/ 安装我们实验室服务器的主目录。然后我可以访问服务器上的文件(我必须更改我的本地 UID 以匹配我们服务器上分配给我的 UID,以便能够写入我的主目录)。

问题是,当我通过挂载位置访问服务器上的所有(符号)链接时,它们都不起作用。我猜系统只是尝试跟踪我本地 /home 中的链接,而不是 server:/home 上的链接。

有没有什么办法可以让链接起作用?

谢谢,戴夫

答案1

您的符号链接绝对指向/home/dave/...在服务器端,您有目录结构。在客户端,符号链接指向完全相同的路径。

因此有 3 种可能的方法:

最好的解决方案是尽可能始终使用相对符号链接。例如,如果符号链接所在的目录包含,/home/dave则符号链接目标路径应为workspace/proj1/code。如果位于,则/home/dave/my_current_project可能是../workspace/proj1/code。但有时这是不可能的,或者根本不想要。

/home第二种解决方案是从服务器挂载到/home客户端。同样,这有时也是不必要的。

/var/local第三个解决方案是,在两端创建一个符号链接,并使所有链接都与它相关。通过在例如名为 的中创建符号链接来实现此目的,home该链接在服务器端链接到/home,在客户端链接到/mnt/home。现在将服务器上的所有符号链接从 更改/home/dave/.../var/local/home/dave/...

我认为最好的解决方案是第一个,其次是第二个,最后一个是后备方案,这增加了用户的工作复杂性,并可能导致将来出现错误链接

相关内容