[最終更新:2008/05/08]

UPS : OMRON BX35XFV を Vine 4.2 で使う

前から使用していた OMRON BX35XFV を Vine 4.2 で使えないか?実験してみた。OMRON の公式ページ(ネットワーク対応自動シャットダウンソフトPA Ver1.12 [Linux版] インストールについて)で動作確認されいているのは、Vine Linux 2.0 と 2.6 のみ。
ダウンロードしたのは、Red Hat Linux 9 用。これが一番現在のシステムに近いのではないかと判断。
$ cd /tmp ←ダウンロードしたディレクトリに移動。
$ unzip redhat9.zip ← 解凍
Archive: redhat9.zip
inflating: powerassistant-1.13-20030627.i386.rpm
$ su
パスワード(P):
# rpm -ivh powerassistant-1.13-20030627.i386.rpm
エラー: 依存性の欠如:
libstdc++-libc6.2-2.so.3 は powerassistant-1.13-20030627.i386 に必要とされています←いきなり、依存性の欠如を指摘される

それなら
# apt-get install libstdc++-libc6.2-2.so.3
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
libstdc++-libc6.2-2.so.3 は以下のパッケージで提供されているバーチャルパッケージです。
libstdc++2_10-compat 2.10.0-0vl4
libstdc++2_10 2.10.0-2vl25
インストールするパッケージを明示的に選択する必要があります。
E: パッケージ libstdc++-libc6.2-2.so.3 は複数で提供されているバーチャルパッケージです。
# apt-get install libstdc++2_10
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
libstdc++2_10
アップグレード: 0 個, 新規インストール: 1 個, 削除: 0 個, 保留: 0 個
407kB のアーカイブを取得する必要があります。
展開後に 1774kB のディスク容量が追加消費されます。
取得:1 http://updates.vinelinux.org 4.2/i386/plus libstdc++2_10 1:2.10.0-2vl25 [407kB]
407kB を 59s 秒で取得しました (6843B/s)
変更を適用しています...
準備中... ########################################### [100%]
1:libstdc++2_10 ########################################### [100%]
完了

よし、準備はそろいました。今度こそ、うまくいってちょうだい。
# rpm -ivh powerassistant-1.13-20030627.i386.rpm
準備中... ########################################### [100%]
ソフトウェア使用許諾契約書について
本ソフトウェアをパソコンへインストールされた場合は、次のソフトウェア使用許諾書(以下本契約)内容にご同意いただけたものと
いたします。
ご同意いただけない場合には、本ソフトウェアをパソコンにインストールしないでください。

[ソフトウェア使用許諾契約書]

オムロン株式会社(以下オムロンといいます)がお客様にソフトウェア商品(以下ソフトウェア)を使用許諾する条件を定めたものです。
必ずソフトウェアをご使用になる前に、以下の事項に注意してお読みください。

1. 本契約にいう「ソフトウェア」とは、本パッケージに含まれるコンピュータ・プログラムおよびそれに関連する技術資料などのすべてを含みます。
ソフトウェアにかかわる著作権その他の知的財産権はオムロンまたはオムロンに使用許諾をしている第三者に帰属し、本契約によりお客様に移転することはありません。
お客様がそれらの権利を侵害した場合、前述のオムロンまたは
--続ける--[スペースキーを押すと続き、'q' で終了。]
オムロンに使用許諾をしている第三者に対する責任は、お客様が負うものとします。

2. オムロンは、お客様が無停電電源装置を管理する目的のみでソフトウェアを使用する非独占権利を承諾します。

3. お客様はソフトウェアのバックアップ目的のためのみにソフトウェアを複製することができます。
  お客様はソフトウェアの改変ならびに逆コンパイル、逆アセンブリ、およびリバースエンジニアリングその他のそれに類する行為を行うことはできません。

4. お客様は、ソフトウェアの内容について本契約期間中およびその終了後も機密として保存し、第三者へ開示しないものとします。

5. ソフトウェアに物理的な欠陥(CD-ROMやフロッピディスクの破損など)があった場合には、お客様が商品を購入した日から90日間に限り、無償で交換いたします。

6. お客様が商品を購入後90日以内にソフトウェアの欠陥を発見し返却した場合、オムロンは無償で交換いたします。

--続ける--[スペースキーを押すと続き、'q' で終了。]
7. 上記のソフトウェアの交換は、オムロンのソフトウェア保証責任のすべてを定めるものであり、オムロンはソフトウェアの欠陥により発生した、お客様の直接的、間接的あるいは波及効果よる損害に対しては一切の責任を負いません。

