1、前言
公司使用的 APC UPS 不斷電系統,有個 PowerChute Network Shutdown 功能,這功能就是我可以設定一些條件來觸發機器自動關機,例如市電跳電了且 UPS 大約能撐 15 分鐘,但你可能來不及連線過來或根本不知道跳電了,此時就可利用此功能讓設定讓伺服器自動關機避免不正常關機造成不可預期的錯誤。CentOS 5.1 裝好後預設就有裝 java version 1.4.2,而安裝手冊也有這段話 A Java Virtual Machine (JVM), version 1.4.2 or later 但我裝不起來,只有升級 java version 後才可進行 APC PowerChute Network Shutdown 安裝程序,另外值得注意的是要執行 APC PowerChute Network Shutdown 安裝程序「必須在 X-Win」 下才可進行安裝(因為是用 java 寫的安裝程序),若是在文字模式下例如 init3 or putty 是無法執行的(這段卡好久...)。
文章目錄
1、前言2、實作環境
3、安裝及設定
步驟1.下載相關檔案及前置作業
步驟2.解開 JDK 6 Update 5 - jdk-6u5-linux-i586-rpm.bin 及安裝
步驟3.切換本機 java version
步驟4.執行 pcns221lnx.bin
4、參考
5、Me FAQ
Q1.無法安裝 JDK 6 update 5 及對應的 Compat 檔?
Q2.無法安裝 pcns221lnx.bin?
2、實作環境
- CentOS 5.1 (Linux 2.6.18-53.el5)
- pcns221lnx.bin (APC PowerChute Network Shutdown 安裝檔)
- JDK 6 Update 5 (jdk-6u5-linux-i586.rpm.bin)
- JDK 6 Update 5 Compat (java-1.6.0-sun-compat-1.6.0.05-1jpp.i586.rpm)
3、安裝及設定
步驟1.下載相關檔案及前置作業
- 升級 CentOS 5.1 的 Java 版本,詳細說明可參考 CentOS wiki - HowTo Install Java on CentOS 4 and CentOS 5。
- 下載 JDK 6 Update 5 - jdk-6u5-linux-i586-rpm.bin。
- 下載對應 JDK 6 Update 5 的 Compat 檔 java-1.6.0-sun-compat-1.6.0.05-1jpp.i586.rpm。
檢查目前機器 java version。
# java -version //此版本無法正確處理 pcns211lnx.bin
java version "1.4.2"
gij (GNU libgcj) version 4.1.2 20070626 (Red Hat 4.1.2-14)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
步驟2.解開 JDK 6 Update 5 - jdk-6u5-linux-i586-rpm.bin 及安裝
將下載的 JDK 6 Update 5 - jdk-6u5-linux-i586-rpm.bin 改變權限為可執行後,執行該檔案會有些版權宣告輸入 yes 確定後就會解開檔案。# chmod +x jdk-6u5-linux-i586-rpm.bin ; ./jdk-6u5-linux-i586-rpm.bin
Do you agree to the above license terms? [yes or no] yes //輸入 yes 同意授權條款
Unpacking...
Checksumming...
Extracting...
UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu).
inflating: jdk-6u5-linux-i586.rpm
inflating: sun-javadb-common-10.2.2-0.1.i386.rpm
inflating: sun-javadb-core-10.2.2-0.1.i386.rpm
inflating: sun-javadb-client-10.2.2-0.1.i386.rpm
inflating: sun-javadb-demo-10.2.2-0.1.i386.rpm
inflating: sun-javadb-docs-10.2.2-0.1.i386.rpm
inflating: sun-javadb-javadoc-10.2.2-0.1.i386.rpm
Preparing... ########################### [100%]
1:jdk ######################### [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
plugin.jar...
javaws.jar...
deploy.jar...
Installing JavaDB
Preparing... ######################### [100%]
1:sun-javadb-common #################### [ 17%]
2:sun-javadb-core ################## [ 33%]
3:sun-javadb-client ####################### [ 50%]
4:sun-javadb-demo ##################### [ 67%]
5:sun-javadb-docs #################### [ 83%]
6:sun-javadb-javadoc ################## [100%]
Done.
移除 jdk-1.6.0_05-fcs,否則等一下安裝過程會卡住 (package jdk-1.6.0_05-fcs is already installed) 因為我不知到 rpm 強制安裝覆蓋指令,所以就先移除吧。
# yum remove jdk-1.6.0_05-fcs
Loading "installonlyn" plugin
Setting up Remove Process
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package jdk.i586 2000:1.6.0_05-fcs set to be erased
--> Running transaction check
Dependencies Resolved
============================================================
Package Arch Version Repository Size
============================================================
Removing:
jdk i586 2000:1.6.0_05-fcs installed 110 M
Transaction Summary
============================================================
Install 0 Package(s)
Update 0 Package(s)
Remove 1 Package(s)
Is this ok [y/N]: y //輸入 y 確定移除
Downloading Packages:
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Removing : jdk ######################### [1/1]
Removed: jdk.i586 2000:1.6.0_05-fcs
Complete!
安裝 JDK 6 update 5 及對應的 Compat 檔。
# rpm -Uvh jdk-6u5-linux-i586.rpm java-1.6.0-sun-compat-1.6.0.05-1jpp.i586.rpm
warning: java-1.6.0-sun-compat-1.6.0.05-1jpp.i586.rpm: Header V3 DSA signature: NOKEY, key ID c431416d
Preparing... ############################# [100%]
1:jdk ############################# [ 50%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
plugin.jar...
javaws.jar...
deploy.jar...
2:java-1.6.0-sun-compat ######################### [100%]
步驟3.切換本機 java version
上述安裝完成後理論上本機 java version 應該會為 java version 1.6.05 若沒切換過去或日後需要使用舊的 java version 時可執行 alternatives 指令切換 java version。# java -version //查看 java version
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Server VM (build 10.0-b19, mixed mode)
切換本機使用 java version。
# /usr/sbin/alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
+ 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
* 2 /usr/lib/jvm/jre-1.6.0-sun/bin/java
Enter to keep the current selection[+], or type selection number: 2 //選擇 java version
步驟4.執行 pcns221lnx.bin
請注意執行 pcns221lnx.bin 必須是在 X-Win 環境下才會順利進行 APC PowerChute Network Shutdown 安裝程序,若是在文字模式下(例如 init 3 or putty),若您永遠只會看到如下神秘的訊息也找不到錯誤在哪裡。# chmod +x pcns221lnx.bin ; ./pcns221lnx.bin
Preparing wizard...
Searching for JVM...
Starting the wizard...
Exception in main class "JExpressLoader"
See errors.log for other possible causes.out of disk space?
若您的 java version 為 1.4.2 那您執行 pcns221lnx.bin 應該是看到如下畫面,空白畫面無法開始進行 APC PowerChute Network Shutdown 安裝。
若您的 java version 為 1.6.05 那您執行 pcns221lnx.bin 應該是看到如下畫面,開始 APC PowerChute Network Shutdown 安裝程式。
4、參考
- PowerChute Network Shutdown Installation Guide
- CentOS wiki - HowTo Install Java on CentOS 4 and CentOS 5
- Rants on technology: APC UPS shutdown client
- FileSearch - ftp.relline.ru/pub/unix/apc/pcns-221
5、Me FAQ
Q1.無法安裝 JDK 6 update 5 及對應的 Compat 檔?
Error Message:安裝順利安裝 JDK 6 update 5 及對應的 Compat 檔會顯示系統已安裝 jdk-1.6.0_05-fcs 了?
# rpm -Uvh jdk-6u5-linux-i586.rpm java-1.6.0-sun-compat-1.6.0.05-1jpp.i586.rpm
warning: java-1.6.0-sun-compat-1.6.0.05-1jpp.i586.rpm: Header V3 DSA signature: NOKEY, key ID c431416d
Preparing... ############################## [100%]
package jdk-1.6.0_05-fcs is already installed
Ans:
因為我不知 rpm 強制覆蓋安裝指令怎麼下,所以就先把 jdk-1.6.0_05-fcs 移除後在安裝就沒問題了。
# yum remove jdk-1.6.0_05-fcs
# rpm -Uvh jdk-6u5-linux-i586.rpm java-1.6.0-sun-compat-1.6.0.05-1jpp.i586.rpm
Q2.無法安裝 pcns221lnx.bin?
Error Message:已更新 java version 也發現不到 errors.log 說的可能問題但還是無法安裝?
# ./pcns221lnx.bin
Preparing wizard...
Searching for JVM...
Starting the wizard...
Exception in main class "JExpressLoader"
See errors.log for other possible causes.out of disk space?
Ans:
請注意執行 pcns221lnx.bin 必須是在 X-Win 環境下才會順利進行 APC PowerChute Network Shutdown 安裝程序,若是在文字模式下(例如 init 3 or putty),若您永遠只會看到如下錯誤訊息也找不到錯誤在哪裡。