_cat /proc/mounts
_を実行すると、次のようになります(簡略化):
_rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
/dev/sda1 / ext3 rw,relatime,errors=continue,barrier=1,data=ordered 0 0
io /etc/blkio cgroup rw,relatime,blkio 0 0
...
_
コンテンツについて、 Red Hatのドキュメント は次のように述べています。
最初の列はマウントされているデバイスを指定し、2番目の列はマウントポイントを示し、3番目の列はファイルシステムのタイプを示します...
rootfs
がデバイスではないと思います。このデバイスをudev(/dev)
で見つけようとしていますが、取得できません。したがって、どのデバイスが_/
_にマウントされているかわかりません(mount
を使用してこの情報を取得できると言うかもしれませんが、rootfs
ここはmount
コマンドではなくマウントされます)。
別の例は、VMware ESX 3.xサーバーで、mount
の結果にリストされている「vmfs」エントリが見つかりませんが、_cat /proc/mounts
_によって、_/vmfs /vmfs vmfs rw 0 0
_が得られます。 rootfs
の例として、ここでも最初の「/ vmfs」に関連するデバイスがわかりません。
質問:_/proc/mounts
_の最初の列が実際に何を意味するのか誰かに教えてもらえますか?
PS。 _/proc/mounts
_およびmount
の詳細については、「 Linuxでマウントされたファイルシステムの完全で正確なリストを取得する方法は? "」をお読みください。
あなたが引用したドキュメントが言うように、最初の列は確かにデバイスです。 kernel.orgドキュメント によると、rootfs
は、カーネルが常に何かがマウントされていることを確認するために使用するramfs
(RAM内ファイルシステム)の特殊なケースです。 /
に。 RAMのみで、0または無視できるほど小さなスペースが必要です。/proc/mounts
をさらに調べると、/
にマウントされた実際のルートパーティションを含むデバイスのエントリが表示されます。 。
/proc/mounts
の最初の列は、カーネルによって記録されたデバイス名です。ほとんどの場合、これはmount
を呼び出すときに指定された名前です(カーネル内の show_vfsmnt
関数 のコードを参照してください)。ファイルシステムがその名前を微調整する方法はありますが、NFSとAFSだけがこの機会を利用します。
名前rootfs
は カーネルに組み込まれています ;起動時にルートファイルシステムに使用されます。カーネルが名前を取得せず、none
を使用する場合もあります。
実際のデバイスに保存されているファイルシステムをマウントする場合、デバイス名は非常に重要です。これは、そのファイルシステムがどこにあるかを示します。 “ virtual” filesystems の場合、デバイス名はしばしば無関係であり、単一の可能なバッキング(たとえば、proc
、sysfs
、binfmt_misc
)またはそれぞれがあります。ファイルシステムはバッキング(tmpfs
)から独立しているか、マウントオプションは基になるデータがどこにあるかを示します(ほとんど Fuse ファイルシステム)。
rootfs
についてはよくわかりませんが、 proc
はプロセスの「遊び場」です。これは仮想ファイルシステムであるため、/dev
には表示されませんが(私は思いません)、マウントすることはできます。
/dev
の実際のデバイスは、最初の列に絶対パスとともに表示されます(/dev/sda1
の場合と同様)。