8. ソフトウェアの改変ならびに逆コンパイル、逆アセンブリ、およびリバースエンジニアリングその他のそれに類する行為により、特許権(実用新案権に基づく権利も含む。以下同じ)または著作権を侵害するものとしてオムロンに使用を許諾している第三者または当該第三者以外からお客様が請求された場合にはオムロンは責任を負いません。

9. オムロンがお客様の損害について責任を負ういかなる場合においても、オムロンの責任はお客様が商品購入代金として支払った金額を超えることはありません。

10. お客様が本契約に違反した場合、オムロンはお客様に通知することによりソフトウェアの使用許諾を終了させることができます。
その場合お客様はソフトウェアおよびそのすべての複製物をオムロンに返却しなければなりません。

前述のライセンス契約のすべての条項に同意しますか?[y/n]y ←ライセンス条項に同意。
1:powerassistant ########################################### [100%]
---------------------------------------------
「PA」はインストールされました。←インストール完了のメッセージ

/usr/lib/powerassistant/upsconfig.shを実行して、
無停電電源装置の環境設定を行って下さい。

Enterキーを押して下さい。
---------------------------------------------

# /usr/lib/powerassistant/upsconfig.sh ←
環境設定に移ろうとする。が!
-----------------------------------------------------------
PA for Linux Configuration
-----------------------------------------------------------


The PA is Running
setup the configuration first ,then run PA
so, you must stop the PA now

[無停電電源装置監視を停止するコマンド]
/usr/lib/powerassistant/agentmanage -s

After you stopped the PA, you can setup the config parameters

[環境設定を起動する方法]
/usr/lib/powerassistant/upsconfig.sh
--------------------------------------------------------------------
#/usr/lib/powerassistant/agentmanage -s ← PA が動作しているからダメ。それなら停止してみよう。 -----------------------------------------------------------
PA for Linux Configuration
-----------------------------------------------------------


The PA is Running
setup the configuration first ,then run PA
so, you must stop the PA now

[無停電電源装置監視を停止するコマンド]
/usr/lib/powerassistant/agentmanage -s

After you stopped the PA, you can setup the config parameters

[環境設定を起動する方法]
/usr/lib/powerassistant/upsconfig.sh
--------------------------------------------------------------------

ダメか。それなら
# /etc/init.d/powerassistant stop [ OK ]
# /usr/lib/powerassistant/upsconfig.sh
-----------------------------------------------------------
PA for Linux Configuration
-----------------------------------------------------------


The PA is Running
setup the configuration first ,then run PA
so, you must stop the PA now

[無停電電源装置監視を停止するコマンド]
/usr/lib/powerassistant/agentmanage -s

After you stopped the PA, you can setup the config parameters

[環境設定を起動する方法]
/usr/lib/powerassistant/upsconfig.sh
--------------------------------------------------------------------

でもやっぱり環境設定はできない。まぁデフォルトの設定であれば、60秒後にはシャットダウンが開始されるはずと思い、UPS のコンセントを外した。
Broadcast message from root (Thu May 8 09:28:55 2008):

UPS Ac fail, System will be shut down in 0 minute(s) and 30 second(s).

Broadcast message from root (Thu May 8 09:29:24 2008):

UPS Ac fail, System will be shut down in 0 minute(s) and 1 second(s).

Broadcast message from root (Thu May 8 09:29:26 2008):

UPS AC Fail Delay Run out

Broadcast message from root (console) (Thu May 8 09:29:30 2008):

The system is going down for system halt NOW!
何とかうまくいったみたい。

ノートパソコンならばこんな特殊なハードは必要なし。ACPI で現在の電力供給がバッテリーか、それともAC電源からなのかを監視すればよい。
/proc/acpi/ac_adapter/ADP0/state ファイルが、バッテリからだと「state: offline」、AC電源からだと「state: online」となるので、この表示が off-line になったらシャットダウンするようなコマンドを記述する。
# vi /usr/local/sbin/poff.sh
#! /bin/sh
PS=`/bin/cat /proc/acpi/ac_adapter/ADP0/state | /usr/bin/awk '{print $2}'`
if [ $PS == 'off-line' ]; then
/sbin/shutdown -hf now
fi
:wq
# chmod 755 /usr/local/sbin/poff.sh
# crontab -e
*/10 * * * * /usr/local/sbin/poff.sh
:wq

参考ページ
トップページに戻る