web-dev-qa-db-ja.com

リモートマウントでシンボリックリンクをどのように機能させるのですか?

AとBの2つのサーバーがあります。

Aには/ alphaと/ betaの2つのファイルシステムがあります。

シンボリックリンクがあります:

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シンボリックリンクを介してアクセスできるようにしたいと考えています。

マウントやリンクを変更する必要がありますか?または私は不可能を達成しようとしていますか?

[〜#〜]更新[〜#〜]

「サーバーBに/ alphaをマウントせずに」を追加する必要がありました。つまり、サーバーBが/ beta/barにアクセスするたびに、問題のactualファイルへのシンボリックリンクをたどりたいのです。

20
Dancrumb

ソフトリンクには、ローカルマシン上の別のファイルへのパスのみが含まれます。ローカルファイルシステムでアクセスできないファイルを参照することはできません。

オプション:

  • ソフトリンクを使用せず、ファイルをコピーします
  • 相互リンク(ほとんどの場合、悪い考えです)
  • ファイルアクセス要件を課すものを再編成/再実行
19
dietbuddha

リンクは正しく/alpha/fooを指していますが、お使いのマシンには存在しません。 /alphaをマウントすると、リンクが機能します。

3
robert

Sshfsユーティリティを使用して、目的の操作を実行できる場合があります。これにより、ファイルシステムをローカルコンピューターのリモートコンピューターにマウントできます。これを行う方法のリファレンスを以下に示します。 https://www.digitalocean.com/community/tutorials/how-to-use-sshfs-to-mount-remote-file-systems-over-ssh =

2
mml_sw

ソフトシンボルリンクのコンテンツはパス文字列であり、ファイルシステムのマウント方法については何も知りません。あなたの場合、Aのサンプルパスを使用して/ alphaと/ betaをBにマウントできます。ただし、ネットワークシステム間のクロスリンクは避けてください。維持するのは困難です。

1
Huang F. Lei

マウントする必要があります/alphaを使用するには、リンクを機能させる必要があります。

0
dirac3000

あなたが本当に欲しいのはハードリンクだと思います。ファイルシステム内の同じデータへの別のポインタなので、そのファイルを実際に削除してディスク領域を解放するには、そのファイルへのすべてのハードリンクを削除する必要があります。

一部のスクリプトとツールは、混乱する可能性があります。

0
pixel