utte

modprobe カーネルモジュールを依存関係ごと読み込み、取り外す

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

試してみる

主なオプション

-rモジュールを取り外す(依存して読み込まれたものも、不要なら外す)
-n実際には何もせず、実行する内容だけを表示する
-v何をしているかを詳しく表示する
-c現在の設定を表示する
-l利用できるモジュールの一覧を表示する

解説

依存関係も面倒を見る

モジュールには、ほかのモジュールを先に読み込まなければ動かないものがあります。modprobe は、modules.dep という依存関係の情報を見て、必要なモジュールを順番に読み込みます。似たコマンドの insmod は、指定したファイルを1つ読み込むだけで、依存は解決しません。取り外しも同様で、rmmod は1つだけ、modprobe -r は不要になった依存モジュールも外します。

モジュールの場所と設定

モジュールのファイルは /lib/modules/カーネルのバージョン/ にあります。名前の .ko を除いたものを modprobe に渡します(ファイル名やパスは不要)。起動時の読み込みや、モジュールのオプションの設定、読み込みの禁止は、/etc/modprobe.d/ の設定ファイルで行います。

設定ファイルの書き方 意味
options モジュール 設定 読み込むときのオプションを与える
blacklist モジュール 自動の読み込みをしない
alias 別名 モジュール 別名をつける

関連する情報

lsmod で読み込み状況を、modinfo で詳細を確認できます。/etc/modules(Debian系)や /etc/modules-load.d/ に名前を書くと、起動時に読み込めます。

権限と PATH

読み込みや取り外しは root の権限が必要です。modprobe は /sbin にあり、一般ユーザーの PATH にはない場合があります。sudo modprobe なら見つかります。

このコマンドを使う問題

  1. modprobeでカーネルモジュールを読み込む

関連するコマンド

LinuC 101の出題範囲