Linuxカーネルモジュールの管理について

11月 8, 2009

LPIC レベル2受験に向けた勉強を、いきなり始めた。

でも参考書を読んでノートにとって、、、なんてやっていても眠くなってしまう
だけなので、例によって勝手にこの場でアウトプットしていきます。
(99%・・・、100%自分のため)

主な出典は、翔泳社のLinux教科書LPICレベル2。これに他の情報ソースやコマンド実行結果
など含めてまとめてみようかと。
そんなわけで、あとでちょくちょく追加・変更するかも。

まずはカーネルモジュールの管理、あたりから。(第1章 Linuxカーネル)
以前の記事との重複も若干あるのだが、lsmodだのmodprobeだの、ややこしいので今一度
ざっくりまとめておく。

lsmod
現在ロードされているすべてのモジュールを一覧表示。
出力結果の内容は、左から

モジュール名、サイズ、参照回数、そのモジュールを利用しているモジュール名


また、# cat /proc/modulesでもモジュールの情報を確認できる。

modinfo
モジュールの情報を表示。オプションを省略するとすべての情報を出力する。
ファイル名、ライセンス、作者、依存関係など。

modprobe
依存関係を自動的に判断してモジュールをロード/アンロードする。
insmod、rmmodはそれぞれモジュールをロード/アンロードするコマンドではあるが、
依存関係を考慮しないため、最近はmodprobeを使用するのが一般的と思われる。

書式
modprobe [オプション] モジュール名

主なオプション
-c  現在使用されている設定を表示
-r  モジュールをアンロードする
-l  指定したパターンにマッチするロード可能なモジュールを一覧表示
-t  特定機能のモジュールのみ扱う
- -show-depends  モジュールの依存関係を表示
※modinfoのdepends: 欄にも簡易な情報が表示される


depmod
モジュールの依存関係情報を更新する。modules.depファイルを作成する。
それと関連ディレクトリやファイルについてメモ。

/lib/modules/カーネルバージョン
カーネルモジュールが配置されるディレクトリ。
modporbeが依存関係を参照するmodules.depも上記ディレクトリ内にある。
※modules.depの中身を見てみると、もちろん特定のルールに従って記述されているのだが、
見づらくて何が何だか分かりません。

/etc/modprobe.conf
モジュールのロード/アンロードの際に特定のオプションやパラメータを記述する。
(/etc/modprobe.dディレクトリ以下のファイルで設定することもあるらしい。
/etc/modprobe.d/modprobe.conf.distのこと?)

記述方法
alias モジュールのエイリアス名を記述
options モジュールのオプションを記述
install 指定したコマンドを実行
remove modprobe -rが実行された時に指定したコマンドを実行する


モジュールのエイリアス名を指定するには「alias エイリアス名 モジュール名」となる。
順番に注意。また、オプションを指定するには「options モジュール名 オプションを記述」
となる。
modprob.confについては過去にも記事を書いている。
↓ ↓ ↓
Linux Bonding : modprobe.confの編集

それから自分はよく知らないのだが、必要な時に必要なモジュールを自動的にロードする
kmodという仕組みがあるそうだ。

LPIC記事一覧
↓ ↓ ↓
LPIC-index

Linux記事一覧はこちらをどうぞ
↓ ↓ ↓
Linux-index

Posted by Le Blue | Categories: LPIC |

No Responses so far | Have Your Say!

Comments are closed.