名前
rmmod - ローダブルモジュールをアンロードする
書式
rmmod [ -aehrsvV ] module ...
説明
rmmod は、実行中のカーネルからローダブルモジュールをアンロードする。
rmmod はカーネルからモジュールのセットをアンロードしようとする。アンロードに は制限があり、そのモジュールは使用中であってはならず、また他のモジュール から参照中であってもならない。
コマンドラインで複数のモジュールが指示されている場合、モジュールは 指示された順に削除される。 これにより、スタックしているモジュールのアンロードも行うことが出来る。
オプション -r を与えると、モジュールを再帰的に削除しようとする。 つまり、スタックのトップにいるモジュールがコマンドラインで指定されると、 このモジュールが用いている全てのモジュールを (可能ならば) 削除する。
オプション
-a, --all | |
自動削除を行う: 使っていないモジュールに「削除予定」のタグをつけ、 既にタグのついているモジュールを削除する。 前回の自動削除以降も未使用のままであったモジュールは タグがついたままである。 この 2 パスの手法により、一瞬使われなくなっただけの モジュールが削除されるのを防ぐ。 | |
-e, --persist | |
指定されたモジュールの永続データ(persistent data)を保存する。モジュールのアンロードは行わない。 モジュール名が指定されなかった場合は全てのモジュールの永続データが保存される。 データの保存は、カーネルと modutils の両方が永続データに対応しており、 かつ /proc/ksyms に __insmod_modulename_Ppersistent_filename エントリがある場合にのみ行われる。 | |
-h, --help | |
オプションの一覧を表示して直ちに終了する。 | |
-r, --stacks | |
モジュールのスタックを削除する。 | |
-s, --syslog | |
全ての出力を端末ではなく syslog(3) に対して行う。 | |
-v, --verbose | |
詳細に表示する。 | |
-V, --version | |
modutils のバージョンを表示する。 | |
永続データ
モジュールに永続データ( insmod(8) と modules.conf(5) 参照)がある場合、モジュールをアンロードした時に __insmod _P エントリの ファイル名のファイルに永続データを保存する。 また、任意の時点で rmmod -e を実行することによってモジュールを アンロードすることなく永続データを保存することも出来る。
永続データがファイルに書き込まれるとき、先頭に以下のような 自動生成コメント行が付く。 #% kernel_version timestamp 自動生成コメント行は#%で始まる。 全ての自動生成コメント行は読み込み時に削除されるが、 その他のコメントは保存される。 データがファイルに保存されるとき、既に存在するコメントの順番と位置は保存される。 新しい値はファイルの最後に追加される。 モジュールにない値がファイルに合った場合、それらの値は保存されるが 「この値は使用されていない」旨の自動生成コメントによる警告がその前につく。 これにより、永続データを失ったり、警告メッセージを受け取ったりすることなく カーネルを切り替えることが出来る。
注意: 行の空白以外の最初の文字が#である場合にのみコメントとして扱われる。 空行以外で、#で始まっていない行はモジュールオプションとして 扱われる(一行毎に一つ)。 オプション行は先頭のスペースを取り除き、 残りは全て insmod にオプションとして渡される。
関連項目
insmod(8), lsmod(8), ksyms(8), modprobe(8).
バグ
rmmod [-V | --version] はバージョン情報を 表示して直ちに終了するべきである。 しかしながら、現在はバージョン情報を表示した後、 何もオプションが指定されなかったかのように振舞う。
履歴
モジュール対応を誰が最初に考えたのかは不明である。 Linux 用の最初のバージョンは Bas Laarhoven <bas@vimec.nl> が作成した。 バージョン 0.99.14 は Jon Tombs <jon@gtex02.us.es> が作成した。 Bjorn Ekwall <bj0rn@blox.se> が拡張を行った。 バージョン 2.1.17 への更新は Richard Henderson <rth@tamu.edu> が行った。 バージョン 2.2.2 への更新は Bjorn Ekwall <bj0rn@blox.se> が行った。 modutils 2.3.20 への更新は Keith Owens <kaos@ocs.com.au> が行った。 2.3.22 からの永続データは Keith Owens <kaos@ocs.com.au> が行った。