Linux関連のモジュール操作
lsmod注文:小さなプログラムです,ファイルの表示に使用、proc / modules情報,つまり、現在のカーネルモジュールによってロードされたモジュールを表示します。
lsmodを実行します(モジュールのリスト)命令,システムにロードされたすべてのモジュールを一覧表示します。Linuxオペレーティングシステムのコアはモジュール式です,
したがって、コアをコンパイルするとき,必ずすべての機能をコアに入れてください。これらの関数を個々のモジュールにコンパイルできます,必要になる
個別にロード。
lsmod注文現在のカーネルによってロードされたモジュールとドライバーを表示します。次の動作例:
scsi_mod 130637 6 qla2xxx,scsi_transport_fc,mptspi, mptscsih, scsi_transport_spi,sd_mod
列1:モジュールの名前を示します,scsi_modなどはscsiモジュールを意味します。
列2:モジュールのサイズを示します,たとえば、130637は、scsi_modモジュールのサイズが130637バイトであることを意味します。。
列3:モジュールに依存する番号を示します,たとえば、6は、scsi_modモジュールに依存するモジュールが6つあることを意味します。。
列4:依存モジュールの内容を示します,たとえば、qla2xxxはQlogic FCHBA光ファイバーHBAカードモジュールを意味します。
通常、lsmodコマンドを使用する場合,同様のlsmodを使用します|grep 特定のモジュールが現在のシステムにロードされているかどうかを照会するext4などのコマンド。
通常、grepを使用して、指定したモジュールがロードされているかどうかを確認します,ロードされていない場合,まず、モジュールがインストールされているかどうかを確認します,インストール後に利用可能
ロードするmodprobe
[root @ localhost〜]# lsmod | grep ext4
ext4 37868 3 3
jbd2 93252 1 ext4
mbcache 8193 1 ext4
lsmodを介して現在ロードされているモジュールを表示する,modprobeを実行してモジュールをロードすることもできます,ロードされたモジュールをアンロードするrmmod。
カーネルモジュールの操作に関連するコマンドも:lsmod modinfo depmod rmmod inmod modprobe
depmod
特徴:ロード可能なモジュールの依存関係を分析する,modules.depファイルとマッピングファイルを生成します。
利用方法:depmod [-bbasedir] [-e] [-F System.map] [-n] [-v] [バージョン] [-A]
depmod [-e] [-F System.map] [-n] [-v] [バージョン] [ファイル名…]
説明:
Linuxカーネルモジュールは他のモジュールにサービスを提供できます(コードでEXPORT_SYMBOLを使用する),このサービス
として知られている”シンボル”。2番目のモジュールがこの記号を使用する場合,その場合、モジュールは明らかに最初のモジュールに依存します。
これらの依存関係は非常に複雑です。
depmodは、/ lib / modules/versionディレクトリ内のすべてのモジュールを読み取ります,各モジュールによってエクスポートされたシンボルと必要なシンボルを確認します,
次に、依存関係のリストを作成します。デフォルト,リストは/lib/ moudules/versionディレクトリのmodules.depファイルに書き込まれます。
コマンドでファイル名が指定されている場合,次に、指定されたモジュールのみがチェックされます(あまり役に立たない)。
コマンドでバージョンパラメータが指定されている場合,バージョンで指定されたディレクトリを使用して依存関係を生成します,
現在のカーネルバージョンの代わりに(uname-rによって返される)。
オプション:
-bbasedir –モジュールが/lib/ mdules/versionの下に正しくない場合はbasedirbasedir,依存関係を生成するディレクトリを指定できます。
-e –errsymsは-Fオプションとともに使用されます,モジュールに必要な記号が他のモジュールに提供されていない場合,レポートを作成する。
通常の状態で,モジュールによって提供されないシンボルは、カーネルで提供されます。
-F –filesymsSystem.mapはSystem.mapファイルを提供します(カーネルのコンパイル時に生成されます)Xu-eオプションはそれを報告します
未解決のシンボル。
-n –dry_runは、結果のmodules.depとさまざまなマップファイルを標準出力に出力します(stdout),モジュールディレクトリに書き込む代わりに。
-A –modues.depのモジュールよりも新しいモジュールがあるかどうかをすばやく確認します,そうでない場合,その後、ファイルを再生成せずに終了します。
modprob
特徴:Linuxカーネルはモジュールを追加および削除します
利用方法:
modprobe [ -v ] [ -V ] [-C構成ファイル] [ -n ] [ -私 ] [ -q ] [ -oモジュール名] [ モジュール名 ]
[ モジュールパラメータ … ]
modprobe [ -r ] [ -v ] [ -n ] [ -私 ] [ モジュール名 … ]
modprobe [ -l ] [ -t dirname ] [ ワイルドカード ]
modprobe [ -c ]
説明:
modprobeは、Linuxカーネルモジュールをインテリジェントに追加および削除します(簡潔にするために,モジュール名の「_」と「-」は同じです)。
modprobeは、モジュールディレクトリ/ lib / modules/'uname-r'にあるすべてのモジュールとファイルを調べます。,オプションを除く
/etc/modprobe.conf構成ファイルおよび/etc/modprobe.dディレクトリの外部。modprobeには最新のものが必要です
modules.depファイル,depmodで生成できます。このファイルには、各モジュールに必要な他のモジュールがリストされています,
modprobeはこれを使用して、モジュールの依存関係を自動的に追加または削除します。
オプション:
-v –verboseは、プログラムが実行していることを示します,通常、何かがうまくいかないとき,modprobeは情報のみを表示します。
-C –設定の再読み込み(^ _ ^,それはC++の過負荷を取ることを意味します)デフォルトの構成ファイル(/etc/modprobe.confまたは/etc/modprobe.d)。
-c –showconfig出力構成ファイルと終了
-n –ドライランは-vオプションで使用できます,デバッグに非常に便利
-私 –無視-インストール –ignore-removeこのオプションは、modprobeに構成ファイルを無視させます,コマンドラインで入力されたインストール
および削除コマンド。
-q –モジュールを取り外したり挿入したりするときは、通常modprobeを静かにします,見つからない場合は、エラーが表示されます。このオプションを使用する,指定されたモジュールを無視します,
エラーメッセージはありません。
-r –removeこのオプションにより、modprobeが削除されます,モジュールを挿入する代わりに。通常、カーネルモジュールを削除する理由はありません,
バグのあるモジュールでない限り。カーネルは必ずしもモジュールのアンロードもサポートしていません。
-V –バージョンバージョン情報
-f –力と両方–force-vermagic ,–force-modversionと同じ。このオプションを使用するとより危険です。
-l –リストすべてのモジュールをリスト
-A –allは、コマンドラインにすべてのモジュールを挿入します
-t –タイプは-lにdirnameのモジュールを表示するように強制します
-s –syslogエラーメッセージはsyslogに書き込まれます
modinfo
特徴:カーネルモジュールに関する情報を表示する
利用方法:
modinfo [ -0 ] [ -Fフィールド] [モジュール名 | ファイル名 … ]
modinfo -V
modinfo -h
説明:
modinfoは、Linuxカーネルのコマンドラインで指定されたモジュールに関する情報を一覧表示します。モジュール名がファイル名でない場合,/ lib / modules/versionにあります
ディレクトリを検索する,modprobeのように。
デフォルトではmodinfo,読みやすくするため,モジュールの各プロパティを次の形式で一覧表示します:フィールド名 : 価値。
オプション:
-V –バージョンバージョン
-F –fieldは、フィールド値を1行にのみ表示します,これはスクリプトに役立ちます。一般的に使用されるフィールドは:著者, 説明, ライセンス, パラメータ,
依存します, エイリアス, ファイル名。
-0 –NULLは、「/0」文字を使用してフィールド値を区切ります,改行の代わりに。スクリプトに便利。
-a -d -l-p-nこれらはそれぞれ著者です, 説明, ライセンス, パラメータ ,ファイル名の短縮形。
insmod
特徴:Linuxカーネルにモジュールを挿入します
利用方法:insmod [ファイル名] [modueオプション …]
説明:
insmodは、モジュールをカーネルに挿入する小さなプログラムです。:ファイル名がハイフンの場合'-',モジュールは標準入力から入力を受け取ります。
ほとんどのユーザーはmodprobeを使用します,よりインテリジェントだから。
rmmod
特徴:カーネルからモジュールを削除します
利用方法:rmmod [ -f ] [ -w ] [ -s ] [ -v ] [ モジュール名 ]
説明:
rmmodは、カーネルからモジュールを削除できる小さなプログラムです。,ほとんどのユーザーはmodprobe-rを使用してモジュールを削除します。
オプション:
-v –verboseは、プログラムが実行していることを示します,通常、実行中にのみエラーメッセージを表示します。
-f –forceこのオプションは非常に危険です:カーネルをコンパイルする場合を除いて,CONFIG_MODULE_FORCE_UNLOAD
このコマンドは、設定されている場合にのみ有効です。,それ以外の場合は機能しません。このオプションを使用して、使用中のモジュールを削除します,しないように設計されています
削除されたモジュール,または安全でないとマークされたモジュール。
-w –通常待つ,rmmodは、使用中のモジュールの削除を拒否します。
このオプションを使用した後,指定されたモジュールは孤立します,未使用になるまで。
-s –syslogはエラーメッセージをsyslogに書き込みます,標準エラーの代わりに(stderr)。
-V –バージョンバージョン情報