findmnt list バインドはどのようにマウントされますか?

findmnt list バインドはどのようにマウントされますか?

多くの人は、Linuxはバインドマウントに関する情報を保持していないので、バインドマウントのリストとソースを取得する方法がないと言います。ここにいくつかの例があります。

  • ~からここでコメントの一つ:

    IIRC この情報はどこにも保存されません。結局のところ、mount --bind両方のコピーは同じであり、どちらも他のコピーよりも「オリジナル」ではありません。最終的に削除した場合は、オリジナルを持つことはできません/mnt

  • ~からこのサイトの回答:

    したがって、どのマウントがバインドマウントであるかを覚える唯一の方法は、に留まることです/etc/mtab。バインドマウント操作はバインドマウントオプションとして表示されます(これによりファイルシステムの種類は無視されます)。ただし、マウントには、特定のオプションセットでマウントされたファイルシステムのみを一覧表示するオプションはありません。

  • ~からDebian のバグ報告:

    これは意図的なものです。両方のマウントポイントはすべての点でまったく同じであるため、カーネルはそれらを区別するためのフラグを保持しません。

上記の内容はすべて言葉にならない内容だが。このツールは、findmntバインドマウントへのソースパスを一覧表示できますdevice[source-path]ただデバイスの代わりにソースパス)。 Linuxカーネルがバインドマウントを維持するには、この情報を保存する必要があります。どこかに/homeそうでなければそれが何であるかわかりません/users。では、このデータはどこにありますか? RAMのあいまいな領域に保存されていますか?findmntどこかでそれをお探しですか/proc

ベストアンサー1

2つのマウントポイントを少し誤解しました。同じこれは、権限、フラグなどの観点から、バインディングがアクセスをあるパスから別のパスに効果的にリダイレクトするためです。しかし、彼らはまだ明らかに

見てみると/proc/self/mountinfo、プロセスのマウントされた世界のカーネルビューを見ることができます(名前空間は状況をより複雑にします)。一つインストールテーブルを見る)。

man 5 procファイル形式は説明されていますが、ツリー階層とバンドルマウントの「親」位置を表示できます。これは解析されたファイルですfindmnt

おすすめ記事