1.1. OBTENHA E INSTALE O SUN JAVA (JRE DA SUN/ORACLE).
Abra uma janela do terminal do shell (
não use o modo root / superusuário) e então execute o supercomando abaixo (um supercomando é uma concatenação/combinação de vários comandos em uma única linha de comando). O supercomando abaixo
serve tanto para instalar quanto para atualizar o JRE:
if [ -d /opt/java ]; then sudo rm -rf /opt/java; fi; sudo mkdir /opt/java; if [ `getconf LONG_BIT` == 64 ]; then sudo wget -4 https://javadl.oracle.com/webapps/download/AutoDL?BundleId=250118_d8aa705069af427f9b83e66b34f5e380 -O /opt/java/jre.tgz; else sudo wget -4 https://javadl.oracle.com/webapps/download/AutoDL?BundleId=250116_d8aa705069af427f9b83e66b34f5e380 -O /opt/java/jre.tgz; fi; cd /opt/java; sudo tar -xvf jre.tgz; sudo mv ./jre1* ./jre; sudo rm -f ./jre*.tgz
Notas:
1.1.1.
jre é uma abreviatura para
Java Runtime Environment ("Ambiente de Execução Java"). Dentro de um JRE há uma JVM (
Java Virtual Machine / Máquina Virtual Java). Nos JRE da Sun/Oracle, a JVM é o arquivo binário executável
java (sem extensão), que é responsável por executar os códigos Java. Um arquivo executável
javaw (sem extensão) também pode estar presente, para executar a mesma função do arquivo
java, só que dentro de uma janela (aquele
w é do inglês
window, que significa "janela"). Esses arquivos ficam dentro da pasta
bin (de "binários executáveis"), onde o JRE está instalado. Na instalação ensinada por este tutorial, os arquivos
java e
javaw ficarão dentro de
/opt/java/jre/bin/.
1.1.2. Este tutorial atualmente ensina a instalar o JRE 8u421, em que
8u421 significa
version 8, update 421 ("versão 8, atualização 421").
1.1.3.
.tgz significa que todos os arquivos e pastas do JRE primeiramente foram guardados dentro de um arquivo não compactado (extensão
.tar) e em seguida o arquivo
.tar foi compactado com o aplicativo
gzip, o que lhe adicionou a extensão
.gz após o
.tar (a extensão
.tgz é uma forma reduzida que, portanto, é sinônima da extensão dupla
.tar.gz). Como já explicado na introdução deste tutorial, arquivos com extensão
.tar.gz (ou
.tgz) recebem o nome de
tarball.
1.1.4.
sudo é a abreviação de
superuser do, que significa "execute como superusuário". O comando
sudo faz com que a sua conta de "usuário comum" temporariamente vire uma conta de superusuário ("administrador do sistema Linux"). Acrescentar
sudo antes de comandos administrativos (comandos que só podem ser executados por superusuários) faz com que você consiga executar esses comandos administrativos (desde que seu sistema Linux esteja configurado para permitir que sua conta "usuário comum" temporariamente torne-se conta superusuário). Quando você executa
sudo pela primeira vez, uma senha é solicitada (a menos que sua conta tenha sido criada sem senha nenhuma, o que aliás é uma
péssima ideia). Forneça a senha que você usa para efetuar login na sua conta de "usuário comum" e o
sudo funcionará.
1.1.5. Em algumas distribuições *Ubuntu (Ubuntu, XUbuntu, LUbuntu...) e até mesmo em algumas outras distribuições Linux, a combinação de teclas
Ctrl Alt T abre uma janela terminal do shell em modo "usuário comum". Outra maneira de abrir esse tipo de janela do terminal do Linux (emulador de shell Linux) consiste em clicar com o botão direito do mouse/touchpad sobre uma área livre da sua Área de Trabalho (
desktop) e então selecionar a opção que contenha a palavra
terminal ou
term (às vezes pode constar algo como
xconsole,
konsole ou alguma outra palavra contendo
console). Lembre-se: você tem de abrir o terminal
convencional (modo usuário).
Não use o terminal em modo superusuário (root)! Após copiar o supercomando acima, clique na janela do terminal do shell e então use a combinação de teclas
Ctrl Shift V para colar o supercomando diretamente no terminal (i.e. sem ter de digitar nada).
1.1.6. Na
página de download do JRE da Sun/Oracle há um link com instruções de instalação do JRE. Porém, as instruções sugerem instalar o Java dentro de
/usr, enquanto neste tutorial eu recomendo instalar em
/opt porque "opt" é abreviação de
optionals ("opcionais") e o JRE da Sun
é um opcional (porque ele
não é o JRE oficialmente fornecido com o seu sistema). Isso pode parecer bobagem, mas não é (e não é invenção da minha cabeça): esses
atributos e usos dos diretórios /usr,
/opt etc. fazem parte de uma padronização denominada
FHS ou Filesystem Hierarchy Standard ("Padrão de Hierarquia para Sistema de Arquivos"), instituída pela
Linux Foundation ("Fundação Linux") e adotada internacionalmente, inclusive pelo projeto
LSB ou Linux Standard Base ("Base Padrão de Linux"), base essa que inclusive está definida dentro de uma
norma ISO. Enfim: se você leva a sério o uso do seu sistema Linux, instale seu JRE opcional dentro de
/opt, ok?
Descrição dos comandos que compõem o supercomando acima:
- if [ -d /opt/java ]; (...) else sudo mkdir /opt/java; fi é um comando que verifica se a pasta /opt/java/ existe. Caso não exista, ela é criada (pois o JRE será instalado dentro dela). Caso já exista, então há um JRE obsoleto dentro dela, por isto ela é excluída, para que o JRE obsoleto seja "desinstalado" (essa é uma desinstalação básica, incompleta, que deve ser usada apenas por quem vai instalar ou atualizar o JRE. Se você quiser fazer uma desinstalação completa, siga para a seção 2), e em seguida a pasta /opt/java/ é (re)criada.
- if [ `getconf LONG_BIT` == 64 ]; then sudo wget (...) -O /opt/java/jre.tgz; fi é um comando que verifica se a arquitetura do seu sistema operacional Linux é 64 bits. Se for, ele usa o programa wget para pegar o tarball do instalador do JRE de 64 bits e salvá-lo em /opt/java/jre.tgz. Caso a arquitetura do seu sistema não seja 64 bits, então ela é de 32 bits, e neste caso o comando usa o wget para pegar o tarball do JRE de 32 bits e salvá-lo em /opt/java/jre.tgz.
- cd /opt/java entra na pasta /opt/java/.
- sudo tar -xvf jre.tgz extrai todo o conteúdo do tarball para dentro de /opt/java/.
- sudo mv ./jre1* ./jre renomeia a pasta do JRE para /opt/java/jre/. Por que isso? É porque o tarball do JRE 8u421 extraiu o conteúdo dele em /opt/java/jre1.8.0_421/, mas essa pasta jre1.8.0_421 precisa ser renomeada para jre porque isso otimizará o uso dos comandos update-alternatives executados no item 1.2 deste tutorial.
- sudo rm -f ./jre*.tgz exclui o tarball, tendo em vista que neste ponto do supercomando o tarball não será mais necessário.
1.2. DIGA AO SEU SISTEMA QUE O SUN JAVA É O SEU JRE PADRÃO.
SE (E SOMENTE SE) você NUNCA executou o comando a seguir, deste tutorial, então execute-o, no terminal do shell:
sudo update-alternatives --install /usr/bin/java java /opt/java/jre/bin/java 10; sudo update-alternatives --set java /opt/java/jre/bin/java
Notas:
1.2.1. Se em algum momento após a última instalação ou reinstalação do JRE da Sun você executou o comando do item
2.2, então você PRECISA executar o comando acima.
1.2.2. Este comando é o mesmo, tanto para sistemas de 32 bits quanto para os de 64 bits.
1.2.3. O comando só precisa ser executado na PRIMEIRA vez em que você instala algum (qualquer) JRE da Sun. Ele dirá ao seu sistema que o Sun Java (JRE da Sun/Oracle) foi instalado e que ele é o JRE padrão do seu sistema.
1.2.4. Este tutorial foi reformulado de modo que os nomes das instalações futuras sejam sempre modificados de jre1.8.0-401, jre1.8.0-411, jre1.8.0-421 etc. para simplesmente
jre. Isto tem duas vantagens: a primeira é que isso dispensa ficar executando o comando
update-alternatives sempre que se instala uma nova versão do Sun Java, já que ela sempre será gravada na mesma pasta:
jre; a segunda vantagem é que assim o seu sistema sempre terá apenas uma única (a mais recente) versão do Sun Java, que você instalou em
/opt/java/jre/, e isto é muito recomendável, por questões de
segurança.
1.3. VERIFIQUE SE O PROCEDIMENTO FUNCIONOU.
Não é possível saber diretamente qual é a versão do seu JRE padrão, mas indiretamente isso é possível: basta perguntar ao seu sistema qual é a versão da JVM que faz parte do seu JRE padrão. Para fazer essa pergunta ao seu sistema, execute este comando:
java -version
Se a resposta do comando acima contiver algo assim:
java version "1.8.0_421"...então o JRE da Sun foi realmente instalado e está corretamente configurado para ser o padrão do seu sistema.
Nota: o comando é o mesmo, tanto para sistemas de 32 bits quanto para os de 64 bits.
1.4. CRIE UM ATALHO PARA O PAINEL DE CONTROLE DO JRE.
Nota: se em alguma instalação anterior do JRE você já havia criado o atalho para o Painel de Controle do JRE da Sun/Oracle e não o excluiu, ignore esta etapa, pois o atalho previamente criado continuará válido e funcional após você atualizar o JRE.
Regra geral, as distribuições *Ubuntu (Ubuntu, XUbuntu etc.) reconhecem (e fazem aparecer no menu de aplicativos) os arquivos
.desktop que você puser dentro de
/usr/share/applications/. Como o JCONTROL (Painel de Controle do JRE proprietário da Sun/Oracle) não precisa necessariamente ser executado via terminal do shell, você pode querer criar um atalho para ele aparecer diretamente no menu de aplicativos. Caso seja esse o seu caso, tudo o que você precisa fazer é seguir estes passos:
1.4.1. Execute o seguinte comando, para instalar o GEdit caso ainda não o possua:
sudo apt-get install gedit -y
1.4.2. Agora execute o GEdit em modo de superusuário. Eis o comando:
sudo gedit /usr/share/applications/jcontrol.desktop
1.4.3. Se você instalou o JRE proprietário da Sun/Oracle tal qual eu expliquei neste tutorial, o binário executável
jcontrol estará localizado em
/opt/java/jre/bin/jcontrol. Neste caso, copie e cole o seguinte texto dentro da janela do GEdit:
[Desktop Entry]
Version=1.0
Type=Application
Name=Painel de controle Sun/Oracle JRE
Comment=Abre o painel de controle do Ambiente de Execução Java (JRE) proprietário da Sun/Oracle
Icon=/opt/java/jre/lib/images/icons/sun-java.png
Exec=/opt/java/jre/bin/jcontrol
NoDisplay=false
Categories=Java;Other;
StartupNotify=false
Terminal=false
1.4.4. Agora salve o arquivo e feche o GEdit.
Reinicie o computador, só para ter certeza de que o menu de aplicativos será atualizado. Feito isso, ao procurar
Sun/Oracle no menu de aplicativos você deverá ver um atalho para o painel de controle.
Caso queira excluir esse item do menu, basta executar este comando, no terminal do shell:
sudo rm -f /usr/share/applications/jcontrol.desktop
Caso prefira executar o JCONTROL diretamente via terminal do shell, basta executar este comando:
/opt/java/jre/bin/jcontrol && exit
...ou então este outro comando:
ControlPanel && exit
Se o comando
ControlPanel acima não funcionar, execute este comando para adicionar a localização dele ao arquivo de configuração do seu Bash (que é o shell ou "interpretador de comandos" padrão do *Ubuntu):
echo PATH=\$PATH:/opt/java/jre/bin |tee -a ~/.bashrc
Após executar o comando acima e reiniciar o computador ou efetuar logoff e login novamente, a variável de ambiente
PATH será recarregada com a informação de que os binários (i.e. arquivos executáveis) do JRE da Sun/Oracle estão situados em
/opt/java/jre/bin, por isto o comando
ControlPanel passará a funcionar.
Agora, caso queira instalar o
Firefox 51 (última versão do Firefox a ainda funcionar com o
plugin Sun Java)
sem prejudicar a instalação do seu Firefox atual (ou seja: caso queira executar duas versões diferentes do Firefox, em paralelo e sem conflitos), siga as dicas que apresento
neste tutorial.