5

Mac には、共有フォルダー ~\Documents があります。Data と Data_2011 の 2 つのサブフォルダーがあり、前者には過去数年間のファイルのフォルダーが含まれ、後者には 2011 年 1 月 1 日以降に更新された Data フォルダー内のフォルダーへのシンボリック リンクが含まれます。リンクは標準で作成されました。ln -sコマンド。

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

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

-シボ

4

1 に答える 1

4

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

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

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

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

つまり、基本的には、「ls -l」を使用してシンボリックリンクが指す場所を確認し、クライアントコンピュータがシンボリックリンクを解決して、その名前のファイルを開こうとすることに注意してください。これは、期待したものである場合とそうでない場合があります。

(おそらく、テストがMacではなくLinuxマシンで機能した理由は、Linuxマシンにマウントされたネットワーク共有が多いか、名前が異なるためです。たとえば、シンボリックリンクのターゲット名はLinuxマシンでは有効なファイル名でしたが、Macでは有効ではありませんでした。 )。

于 2011-01-24T08:23:47.143 に答える