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
- 請先下載 64bit Java SE Runtime Environment。
- 便於軟體套件管理,這裡建議選擇使用 yum(RPM) 安裝,並設定優先順序。
# 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
- 請先下載 32bit Java SE Runtime Environment。
- 為避免軟體安裝衝突,這裡建議選擇手動解壓縮,並加入 alternatives 清單以利搜尋。
# 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
- 注意是否有安裝
java-1.5.0-gcj
或libgcj
,如此將可能無法正確找到合適的 32bit Java Runtime,以致於無法正常啟動 NC,建議可暫時移除。詳細除錯資訊如下:
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
- 為了可以讓程式自動安裝 Network Connect 軟體,必須設定
sudo
功能。
可將一般使用者加入wheel
群組,或是手動編輯/etc/sudoers
進行設定。
# 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