多くの人は、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
。