追加読書

追加読書

/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への成熟したシステムコールがあります。

追加読書

答え2

によるとman mount

従来、マウントおよびアンマウントプログラムは、/ etc / mtabファイルに現在マウントされているファイルシステムのリストを保持していました。この実際のmtabファイルは引き続きサポートされていますが、現在のLinuxシステムでは/proc/mountsへのシンボリックリンクにすることをお勧めします。ユーザースペースに保持されている一般的なmtabファイルは、名前空間、コンテナと信頼性の高いインターフェースを提供できず、他の高度なLinuxで使用されます。特徴。

インストール中に記録されない/etc/mtab:

-n、--no-mtab

マウントするために/etc/mtabに書き込む必要はありません。たとえば、/ etcが読み取り専用ファイルシステムにある場合は、これが必要です。

詳細はマニュアルページにあります。

答え3

JdeBPの答えはおそらく最も実用的で便利です。以前にどのように使用されたかについてのビューを提供する(やや古い)Linux学習準備ガイドでコンテンツを追加できます。

/etc/mtabとの違いは、カーネルが保存するユーザー空間管理情報/proc/mountsとカーネルが保存する情報であることです。/etc/mtabmount/proc/mounts源泉

関連情報