25.4. モジュールのアンロード

カーネルモジュールをアンロードするには、root として modprobe -r <module_name> を実行します。例えば、カーネルに wacom モジュールがすでにロードされていると仮定した場合、そのモジュールをアンロードするには以下を実行します:
~]# modprobe -r wacom
ただし、プロセスが以下のいずれかを使用している場合は、このコマンドは失敗します。
  • wacom モジュール
  • wacom が直接依存するモジュール
  • 依存関係ツリーにより wacom が直接依存するすべてのモジュール
特定のモジュールをアンロードできないようにしているモジュール名を取得するための、lsmod の使用に関する詳細は、「現在ロード済みモジュールの一覧表示」 を参照して下さい。
例として、firewire_ohci モジュールをアンロードしたい場合 (例えば、システムの安定性に影響を与えるバグがあると考えている場合) は、ターミナルセッションは以下のようになります:
~]# modinfo -F depends firewire_ohci
depends:        firewire-core
~]# modinfo -F depends firewire_core
depends:        crc-itu-t
~]# modinfo -F depends crc-itu-t
depends:
これで、ロードされた Firewire モジュールに対する依存関係ツリーが明確になりました (この例では分岐していません)。firewire_ohcifirewire_core に依存しており、firewire_corecrc-itu-t に依存しています。
firewire_ohci をアンロードするには、modprobe -v -r <module_name> コマンドを使用します。-r--remove を、-v--verbose をそれぞれ省略したものです。
~]# modprobe -r -v firewire_ohci
rmmod /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/firewire/firewire-ohci.ko
rmmod /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/firewire/firewire-core.ko
rmmod /lib/modules/2.6.32-71.el6.x86_64/kernel/lib/crc-itu-t.ko
アンロードされるモジュールに依存するプロセスがない場合、モジュールはロードされた時と逆の順番でアンロードされることをこの出力は示しています。

重要

rmmod コマンドを使用してカーネルモジュールをアンロードすることはできますが、その代わりに modprobe -r を使用することが推奨されます。