[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

alexandre.mbm

Citação de: alevian online 27 de Julho de 2014, 14:42
Caberia até consultar na jurisprudência se algum banco já usou esse argumento - creio que não.

Mesmo com todos os detalhes que você expôs, muito provavelmente eles estariam mesmo na vantagem, perante qualquer juiz.

Sampayu

Citação de: DiogoFC online 26 de Abril de 2014, 22:23
Oi. Eu não tenho problemas de Java para usar o Internet Banking do BB, mas já faz uns bons meses (talvez 2 anos) que não consigo usar meu certificado digital A3 na página deles. Você sabe alguma coisa sobre isso?

Complementando meu post anterior: acabei de me lembrar de que há cerca de 2 anos precisei fazer um dispositivo token USB do tipo PC/SC CCID funcionar no meu sistema (GNU/Linux XUbuntu 12.04 de 32 bits). Esse token é um leitor de smartcards: o cliente do Banrisul coloca seu cartão bancário no leitor, conecta o leitor à porta USB do PC e daí consegue acessar o internet banking.

Por ser um dispositivo que atende ao protocolo CCID, não foi necessário instalar nenhum driver proprietário: somente um driver "genérico" para dispositivos CCID. Além desse driver, instalei também uns pacotes que são usados para identificar o driver, o cartão ou leitor PC/SC, testá-los e enviar-lhes comandos. Enfim, caso o seu dispositivo seja um desses tokens PC/SC CCID, execute este comando no terminal do shell:

sudo apt-get install pcscd pcsc-tools libpcsc-perl libccid


  • O pacote pcscd instala um daemon: um programinha que (no caso) ficará monitorando se há algum dispositivo token PC/SC presente (conectado ao seu computador). A intenção é facilitar a detecção automática de tokens.
  • O pacote pcsc-tools possui ferramentas para consultar e comunicar-se com tokens.
  • O pacote libpcsc-perl é uma biblioteca que, entre outras coisas, possibilita executar a interface gráfica do comando gscriptor.
  • O pacote libccid é uma biblioteca que fornece o driver para dispositivos token USB compatíveis com o protocolo CCID.

Agora encaixe seu cartão bancário no leitor (caso o seu token seja um leitor de cartões), conecte seu token a uma porta USB do seu PC e daí execute este comando:

gscriptor

A interface gráfica do gscriptor será inicializada. Vá em Settings => Reader e veja se seu dispositivo aparece na lista. Se aparecer, selecione-o e clique em "ok". Em seguida, vá em Reader => Connect.

Se o seu dispositivo token não foi detectado, retorne ao terminal do shell e execute este comando:

pcsc_scan

O pcsc_scan é um escanner: ele envia interrogações ao daemon (monitor). Assim que o seu dispositivo for detectado, serão exibidas informações a respeito dele. Se isso ocorreu, tente acessar seu internet banking, para ver se o seu token vai fornecer o certificado A3 que você possui. Talvez funcione.

Se nem com o pcsc_scan funcionar, talvez seja necessário instalar o driver específico para o seu dispositivo. Você pode instalar o gerenciador de pacotes Synaptic para que, por intermédio de uma interface gráfica amigável, você procure pela sequência de palavras pcsc. Isso fará o Synaptic lhe mostrar não apenas aqueles 4 pacotes que você instalou, mas também alguns drivers disponíveis para outros dispositivos token, como por exemplo o pacote libacr38u (driver para leitores de smartcard ACR38U), o pacote libacsccid1 (driver para leitores ACS CCID), e por aí vai.

Caso o Synaptic faça parte dos repositórios do seu sistema, este comando instalará o Synaptic:

sudo apt-get install synaptic

Boa sorte!
Yuri Sucupira ("Sampayu")

Sampayu

Citação de: alevian online 27 de Julho de 2014, 14:42
Companheiros,

Muito interessante a discussão.

De fato, a utilização do openjdk poderia gerar uma batalha judicial.
Caberia até consultar na jurisprudência se algum banco já usou esse argumento - creio que não.

A jurisprudência tem se posicionado do seguinte modo: se o banco comprovar que o sistema de segurança do banco não falhou, o cliente é responsabilizado e arca com os danos materiais que tenha sofrido. Caso contrário, o banco é que é responsabilizado e arca com os danos.
Vide exemplos tirados da jurisprudência (de maneira geral, os bancos não têm conseguido provar que a falha não foi do sistema de segurança, e por isto os bancos têm sido responsabilizados):

Enfim, o Judiciário tem seguido a lógica do CDC: o ônus da prova é invertido para favorecer o consumidor, mas (em contrapartida) se o fornecedor do produto ou serviço provar que a culpa foi exclusiva do consumidor ou terceiro, então ele (fornecedor) não é responsabilizado e o cliente arca com os prejuízos que teve:

Art. 6º São direitos básicos do consumidor:
(...)
VIII - a facilitação da defesa de seus direitos, inclusive com a inversão do ônus da prova, a seu favor, no processo civil, quando, a critério do juiz, for verossímil a alegação ou quando for ele hipossuficiente, segundo as regras ordinárias de experiências;
(...)
Art. 14. O fornecedor de serviços responde, independentemente da existência de culpa, pela reparação dos danos causados aos consumidores por defeitos relativos à prestação dos serviços, bem como por informações insuficientes ou inadequadas sobre sua fruição e riscos.
§ 1° O serviço é defeituoso quando não fornece a segurança que o consumidor dele pode esperar...
(...)
§ 2º O serviço não é considerado defeituoso pela adoção de novas técnicas. (comentário meu: é o caso de quando o banco exige a instalação da mais nova versão do Java da Oracle)
§ 3° O fornecedor de serviços só não será responsabilizado quando provar:
I - que, tendo prestado o serviço, o defeito inexiste;
II - a culpa exclusiva do consumidor ou de terceiro.


CitarVisitei agorinha os sites do BB, do Itaú e da CEF.
O da Caixa chega a ser surreal. Estão no tempo do XP!

Não me pareceram muito específicos, por vezes não citaram nem nome de empresas como Oracle/Sun.
Em algumas situações, como o da Corretora Itaú, nem chegam a citar possibilidade de uso do Linux, embora no banco do mesmo grupo exista essa possibilidade.

Não sei no caso dos outros bancos, mas no caso do Banco do Brasil é informado explicitamente o requisito técnico de o usuário de sistema GNU/Linux estar usando kernel versão 2.4 ou posterior e o JRE da Sun/Oracle.
Yuri Sucupira ("Sampayu")

Sampayu

Citação de: alexandre.mbm online 27 de Julho de 2014, 11:05
Eu já sabia que com o Java da Oracle o problema não existe ou é facilmente contornável. Mas eu e o alevian temos usado o Java aberto.

$ java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)


