中文 UPS Howto: 請注意已過時的資訊

Next Previous Contents

## 2. 請注意已過時的資訊

我剛剛發現底下有一些資料已經過時了。其中來自 the latest sysvinit package 的 `init` daemon 比起我所能描述的還要簡陋。 儘管看起來目前的版本與該程式完成時的版本相容，但當中仍然有一些對 UPS 相當重要 的支援沒有文件說明。

底下所簡述的控制機制只能讓 `powerd` 送給 `init` `powerfail` 或 `powerok` 這兩個訊息之一而已。`init` 接到 `powerfail` 訊息時執行一個命令，而當它接到 `powerok` 時則執行另一個命令。 這將導至 `powerd` 在處理低電力訊號及其他特殊狀況時產生邏輯上的複雜性。

較新版本的 `init` (像是 2.58 版) 就比較精良了。 它可以在接到訊號時選擇 `三個` script 中之一來執行。如此一來， `init` 可以在接到電源斷電訊號時執行 `powerfail` script ，可以執行一個 `powerfailnow` script 做立即的關機 ，以及一個 `powerok` script 來停止任何正在進行的關機動作。這樣比起要我們自行處理這些機制要簡單多了。

儘管這裏大部分的討論仍假設使用舊的 `init` 通訊方式， 我已加入了兩個新的章節來描述新的連線方法。這兩個章節是 <@ref>ciroTrust Energy Protector 400/650 及 <@ref>ciroTrust Energy Protector 400/650<@ref>apc700APC Smart-UPS 700。其中前者特別詳細。二者都包含了一個 `powerd.c` 檔， 它可以在收到低電力訊號時送訊號給 `init` 以進行緊急關機， 就像是 `/etc/inittab` 檔中那幾行所寫的一樣。其餘的， 我所能告訴您的就只有請您看看 `init` 的原始碼了。

就我所知的，在以下所列的 UPS 軟體套件中有許多也採用了新式的連線方式。

Next Previous Contents