32.6. 錯誤分析

32.6.1. 日誌檔

除非另有指定,hotplug 只會傳送一些重要訊息至 syslog。若要取得詳細資訊,請將檔案 /etc/sysconfig/hotplug 中的變數 HOTPLUG_DEBUG,設定成 yes。如果將此變數設定成值 max,會為所有熱插拔程序檔,記錄每一個外圍程序指令。這表示在 /var/log/messages 中,用來儲存所有訊息的 syslog 會變得相當大。因為在開機程序中,直到啟動 hotplugcoldplug 之後,才會啟動 syslog ,因此不會記錄第一個訊息。如果這些訊息對於您很重要,請透過變數 HOTPLUG_SYSLOG 指定其他日誌檔。如需關於此主題的資訊,請參閱 /etc/sysconfig/hotplug

32.6.2. 開機問題

如果在開機程序期間電腦當機,在開機提示輸入 NOHOTPLUG=yesNOCOLDPLUG=yes,可以關閉 hotplugcoldplug。因為熱插拔停用的緣故,核心不會發出任何熱插拔事件。在執行中的系統,您可以輸入指令 /etc/init.d/boot.hotplugstart,啟動熱插拔。所有在該時間產生的事件,會發出並予以處理。若要拒絕排入佇列的事件,可以先在 /proc/sys/kernel/hotplug 中輸入 /bin/true ,以後再將項目重設成 /sbin/hotplug。因為停用冷插拔之故,所以不會套用靜態組態。要套用靜態組態,您可以稍後輸入 /etc/init.d/boot.coldplug start

要查明 hotplug 載入的特殊模組是否發生問題,請在啟動提示輸入 HOTPLUG_TRACE=<N>。所有要載入的模組名稱,在實際載入的 N 秒後,會列示在螢幕上。進行此作業時,您無法介入。

32.6.3. 事件記錄器

udev 規則會針對每個事件執行 /sbin/hotplugeventrecorder 程序檔。如果 /events 目錄存在,所有的熱插拔的事件都會在此目錄中儲存成個別檔案。因此,可以針對測試用途來重新產生事件。如果此目錄不存在,不會記錄任何資料。