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

tomtomnz
fonte
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?
ish
fonte
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.

Draco Ater
fonte
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.

Periata Breatta
fonte
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.

insistente
fonte
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).

user104502
fonte
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

Nicolas Mas
fonte