既にファイルが含まれているフォルダーにドライブをマウントする場合、ファイルはどこに行きますか?


32

誤って、既にファイルが含まれているフォルダーに新しいドライブをマウントしました。私はそれらを気にせず、他の場所に持っていますが、そのフォルダは空になっています。ファイルに何が起こったのか興味があります。Linuxによって単純に削除されますか?


彼らはどこにも「行きません」。あなたはそれらを見ることができません。
シャドゥール

14
彼らはあなたが読んでいないときに本のキャラクターが行く同じ場所に行きます。
アンドリュービールズ

5
これは、マウントの面白い機能/機能の1つで、いくつかの状況を知るために時々使用/悪用します。いくつかのマウントポイント(ディレクトリ)、空のファイルを残しておきますnot mounted。そのファイルを参照すると、何らかの理由でマウントされていないことがすぐにわかります。
キラーミスト

回答:


37

単に「シャドウ」され、マウント解除されると再び表示されます。:)

実際、ファイルは「そのまま」あり、アンマウントせずにすぐにそれらに到達する必要がある場合、これはいわゆるbindマウントで回避できます:

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

カーネルにファイルシステムをマウントポイントにマウントするように要求すると、カーネルはマウントポイントをマウントしているファイルシステムの「ビューポート」として扱うため、マウントされたFSコンテンツが表示れることが期待されるためです。

ただし、これらのFSの「レイヤー」を単一のビューに結合する方法はこれだけではありません。いわゆる「ユニオンマウント」アプローチがあります(この「プラン9の中心的な概念」、BTWを知っているのは面白いです)。Linuxでは、あなたは使用することができAUFS(3.18以降)、現在、メインラインカーネルにその方法を作ったことがない、またはOverlayFSそれは- でした


21

新しくマウントされたファイルシステムは、初期ファイルシステムの一部を隠すオーバーレイのようなものです。poigeで説明されているバインドマウントのように、ファイルにアクセスするためのトリックがあります。Linuxでは、ファイルシステムを異なるマウントポイントに複数回マウントできるという事実が個人的に気に入っています。ですから、ルートファイルシステム/をだけでなく上にも完全にマウントできます/mnt。これは、失われたスペース/失われたファイル/ディスク使用量のカウント/ ...

落とし穴:

  • 古いファイルはまだそこにあり、スペースを使い果たしています。マウントによって隠されたファイルに「不足」ディスク領域があるのはよくある間違いです。たとえば、誤ってディレクトリに大きなファイルを書き込んで、ある時点でその上にファイルシステムをマウントすることにしたとき。たとえば、ログファイルシステムが適切にマウントされる前に誤って大きなデータベースを起動してしまった...
  • プログラムが開いているファイルが、その後新しくマウントされたファイルシステムによって隠されると、プログラムはそれを気にせず、「隠された」ファイルを閉じるまで正常に使用し続けます。その瞬間から、そのファイルは、新しいファイルシステムがアンマウントされ、基礎となるディレクトリが再び表示されるまでプロセスから見えなくなります。

ファイルシステムを複数回マウントできることは非常に興味深いです。これは重宝するようです。
T.ブライアンジョーンズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.