CentOS 5.5 で yum install nut できないんですけお…
東京電力からの供給電力が保証されなくなりつつある今日この頃、皆さん如何お過ごしでしょうか。 なんか時代・テクノロジが発展した 2010年 とは思えないぐらいなんじゃそりゃ!?とか思っちゃう事態になっておりますのぅー
でまぁ、自鯖構えてるおいらとしては、電力供給レベルの電プチはなるべく避けたい…ということで、UPSを導入しました。 SoundHouse の UPS1200LX という製品。
ぐぐると、Linux 上でも NUT (network ups tools) を導入すれば複数マシンで ups の状態を共有できるようですし、電源容量も結構でかいですし、何より発注した時に在庫があったので(ぉ この子を即採用。おいらが注文してから2日ぐらいで届きました :-]
で、UPSセッティングしてから3週間後ぐらいに この NUT をインストールしようと試みたのですが…超苦労したわ… ('A`)
ってことで、俺的導入メモまとめを public 空間に置いといてみゆ。
事の始まり
NUT をインストールします。
# yum install nut Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: www.ftp.ne.jp * base: www.ftp.ne.jp * extras: www.ftp.ne.jp * updates: www.ftp.ne.jp Setting up Install Process No package nut available. Nothing to do
なん…だと…?
私とほぼ同じ時期に CentOS 5.5 でも導入実績がある にも関わらず、なぜにパッケージが見つからんのコレー!? orz
仕方ないので手動でどうにかする事に…
結論を書くと
NUT 2.2.2 を自前 make -> install して導入しました。
何故 2.2.2 かというと、現時点での最新版 2.6.0 ではドライバ周りの問題で動かない感じだったので導入を断念(後術)。 ぐぐった結果、2.2.2 を落としてこいよハゲ という記述が見つかったので、2.2.2 にしました。
導入した結果、とりあえずは動いてくれたのでまぁいいかなぁっと…(ぉ
最新版ダメじゃねーの!?
いやまぁ、よくわかってないんですけれども(ぉ // ホントは動くかもしれない
ググってみたら CentOS 5.5 でテスト済みの 現時点での最新版 2.6.0 の rpm が置いてあったのでこの子達を導入してみたんです…が、動かなかったのです。
ups.conf の driver で megatec_usb を指定するようなのですが、このドライバが無いようでデーモンの起動に失敗してしまうのです。
最新版になってドライバの指定が異なったのだろうかーと思って見るも、どれを指定して良いかさっぱり分から無い! OEM のようなので、元の型番っぽい物が分かれば良かったのですが……ある程度探して見るもやっぱり分からず。ぐぬぬ…
ある程度当てずっぽうでドライバ指定してみたのですけれども、動いてくれず…。 んまぁ後に色々試している際に 書式に typo が見つかったので実は動いていたのかもしれません が… (subdriver が usbdriver だったり vendorid が venderid だったり…何してるん俺 orz)
色々試した弊害です & 知識不足でした
2.2.2 を手動で導入する事にしたわけですが……最初はやっぱりこの子も動いてくれなかったのです。
ups.conf を書いて upsdrvctl start してデーモンを開始…しようにも動いてくれず。 何故か「error -1: error sending control message: Operation not permitted」と言われしまいました。
INSTALL に書いてある通り
5. Create the state path directory for the driver(s) and server to use for storing UPS status data and other auxiliary files, and make it owned by the user you created. mkdir -p /var/state/ups chmod 0770 /var/state/ups chown root:nut /var/state/ups
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
というパーミッション設定は行ったにもかかわらず、パーミッションが無い… configure で user / group を指定し && passwd / group に適切に追加したにもかかわらず「無い」と言われてしまう…何故だ、何故だメガトロン!!
…と悩んだんですが、2.6.0 の rpm を導入テストしている際に次のコマンドを実行していたのでした
UDEV RULES installation instructions for USB UPSes
ln -s /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/62-nut-usbups.rules
http://geekery.blog.com/category/linux/nut-ups-rpms/
udevcontrol reload_rules
udevtrigger
/etc/init.d/ups restart
usbのデバイスを云々してるところまでは分かるのですが、具体的に何が起きてるのかさっぱり(ぉ ^^;
とりあえず、シンボリックリンクを削除して udevcontrol reload_rules → udevtrigger した後に upsdrvctl start したところ、よーやくそれっぽい反応が返ってきたのでありました。
うん、4時間ぐらい必死扱いちゃったよ HAHAHA!! orz
という事がありましたとさ、めでたしめでたし……
魔女さやか「ぐぇー」
参考 - UPS1200LX の lsusb -v
誰からのアドバイスを頂ける事を勝手に期待してみる(ぇー
Bus 002 Device 002: ID 0001:0000 Fry's Electronics Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0001 Fry's Electronics idProduct 0x0000 bcdDevice 1.00 iManufacturer 1 MEC iProduct 2 MEC0002 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 624 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 10