すでにファイルが含まれているフォルダにドライブをマウントすると、そのファイルはどこに行きますか? [コピー]

すでにファイルが含まれているフォルダにドライブをマウントすると、そのファイルはどこに行きますか? [コピー]

誤ってすでにファイルが含まれているフォルダに新しいドライブをインストールしました。気にせずに別の場所に置いていましたが、今フォルダが空いているようです。 Linuxで削除したばかりのファイルに何が起こったのか疑問に思います。

答え1

削除後に再び表示される「シャドウ」です。 :)

bind実際、ファイルはそのまま「存在」し、マウント解除せずにすぐにそのファイルにアクセスする必要がある場合は、いわゆるマウントを介してこの問題を解決できます。

mount --bind /Original/FS/Mount/Point /Somewhere/Else

カーネルがファイルシステムを特定のマウントポイントにマウントするように要求すると、カーネルはそのマウントポイントをマウントしているファイルシステムの「ビューポート」として表示するために機能します。FSマウントそこに内容があります。

しかし、これはいいえこれらのFS「レイヤー」を単一のビューに結合する唯一の方法です。 「という言葉があります。共同設置「方法(これが「Plan 9のコアコンセプト」であるという事実が興味深いです。btw)」オブ、メインラインカーネルに含まれていないか、現在(3.18ベース)ファイルシステムの上書き- それした

答え2

新しくインストールされたファイルシステムはオーバーレイのように動作し、元のファイルシステムの一部を隠します。 poigeで説明されているバインドマウントなど、ファイルにアクセスするためのいくつかのトリックがあります。 Linuxでは、複数のマウントポイントにファイルシステムを複数回マウントできることが個人的に気に入っています。これにより、ルートファイルシステムをオン//オフで完全にマウントできます/mnt。これは、失われたスペース/欠落ファイルのデバッグ/ディスク使用量の計算/...をデバッグするときに便利です。

質問:

  • 古いファイルがまだ存在していますスペース不足。隠しファイルをマウントしてディスク領域を「失う」のは、よくある間違いです。たとえば、誤ってディレクトリに大きなファイルを作成し、時にはディレクトリにファイルシステムをマウントすることにしました。たとえば、ジャーナリングファイルシステムが正しくインストールされる前に、誤って大規模データベースを起動した場合などです。
  • プログラムが新しくインストールされたファイルシステムによって隠されたファイルを開くと、プログラムはそれを気にせずに閉じられるまで「隠された」ファイルを使い続けます。その時点から、新しいファイルシステムがアンマウントされ、デフォルトのディレクトリが再び表示されるまで、ファイルはプロセスに表示されません。

関連情報