シンボリックリンクフォールバック

シンボリックリンクフォールバック

シンボリックリンクにフォールバックする方法はありますか? 宛先が見つからない場合は、別の宛先を使用する必要があります。

ドライブがマウントされているかどうかに関係なく、プログラム用の設定ファイルを使用したいと考えています。そのため、その特定のドライブ上の設定へのシンボリックリンクを用意し、見つからない場合は別の設定を使用します。

ドライブがマウントされているかどうかを確認し、目的の構成にリンクしてからアプリケーションを実行するラッパー スクリプトを使用できると思いますが、ラッパー スクリプトは奇妙な感じがします。

答え1

標準のシンボリックリンクでは、そのような方法はありません。シンボリックリンクは常に単一のターゲット パスを指します。

ただし、特定のケースでは、ドライブがマウントをシャドウする方法を利用できます。構成ファイルを /path/to/mount/config.cnf にポイントすると、親ファイルシステム上にあるもの (マウントが存在しない場合に使用) とマウントされたファイルシステム上にあるもの (マウントが存在する場合に使用) が 1 つずつあります。

しかし、私はそれをお勧めしません。まず、たとえば比較するために両方を同時に開くのは難しいからです。私なら、それよりもラッパー スクリプトを何度も使用します。プログラム固有の方法もあるかもしれませんが、プログラムの名前は指定していません。

答え2

あなたはユニオンマウントこのためです。特定の場所に存在する場合に 1 つのファイルを表示し、最初の選択肢が存在しない場合は別のファイルを表示することが、ユニオン マウントの全体的なポイントです。マウントされている場所とは異なる場所にあるファイルを表示する場合を除き、シンボリック リンクは役に立ちません。

mkdir ~/overridden
unionfs-fuse "/media/external:$HOME/overridable" ~/overridden

~/overridden~/overridableは、 との下のディレクトリ ツリーのマージを示します/media/external。両方にファイルが存在する場合は、 のファイル/media/externalが表示されます。

参照Linux でのユニオンマウント(誰かが答えたら…)。

関連情報