ls
シンボリックリンクには、などのシェル起動コマンドとは異なり、などmv
の機能がcp
機能する方法に制限がありますcd
。これは、ユーザーが論理パスに基づいてディレクトリにアクセスする方法に関する情報がないためです(関連トピックを参照)。コンテンツ)郵便はがき)。このmount --bind
オプションを使用すると、マウントされたディレクトリに1つのリンクではなく2つの別々の物理パスがあるため、Sambaや他のファイルサーバーとの機能強化と互換性を提供することでこの問題を解決できます。
このオプションを使用してすべてのシンボリックリンクを参照に置き換えたいのですが、mount --bind
これはfstabに150以上のポイントをマウントすることを意味します。これによって発生する可能性のあるパフォーマンスの問題や考慮すべき他の欠点はありますか?
ベストアンサー1
の場合、mount --bind
ディレクトリツリーはディレクトリ階層の2つ以上の場所に存在します。これは多くの問題を引き起こす可能性があります。バックアップやその他のファイルのコピーでは、すべてのコピーが選択されます。ファイルシステムをコピーするように指定するのは難しくなります。結局、バインドマウントされたファイルは2回コピーされます。find
、grep -r
などを使用して検索すると、locate
すべてのコピーなどが巡回されます。
バンドルのインストールでは、「拡張機能と互換性」が得られません。ほとんどの場合、望ましくない動作である他のディレクトリのように見えます。たとえば、Sambaはデフォルトでシンボリックリンクをディレクトリに公開します。バインドマウントを使用しても利点はありません。一方、バインドマウントは NFS 経由でディレクトリ階層を公開するのに役立ちます。
バンドルのインストールにはパフォーマンスの問題はありません。管理上の困難を経験します。バインドマウントには、chrootからアクセス可能なディレクトリツリーを作成したり、マウントポイントによって隠されたディレクトリを公開するなどの用途があります(通常、ディレクトリ構造が再構成されている間は一時的に使用されます)。必要でない場合は使用しないでください。
ルートのみバインドインストール操作を実行できます。通常の方法では移動できず、その場所と祖先ディレクトリにロックされます。
通常、シンボリックリンクをコマンドに渡すと、コマンドがファイルで機能する場合、そのコマンドがリンク自体で機能し、ファイルの内容で機能している場合、コマンドはリンクターゲットで機能します。これはディレクトリにも当てはまります。これは一般的に正しいことです。一部のコマンドには、シンボリックリンクを異なる方法で処理するオプションがあります(たとえばls -L
、、、cp -d
)rsync -l
。何をしても、バインドマウントよりもシンボリックリンクが正しいツールになる可能性が高くなります。