O OpenJDK Java 7 Policy Tool não é um "Painel de Controle".

O IcedTea Web Control Panel tem um aba Security, mas sem funcionalidade Editar Lista de Sites. As coisas nele funcionam de modo diferente.

Citação de: Sampayu online 27 de Julho de 2014, 11:29Faz muito tempo que não mexo com OpenJDK e IcedTea (embora eu os mantenha instalados e atualizados, no meu sistema). Quando estiver com um tempo livre eu vou investigar para ver se descubro algum modo de criar essa lista branca dentro do JRE do OpenJDK (ou se no plugin IcedTea-Web é possível estabelecer essa lista branca).

Pesquisei bastante, ontem, mas infelizmente não encontrei nada: somente posts de outros usuários perguntando o mesmo, ou seja, querendo saber como se faz para adicionar o endereço de um website à whitelist ou "lista branca" do JRE do OpenJDK ou do plugin IcedTea-Web. O fato é que essa lista branca não existe, ou pelo menos eu não consegui encontrar esse recurso, tampouco encontrei alguma página na web indicando a suposta localização desse recurso.

No caso do Sun Java, as configurações de segurança são feitas no próprio JRE, por intermédio do binário executável jcontrol. Mas, talvez pelo fato de a estrutura do OpenJDK ser "modular" (1 pacote de instalação para o JDK, 1 pacote de instalação para o JRE, 1 pacote de instalação para o plugin externo IcedTea-Web - que não é parte do OpenJDK mas integra-se a ele - etc.), no OpenJDK de fato não há um painel de controle, cabendo ao plugin que for integrado ao OpenJDK a função de fornecer um painel de controle para (entre outras coisas) definir o que é que o plugin permitirá interagir com o JRE do sistema.

No caso do plugin IcedTea-Web, o painel de controle é inicializado pelo binário executável itweb-settings. Mas, como você já havia comentado, esse painel de controle não possui um recurso que permita criar uma whitelist ou "lista branca" de endereços web. Cheguei a usar aquele editor de políticas (policy tool) do OpenJDK para criar o arquivo .java.policy dentro de minha pasta de usuário (caminho: ~/.java.policy) adicionando o endereço do applet à política do JRE com a permissão "AllPermissions", mas isso não resolveu o problema.

