/lib/module/$(uname -r) と /sys/module の違い

/lib/module/$(uname -r) と /sys/module の違い

質問が簡単すぎた場合はお詫び申し上げます。ところで、LinuxシステムモジュールとLinuxカーネルモジュールの間に違いがあるかどうか尋ねたいと思います。違いがある場合、どちらもどこにありますか? /lib/module/$(uname -r) はカーネルモジュールを表示し、 /sys/module/ はシステムモジュールを表示しますか?

ベストアンサー1

/lib/module/$(uname -r)ディスクのディレクトリです。これにはファイルが含まれており、そのほとんど(*.ko)はモジュールファイルです。つまり、カーネルモジュールコードを含むファイルです。原則として、このディレクトリ(およびサブディレクトリ)のファイルには、実行中のカーネルにロードできるモジュールが含まれています。

/sys/moduleカーネルの内部構造を公開する仮想ファイルシステムのディレクトリ。このディレクトリのファイルにアクセスすると、ディスク階層に入らず、一部の内部カーネルデータ構造のみを表示するカーネルの関数が呼び出されます。の各エントリは/sys/module実行中のカーネルのコンポーネントに対応し、コードはメモリにロードされアクティブになります。これには、ロードされたすべてのモジュールだけでなく、モジュールにロードできますが、カーネルがコンパイルされたときにカーネルに直接ビルドされるコンポーネントも含まれます。

/lib/module/$(uname -r)アイテムに対応しないファイルを含めるのが/sys/module一般的です。これは、コンピュータにない一部のハードウェア(またはカーネルによって管理されている他のもの)のドライバです。コンポーネントがカーネルにビルドされると、そのファイルなしでエントリが/sys/module表示されます(/lib/module/$(uname -r)これはこれを通知する方法)、またはモジュールが別の場所にあるファイルから手動でロードされた(または現在削除されている)かどうか。

システムがルートファイルシステムを別の場所(ネットワークやRAMディスクなど)に保存している場合、ディスク以外の場所にはほとんど保存されません。

おすすめ記事