32.6. エラーの解析

32.6.1. ログファイル

特に指定がない限り、hotplugは少数の重要なメッセージをsyslogに送信します。詳細情報を取得するには、/etc/sysconfig/hotplugファイル内で変数HOTPLUG_DEBUGyesに設定します。この変数をmaxという値に設定した場合、あらゆるホットプラグスクリプトに関して、すべてのシェルコマンドがログに記録されます。これは、syslogによるすべてのメッセージの格納先となる/var/log/messagesが非常に大きくなることを意味します。しかし、hotplugcoldplugが終了した後、ブートプロセスの最中にsyslogが起動されるため、最初のメッセージはログに記録されない場合があります。それらのメッセージが重要な場合、HOTPLUG_SYSLOG変数を通して他のログファイルを指定します。このトピックに関する情報は、/etc/sysconfig/hotplug内に記載されています。

32.6.2. ブートの問題

コンピュータがブートプロセスの最中にハングする場合、ブートプロンプトでNOHOTPLUG=yesまたはNOCOLDPLUG=yesと入力し、hotplugまたはcoldplugを無効にします。hotplugが無効になると、カーネルはホットプラグイベントを発行しません。稼働中のシステムでは、コマンド/etc/init.d/boot.hotplug startを入力してホットプラグを有効にすることができます。その時点までに生成されたイベントはすべて発行され、処理されます。キューにあるイベントを拒否するには、まず/proc/sys/kernel/hotplug/bin/trueと入力し、後でこのエントリを/sbin/hotplugにリセットします。coldplugが無効になると、スタティックな設定は適用されません。スタティックな設定を適用するには、後で/etc/init.d/boot.coldplug startを入力します。

hotplug によってロードされた特定のモジュールがこの問題に関係しているかどうかを調べるには、ブートプロンプトで HOTPLUG_TRACE=<N> と入力します。読み込むすべてのモジュールの名前が画面に表示され、N秒後に実際に読み込まれます。この動作の進行中は、介入(操作)ができません。

32.6.3. イベントレコーダ

udevルールにより、イベントごとにスクリプト/sbin/hotplugeventrecorderが実行されます。/eventsディレクトリが存在している場合、すべてのホットプラグイベントは個別のファイルとしてこのディレクトリ内に格納されます。これにより、テストのためにイベントを再生できます。このディレクトリが存在しなければ、何も記録されません。