Linuxカーネルモジュールの管理について
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