Instalar última versão do Java automaticamente em "todas as plataformas"

Publicado por Iago Lira (última atualização em 22/09/2016)

[ Hits: 5.082 ]

Homepage: https://notabug.org/iagolira/

Download 6444.installjava.sh

Download 1468028456.installjava.sh (versão 2)

Download installjava1.2.sh (versão 3)




Olá pessoal!

Instalem a última versão do Java automaticamente com o script que elaborei pensando nos preguiçosos (eu mesmo rsrs). O menu possui as seguintes opções:
_________________________
/     Linux|Sistema|Arquitetura    \
\_________________________/
| (0) Linux RPM |
| (1) Linux i586 |
| (2) Linux x64 |
| (3) Linux x64 RP|
  __________________________________
/             Escolha o GP pelo número:              \
\___________________________________/

Atualmente o script não instala os arquivos RPM, mas sim, faz uso do código fonte.

Recompilei várias vezes no sistema que utiliza o Debian 8.4, espero que testem e gostem.

  



Versões atualizadas deste script

Versão 2 - Enviado por Iago Lira em 08/07/2016

Changelog: Fiz uma pequena correção, pois o script estava baixando o java duas vezes. Só não implementei a instalação dos pacotes rpm.

Download 1468028456.installjava.sh


Versão 3 - Enviado por Iago Lira em 10/08/2016

Changelog: Nesta versão, incluí a instalação dos pacotes RPM (ainda em teste) e adicionei um pacote para acompanhar todas as atualizações do Java da ORACLE.

Download installjava1.2.sh


Esconder código-fonte

#!/bin/bash
export site="http://www.java.com/en/download/linux_manual.jsp"
export cnt
export opcao

function install ()
{
case $* in
  0)
    echo "Está em construção!"
  ;;
  1)
    cd /tmp
    narq2=$(wget http://www.java.com/en/download/linux_manual.jsp -q -O - | grep Version | sed 's/.*Recommended Version//g;s/<.*//g;2d' | awk '{print "jre-"$1"u"$3"-linux-i586.tar.gz"}')
    ndir2=$(wget http://www.java.com/en/download/linux_manual.jsp -q -O - | grep Version | sed 's/.*Recommended Version//g;s/<.*//g;2d' | awk '{print "jre1."$1".0_"$3""}')
    rm AutoDL?BundleId=*
    wget http://javadl.oracle.com/webapps/download/AutoDL?BundleId=207763
    mv AutoDL?BundleId=* $narq2
    tar xvzf $narq2 -C /usr/java
    [ -e $narq2 ] && { rm $narq2; wget http://javadl.oracle.com/webapps/download/AutoDL?BundleId=207763; }
    [ -d /usr/java ] && tar xvzf $narq2 -C /usr/java || { mkdir /usr/java; tar xvzf $narq2 -C /usr/java; }
    JAVA_HOME=/usr/java/$ndir2
    update-alternatives --install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 20000
    update-alternatives --install /usr/bin/javac javac ${JAVA_HOME%*/}/bin/javac 20000
    update-alternatives --config java
    java -version
  ;;
  2)
    cd /tmp
    narq2=$(wget http://www.java.com/en/download/linux_manual.jsp -q -O - | grep Version | sed 's/.*Recommended Version//g;s/<.*//g;2d' | awk '{print "jre-"$1"u"$3"-linux-x64.tar.gz"}')
    ndir2=$(wget http://www.java.com/en/download/linux_manual.jsp -q -O - | grep Version | sed 's/.*Recommended Version//g;s/<.*//g;2d' | awk '{print "jre1."$1".0_"$3""}')
    rm AutoDL?BundleId=*
    wget http://javadl.oracle.com/webapps/download/AutoDL?BundleId=207765
    mv AutoDL?BundleId=* $narq2
    tar xvzf $narq2 -C /usr/java
    [ -e $narq2 ] && { rm $narq2; wget http://javadl.oracle.com/webapps/download/AutoDL?BundleId=207765; }
    [ -d /usr/java ] && tar xvzf $narq2 -C /usr/java || { mkdir /usr/java; tar xvzf $narq2 -C /usr/java; }
    JAVA_HOME=/usr/java/$ndir2
    update-alternatives --install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 20000
    update-alternatives --install /usr/bin/javac javac ${JAVA_HOME%*/}/bin/javac 20000
    update-alternatives --config java
    java -version
  ;;
  3)
    echo "Está em construção!"
  ;;
esac
}

while :
do
#Cleariando rsrs
clear

#Salvando lista de SOs
[ -e sos ] || wget $site -q -O - | grep Instructions | sed 's/.*for//g;s/".*//g' > sos
#----Menu----
#Estetica
#begin: cont
cnt=0
#end: cont
  tput cup 1 3
  echo "  _________________________"
  tput cup 2 3
  echo " /   `uname -a | cut -d' ' -f1,6,9 | sed 's/ /\|/g'`   \ "
  tput cup 3 3
  echo ' \_________________________/'
    while read x
    do
     tput cup $((cnt+4)) 8
      [ $cnt -ne 1 ] && echo "| ($cnt) $x" || echo "| ($cnt) $x i586"
     tput cup $((cnt+4)) 26
      echo "|"
     let cnt=$cnt+1
    done < sos
  tput cup $((cnt+4)) 0
  echo " ___________________________________"
  tput cup $((cnt+6)) 0
  echo "\___________________________________/"
  tput cup $((cnt+5)) 36
  echo "\ "
  tput cup $((cnt+5)) 0
  read -n 1 -p '/    Escolha o GP pelo número:' opcao
  echo ""
  echo ""
  
  if [ $opcao -le 3 ] && [ $opcao -ge 0 ]; then
   install $opcao
  else
   tput cup $(($cnt+5)) 0
   read -n 1 -p '/Alerta: Digite uma opcao valida:   ' opcao
   [ $opcao -le 3 ] && [ $opcao -ge 0 ] && install $opcao
   echo ""
   echo ""
  fi
done

Scripts recomendados

Instale o driver proprietário Nvidia baixado do site oficial em qualquer distro

Fluxbox: Wallpapers aleatórios

Compilação de módulos para VMware 12.5.7 no Fedora 26

Raízes da equação de segundo grau (Bhaskara) através do prompt em shell

Montando sua máquina virtual para engenharia reversa em Linux


  

Comentários
[1] Comentário enviado por iagolira em 08/07/2016 - 22:43h

Fiz uma pequena correção, pois o script estava baixando o java duas vezes. Só não implementei a instalação dos pacotes rpm.
Nome: Francisco Iago Lira Passos
Curso: Mestrando em Física

[2] Comentário enviado por carlos_hpc em 12/12/2016 - 20:50h

uso o opensuse 42.2 e após testar todas as funções ainda não consigo rodar o javac.

ps: tenho só uma semana de uso no linux

[3] Comentário enviado por iagolira em 05/03/2017 - 14:12h


[2] Comentário enviado por carlos_hpc em 12/12/2016 - 20:50h

uso o opensuse 42.2 e após testar todas as funções ainda não consigo rodar o javac.

ps: tenho só uma semana de uso no linux


Desculpe-me pela demora, mas a solução está num dos tópicos do VOL: https://www.vivaolinux.com.br/dica/Solucionando-o-javac-command-not-found


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts