シンボリックリンクは、WindowsまたはLinux(SMB)と共有すると機能しますが、Mac(AFPまたはSMB)に共有すると壊れます

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

  •  23-10-2019
  •  | 
  •  

質問

Macには、共有フォルダー、〜ドキュメントがあります。データとデータ_2011の2つのサブフォルダーがあり、前者は過去数年間のファイルのフォルダーを含み、後者は2011年1月1日以降に更新されているデータフォルダーのフォルダーへのシンボリックリンクを含む。リンクは標準で作成されました。 ln -s 指図。

Windowsコンピューターに共有ドキュメントフォルダーをマウントすると、リンクが機能します。 SMBを使用してLinuxにマウントすると、リンクが機能します。これらのリンクをホスティングMacで直接使用すると、それらは機能します。ただし、リモートMacからドキュメントフォルダーをマウントすると、ソフトリンクが壊れています。明確にするために、finder> connect> connect> afp://xxx.xx.xx.xx/またはsmb://xxx.xx.xx.xx.xx/documentsに移動してドキュメントフォルダーをマウントします。

リモートMacに共有されたときにこれらのソフトリンクを機能させる方法についてのアイデアはありますか?

-SIBO

役に立ちましたか?

解決

Mac OSファイル共有は、シンボリックリンクを実際のシンボリックリンクとして公開します。

AFPまたはSMBを使用して、あるMacを別のMacに接続すると、これを確認できます。

シンボリックリンクはクライアントによって解決されることに注意してください - ファイルを共有していない場合でも、これはシンボリックリンクの相対パスが難しい場合があり、この場合はネットワークファイル共有を含む、クライアントコンピューターができる必要があることを意味しますターゲットファイル(ターゲットファイルも共有およびマウントされているフォルダーにある必要があります)を参照してください。パスは同じである必要があります。

たとえば、ホームディレクトリに「foo」という名前のテキストファイルを作成した場合、「ln -s foo symlink」を実行して、Symlinkという名前のリンクを作成し、2番目のコンピューターからそのホームディレクトリをマウントして「ls-」を実行します。 l "symlink @-> foo"として表示されます。ファイルを猫にすると読むことができます。しかし、「ln -s/users/matt/foo symlink」としてSymlinkを作成すると、2番目のコンピューターでls -lは「Symlink@ - >/users/matt/foo」として表示され、猫は「cat:cat: Symlink:そのようなファイルまたはディレクトリはありません」。これは、2番目のコンピューターでは、 /users /mattがFooという名前のファイルを含まないローカルホームディレクトリであるためです(もしそうなら、Symlinkを解決するものは、最初のコンピューターから共有されるFooではなく、ローカルFooが表示されるためです) 。

したがって、基本的には、「LS -L」を使用してSymlinkポイントを確認し、クライアントコンピューターがSymlinkを解決し、その名前を持っているファイルを開くことを試みることに注意してください。

(おそらく、MacではなくLinuxマシンからテストが機能した理由は、Linuxマシンにはより多くのネットワーク共有が取り付けられているか、異なる名前が付いているため、Symlinkターゲット名はLinuxマシンの有効なファイル名であるが、Macではなく有効なファイル名であるためです。 ))

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top