[Tutorial] Instalação manual do Ambiente de Execução Java (JRE) no *Ubuntu Linux

Iniciado por Sampayu, 17 de Janeiro de 2014, 19:25

tópico anterior - próximo tópico

Em qual distribuição GNU/Linux você utiliza este tutorial (caso use mais de uma, informe a principal)?

Arch
0 (0%)
Debian
2 (2.6%)
ElementaryOS
0 (0%)
Fedora
1 (1.3%)
Gentoo
0 (0%)
Mint (inclusive LMDE)
6 (7.7%)
OpenSUSE
0 (0%)
*Ubuntu (Ubuntu, XUbuntu, KUbuntu, LUbuntu...)
64 (82.1%)
Outra
2 (2.6%)
Nenhuma. Vim aqui só por curiosidade.
3 (3.8%)

Total de membros que votaram: 76

Votação encerrada: 01 de Junho de 2016, 19:20

Sampayu

Yuri Sucupira ("Sampayu")

mangatomica

Boa tarde,

Gostaria de ver se alguém poderia me ajudar com o BBtoken (pessoa jurídica), pois após a atualização para o ubuntu 14.10 não consigo mais acessar o site do Banco do Brasil. Na tela de identificação ele fica procurando o token e não localiza, mas também não aparece nenhuma mensagem de erro.

No inicio achei que era o Java, instalei ele de várias formas e a última foi seguindo esse tutorial, mais ao que parece está tudo ok com o java. Ele entra normalmente na conta de pessoa física.

Testei o token em outro computador windows e funcionou normalmente, testei em um notebook com lubuntu 14.10 e apresentou o mesmo erro.

Alguém está tendo esse problema ou já teve e pode me ajudar?

Desde já agradeço se alguém puder me ajudar !

Sampayu

Citação de: mangatomica online 30 de Dezembro de 2014, 14:16
Boa tarde,

Gostaria de ver se alguém poderia me ajudar com o BBtoken (pessoa jurídica), pois após a atualização para o ubuntu 14.10 não consigo mais acessar o site do Banco do Brasil. Na tela de identificação ele fica procurando o token e não localiza, mas também não aparece nenhuma mensagem de erro.

No inicio achei que era o Java, instalei ele de várias formas e a última foi seguindo esse tutorial, mais ao que parece está tudo ok com o java. Ele entra normalmente na conta de pessoa física.

Testei o token em outro computador windows e funcionou normalmente, testei em um notebook com lubuntu 14.10 e apresentou o mesmo erro.

Alguém está tendo esse problema ou já teve e pode me ajudar?

Desde já agradeço se alguém puder me ajudar !

Imagino que você esteja usando o navegador Mozilla Firefox. Partindo desse pressuposto, experimente executar as dicas que apresentei neste post. Se nada funcionar, tente executar as dicas que apresentei neste outro post (siga a sequência das dicas, de cima para baixo. Há uma razão para elas estarem naquela ordem).

Se nada disso resolver, informe aqui qual navegador web você está usando para acessar o website do BB, a partir de qual endereço do BB você está tentando acessar sua conta PJ, e também qual é a tela ou mensagem de erro que está aparecendo quando você tentar acessar sua conta.
Yuri Sucupira ("Sampayu")

mangatomica

Primeiramente gostaria de agradecer por sua atenção Sampayu !

Fiz os procedimentos do primeiro link e tudo permaneceu igual, quando acessava o site do BB com token ele iniciava o JAVA mas não identificava o token. Deixei ele rastreando por 5 minutos e nenhuma mensagem de erro apareceu, apenas continuava procurando o token.

Passei para o segundo link, fiz a remoção do java 64 e instalei o java 32.

Agora estou com o seguinte problema, quando coloco o comando "java -version" ele identifica o java normalmente, mas o mozilla não identifica o plugin, nem em "about:plugins" nem na aba complementos / plugins.

Fiz o comando linkando o "/opt/java/jre/lib/i386/libnpjp2.so" tanto em:

/usr/lib/firfox-addons/plugins
/usr/lib/mozilla/plugins

O que pode estar errado? Tem outra pasta que o firefox identifica plugins?

Muito Obrigado !

Sampayu

Citação de: mangatomica online 03 de Janeiro de 2015, 11:12
Primeiramente gostaria de agradecer por sua atenção Sampayu !

Por nada. :)

Citação de: mangatomica online 03 de Janeiro de 2015, 11:12
Fiz os procedimentos do primeiro link e tudo permaneceu igual, quando acessava o site do BB com token ele iniciava o JAVA mas não identificava o token. Deixei ele rastreando por 5 minutos e nenhuma mensagem de erro apareceu, apenas continuava procurando o token.

O token não é necessário: veja que na página http://www.bb.com.br/portalbb/home29,108,108,8,1,1,2.bb o token não é pedido, há apenas um botão no qual se clica para que o acesso seja feito via token, mas você só clica no botão do token se quiser, o que significa que tem a opção de efetuar login sem usar token. Caso informe somente a chave e clique no botão OK, você será conduzido à tela https://aapj.bb.com.br/aapj/loginpfe.bb que então só lhe pedirá para repetir a chave e digitar a senha de acesso à conta PJ. Se surgir alguma janela perguntando se deseja autorizar o Java a executar, autorize. Se após isso a tela ficar um tempão carregando e no fim das contas der algum erro de identificação do computador, atualize a página do navegador. Caso você esteja usando no navegador algum bloqueador de domínios, certifique-se de autorizar os que contenham a palavra globalsign e splash-screen.

O login com token dá muito trabalho e problemas, por causa de malfuncionamento dos drivers desses tokens dentro de sistemas Linux (os fabricantes não estão fazendo drivers adequados para Linux). A outra pessoa que teve problemas com isso acabou acessando sem o token mesmo, depois que eu e ela trocamos várias mensagens tentanto sanar essa pane.

Caso você queira mesmo usar token (mesmo que o acesso somente com Java volte a funcionar para conta PJ), podemos depois ver se esse token funciona (há um programa que se instala e que pode funcionar no Linux, para fazer alguns tokens do BB funcionarem), mas vamos primeiro tentar resolver o problema do acesso com o Java sem uso de token, ok? Quando um problema é grande uma boa tática consiste em segmentá-lo em partes e tentar resolver uma parte de cada vez. ;)

Citação de: mangatomica online 03 de Janeiro de 2015, 11:12
Passei para o segundo link, fiz a remoção do java 64 e instalei o java 32.

Então deixa eu ver se entendi: seu sistema operacional Linux é de 32 bits (por exemplo: o comando uname -i lhe retorna algo como i386, ou i686, ou qualquer outro iX86...) e foi por isto que você desinstalou o Java de 64 bits e instalou o Java de 32 bits? É crucial que você saiba qual é a arquitetura do seu sistema operacional (32 ou 64 bits) e que instale o Java da mesma arquitetura, senão o Java não vai funcionar mesmo (ou não vai funcionar direito).

Citação de: mangatomica online 03 de Janeiro de 2015, 11:12
Agora estou com o seguinte problema, quando coloco o comando "java -version" ele identifica o java normalmente, mas o mozilla não identifica o plugin, nem em "about:plugins" nem na aba complementos / plugins.

Fiz o comando linkando o "/opt/java/jre/lib/i386/libnpjp2.so" tanto em:

/usr/lib/firfox-addons/plugins
/usr/lib/mozilla/plugins

O que pode estar errado? Tem outra pasta que o firefox identifica plugins?

Aquele firfox-addons foi só erro de digitação? Porque o nome da pasta é firefox-addons. Por via das dúvidas, é recomendável refazer os dois comandos do item 1.7 do tutorial: o para Firefox, que usa a pasta firefox-addons, e o genérico para navegadores de arquitetura Mozilla, que usa o caminho /usr/lib/mozilla/plugins. Os links a serem criados têm de ser da mesma arquitetura (32 ou 64 bits) do seu sistema Linux.

Ainda estou voando às cegas: preciso saber a versão do seu navegador Firefox e se o seu sistema operacional Linux é de 32 ou 64 bits (o Java que você instalou eu agora sei que é o de 32 bits, por causa do seu comentário ali em "cima"). Talvez o problema que você está enfrentando seja apenas devido à diferença entre a arquitetura do seu sistema operacional e a arquitetura do Java instalado, ou ainda os links podem ser da outra arquitetura. Tudo precisa estar na mesma arquitetura. Se seu Linux for de 32 bits, por exemplo, então o Java tem de ser o de 32 bits e os links do item 1.7 têm de ser executados para sistema de 32 bits.

Mantenha o navegador fechado enquanto recria os links simbólicos para as pastas firefox-addons e /usr/lib/mozilla/plugins, daí retorne ao Firefox e veja se o Java é detectado em http://www.java.com/pt_BR/download/installed8.jsp
Yuri Sucupira ("Sampayu")

mangatomica

Vamos lá...

CitarO login com token dá muito trabalho e problemas, por causa de malfuncionamento dos drivers desses tokens dentro de sistemas Linux (os fabricantes não estão fazendo drivers adequados para Linux). A outra pessoa que teve problemas com isso acabou acessando sem o token mesmo, depois que eu e ela trocamos várias mensagens tentanto sanar essa pane.

Na verdade eu utilizo o token por questão de segurança, por indicação do gerente. Utilizo, acredito, há uns 2 anos e é a primeira vez que enfrento problemas com ele. Até hoje era só instalar o sun java e tudo funcionava perfeitamente.

Como sou usuário token, eu consigo acessar o banco com a senha "J" sem token, mas apenas para consultar informações. Sem token não consigo realizar nenhuma transação financeira, mas caso não seja possível continuar com ele eu peço o cancelamento no banco.

CitarEntão deixa eu ver se entendi: seu sistema operacional Linux é de 32 bits (por exemplo: o comando uname -i lhe retorna algo como i386, ou i686, ou qualquer outro iX86...) e foi por isto que você desinstalou o Java de 64 bits e instalou o Java de 32 bits? É crucial que você saiba qual é a arquitetura do seu sistema operacional (32 ou 64 bits) e que instale o Java da mesma arquitetura, senão o Java não vai funcionar mesmo (ou não vai funcionar direito).

O meu processador e ubuntu são 64 bits. Antes estava instalada a versão 64 bits do java, ela funcionava só não localizava o token. Fiz a instalação da versão 32 bits, pois achei que era isso para fazer no segundo link que tu me enviou... acho que cometi um engano. Já vou fazer a remoção desse java 32 bits.

Vou refazer a instalação de tudo na arquitetura correta e já retorno aqui se ouve mudança.

Muito Obrigado!

mangatomica

Fiz a remoção e uma nova instalação do java, agora na versão 64 bits.

Ele está funcionando normalmente para acesso sem token, mas quando tento acessar a conta via token ele não o localiza.

CitarAquele firfox-addons foi só erro de digitação? Porque o nome da pasta é firefox-addons. Por via das dúvidas, é recomendável refazer os dois comandos do item 1.7 do tutorial: o para Firefox, que usa a pasta firefox-addons, e o genérico para navegadores de arquitetura Mozilla, que usa o caminho /usr/lib/mozilla/plugins. Os links a serem criados têm de ser da mesma arquitetura (32 ou 64 bits) do seu sistema Linux.

Isso foi erro de digitação minha mesmo, desculpe o transtorno !


E agora, será que tem algo que possa ser feito para ele identificar o token?  (lembrando que no windows o token está funcionando).

Ahhh lembrei de uma coisa também, o aplicativo "bbtokentool" não abre quando clico nele.

Fiz uma nova instalação pelo terminal e a seguinte mensagem aparece:

Registrando Modulo
Shutting down WdkmgrServer: Error! Bad return status for module build on kernel: 3.16.0-28-generic (x86_64)
Consult /var/lib/dkms/wdtoken/1.0.0/build/make.log for more information.
Failed to install using DKMS
Installation is complete.Thank you for using our products!


Após a instalação e reiniciar o pc o ubuntu pede para enviar um relatório de erro:


title:
bbtokentool1.0.0-3:wdtoken kernel module failed to build

E ao que parece o erro está no DKMS. O log é bem extenso e não permite copiar e colar, se não colocava ele aqui.

Será que o erro está no aplicativo bbtokentool?

Obrigado !

Sampayu

Citação de: mangatomica online 03 de Janeiro de 2015, 17:45
Fiz a remoção e uma nova instalação do java, agora na versão 64 bits.

Ele está funcionando normalmente para acesso sem token, mas quando tento acessar a conta via token ele não o localiza.

CitarAquele firfox-addons foi só erro de digitação? Porque o nome da pasta é firefox-addons. Por via das dúvidas, é recomendável refazer os dois comandos do item 1.7 do tutorial: o para Firefox, que usa a pasta firefox-addons, e o genérico para navegadores de arquitetura Mozilla, que usa o caminho /usr/lib/mozilla/plugins. Os links a serem criados têm de ser da mesma arquitetura (32 ou 64 bits) do seu sistema Linux.

Isso foi erro de digitação minha mesmo, desculpe o transtorno !


E agora, será que tem algo que possa ser feito para ele identificar o token?  (lembrando que no windows o token está funcionando).

Ahhh lembrei de uma coisa também, o aplicativo "bbtokentool" não abre quando clico nele.

Fiz uma nova instalação pelo terminal e a seguinte mensagem aparece:

Registrando Modulo
Shutting down WdkmgrServer: Error! Bad return status for module build on kernel: 3.16.0-28-generic (x86_64)
Consult /var/lib/dkms/wdtoken/1.0.0/build/make.log for more information.
Failed to install using DKMS
Installation is complete.Thank you for using our products!


Após a instalação e reiniciar o pc o ubuntu pede para enviar um relatório de erro:


title:
bbtokentool1.0.0-3:wdtoken kernel module failed to build

E ao que parece o erro está no DKMS. O log é bem extenso e não permite copiar e colar, se não colocava ele aqui.

Será que o erro está no aplicativo bbtokentool?

Obrigado !

Bom, já fico feliz por saber que a parte do Java está resolvida: pelo menos a parte atinente a este tutorial foi eficaz no sentido de viabilizar a instalação e funcionamento do Java no seu sistema, o que significa que o módulo de segurança Java do BB está funcionando.

O problema agora já não tem mais a ver com o Java, mas com a compatibilidade do driver do dispositivo token USB que você está usando: o fabricante desenvolveu um driver Linux para esse token e também desenvolveu uma aplicação Java para você poder interagir com seu token no Linux, mas pelo visto o driver não está instalando e a aplicação tampouco.

Bom, eu não tenho conta PJ e não uso token, mas acessei o endereço http://www.bb.com.br/docs/pub/inst/dwn/BBTokenFinal.swf, daí abri o tutorial para Linux e vi no Passo 8 que o fabricante desse dispositivo é a WatchData Technologies, por isto eu acessei http://www.watchdata.com/service/usbtoken.jsp e então vi que lá estão disponíveis o pacote bbtokentool_1.0.0-3_all_v1.0.deb e o tarball BBtoken/bbtokentool_v1.0.tar.gz. Mas eu instalei o pacote e não funcionou, daí instalei o tarball e deu o mesmo problema do pacote. Enfim: umas porcarias. A WatchData personalizou muito mal o software dela para uso pelos clientes do BB. Eu dei uma olhada no log e pelo visto o problema é que o módulo PKCS#11 não está sendo corretamente instalado pelo instalador, devido a um conflito entre uma biblioteca dessa versão do BBTokenTool com as bibliotecas do Sun Java mais recente. Em outras palavras: o programa BBTokenTool foi mal programado e está desatualizado.

É por estas e outras que sempre recorro ao terminal do shell e à instalação manual via tarball, por exemplo. No presente caso, tendo em vista que o aplicativo BBTokenTool nada mais é que uma adaptação que a WatchData fez do WDTokenTool, que é um aplicativo da própria WatchData e que é melhor elaborado e atualizado mais frequentemente, o que eu sugiro que você faça é acessar http://www.watchdata.com/brazil/watchkey/index.htm e efetuar o download do tarball wdtokentool-icp_1.1.0-4 beta3.tar.gz. Salve esse tarball dentro da sua pasta pessoal de downloads (que é /home/seu-nome-de-usuário/Downloads). Não é certeza que o WDTokenTool vá funcionar com o seu token USB (porque eu não sei se eles fizeram algum estrago também no software interno desse dispositivo token, durante a "personalização" deles), mas se o WDTokenTool funcionar no seu sistema isso pelo menos já eliminará um problema e aumentará as chances de seu token funcionar.

Então vamos lá:

1) Após efetuar o download do tarball wdtokentool-icp_1.1.0-4 beta3.tar.gz (salvando-o em sua pasta pessoal de downloads), execute este comando no terminal do shell:
cd ~/Downloads && tar -xvf wdtokentool-icp_1.1.0-4_beta3.tar.gz && sudo ~/Downloads/wdtokentool-icp_1.1.0-3/install

O comando acima fará o interpretador de comandos do shell acessar sua pasta pessoal de downloads (/home/seu-nome-de-usuário/Downloads), executar o programa tar para descompactar o tarball wdtokentool-icp_1.1.0-4_beta3.tar.gz para dentro da subpasta /home/seu-nome-de-usuário/Downloads/wdtokentool-icp_1.1.0-3/, então tornar-se temporariamente root e executar o arquivo binário executável install (programa de instalação do WDTokenTool) que se encontra dentro daquela subpasta /home/seu-nome-de-usuário/Downloads/wdtokentool-icp_1.1.0-3/

2) A instalação adicionará ao seu sistema o módulo (driver de dispositivo) PKCS#11 necessário para o seu token USB ser reconhecido pelo sistema Linux. Também instalará o servidor WatchData Manager (nome no sistema: WdkmgrServer), que é o daemon Linux que fica monitorando seu sistema, de modo que quando você conectar seu token USB o servidor detecte isso e use o driver PKCS#11 para fazer o token funcionar. O instalador também criará o script de inicialização /etc/init.d/wd_udk, que fará com que a cada (re)boot seu sistema inicialize novamente aquele servidor e também o módulo do token.

3) Após a instalação, conecte seu token USB e então execute o WDTokenTool que se encontra no menu de aplicativos do seu Linux. Se o WDTokenTool não estiver aparecendo no menu, execute-o via terminal do shell por intermédio deste comando:
/usr/lib/watchdata/ICP/tools/tool.sh

A partir daqui eu estou de mãos atadas: tudo vai depender da interatividade (intercomunicabilidade) entre o software interno do seu token USB e o software WDTokenTool. Se eles forem compatíveis, você conseguirá visualizar seu token dentro da tela do WDTokenTool e acessar sua conta PJ com o token USB.

Espero que dê certo. Boa sorte! :)

PS: se não deu certo, eis um bom motivo para reclamar com seu gerente no BB, ou ainda dizer que deseja cancelar o token e voltar a ter acesso irrestrito à sua conta PJ sem ter de usar um token. Cabe ao banco prover soluções tecnológicas e assessorar o cliente-consumidor, nestes casos. Como eu comento aqui, via de regra quem se dá mal é o banco, quando o cliente sofre alguma perda financeira devido à falha de segurança do sistema bancário. O maior interessado em fazer esse token USB funcionar é o BB, não você, porque se você tiver prejuízo é o banco que paga o prejuízo. Então não se estressa: se o token funcionar, peço que me informe para eu saber que a tática de instalar o WDTokenTool funcionou. Mas se o token não funcionar, no seu lugar eu devolveria essa "bagaça" pro BB e solicitaria acesso à conta PJ sem necessidade de token. :P
Yuri Sucupira ("Sampayu")

