【 rmmod 】コマンド――カーネルモジュールをアンロードする:Linux基本コマンドTips(272)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、カーネルモジュールをアンロードする「rmmod」コマンドです。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、カーネルモジュールをアンロードする「rmmod」コマンドです。
rmmodコマンドとは?
「rmmod」はカーネルモジュール(モジュール)をアンロードするコマンドです。
Linuxカーネルの機能の一部を、カーネル本体とは別にロード、アンロードできるように分離したバイナリファイルをモジュールと呼びます。多くの場合、ハードウェアにアクセスし、操作するためのドライバ部分がモジュールとなっています。
ドライバ自体をカーネルに組み込む古い方式では、ハードウェア構成を変更した場合に、カーネルの再構築が必要になります。現在では、ほとんどのデバイスドライバがモジュールとして提供されているため、ハードウェア構成変更後は、必要なモジュールをロードしてカーネルに組み込むだけで対応できるようになっています。
なお、コマンドラインでモジュールをアンロードする際は、rmmodコマンドよりも、「modprobe」コマンド(連載第269回)を使う方がよいでしょう。「modprobe」コマンドの「-r」オプションでモジュールをアンロードできます。
rmmodコマンドの書式
rmmod [オプション] モジュールファイル名
※[ ]は省略可能な引数を示しています。
rmmodの主なオプション
短いオプション | 長いオプション | 意味 |
---|---|---|
-f | --force | 使用中のモジュールも強制的にアンロードする(※1) |
-w | --wait | モジュールが使用中の場合は終了するまで待つ(※2) |
-s | --syslog | エラーを標準エラー(stderr)ではなくsyslogに出力する |
-v | --verbose | 詳しいメッセージを表示する |
※1 使用中のモジュールを強制的にアンロードすると、システムのクラッシュを招くことがある。
※2 Ubuntu 18.04.1 LTSに含まれるrmmodコマンドでは「-w」を利用できない。
モジュールをアンロードする
「rmmod モジュールファイル名」でモジュールをアンロードします。問題なくアンロードできた場合、メッセージを表示しません(画面1)。
使用中のモジュールや、他のモジュールが依存しているモジュールをアンロードしようとした場合は、エラーメッセージを表示します(画面2)。
コマンド実行例
rmmod モジュールファイル名
(モジュールをアンロードする)
依存するモジュールがある場合
モジュールをアンロードする際に「modprobe」コマンドを使うと、アンロードした結果不要になる別のモジュールも、同時に自動でアンロードします。
「rmmod」コマンドでは違います。指定されたモジュールをアンロードするだけで、被依存モジュールについては何も行いません。
例を挙げてみましょう。vfatモジュールはfatモジュールに依存しており、fatモジュールはvfatモジュール以外からは依存されていません(vfatモジュールはfatモジュールを利用し、fatモジュールを利用しているモジュールはvfatモジュールのみ)。
ここで「rmmod vfat」を実行した場合、アンロードされるのはvfatモジュールのみで、fatモジュールを別途「rmmod fat」でアンロードする必要があります(画面3)。
「modprobe -r vfat」を実行した場合は、vfatモジュールと同時にfatモジュールもアンロードされます(画面4)(※3)。
※3 「modprobe -rv モジュール名」のように、「-v」オプションを併用すると、実行内容を表示するため、どのモジュールをアンロードするのか確認できる。
画面3と画面4では、モジュールをアンロードする前後に、lsmodコマンドで現在ロードされているモジュールを確認しています。
lsmodコマンドは、現在ロードされているモジュールを一覧表示します。その際、どのモジュールから依存されているかも併せて表示します。ここでは、grepコマンドを使って「fat」という文字列で出力結果を絞り込みました。
なお、rmmodコマンド、modprobeコマンドともに、他のモジュールから依存されているモジュールをアンロードすることはできません(「-f」オプションを除く)。
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.