在 64 位元 Ubuntu 12.04 上安裝 32 位元 Java (OpenJDK)

在 64 位元 Ubuntu 12.04 上安裝 32 位元 Java (OpenJDK)

我必須在 64 位元 Ubuntu 12.04 上執行 Juniper VPN。我已經安裝了openjdk-7-jreopenjdk-7-jdk並且icedtea-7-plugin。瀏覽器提示安裝Juniper VPN後,我檢查已成功安裝到「/home/huangyun/.juniper_networks/network_connect」。

我從命令列打開 Firefox 並檢查日誌:

Launching "/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java" "-classpath" "/home/huangyun/.juniper_networks/network_connect/NC.jar" "NC" "-h" "extranet.scei.a-star.edu.sg" "-L" "0" "-l" "0" "-n" "" "-t" "" "-x"

我手動執行上述命令:

$ java -classpath ~/.juniper_networks/network_connect/NC.jar NC -h extranet.scei.a-star.edu.sg -L 0 -l 0 -n "" -t "" -x
Failed to load the ncui library.
Quitting.

我檢查文件libncui.so發現.so檔是32位元版本:

$ file libncui.so 
libncui.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

我無法將32位.so檔重新編譯為64位,所以我想我必須在64位Ubuntu 12.04上安裝32位Java。你能告訴我該怎麼做嗎?我在網路上搜尋過,但發現的資訊很少。

答案1

回答原來的問題:

在 12.04 和 12.10 上,可以透過在執行 apt-get 時將「:i386」附加到軟體包名稱來在 amd64 上安裝 i386 軟體包。例如,在執行 amd64 Ubuntu 12.04 Live CD 時,我運行了:

sudo apt-get remove firefox openjdk-6-jdk icedtea-6-plugin
sudo apt-get install firefox:i386 openjdk-6-jdk:i386 icedtea-6-plugin:i386

然後就可以成功登入VPN了。

自 12.04 起,瞻博網路 VPN將要可以在 OpenJDK 6 上開箱即用,但只能在 i386 上使用。有一個漏洞在 Icedtea 插件中,該插件以前阻止了此操作。我已經使用 i386 Ubuntu 12.04 Live CD 驗證了該問題已修復。

我很驚訝 amd64 Oracle JDK 能為您工作。然而,我還沒有親自測試過,但當我測試時我會更新這個答案。如果您能夠準確地確認您現在正在運行哪些軟體包,那就太好了。

值得注意的是,Juniper VPN 登入過程中有一個可選部分,稱為主機檢查器,它可能會也可能不會在您連接到的 VPN 伺服器上進行設定;它在 Windows 電腦上強制執行安全性策略,但仍必須在 Linux 上執行以檢查您正在使用的作業系統。這可能會導致不同的人對成功的報告不同。作為參考,我使用的 VPN 確實啟用了主機檢查器。

在您最初的問題中,您聲明您正在安裝 Java 7 軟體包,但您的日誌顯示您正在 Firefox 中使用 Java 6。如果您安裝了多個 JDK,則需要明確您正在使用哪一個。

作為參考,還有一個很長的運行在 Juniper VPN 上的 Ubuntu 論壇上。

更新

我現在已經測試了 amd64 Oracle JDK,但它對我不起作用。據我所知,安裝 i386 版本的 Oracle JDK 或 Open JDK 是使其正常運作的唯一方法。

答案2

由於 OpenJDK 中的錯誤,Juniper 過去需要 Oracle Java。

參考 :https://github.com/flexiondotorg/oab-java6

安裝java。

答案3

使用此處的說明:http://www.rz.uni-karlsruhe.de/~iwr91/juniper/ 我在 Ubuntu 12.04 64 位元上執行 Juniper VPN,除了這 3 個函式庫之外,沒有安裝 32 位元軟體:

sudo apt-get install libc6-i386 lib32z1 lib32nss-mdns

我使用 --nox 選項(無 GUI)啟動 jnc perl 腳本,它工作得很好,我每天都使用它。

我最初使用 Firefox 64 位元下載憑證檔案:工具>頁面資訊>安全性>查看憑證>詳細資料>匯出

我發現這個腳本具有相同的功能: https://github.com/udomsak/juniper-ncui/blob/master/getx509certificate.sh

我的特定設定檔需要主機、使用者、領域和憑證檔案。你的可能會有所不同。

certfile 位置配置需要完整路徑名,~ 未擴充為 /home/username

相關內容