︿
Top

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.下載相關檔案及前置作業

  1. 升級 CentOS 5.1 的 Java 版本,詳細說明可參考 CentOS wiki - HowTo Install Java on CentOS 4 and CentOS 5
  2. 下載 JDK 6 Update 5 - jdk-6u5-linux-i586-rpm.bin
  3. 下載對應 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、參考




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),若您永遠只會看到如下錯誤訊息也找不到錯誤在哪裡。
文章標籤: