Instale Java de 32 bits (OpenJDK) no Ubuntu 12.04 de 64 bits

Instale Java de 32 bits (OpenJDK) no Ubuntu 12.04 de 64 bits

Eu tenho que rodar o Juniper VPN no Ubuntu 12.04 de 64 bits. Eu instalei openjdk-7-jree openjdk-7-jdk. icedtea-7-pluginApós o navegador solicitar a instalação do Juniper VPN, verifico se ele foi instalado com sucesso em "/home/huangyun/.juniper_networks/network_connect".

Abro o Firefox na linha de comando e verifico o log:

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"

Eu executo o comando acima manualmente:

$ 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.

Eu verifico o arquivo libncui.soe descobri que o arquivo .so é da versão de 32 bits:

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

Não consigo recompilar o arquivo .so de 32 bits para 64 bits, então acho que tenho que instalar o Java de 32 bits no Ubuntu 12.04 de 64 bits. Você poderia me dizer como fazer isso? Pesquisei na web, mas encontrei pouca informação.

Responder1

Para responder à pergunta original:

Nas versões 12.04 e 12.10, é possível instalar pacotes i386 no amd64 anexando ":i386" ao nome do pacote ao executar o apt-get. Então, por exemplo, ao executar um Live CD amd64 Ubuntu 12.04, executei:

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

E poderia então fazer login com sucesso na VPN.

Desde 12.04, Juniper VPNvaifunciona no OpenJDK 6 pronto para uso, mas apenas no i386. Havia umerrono plugin icedtea que impedia que isso funcionasse anteriormente. Eu verifiquei que isso foi corrigido usando um Live CD i386 Ubuntu 12.04.

Estou surpreso que o AMD64 Oracle JDK esteja funcionando para você. No entanto, ainda não testei, mas quando o fizer atualizarei esta resposta. Seria bom se você pudesse confirmar exatamente quais pacotes você está executando agora.

É importante notar que existe uma parte opcional no processo de login da Juniper VPN chamada Host Checker, que pode ou não ser configurada no servidor VPN ao qual você está se conectando; ele impõe políticas de segurança em computadores Windows, mas ainda precisa ser executado no Linux para verificar qual sistema operacional você está usando. Isso pode resultar em diferentes relatórios de sucesso de pessoas diferentes. Para referência, a VPN que uso tem o Host Checker ativado.

Na sua pergunta original, você afirma que estava instalando pacotes Java 7, mas seu log mostra que você está usando o Java 6 no Firefox. Se você tiver vários JDKs instalados, precisará deixar claro qual deles está usando.

Para referência, há também um processo de longa duraçãofionos fóruns do Ubuntu no Juniper VPN.

Atualizar

Agora testei o AMD64 Oracle JDK e não funcionou para mim. Até onde posso ver, instalar a versão i386 do Oracle JDK ou Open JDK é a única maneira de fazê-lo funcionar.

Responder2

Juniper costumava exigir Oracle Java, devido a um bug no OpenJDK.

Referir :https://github.com/flexiondotorg/oab-java6

para instalar o java.

Responder3

Usando as instruções aqui:http://www.rz.uni-karlsruhe.de/~iwr91/juniper/ Eu tenho o Juniper VPN rodando no Ubuntu 12.04 64 bits sem nenhum software de 32 bits instalado, exceto estas 3 bibliotecas:

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

Eu inicio o script jnc perl usando a opção --nox (sem gui) e funciona muito bem, eu uso todos os dias.

Eu baixei originalmente o arquivo de certificado usando o Firefox de 64 bits: Ferramentas>PageInfo>Segurança>Ver certificado>detalhes>exportar

Desde então, encontrei este script que faz o mesmo: https://github.com/udomsak/juniper-ncui/blob/master/getx509certificate.sh

Meu arquivo de configuração específico exigia host, usuário, domínio e arquivo de certificado. O seu pode ser diferente.

A configuração do local do certfile exigia o nome do caminho completo, ~ não foi expandido para /home/username

informação relacionada