mangatomica

Então Sampayu fiz os métodos que tu disse e não funcionou.

CitarA instalação adicionará ao seu sistema o módulo (driver de dispositivo) PKCS#11 necessário para o seu token USB ser reconhecido pelo sistema Linux. Também instalará o servidor WatchData Manager (nome no sistema: WdkmgrServer), que é o daemon Linux que fica monitorando seu sistema, de modo que quando você conectar seu token USB o servidor detecte isso e use o driver PKCS#11 para fazer o token funcionar. O instalador também criará o script de inicialização /etc/init.d/wd_udk, que fará com que a cada (re)boot seu sistema inicialize novamente aquele servidor e também o módulo do token.

Procurei pelo terminal e não encontrei esse arquivo "/etc/init.d/wd_udk" e ele também não roda o "/usr/lib/watchdata/ICP/tools/tool.sh" diz comando inexistente.


Eu peguei e quis fazer um teste, peguei o ubuntu 14.04.01 e customizei com o Ubuntu customization kit e instalei o Java 8 e o BBtokentool. Criei um pendrive bootavel e rodei ele, e o token funcionou normalmente.
Será que com as atualizações do ubuntu 14.10 ou na versão 15.04 esse problema pode ser sanado?

Muito Obrigado.

Sampayu

Citação de: mangatomica online 05 de Janeiro de 2015, 11:07
Então Sampayu fiz os métodos que tu disse e não funcionou.

CitarA instalação adicionará ao seu sistema o módulo (driver de dispositivo) PKCS#11 necessário para o seu token USB ser reconhecido pelo sistema Linux. Também instalará o servidor WatchData Manager (nome no sistema: WdkmgrServer), que é o daemon Linux que fica monitorando seu sistema, de modo que quando você conectar seu token USB o servidor detecte isso e use o driver PKCS#11 para fazer o token funcionar. O instalador também criará o script de inicialização /etc/init.d/wd_udk, que fará com que a cada (re)boot seu sistema inicialize novamente aquele servidor e também o módulo do token.

Procurei pelo terminal e não encontrei esse arquivo "/etc/init.d/wd_udk" e ele também não roda o "/usr/lib/watchdata/ICP/tools/tool.sh" diz comando inexistente.


Eu peguei e quis fazer um teste, peguei o ubuntu 14.04.01 e customizei com o Ubuntu customization kit e instalei o Java 8 e o BBtokentool. Criei um pendrive bootavel e rodei ele, e o token funcionou normalmente.
Será que com as atualizações do ubuntu 14.10 ou na versão 15.04 esse problema pode ser sanado?

Muito Obrigado.

Eu instalei aqui no meu XUBuntu 14.04 de 32 bits e o WDTokenTool funcionou (instalou e abriu a janela. Só não sei se funcionaria com o token porque não tenho um token para testar). Pela sua descrição, o problema realmente está no Ubuntu 14.10. Uma pena.

Como o BBTokenTool funcionou com o Java 8 dentro do seu Ubuntu 14.04, sabemos agora que o BBTokenTool do seu token USB é compatível com as bibliotecas do Java 8 e que o módulo do device driver do token funciona no Ubuntu 14.04. Então o problema está relacionado ao Ubuntu 14.10 mesmo. Provavelmente é o kernel. Digo: no 14.10 o kernel foi atualizado para uma versão que pelo visto não funciona com o módulo que consta no BBTokenTool.

Agora cabe a você decidir se seu sistema operacional é mais importante que seu token ou vice-versa. Se esse token fosse um mero pendrive USB, a resposta seria fácil: ignore o problema do pendrive e mantenha seu sistema na versão 14.10, para poder usufruir de um kernel mais recente, que contém melhorias que o kernel da versão 14.04 não tem. No entanto, como esse seu "pendrive USB" é um token usado por você para realizar transações financeiras em uma conta PJ, talvez seja melhor (em termos de segurança financeira) usar o Ubuntu 14.04 para poder utilizar o token USB.