Em suma: ao que me parece, pelo menos por enquanto o OpenJDK de fato não dispõe de um painel de controle, e o painel de controle do IcedTea-Web propõe-se a exercer tal função porém é mais limitado que o do Sun Java.
Yuri Sucupira ("Sampayu")

alevian

Sampayu e demais prezados,

Não sei se auxilia, mas as respostas à instalação, em relação ao problema das "telinhas chatas", parecem variar, conforme a distribuição.

Tenho instalado o OpenJDK e o IcedTea, automaticamente atualizados, no Debian 7 e no Ubuntu 14.04.

No Debian, as telinhas não aparecem. Só nessa versão mais nova do Ubuntu.

A instalação fiz do mesmo modo, em ambos, com uma única linha de comando.
Uso só no Firefox / Iceweasel.
Ou pode ser que esteja variando a interação dos novos Firefox com o plugin, já que a versão do Iceweasel é a stable.
Hipóteses...

Abraços!
Linux User 586375

Sampayu

Citação de: alevian online 28 de Julho de 2014, 11:44
Sampayu e demais prezados,

Não sei se auxilia, mas as respostas à instalação, em relação ao problema das "telinhas chatas", parecem variar, conforme a distribuição.

Tenho instalado o OpenJDK e o IcedTea, automaticamente atualizados, no Debian 7 e no Ubuntu 14.04.

No Debian, as telinhas não aparecem. Só nessa versão mais nova do Ubuntu.

A instalação fiz do mesmo modo, em ambos, com uma única linha de comando.
Uso só no Firefox / Iceweasel.
Ou pode ser que esteja variando a interação dos novos Firefox com o plugin, já que a versão do Iceweasel é a stable.
Hipóteses...

Abraços!

Você pode acessar o Synaptic, tanto no Ubuntu quanto no Debian, e ver se a versão do pacote do plugin IcedTea-Web é a  mesma nos dois sistemas operacionais. Também no Synaptic é possível visualizar a lista de pastas e arquivos que o pacote instalou. Com essas análises você pode acabar descobrindo o que um pacote tem de diferente (em relação ao que foi instalado no outro sistema) que pode de repente estar possibilitando evitar a "telinha chata".
Yuri Sucupira ("Sampayu")

alexandre.mbm

Citação de: Sampayu online 28 de Julho de 2014, 12:07
Você pode acessar o Synaptic, tanto no Ubuntu quanto no Debian, e ver se a versão do pacote do plugin IcedTea-Web é a mesma nos dois sistemas operacionais. Também no Synaptic é possível visualizar a lista de pastas e arquivos que o pacote instalou. Com essas análises você pode acabar descobrindo o que um pacote tem de diferente (em relação ao que foi instalado no outro sistema) que pode de repente estar possibilitando evitar a "telinha chata".

Também pode lançar mão dos comandos a seguir.

Identificando o pacote...

$ dpkg -l | grep -i icedtea | grep -i plugin
ii  icedtea-7-plugin:amd64                                1.5-1ubuntu1                                        amd64        web browser plugin based on OpenJDK and IcedTea to execute Java applets
ii  icedtea-plugin                                        1.5-1ubuntu1                                        all          web browser plugin to execute Java applets (dependency package)


Informando-se sobre a fonte do pacote...

$ apt-cache policy icedtea-7-plugin
icedtea-7-plugin:
 Instalado: 1.5-1ubuntu1
 Candidato: 1.5-1ubuntu1
 Tabela de versão:
*** 1.5-1ubuntu1 0
       500 http://br.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
       100 /var/lib/dpkg/status


Listando os arquivos instalados pelo pacote...

$ apt-file list icedtea-7-plugin
icedtea-7-plugin: /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so
icedtea-7-plugin: /usr/share/doc/icedtea-7-plugin/changelog.Debian.gz
icedtea-7-plugin: /usr/share/doc/icedtea-7-plugin/copyright


E se o apt-file não estiver instalado...

$ sudo apt-get install apt-file
$ sudo apt-file update

alexandre.mbm

Citação de: alevian online 27 de Julho de 2014, 14:42
Se tiverem tempo, vejam as colocações neste blog de uma comunidade Slack sobre as últimas mudanças no OpenJDK e IcedTea :
http://alien.slackbook.org/blog/

http://alien.slackbook.org/blog/tag/java/

Update

Encontrei um tutorial do ubuntued que instrui a instalar o pacote oracle-jdk7-installer. Depois, avaliando o resultado do seguinte comando, descobri que trata-se de um meta pacote para o oracle-java7-installer:

