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

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

[ Hits: 5.214 ]

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

Compartilhando a Internet com Iptables

Removendo carácter especial de arquivos recursivamente

Distribuindo arquivos para máquinas em rede

Baixar flatpak para um arquivo local

Limpando o Squid no Ubuntu


  

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