Mas isso é decisão sua. Você precisa colocar na balança esses aspectos e decidir o que lhe parece melhor.

É possível que com alguma atualização do 14.10 o kernel passe a funcionar com o módulo do BBTokenTool. Mas o ideal seria o BBTokenTool ser atualizado, receber um módulo mais "moderno", que funcione com os kernels Linux mais recentes.
Yuri Sucupira ("Sampayu")

mangatomica

Valeu pelas dicas cara !

Acho que vou manter o token mas só usá-lo com o pendrive que roda o Ubuntu 14.04, por questão de segurança mesmo.

Vou aguardar se com o tempo e atualizações tudo se ajeite.

Novamente muito obrigado pela atenção !

Sampayu

Citação de: mangatomica online 05 de Janeiro de 2015, 11:36
Valeu pelas dicas cara !

Acho que vou manter o token mas só usá-lo com o pendrive que roda o Ubuntu 14.04, por questão de segurança mesmo.

Vou aguardar se com o tempo e atualizações tudo se ajeite.

Novamente muito obrigado pela atenção !

Por nada. :)
Yuri Sucupira ("Sampayu")

Sampayu

A todos os que porventura estejam monitorando este tópico: informo que o Sun Java estável / stable / "oficial" a partir de hoje (20/01/2015) passou a ser o 8u31 (versão 8, atualização 31).

A seção 1 do tutorial já está atualizada.
Yuri Sucupira ("Sampayu")

Celio Alves

Olá, Sampayu.
Primeiro queria lhe agradecer pelo ótimo tutorial, com certeza este foi o melhor que encontrei!
Segundo, queria tirar uma dúvida simples:

Na seção 1.3, na linha
sudo update-alternatives --install /usr/bin/java java /opt/java/jre/bin/java 10 && sudo update-alternatives --set java /opt/java/jre/bin/java
Qual a função do número 10?

Para atualizar o Java, qual dos passos devo seguir?
É só fazer primeiro a seção 2.1 e depois a seção 1, mas sem precisar executar update-alternatives e (des)vincular o plugin do navegador?

Valeu! ;D

Sampayu

Citação de: Celio Alves online 21 de Janeiro de 2015, 22:20
Olá, Sampayu.
Primeiro queria lhe agradecer pelo ótimo tutorial, com certeza este foi o melhor que encontrei!

Bacana. Obrigado. :)

CitarSegundo, queria tirar uma dúvida simples:

Na seção 1.3, na linha
sudo update-alternatives --install /usr/bin/java java /opt/java/jre/bin/java 10 && sudo update-alternatives --set java /opt/java/jre/bin/java
Qual a função do número 10?

As distribuições Debian e as baseadas no Debian (como é o caso das *Ubuntu, Mint etc.) utilizam um sistema de controle de programas denominado alternatives ("alternativas"). Se (por exemplo) você tiver várias JVM (máquinas virtuais Java) instaladas no seu sistema (como provavelmente tem, pois o *Ubuntu costuma vir com pelo menos duas implementações diferentes do OpenJDK, e além disso você adicionou - ou pretende adicionar - o JRE proprietário da Sun/Oracle), no momento em que você executar uma aplicação Java (um programa que requeira uma JVM para poder ser executado), como é o caso do applet do módulo de segurança do seu banco, essa aplicação vai pedir ao seu sistema operacional para "acionar" a JVM do sistema operacional.

O problema é que seu sistema possui duas ou mais JVM diferentes, por isto ele terá de escolher alguma JVM para executar. É aí que entra o sistema de alternativas: ele tem um "cadastro" de todas as JVM do seu sistema e automaticamente escolhe qual JVM executar. Mas essa escolha não é assim tãããão automática: cada uma das alternativas cadastradas possui um número de prioridade associado a cada uma delas. Por exemplo: suponhamos que seu sistema tenha aí o OpenJDK 6 e o OpenJDK 7. Vamos ainda supor que a JVM do OpenJDK 6 esteja com prioridade 100 e que a JVM do OpenJDK 7 esteja com prioridade 50. No momento em que alguma aplicação pedir para seu sistema executar a JVM, o sistema automaticamente executará a JVM do OpenJDK 7, porque ela é a que tem maior prioridade (menor número de prioridade). Se por qualquer motivo a JVM do OpenJDK 7 não funcionar, seu sistema tentará então executar a JVM do OpenJDK 6, porque ela é a próxima alternativa na lista de prioridade.