sudo apt-cache show oracle-jdk7-installer

Após instalado, deve existir isto:

$ java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)


Três referências interessantes, com um leque de comandos:


Sampayu

Citação de: alexandre.mbm online 01 de Agosto de 2014, 17:20
Citação de: alevian online 27 de Julho de 2014, 14:42
Se tiverem tempo, vejam as colocações neste blog de uma comunidade Slack sobre as últimas mudanças no OpenJDK e IcedTea :
http://alien.slackbook.org/blog/

http://alien.slackbook.org/blog/tag/java/

Update

Encontrei um tutorial do ubuntued que instrui a instalar o pacote oracle-jdk7-installer. Depois, avaliando o resultado do seguinte comando, descobri que trata-se de um meta pacote para o oracle-java7-installer:

sudo apt-cache show oracle-jdk7-installer

Após instalado, deve existir isto:

$ java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)


Três referências interessantes, com um leque de comandos:


Todos esses links estão ensinando essencialmente a mesma coisa: instalar o Java da Oracle a partir do repositório que é mantido por uma equipe autodenominada Webupd8team.

Eu não ensino a fazer isso no meu tutorial essencialmente por duas razões:
1) Porque já existem "zilhões" de tutoriais ensinando a fazer isso; e
2) Porque não confio em repositórios não-oficiais. Vide lá na introdução deste tutorial o parágrafo que inicia por "Não recomendo instalar o Sun Java por intermédio de PPA não-oficiais ou outros repositórios não-oficiais (repositórios de terceiros)".

Cabe a cada um decidir se confia ou não em repositórios de terceiros. No meu tutorial eu não ensino nem recomendo esse tipo de instalação. Essa foi uma das razões por que eu preferi elaborar um tutorial que ensina a instalar o Java da Sun manualmente, aos que optarem por não instalá-lo via repositório não-oficial: foi para dar uma alternativa a quem, assim como eu, não gosta desses repositórios de terceiros.

Apesar de considerar saudável que os participantes deste fórum discutam alternativas de instalação do Java (até porque o método que meu tutorial ensina não é perfeito e 100% infalível, embora convenhamos que seja muito difícil algum problema ocorrer com este método manual e, quando ocorre, geralmente não é por falha do método em si mas sim porque o usuário não soube configurar alguma coisa ou porque a distribuição dele possui algum problema preliminar de configuração), eu entendo que enquanto mencionar alternativas (como formas de instalação do OpenJDK e do Oracle Java disponibilizado via repositório do Webupd8team) seja uma colaboração desejável, o desenvolvimento desses temas dentro do tema deste tópico pode desvirtuar o foco e entrar numa seara que não é o objetivo deste tutorial: é muito melhor que esses tópicos sejam discutidos nos fóruns específicos dessas alternativas de instalação, ou seja, respectivamente nos fóruns dos tutoriais que ensinam esses outros métodos de instalação. Até mesmo porque em tais fóruns haverá usuários que já usaram esses outros métodos e poderão orientar melhor os leitores-participantes que desejarem fazer o mesmo (usar o mesmo método).

Sintam-se à vontade para mencionar aqui métodos de instalação alternativos e JRE/JDK alternativos (e apontar os links para esses outros métodos, como o alexandre.mbm fez - contanto que não sejam "mais do mesmo": os métodos de instalação do OpenJDK e do Oracle via Webupd8team já são largamente conhecidos e já foram mencionados por aqui, não sendo mais necessário mencioná-los).

Em suma: só peço que não desenvolvam esses temas aqui dentro. Apenas mencioná-los e incluir ligações externas para eles já é suficiente para contribuir com conhecimento novo sem desvirtuar o tópico deste tutorial. ;)
Yuri Sucupira ("Sampayu")

alexandre.mbm

Eu tinha consciência de que as quatro fontes essencialmente ensinavam a mesma coisa. Mas para cada uma eu atribui uma característica diferencial: cada uma ensinava algo que eu não encontrara mastigado em outros locais. Mencionei: nome do pacote, pacote de autoconfiguração, alteração de configurações, automatização de aceitação da licença.

Enfim, eu reconheço que errei ao invadir o tópico com a abordagem. Principalmente porque fiz isso em decorrência de não ter prestado atenção suficiente ao texto e inspiração originais do próprio tópico, ou não voltei para reler e verificar.

Barba rala


delhmc

Citação de: Barba rala online 06 de Agosto de 2014, 10:14
Muito complicado para iniciante, no link abaixo o procedimento funciona pra todos navegadores.
olha só esse link:

