目錄表

How to install the 32 bit Network Connect client on 64 bit Linux platforms

說明

以下將介紹如何在 64 位元 Linux 平台上正常啟動 32 位元的 Network Connect 連線軟體,本方法僅適用於 NC 版本為 7.3 以後。NC 7.3 以後的版本會透過 update-alternatives 程式,自動找尋合適的 32bit Java Runtime,如此將可以在 64bit 瀏覽器下正常啟動 NC 連線程式。

Step 0

名稱 版本
作業系統 Fedora 18 (Linux 3.8.1-201.fc18.x86_64)
Java Runtime jre-7u17-linux-x64.rpm (x86_64)
jre-7u17-linux-i586.tar.gz (i586)
Network Connect 7.3-3-Build23377

Step 1 : 為瀏覽器安裝 64bit Java Plugin

# sudo yum --nogpgcheck localinstall jre-7u17-linux-x64.rpm

# update-alternatives --install /usr/lib64/mozilla/plugins/libjavaplugin.so \
                                libjavaplugin.so.x86_64 \
                                /usr/java/default/lib/amd64/libnpjp2.so \
                                20

# update-alternatives --config libjavaplugin.so.x86_64

有 2 個程式提供「libjavaplugin.so.x86_64」。

  選擇        指令
-----------------------------------------------
*  1           /usr/lib64/IcedTeaPlugin.so
 + 2           /usr/java/default/lib/amd64/libnpjp2.so

請輸入以保留目前的選擇[+],或輸入選擇號碼:2

Step 2 : 為 Network Connect 安裝 32bit Java Runtime

# mkdir -p /opt/java32
# cd /opt/java32
# cp /tmp/jre-7u17-linux-i586.tar.gz .
# tar xvfz jre-7u17-linux-i586.tar.gz

# update-alternatives --install /usr/bin/java \
                                java \
                                /opt/java32/jre1.7.0_17/bin/java \
                                20
Calling Super Init.
Command: /usr/java/jre1.7.0_17/bin/java -d32 -version 2>&1 | grep "java version"
Is32BitPlugin: Uses 64 bit plugin. Res: null
Command = /bin/sh -c /sbin/alternatives --display java 2>&1 |grep -v "/bin/sh:" | grep ^/ | cut -d " " -f 1 | tr "
" " " 
Result = /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java /usr/lib/jvm/jre-1.5.0-gcj/bin/java /opt/java32/jre1.6.0_43/bin/java /opt/java32/jre1.7.0_17/bin/java 
Java path = /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
Command = /bin/sh -c /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java -d32 -version 2>&1 | grep "java version" 
Result = null
Java path = /usr/lib/jvm/jre-1.5.0-gcj/bin/java
Command = /bin/sh -c /usr/lib/jvm/jre-1.5.0-gcj/bin/java -d32 -version 2>&1 | grep "java version" 
Result = java version "1.5.0"
32 bit Java path = /usr/lib/jvm/jre-1.5.0-gcj/bin/java
32 Bit Java Path = /usr/lib/jvm/jre-1.5.0-gcj/bin/java
/home/lyshie/.juniper_networks
Here is the standard output of the command:

No difference found
Here is the standard error of the command (if any):

Step 3 : 安裝 32bit 相關函式庫

# sudo yum install xterm \
                   ld-linux.so.2 \
                   libstdc++.so.6 \
                   libz.so.1 \
                   libXext.so.6 \
                   libXrender.so.1 \
                   libXtst.so.6

Step 4 : 設定使用者 sudo

# vim /etc/sudoers
# visudo

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
lyshie  ALL=(ALL)       ALL

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

Step 5 : 測試是否正常啟動 NC

參考來源

How to install the 32 bit Network Connect client on 64 bit Linux platforms