No caso, ao usar o comando update-alternatives ("atualizar alternativas") você está atualizando o cadastro de alternativas JVM do seu sistema Linux: ao adicionar a JVM proprietária da Sun/Oracle com número de prioridade 10 (que é menor que a das outras JVM), você está dizendo para o seu sistema dar prioridade máxima a essa JVM proprietária que você instalou.

O comando acima mencionado por você na verdade é um supercomando (uma combinação de dois ou mais comandos é um supercomando): sudo update-alternatives --install /usr/bin/java java /opt/java/jre/bin/java 10 serve para cadastrar a alternativa "JVM proprietária da Sun/Oracle" com prioridade 10 (de modo que a seleção automática sempre escolha essa JVM proprietária). No entanto, eu não tenho certeza de que no sistema de todas as pessoas que consultam este tutorial as outras JVM estarão mesmo com prioridade menor (número de prioridade maior que 10): pode acontecer de o sistema de alguém estar com prioridade 9, por exemplo. Além disso, no sistema de alguém a seleção de alternativas pode não estar no modo automático: pode acontecer de algum OpenJDK estar definido manualmente como padrão do sistema, independentemente das prioridades que foram associadas a todas as JVM alternativas... :P

Para contornar esses possíveis problemas, eu pus aquela segunda parte do supercomando, que executa o comando sudo update-alternatives --set java /opt/java/jre/bin/java, cuja função é desabilitar o modo automático e informar ao sistema de alternativas que ele deverá sempre executar a JVM proprietária (arquivo binário executável que se encontra em /opt/java/jre/bin/java).

Em suma: o objetivo é garantir que seu sistema operacional sempre execute a JVM proprietária que você instalou.

CitarPara atualizar o Java, qual dos passos devo seguir?
É só fazer primeiro a seção 2.1 e depois a seção 1, mas sem precisar executar update-alternatives e (des)vincular o plugin do navegador?

A Seção 2 deste tutorial é para desinstalar somente o JRE (ambiente de execução Java) que tenha sido instalado de acordo com as instruções da Seção 1 deste mesmo tutorial. Se esta for a primeira vez que você executa este tutorial porém já havia instalado o JRE da Sun/Oracle por intermédio de outro procedimento (como por exemplo a instalação via repositório PPA do Webupd8team), você precisa primeiro desinstalar esse JRE que instalou no seu sistema e somente depois disso instalar o JRE (executando todos os passos da Seção 1 - inclusive o item 1.3).

Se você nunca instalou o JRE proprietário da Sun/Oracle (ou se instalou por outro método mas agora já desinstalou), execute todos os passos da Seção 1 - inclusive o item 1.3.

Se você instalou o JRE proprietário da Sun/Oracle usando o método ensinado neste tutorial e agora está querendo atualizar o JRE, basta executar somente o item 2.1 deste tutorial + os passos da Seção 1 (exceto o item 1.3).

O item 1.3 serve para cadastrar o JRE da Sun/Oracle no sistema de alternativas do seu Linux e definir esse JRE proprietário como o padrão do seu sistema. Se você instalou o JRE proprietário como ensinado neste tutorial (método manual) e agora deseja desinstalar o Java, execute somente o passo do item 2.1. Se você executar somente o item 2.1, o JRE proprietário será excluído mas o cadastro do sistema de alternativas permanecerá intacto (idem os atalhos do plugin para os seus navegadores), por isto, quando você for executar os comando da Seção 1 para instalar um JRE proprietário mais recente, não será necessário executar novamente o item 1.3 (tampouco os comandos ln de criação dos atalhos). ;)
Yuri Sucupira ("Sampayu")