http://www.indaialinux.com.br/2012/10/instalando-guardiao-itau-30-horas-no.html
Queria saber se esta servidor para download é confiável mesmo... Da última vez preferi fazer download do site oficial e ir realizando procedimentos manuais, rs.

Sampayu

Citação de: Barba rala online 06 de Agosto de 2014, 10:14
Muito complicado para iniciante, no link abaixo o procedimento funciona pra todos navegadores.
olha só esse link:

http://www.indaialinux.com.br/2012/10/instalando-guardiao-itau-30-horas-no.html

Este tópico é sobre a instalação manual do Sun Java. Favor não estimular tópicos a respeito de outros métodos, ainda mais a respeito de um método supermanjado como esse do Webupd8team, que já foi mencionado por aqui diversas vezes por outros usuários e para o qual já existem "zilhões" de páginas ensinando a fazer a instalação.

Este tópico aqui é para quem prefere instalar o Sun Java manualmente, seja porque não confia no repositório do Webupd8team, seja porque prefere instalar o tarball obtido diretamente no website oficial da Oracle, seja lá por que outro motivo for.

Se quiser abordar outro método de instalação, inicie o seu próprio tópico e daí escreva à vontade a respeito dele. Ao fazer isso aqui você invade o espaço de um tópico que tem outra finalidade, acaba confundindo os leitores e também desvirtuando o tema deste tópico. Postagens como a sua só atrapalham o desenvolvimento do tema.

Citaro procedimento funciona pra todos navegadores.
Isso não é verdade. Por exemplo: os navegadores Google Chrome e Google Chromium atualmente (versão 35.X ou posterior) não funcionam mais com plugins NPAPI, portanto pouco importa o método de instalação usado, o plugin Sun Java não vai funcionar.

E há vários outros navegadores GNU/Linux de arquitetura Webkit que dão problema e acabam não funcionando com o Sun Java, independentemente do método de instalação utilizado. É o caso dos navegadores Web (anteriormente denominado Epiphany), Konqueror (que utiliza KHTML e Webkit) e Qupzilla (que utiliza Qt e Webkit), só para citar alguns exemplos.
Yuri Sucupira ("Sampayu")

Sampayu

Citação de: delhmc online 06 de Agosto de 2014, 16:00
Citação de: Barba rala online 06 de Agosto de 2014, 10:14
Muito complicado para iniciante, no link abaixo o procedimento funciona pra todos navegadores.
olha só esse link:

http://www.indaialinux.com.br/2012/10/instalando-guardiao-itau-30-horas-no.html
Queria saber se esta servidor para download é confiável mesmo... Da última vez preferi fazer download do site oficial e ir realizando procedimentos manuais, rs.

O repositório do Webupd8team não é oficial.

Conforme eu comento na Introdução deste tutorial (no trecho iniciado por "Não recomendo instalar o Sun Java por intermédio de PPA não-oficiais..."), cabe a cada usuário decidir se instalará o Sun Java utilizando outro método (como por exemplo a partir de repositórios de terceiros). Este tutorial foi elaborado exclusivamente para ensinar a instalação manual porque o método manual é o mais confiável.

Ser o mais confiável não é necessariamente sinônimo de ser o mais rápido, nem de ser o mais fácil, nem de ser o mais prático. Na época em que elaborei este tutorial não havia nenhum tutorial em português ensinando corretamente a instalação manual (e mesmo em inglês você não encontrava tutorial ensinando a fazer o plugin Java funcionar no Google Chrome). Foi por isto que eu criei este tutorial e incluí várias dicas que eu mesmo não havia encontrado nos tutoriais em inglês de instalação manual, como por exemplo como fazer o plugin Java funcionar no Google Chrome e no Google Chromium, além de também ensinar os comandos que fazem com que o Sun Java sempre fique instalado dentro de /opt/java/jre e por isto não seja necessário ficar executando o comando update-alternatives sempre que o Sun Java é atualizado.

Feliz ou infelizmente, a Google parou de dar suporte à tecnologia NPAPI e por isto o plugin Sun Java atualmente não funciona nos navegadores Google Chrome e Chromium. Mas pelo menos nos navegadores arquitetura Mozilla (tais como Firefox, Opera, Iceweasel e SeaMonkey) este tutorial continua sendo útil.
Yuri Sucupira ("Sampayu")

delhmc

Fiz tudo manual também, não confio nem muito nas derivações extras do Ubuntu, a não ser aquelas reconhecidas pela Canonical, por exemplo...