Come posso bypassare la pagina di licenza per scaricare Oracle / Sun Java su un server con wget?


10

Sto cercando di installare Liferay su Ubuntu Server 12.04, che richiede JRE e raccomanda la versione 6.

Non riesco a trovare JRE6 in un repository autorevole e non riesco a capire come superare l'accordo di licenza per un download manuale (wget).

Posso aggiungere un valore per wget per accettare il contratto di licenza Oracle e scaricare il file?

Grazie


Per i futuri ricercatori, controlla questo: stackoverflow.com/a/10959815/2184122
Robert Lugg

Risposte:


10

Download Java "automatizzati" Oracle (JRE / JDK 6/7 e altri ...)

Avrai bisogno di sqlite3 installato; è un piccolo pacchetto, usare sudo apt-get install sqlite3se necessario.

  1. Apri Firefox, vai alla pagina dei download Java per la versione / variante di cui hai bisogno e fai clic sul pulsante di opzione Accetta Contratto di Licenza .

    inserisci qui la descrizione dell'immagine

  2. Apri un terminale e incollalo per estrarre i necessari cookie di sessione Oracle dal database dei cookie di SQLite Firefox in un cookiesformato di file di testo wgetutilizzabile ( fonte per lo script ):

    echo ".mode tabs
    seleziona host, caso quando host glob '. *' quindi 'TRUE' altrimenti 'FALSE' fine, percorso,
    caso quando isSecure quindi 'TRUE' altrimenti 'FALSE' fine, scadenza, nome, valore
    da moz_cookies; "| sqlite3 ~ / .mozilla / firefox / *. default / cookies.sqlite
    | grep -i oracle> /tmp/oracle-cookies.txt
    
  3. Ora usa wgetper scaricare con quei cookie di sessione:

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

    • È possibile utilizzare questi cookie per qualsiasi download Oracle purché provenga dalla otn-pubdirectory
    • È possibile incollare lo script in un file .sh per un uso più semplice
    • I cookie non sono associati all'IP, quindi per un server senza testa / CLI, semplicemente SCP o trasferisci il cookiesfile e puoi scaricare da qualsiasi computer (ma c'è un timeout di 30 minuti sul cookie, quindi fai attenzione)
    • Correlati: Come posso usare wget / curl per scaricare da un sito a cui ho effettuato l'accesso?

1
È legale al 100%?
Tachioni

@tachyons Sì, devi aprire un browser su un computer e fare clic su "Accetta il contratto di licenza" prima di poter eseguire una di queste operazioni ...
ish

Fantastico trucco, ma hai idea se funziona ancora? Continuo a provarlo ma scarica solo un contenuto della pagina html che dice "Siamo spiacenti! Per scaricare prodotti dall'OTN è necessario accettare i termini della licenza OTN". O sto sbagliando o Oracle è diventato saggio in questo ...
Kurtosis,

Puoi sempre passare l'URL anche nel browser :)
Dreamwalker

Mentre questa risposta è fantastica, quella che ho appena pubblicato di seguito è molto più semplice. Naturalmente, potresti dover ricorrere a questo se il mio smette di funzionare.
Periata Breatta,

6

C'è una domanda simile su StackOverflow: come automatizzare il download e l'installazione di Java JDK su Linux?

La risposta usando 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"

L'ultimo argomento è l'URL da cui scaricare. Diversi archivi di versioni java differiscono non solo per la versione, ma anche per l'estensione.


2
Non lavora più.
Roger Dahl,

sì, questo non funziona, continua a reindirizzarmi a login.oracle.com
Alexander Mills,

6

Un consiglio da mkyong.com : è possibile utilizzare wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]per scaricare senza la necessità di estrarre i cookie dal browser.


Questo è chiaramente migliore delle altre risposte finché funziona. È ancora il caso al momento in cui scrivo.
Ludovic Kuty,

1

In aggiunta alla risposta di izx, esiste un plug-in di Chrome che puoi usare per esportare i tuoi cookie, quindi non devi usare sqlite.


La risposta di @ izx è ottima. Ma preferisco di gran lunga il suggerimento di Pushy di usare "Cookie.txt export" per ottenere il contenuto del cookie (corrispondente al passaggio 2 della risposta di izx) piuttosto che usare sqlite3.
mdahlman,

0

Un modo rapido senza i cookie:

  • Inizia il download nel tuo browser
  • Metti in pausa il download
  • Copia l'URL utilizzato per il download
  • Usa l'URL con wget: wget --no-check-certificate URL_FOR_DOWNLOAD

L'URL è probabilmente valido solo per un periodo di tempo limitato (spesso 30 minuti).


0

In realtà, basta ottenere il contenuto fornito dall'estensione chrome menzionata da pushy in un file sul tuo Linux. Quindi copia l'indirizzo dl dalla pagina Oracle e aggiungilo al tuo comando wget. Ad esempio, per dl Oracle Database 11g versione 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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.