追加読書

追加読書

/etc/mtabLinuxには何がありますか?

なぜ必要なのか、それを持っているとどんな利点がありますか?

ベストアンサー1

%ファイル/etc/mtab
/etc/mtab: ../proc/self/mountsへのシンボリックリンク
%ファイル/プロシージャ/マウント
/proc/mounts: self/mounts へのシンボリックリンク
%

/etc/mtabこれは互換性メカニズムです。数十年前、Unixには既存のマウント情報を読み取るためのシステムコールはありませんでした。代わりに、ファイルシステムをマウントするプログラムは、/etc/mtabマウントされた内容と場所を記録するテーブルを協力して自発的に維持する必要があります。

明らかな理由から、これは理想的なメカニズムではありません。

mountsLinux は "procfs" という概念を得ており、そのうちの 1 つは擬似正規ファイルの形でそのテーブルのカーネル保持バージョンでした。カーネルからマウント情報を読み取る「システムコール」は、ファイルのオープン - 読み込み - クローズシーケンスになり、その結果は、人間が読める形式からマシンが読める形式に解析されます。 2週間前のバグレポートで知ることができます。)

/etc/mtabその結果、これは/proc/mountsその名前でハードワイヤードされたプログラムがそのファイルからマウントテーブルを読み続けることを可能にするシンボリックリンクとして人気があり、ファイルシステムをマウントしてアンマウントしたプログラムは最新の状態を維持するつまり、何もする必要はありませんでした。 (しかし、/etc/mtab結果が書き込み可能な通常のファイルである場合、いくつかはまだそうです、そしてmountsカーネル以外のすべてのエントリの正規化情報が不足しているため、必ずしも必要ではありませんが、いくつかの極端なケースもありますが、それは問題ではありません。一般的な問題です/etc/mtab。 )

各プロセスはインストールされたアイテムの別々のビューを持つことができるので、各mountsプロセスはprocfsに別々のファイルを持ち、各プロセスの独自のテーブルにシンボリックリンクを介してselfアクセスできるようになりました。self/mounts/proc/mounts返品今、互換性メカニズムがあります。 (興味深いことに、現在Linux docoにはすべてのプロセスのドキュメントやドキュメントフォーマットはありませんが、mounts同様の類似した正規ファイルがあります。)mountsmountinfo

SunOS/Solarisにも同様のメカニズムがあります。この/etc/mnttabファイルは、実際にテーブルを読み取ることに加えて、read()マウントポイントの変更を監視poll()し、ファイル内の開かれたファイル記述子を介したシステムコールを介してさまざまな追加情報を取得するために使用できる単一のファイルファイルシステムですioctl()

HP-UXでは/etc/mnttabファイル名でもありますが、バージョン11以降はシステムユーティリティでコンテンツを共同で維持する一般的なファイルです。

AIXは、プログラムが構文解析する必要がある人が読めるテキスト表をエクスポートせず、それに対応するファイルはありません。同様に、BSDには、getfsstat()FreeBSDとOpenBSDへの成熟したシステムコールがあります。

追加読書

おすすめ記事