Linuxルートファイルシステムに関する疑問


13

私の理解では、「ルートファイルシステム」という用語は曖昧で、実際には2つの異なるものを指します。1つは、カーネルと共にシステムのセットアップを行うために必要な絶対的な最小限のファイルシステムです。これには、ハードウェアの検出、モジュールのロード、デバイスの検出などを実行する初期ユーザースペースプログラムがいくつか含まれています。このファイルシステムは、しばしば「rootfs」と呼ばれます。もう1つは、「実際の」ルートファイルシステムです。ローカルディスクまたはリモートサーバー(イーサネットからのブートをサポートするシステムの場合)にあります。

「mount」コマンドを使用して、いくつかのLinuxディストリビューションを調査しました。結果に「rootfs on / type rootfs」があるものとそうでないものがあります。そして、それらはすべて「/ dev / sdaX on / type extX」のようなものを持っています。

「rootfs on / type rootfs」を持っていない人のために、メカニズムが変更されたのか、rootfsがアンマウントされただけなのか疑問に思っています。

私はwikiとgoogleで答えを探そうとしましたが、結局混乱してしまいました。

誰も私を助けることができますか?

linux 

回答:


16

mountこのコマンドは、現在のマウントに関する情報を取ります/etc/mtab

過去mtabは、ブートごとに通常のファイルが再作成され、mountコマンドによって更新されました。したがって、rootfs /単にrootfs が明示的にマウントされないため、エントリはありません。常に存在するだけです。(そのようなものには、mtab重複したエントリ、またはマウントされていないファイルシステムのエントリもあることがあります...)

現在の多くのディストリビューションは、今シンボリックリンクmtab/proc/self/mountsしている(中/ procの他のすべてのように)、直接カーネルによって生成されます。このため、との両方rootfs /を含む、現在マウントされているすべてのものが常に表示されます/dev/blah /

cat /proc/self/mountsすべてのディストリビューションで使用して、マウントを比較できます。(また/proc/self/mountinfo、互換性のない構文を使用しますが、詳細が追加されます。)


知らなかった/ procの場合は+1。
ジョー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.