Como ignoro a página de licença para baixar o Oracle / Sun Java em um servidor com wget?


10

Estou tentando instalar o Liferay no Ubuntu Server 12.04, que requer JRE e recomenda a versão 6.

Não consigo encontrar o JRE6 em um repositório oficial e não consigo descobrir como superar o contrato de licença para um download manual (wget).

Posso adicionar um valor ao wget para aceitar o contrato de licença da Oracle e baixar o arquivo?

obrigado


Para futuros pesquisadores, verifique o seguinte: stackoverflow.com/a/10959815/2184122
— Robert Lugg

Respostas:


10

Downloads Java "automatizados" do Oracle (JRE / JDK 6/7 e outros ...)

Você precisará do sqlite3 instalado; é um pacote pequeno, use sudo apt-get install sqlite3se você precisar.

  1. Abra o Firefox, vá para a página de downloads do Java para a versão / variante necessária e clique no botão de opção Aceitar contrato de licença .

    insira a descrição da imagem aqui

  2. Abra um terminal e cole-o para extrair os cookies de sessão Oracle necessários do banco de dados de cookies SQLite do Firefox em um cookiesformato de arquivo de texto wget( origem do script ):

    echo ".mode guias
    selecione host, case when glob host '. *' e depois 'TRUE' else 'FALSE' end, path,
    case isSecure então 'TRUE' else 'FALSE' final, expiração, nome, valor
    from moz_cookies; "| sqlite3 ~ / .mozilla / firefox / *. default / cookies.sqlite
    | grep -i oracle> /tmp/oracle-cookies.txt
    
  3. Agora use wgetpara fazer o download com os cookies de sessão:

    wget --load-cookies=/tmp/oracle-cookies.txt wget http://download.oracle.com/otn-pub/java/jdk/6u14-b08/jdk-6u14-linux-x64.bin
  4. Notas:

    • Você pode usar esses cookies para qualquer download do Oracle, desde que provenha do otn-pubdiretório
    • Você pode colar o script em um arquivo .sh para facilitar o uso
    • Os cookies não estão associados ao IP; portanto, para um servidor sem cabeça / CLI, basta SCP ou transferir o cookiesarquivo e você pode fazer o download em qualquer computador (mas há um tempo limite de 30 minutos no cookie, tenha cuidado)
    • Relacionado: Como uso o wget / curl para baixar de um site no qual estou conectado?

1
É 100% legal?
— Tachyons

@tachyons Sim, você tem que abrir um navegador em algum computador e clique em "Aceitar Contrato de Licença" antes de poder fazer nada disso ...
— ish

Truque legal, mas alguma idéia se ainda funciona? Continuo tentando, mas ele baixa apenas um conteúdo da página html que diz "Desculpe! Para fazer o download de produtos da OTN, você deve concordar com os termos de licença da OTN". Ou eu estou fazendo errado ou Oracle tem sábio para isso ...
— Curtose

Você sempre pode apenas passado que URL no navegador, bem :)
— Dreamwalker

Embora essa resposta seja ótima, a que acabei de postar abaixo é muito mais fácil. Claro, você pode precisar voltar a este caso o meu parar de funcionar.
— Periata Breatta

6

Há uma pergunta semelhante no stackoverflow: como automatizar o download e a instalação do Java JDK no Linux?

A resposta usando o wget é:

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz"

O último argumento é o URL para fazer o download. Diferentes arquivos da versão java diferem não apenas na versão, mas também na extensão.


2
Não funciona mais.
— Roger Dahl

sim isso não funcionar, continua me redirecionando para login.oracle.com
— Alexander Mills

6

Uma dica do mkyong.com : você pode usar wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]para fazer o download sem precisar extrair cookies do seu navegador.


Isso é claramente melhor do que as outras respostas, desde que funcione. Ainda é o caso no momento desta redação.
— Ludovic Kuty

1

Como complemento à resposta izx, existe um plug - in chrome que você pode usar para exportar seus cookies, para que você não precise usar o sqlite.


A resposta de @izx é ótima. Mas eu prefiro a sugestão insistente de usar "Cookie.txt export" para obter o conteúdo do cookie (correspondente à etapa 2 da resposta do izx) em vez de usar o sqlite3.
— mdahlman

0

Uma maneira rápida e sem cookies:

  • Inicie o download no seu navegador
  • Pausar o download
  • Copie o URL que está sendo usado para o download
  • Use o URL com o wget: wget --no-check-certificate URL_FOR_DOWNLOAD

O URL provavelmente é válido apenas por um período limitado de tempo (geralmente 30 minutos).


0

Na verdade, basta obter o conteúdo fornecido pela extensão do chrome mencionada por pushy em um arquivo no seu linux. Em seguida, copie o endereço dl da página oracle e adicione-o ao seu comando wget. Por exemplo, para dl Oracle Database 11g Release 2 (11.2.0.1.0):

vagrant@vagrant-ubuntu-trusty-64:~/download$ wget -x --load-cookies cookies.txt http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.