Linuxには単一の親ルートファイルシステムがありますか?

Linuxには単一の親ルートファイルシステムがありますか?

私が読んでいるこれそして私のイニシャル(間違った)これは名前空間とchrootマウントに関連していると思います。

これが気になります...ファイルシステム1にアクセスできるプロセスがない場合、Linuxは自動的にそれをクリーンアップします(可能な場合)。何よりも、後でinitramfsファイルシステムを暗黙的にクリーンアップできます。ピボットルートそしてchroot

また、PIDネームスペースには親ネームスペースと他のサブネームスペースがあり、すべてのプロセスが1カーネルによって開始されたPIDに表示されることも学びました。

ただし、デフォルトのマウントネームスペースがあるのか​​、デフォルトのルートファイルシステムがあるのか​​はわかりません。もちろん、PIDが使用するルートファイルシステムがありますが、1それ以外はどのファイルシステムでも意味があります。これルートファイルシステム?


私の懸念は、SO、ドキュメント、ブログに対する多くの答えから来ているようです。すべて「プロセスには独自の視点があります」などの用語が使用されます。これファイルシステム」。

私の問題は、単一のファイルツリーがどの意味で参照できるかを理解していないことです。これファイルツリー...

...名前空間はコピーされ、個別に変更され、暗黙的に削除されます。そしてさらにこれinitramfs(通常)が最初に別のツリーで実行され、次にchrootが呼び出されるので、私たち全員はメインルートファイルシステムが最初のファイルシステムではないと思いました。

したがって、この用語は技術的に正しくないか、基本的なファイルツリーであるファイルツリーはありますか?


1間違っている場合は訂正してください。

  • unshare -m mount /foo /barマウントコマンドラインユーティリティが終了すると、新しい名前空間にプロセスが存在せず、新しいマウントが自動的にアンマウントされるため、何の効果もありません。
  • PID 1が唯一のプロセスで、3つのマウントポイントがある場合は、元のマウントポイントを/ /foo /bar呼び出してマウント解除します。繰り返しますが、どちらにもアクセスできるプロセスはありません。chroot /foo//bar

ベストアンサー1

Linuxでは、各プロセスに固有の属性があります。ファイルシステムの表示、制約が適用されるマウントネームスペース(および関連機能)。各マウントネームスペースはユーザーネームスペース。ユーザーネームスペースはルート階層を形成するため、単一のルートユーザーネームスペースがあります。このユーザーネームスペースに関連付けられているマウントネームスペースの1つ(または少なくともある時点)には、他のマウントネームスペースにマウントされているすべての項目にアクセス(通過)するために必要なすべてが含まれています。これをホストシステムのルートと呼ぶことができます。名前空間をマウントし、その名前空間のルートをホストシステムのルートファイルシステムと見なすことができます。

おすすめ記事