連載
» 2018年12月21日 05時00分 公開

Linux基本コマンドTips(268):【 modinfo 】コマンド――カーネルモジュールの情報を表示する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、カーネルモジュールの情報を表示する「modinfo」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、カーネルモジュールの情報を表示する「modinfo」コマンドです。

modinfoコマンドとは?

 「modinfo」は「カーネルモジュール」の情報を表示するコマンドです。

 Linuxカーネルの機能の一部を、サイズの小さいカーネル本体とは別にロード、アンロードできるように分離したバイナリファイルをカーネルモジュールと呼びます。多くの場合、ハードウェアにアクセスし、操作するためのドライバ部分がカーネルモジュールとなっています。

 ドライバ自体をカーネルに組み込む古い方式では、ハードウェア構成を変更した場合に、カーネルの再構築が必要になります。現在では、ほとんどのドライバがモジュールとして提供されているため、ハードウェア構成変更後は、必要なカーネルモジュールをロードしてカーネルに組み込むだけで対応できるようになっています。



modinfoコマンドの書式

modinfo [オプション] カーネルモジュール名……

※[ ]は省略可能な引数を示しています。





modinfoの主なオプション

短いオプション 長いオプション 意味
-F 項目 --field=項目 指定した項目(filenameなど)のみを表示する
-a --author 「author」のみを表示する
-d --description 「description」のみを表示する
-l --license 「license」のみを表示する
-p --parameters 「parm」のみを表示する
-n --filename 「filename」のみを表示する
-0 --null 出力を改行(\n)ではなくNUL(\0)で区切る
-k バージョン --set-version=バージョン カーネルのバージョンを指定する(デフォルトは「uname -r」の内容)
-b ディレクトリ --basedir=ディレクトリ カーネルモジュールのディレクトリを指定する(デフォルトは「/lib/modules」)


カーネルモジュールの情報を表示する

 「modinfo カーネルモジュール名」で、指定したカーネルモジュールの情報を表示します(画面1)。カーネルモジュール名をスペースで区切り、複数指定できます。

 modinfoコマンドを使うと、現在カーネルに読み込まれていないカーネルモジュールの情報も表示できます。現在利用しているものとは異なるバージョンのカーネルで利用するカーネルモジュールの情報を表示したい場合は、「-k」オプションを指定します(後述)。

 なお、現在読み込まれているカーネルモジュールを一覧表示したい場合は「lsmod」コマンド(連載第267回)を使用します。また、カーネルモジュールをロード、アンロードしたい場合は「modprobe」コマンド(第269回)を使用します。

コマンド実行例

modinfo カーネルモジュール名

(カーネルモジュールの情報を表示する)


画面1 画面1 カーネルモジュールの情報を表示したところ 「filename:」の右側にはカーネルモジュールが保存されているディレクトリ(ファイル名)が表示されている


表示する項目を指定する

 画面1では「項目: 内容」という行が複数表示されていました。このうち、特定の項目だけを表示したい場合は、「-F」オプションを使い、「modinfo -F filename」のように指定します(画面2)。画面2では「filename:」の内容部分だけを表示しています(※1)。なお、カーネルモジュールによっては特定の項目がない場合もあります。

※1 filename(ファイル名)、author(開発者)、description(概要)、license(GPLなどのライセンス)、parm(パラメーター)については短縮オプションがある(オプション一覧を参照)。



コマンド実行例

modinfo -F filename モジュール名

(ファイル名だけを表示する)

modinfo -F description モジュール名

(概要(description)だけを表示する)


画面2 画面2 項目を指定してカーネルモジュールの情報を表示したところ


カーネルのバージョンを指定する

 「-k」オプションで、カーネルのバージョンを指定できます(画面3)(※2)。システムにインストールされているカーネルのバージョンは、例えば「/lib/modules」にあるディレクトリで確認できます(※3)。

※2 カーネルモジュールは、カーネルのバージョンに強く依存している。カーネルバージョンA用のカーネルモジュールは、バージョンBでは利用できない。
※3 現在有効になっているカーネルのバージョンを表示するには、「uname -r」を使う。



コマンド実行例

modinfo -k バージョン カーネルモジュール名

(カーネルのバージョンを指定して、カーネルモジュールの情報を表示する)

modinfo -k バージョン -F version カーネルモジュール名

(カーネルのバージョンを指定して、カーネルモジュールのバージョンを表示する)


画面3 画面3 カーネルのバージョンを指定して、カーネルモジュールのバージョンを表示したところ 現在のカーネル用のBluetoothモジュールはバージョンが2.22。古いカーネル用にバージョン2.16も存在する


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。