ウェブサイト検索

Linuxのカーネルモジュールの情報を確認する


Linuxシステムが起動するたびに、システムによって読み込まれるカーネルモジュールがいくつかあり、ファイルシステム、新しいハードウェア、その他の多くのものに対する追加のサポートが提供されます。特定のカーネルモジュールに関する情報を取得することは、重要なトラブルシューティングスキルである可能性があります。このチュートリアルでは、modinfoコマンドとそのさまざまなオプションを使用して、説明、依存関係、著者、または関連するオブジェクトファイル名などのモジュール情報を取得する方法を説明します。

このチュートリアルでは、あなたは学びます:

  • 現在ロードされているLinuxカーネルを確認する方法
  • 現在ロードされているカーネルモジュールを確認する方法
  • ロードされたカーネルモジュールの詳細情報を表示する方法

modinfoコマンドを使用してカーネルモジュール情報を確認する方法

ロード可能なカーネルモジュールは、デフォルトで/lib/modulesディレクトリ内にインストールされます。各特定のカーネル用に、その特定のカーネルで使用されるモジュールを格納するための個別のディレクトリが作成されます。


ls /lib/modules/
5.15.0-25-generic  5.15.0-30-generic

テストシステムの出力から、この特定のシステムには2つのカーネルがインストールされていることがわかります。Linuxシステムでは、エラーが発生した場合に古いバージョンに戻るために、追加のカーネルが1つまたは2つ残っているのが一般的です。しかし、同時に実行できるカーネルは1つだけであることを忘れないでください。

現在使用中のカーネルをunameコマンドで確認できます。


uname -a
Linux linuxconfig 5.15.0-30-generic #31-Ubuntu SMP Thu May 5 10:00:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

上記の uname コマンドの出力は、5.15.0-30-generic が現在のシステムの実行中カーネルであり、したがって /lib/modules/5.15.0-30-generic/ ディレクトリから読み込まれたモジュールが使用されていることを示しています。現在読み込まれているすべてのカーネルモジュールをリストするには、lsmod コマンドを使用できます:


lsmod

modinfo を使って読み込まれたモジュールの情報を表示する

さて、現在ロードされているカーネルモジュールの情報を確認するためにmodinfoコマンドを使用します。以下のいくつかの例を確認し、それぞれのコマンドオプションが何をするかをメモしてください。

  1. まず、-dオプションを使って特定のモジュールの一般的な説明を取得しましょう:

    
    modinfo -d psmouse
    PS/2 mouse driver
    
  2. 次に、この特定のモジュールの実際のオブジェクトファイルの場所を -n オプションで見てみましょう:

    
    modinfo -n psmouse
    /lib/modules/5.15.0-30-generic/kernel/drivers/input/mouse/psmouse.ko
    
  3. インストールされているLinuxカーネルの任意のオブジェクトファイルの場所を確認するには、-kスイッチを使用してカーネル名を指定します。

    
    modinfo -k 5.15.0-30-generic -n psmouse
    /lib/modules/5.15.0-30-generic/kernel/drivers/input/mouse/psmouse.ko
    
  4. モジュールの著者に関する情報を取得するには、-aオプションを使用してください。

    
    modinfo -a psmouse
    Vojtech Pavlik
    
  5. 最後に、モジュールの依存関係情報を見つけるために、-Fスイッチを使用できます:

    
    modinfo -F depends ppdev
    parport
    

    出力に何も返されない場合、そのモジュールには依存関係がないことに注意してください。

締めくくりの考え

このチュートリアルでは、Linuxシステム上でカーネルモジュールに関する情報を確認する方法を見ました。モジュールはLinuxシステムの機能を拡張し、ハードウェアおよびソフトウェアの追加サポートを提供するため、システム管理者がそれらのトラブルシューティングの基礎を知ることは重要です。読み込まれたカーネルモジュールに関する情報を確認する方法を知ったので、Linux上でカーネルモジュールを読み込んだりアンロードしたりする方法を学ぶために、モジュール管理のための基本的なLinuxカーネルコマンドに関する別のチュートリアルをチェックしてみてください。

関連記事: