Desde o final de agosto a Oracle resolve descontinuar a sua licença que permitia as diversas distribuições Linux de fornecer os binários do java em favor do OpenJDK. Uma notícia que deixou muita gente preocupada.
Sem java da Oracle nas distribuições.
Desde daquela data não houve mais atualizações no java, a não ser pelo próprio OpenJDK. Mesmo assim a preocupação de muitos é que ainda existem vários aplicativos que não funciona no OpenJDK. Além dessa há uma preocupação já que algumas distribuições já estão planejando atualizações que removem o java descontinuado do sistema, o que realmente deixaria muitos usuários na mão.
Mas a comunidade reage bem rápido. Ao menos na distrubição Ubuntu e, por tabela, na Debian, criaram um PPA com a última versão da máquina virtual Java. Porém a Canonical desabilitou o PPA no dia seguinte por questões legais de distribuição dos binários, deixando novamente os usuários na mão.
Mas ainda tem uma solução, ao menos na Debian e Ubuntu. Criei um script simples mas que é eficaz para a última versão corrente do java. O que ele faz é pegar os scripts que geram o pacote do java em um repositório git, baixa os instaladores direto do site da Oracle, que é a única forma de não violar a proibição da redistribuição. E gera os pacotes necessários.
De resto é só dar um dpkg -i *.deb e pronto.
Segue o script logo abaixo:
#baixa os arquivos para gerar os pacotes
git clone git://github.com/rraptorr/sun-java6.git sun-java6
cd sun-java6
#baixa os binários do jdk do site da Oracle
wget -c http://download.oracle.com/otn-pub/java/jdk/6u30-b12/jdk-6u30-linux-i586.bin
wget -c http://download.oracle.com/otn-pub/java/jdk/6u30-b12/jdk-6u30-linux-x64.bin
#Baixa todas as dependencias
apt-get install debhelper lsb-release defoma unzip bzip2 patch libasound2 unixodbc libx11-6 libxext6 libxi6 libxt6 libxtst6
apt-get install lib32asound2 ia32-libs
#Gera os pacotes
dpkg-buildpackage -b
cd ..
#agora é só instalar
Para rodar só precisa digitar sudo ./script.sh ou ./script.sh se estiver como root.
Isso é válido apenas para a última versão (6 update 30). No caso de uma atualização só precisa copiar o endereço de download dos dois instaladores nas linhas do wget e alterar o changelog caso o mantenedor não atualize o repositório a tempo.
Tenham um bom final de semana.
Muito bom artigo!! Mesmo que a pessoa resolva modificar ou fazer manualmente, o script está bem comentado e é fácil de entender para qualquer um. Parabéns!!
ResponderExcluirEu vi que alguém tentou postar uma dúvida relacionada a dependências. Neste caso pode fazer o seguinte no final:
ResponderExcluirdpkg -i *.deb
Ou, se insistir nos erros:
dpkg --force-all *.deb
Assim todos os pacotes serão instalados.
Olá Adilson, obrigado por postar este script, ajudou bastante!
ResponderExcluirSó como nota, tive que instalar o pacote java-commons no meu Ubuntu 11.04 para que a instalação dos pacotes DEB criados fosse realizada sem problemas!
Para usuários sem necessidades de desenvolver em Java instalar os pacotes abaixo parecer ser suficiente:
sudo dpkg -i sun-java6-bin_6.30-4_amd64.deb sun-java6-fonts_6.30-4_all.deb sun-java6-jre_6.30-4_all.deb sun-java6-plugin_6.30-4_amd64.deb
Olá Adilson,
ResponderExcluirna versão atual(7) do Oracle Java atualizei o repositorio git
github.com/rraptorr/oracle-java7
e o endereço de download dos instaladores Java
http://download.oracle.com/otn-pub/java/jdk/7u3-b04/jdk-7u3-linux-i586.tar.gz
http://download.oracle.com/otn-pub/java/jdk/7u3-b04/jdk-7u3-linux-x64.tar.gz
Obrigado!