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

我必须在64位Ubuntu 12.04上运行Juniper VPN。 我已经安装了openjdk-7-jreopenjdk-7-jdkicedtea-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。 你能告诉我怎么做吗? 我在网上搜索但发现的信息很少。

由于OpenJDK中的错误,Juniper过去常常需要Oracle Java。

请参阅: https : //github.com/flexiondotorg/oab-java6

安装java。

回答原始问题:

在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开始,Juniper VPN 在开箱即用的OpenJDK 6上运行,但仅适用于i386。 icedtea插件中存在一个错误 ,阻止了之前的工作。 我已经确认这是使用i386 Ubuntu 12.04 Live CD修复的。

我很惊讶amd64 Oracle JDK正在为你工作。 但是,我还没有亲自测试过,但是当我这样做时,我会更新这个答案。 如果您可以确切地确认您正在运行的软件包将会很好。

值得注意的是,Juniper VPN登录过程中有一个名为Host Checker的可选部分,可以在您连接的VPN服务器上配置,也可以不配置; 它在Windows计算机上强制执行安全策略,但仍然必须在Linux上运行以检查您正在使用的操作系统。 这可能导致不同人的成功报告不同。 作为参考,我使用的VPN确实启用了主机检查器。

在您的原始问题中,您声明您正在安装Java 7软件包,但您的日志显示您在Firefox中使用Java 6。 如果安装了多个JDK,则需要清楚使用哪个JDK。

作为参考,在Juniper VPN上的Ubuntu论坛上还有一个非常长时间运行的线程 。

更新

我现在已经测试了amd64 Oracle JDK,它对我不起作用。 因此,据我所知,安装i386版本的Oracle JDK或Open JDK是实现它的唯一方法。

使用这里的说明: http : //www.rz.uni-karlsruhe.de/~iwr91/juniper/我在Ubuntu 12.04 64bit上运行juniper VPN,除了这3个库外没有安装32位软件:

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

我启动jnc perl脚本使用–nox选项(没有gui),它工作得很好,我每天都使用它。

我最初使用Firefox 64位下载了cert文件:工具> PageInfo>安全>查看证书>详细信息>导出

我已经发现这个脚本也是这样的: https : //github.com/udomsak/juniper-ncui/blob/master/getx509certificate.sh

我的特定配置文件需要host,user,realm和certfile。 你的可能会有所不同。

certfile位置配置需要完整路径名,〜没有扩展到/ home / username