web-dev-qa-db-ja.com

モジュールは/ sys / moduleの下にすべてロードされたモジュールとしてリストされていますか?

Lsmodの代わりに/sys/moduleのディレクトリリストを使用して、現在ロードされているモジュールのリストを取得できるかどうか疑問に思っています。

それはロードされたモジュールのリストだけですか?それとも/sys/module/*/initstateと組み合わせたのでしょうか?

5
Kyle Brandt

ロードされた各モジュールには、/sys/moduleにエントリがあります。ただし、モジュールとしてロードされない/sys/moduleのエントリを持つカーネルコンポーネントもあります。 canモジュールとしてビルドされる各カーネルコンポーネント¹には、モジュールとしてコンパイルおよびロードされるか、メインカーネルイメージの一部としてコンパイルされるかに関係なく、/sys/moduleにエントリがあります。

lsmodは、ロードされたモジュールのリストを/proc/modulesから取得します。

ロードされたモジュールだけが/sys/moduleディレクトリにinitstateファイルを持っていると思うので、それも使用できます。

¹ これが、ロードされたカーネルの各コンポーネントです。カーネルは、ハードディスク上のファイルにどのモジュールがあるかを認識または認識しません。カーネルは、カーネルイメージと同時にビルドされたモジュールも気にしません。 /proc/config経由で表示される場合がありますが、その情報は何にも使用されません。