Установка 32-битной Java (OpenJDK) на 64-битную Ubuntu 12.04

Установка 32-битной Java (OpenJDK) на 64-битную Ubuntu 12.04

Мне нужно запустить Juniper VPN на 64-битной Ubuntu 12.04. Я установил openjdk-7-jre, openjdk-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-битный, поэтому я думаю, что мне нужно установить 32-битную Java на 64-битную Ubuntu 12.04. Не могли бы вы мне подсказать, как это сделать? Я искал в Интернете, но нашел мало информации.

решение1

Чтобы ответить на изначальный вопрос:

В 12.04 и 12.10 можно установить пакеты i386 на amd64, добавив ":i386" к имени пакета при запуске apt-get. Так, например, при запуске 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, которую я использую, Host Checker включен.

В своем первоначальном вопросе вы утверждаете, что устанавливаете пакеты Java 7, однако ваш журнал показывает, что вы используете Java 6 в Firefox. Если у вас установлено несколько JDK, вам нужно четко указать, какой из них вы используете.

Для справки, есть также очень долгоиграющийнитьна форумах Ubuntu по Juniper VPN.

Обновлять

Я сейчас протестировал amd64 Oracle JDK, и он у меня не работает. Так что, насколько я могу судить, установка версии i386 Oracle JDK или Open JDK — единственный способ заставить его работать.

решение2

Раньше Juniper требовал Oracle Java из-за ошибки в OpenJDK.

Ссылаться :https://github.com/flexiondotorg/oab-java6

для установки Java.

решение3

Используя инструкции здесь:http://www.rz.uni-karlsruhe.de/~iwr91/juniper/ У меня Juniper VPN работает на Ubuntu 12.04 64bit без установленного 32-битного программного обеспечения, за исключением этих 3 библиотек:

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

Я запускаю скрипт jnc perl с опцией --nox (без графического интерфейса), и он отлично работает, я использую его каждый день.

Первоначально я загрузил файл сертификата с помощью Firefox 64-бит: Инструменты>PageInfo>Безопасность>Просмотр сертификата>подробности>экспорт

С тех пор я нашел этот скрипт, который делает то же самое: https://github.com/udomsak/juniper-ncui/blob/master/getx509certificate.sh

Мой конкретный файл конфигурации требовал host, user, realm и certfile. Ваш может отличаться.

Конфигурация расположения файла сертификата требовала полного имени пути, ~ не расширялась до /home/username

Связанный контент