その場合は時間がかかります(ソースファイルが大きい場合)mount --bind
/a
。これは単にファイルシステムのファイルテーブルを更新するのではなく、実際にファイルをコピーしてからソースファイルを削除します。/b
mv /a/bigfile /b/
私はそれがどのようにそしてなぜmount --bind
動作するのか理解しています。他の人が指摘したように、これについていくつかの良い説明があります。
mount --bind
実際に、ファイルシステムのファイルテーブルを更新してこれらの操作(移動)を実行できるように、mount aが同じファイルシステムにあるように指示する方法はありますか?
私はこの問題を理解する方法ではなく、どのように解決するかを尋ねています。私が知らないカーネルパッチがすでに利用可能か、まだ見つからないパラメータが欠落している可能性があります。
理由:現在の設定には、.symlinkのみをサポートするサービス(nextcloud)が1つありますmount --bind
。シンボリックリンクは使用できません。たとえば、nextcloudの各アカウント内に共有フォルダが必要な場合は、バインディングを使用する必要があります。ファイルシステム/カーネルレベルで定式化されたnextcloudソリューションなら、どんなものでも開いています。これは、現在の設定にSSHなど、これらのファイルにアクセスする他の方法も含まれているためです。つまり、例のように、ファイルを移動するためにすべてのコマンドまたはアプリケーションを使用できるようにしたいと思います。
ベストアンサー1
当然いいえ、マニュアルページrename(2)
これは言及されました:
EXDEV
古い道そして新しい道同じマウントされたファイルシステムにはありません。 (Linuxでは複数のポイントにファイルシステムをマウントできますが、rename()
同じファイルシステムが2つのマウントポイントにマウントされていても、他のマウントポイントでは機能しません。
私が正確に覚えているならば、バインドマウントは同じファイルシステムを何度もマウントするのと同じです。つまり、事実の後ろにバインドする「ソース」と「ターゲット」はありません。
またあります回答同じトピックについて数ヶ月前に別の質問がありました。このリンクはカーネル開発者との議論につながります。だから投票に行きなさい。