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

在 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。你能告诉我怎么做吗?我搜索了网络但找不到多少信息。

答案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 起,Juniper 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

相关内容