符号链接在与Windows或Linux(SMB)共享时工作,但分享到Mac(AFP或SMB)时破裂

StackOverflow https://stackoverflow.com/questions/4777791

  •  23-10-2019
  •  | 
  •  

在Mac上,我有一个共享文件夹,〜 documents。有两个子文件夹数据和数据_2011,即过去几年中包含文件的文件夹,后者包含自2011年1月1日以来已更新数据文件夹中的符号链接。链接是使用标准创建的。 ln -s 命令。

当我将共享文档文件夹安装在Windows计算机上时,链接可以正常工作。当我使用SMB在Linux上安装时,链接可以正常工作。当我直接在托管Mac上使用这些链接时,它们可以正常工作。但是,当我将文档文件夹从远程Mac挂载时,软链路会断开。要明确,我通过转到Finder> Connect> afp://xxx.xxx.xx.xx/或smb://xxx.xxx.xx.xx.xx/documents来安装文档文件夹。

对于如何将这些软链接与远程Mac共享时,如何使这些软链接起作用?

-sibo

有帮助吗?

解决方案

Mac OS文件共享将符号链接作为实际符号链接。

如果我使用AFP或SMB将一个Mac连接到另一个Mac,我可以确认。

请注意,符号链接由客户端解决 - 即使在非文件共享的情况下,这意味着符号链接中的相对路径可能很棘手,在这种情况下,涉及网络文件共享,这意味着客户端计算机需要能够请参阅目标文件(目标文件也必须在共享和安装的文件夹中),并且路径必须相同。

例如,如果我在我的主目录中创建一个名为“ foo”的文本文件,则执行“ ln -s foo symlink”以创建指向其名为SymLink的链接,然后从第二个计算机上安装该主目录并执行“ LS” - l“它显示为“ symlink @-> foo”,如果我猫的文件,我可以阅读它。但是,如果我将Symlink创建为“ LN -S/users/matt/foo symlink”,则在第二台计算机LS -L上显示为“ Symlink @->/users/users/matt/foo”,而Cat Say cat say” cat: SYMLINK:没有此类文件或目录”。这是因为在第二台计算机上, /用户 /马特是一个本地主目录,不包含名为foo的文件(如果这样做,则解决符号链接的任何内容都会看到本地foo,而不是从第一台计算机共享的foo) 。

因此,基本上:您可以使用“ LS -L”来查看Symlink点的位置,并注意客户端计算机将解析SymLink并尝试打开任何文件具有该名称的任何文件,这可能是您预期的。

(可能是从Linux计算机而不是Mac进行测试的原因是,Linux计算机具有更多的网络共享或具有不同名称的网络共享,因此SymLink目标名称是Linux计算机上的有效文件名,而不是Mac上的有效文件名。 )

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top