Wie umgehe ich die Lizenzseite, um Oracle / Sun Java auf einen Server mit wget herunterzuladen?

10

Ich versuche, Liferay auf Ubuntu Server 12.04 zu installieren, was JRE erfordert und Version 6 empfiehlt.

Ich kann JRE6 nicht in einem autorisierenden Repository finden und ich kann nicht herausfinden, wie ich die Lizenzvereinbarung für einen manuellen (wget) Download überwinden kann.

Kann ich wget einen Wert hinzufügen, um die Oracle-Lizenzvereinbarung zu akzeptieren und die Datei herunterzuladen?

Vielen Dank

Tomtomnz
quelle
Überprüfen Sie dies für zukünftige Suchende: stackoverflow.com/a/10959815/2184122
Robert Lugg

Antworten:

10

"Automatisierte" Oracle Java-Downloads (JRE / JDK 6/7 und andere ...)

Sie müssen sqlite3 installiert haben; Es ist ein winziges Paket, das sudo apt-get install sqlite3Sie bei Bedarf verwenden können.

  1. Öffnen Sie Firefox, rufen Sie die Java-Downloadseite für die gewünschte Version / Variante auf und klicken Sie auf das Optionsfeld Lizenzvereinbarung akzeptieren .

    Geben Sie hier die Bildbeschreibung ein

  2. Öffnen Sie ein Terminal und fügen Sie dieses ein, um die erforderlichen Oracle-Sitzungscookies aus der Firefox SQLite-Cookie-Datenbank in eine Formattextdatei zu extrahieren, die cookiesverwendet werden wgetkann ( Quelle für Skript ):

    echo ".mode tabs
    Wählen Sie Host, Fall, wenn Host Glob '. *' dann 'TRUE' sonst 'FALSE' Ende, Pfad,
    Fall wenn isSecure dann 'TRUE' sonst 'FALSE' Ende, Ablauf, Name, Wert
    von moz_cookies; "| sqlite3 ~ / .mozilla / Firefox / *. default / cookies.sqlite
    | grep -i oracle> /tmp/oracle-cookies.txt
    
  3. Verwenden Sie jetzt wgetzum Herunterladen mit diesen Sitzungscookies:

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

    • Sie können diese Cookies für jeden Oracle-Download verwenden, solange sie aus dem otn-pubVerzeichnis stammen
    • Sie können das Skript zur einfacheren Verwendung in eine .sh-Datei einfügen
    • Die Cookies sind nicht mit IP verknüpft. Bei einem Headless- / CLI-Server cookieskönnen Sie die Datei einfach SCP oder übertragen und von jedem Computer herunterladen (das Cookie enthält jedoch eine 30-minütige Zeitüberschreitung, seien Sie also vorsichtig).
    • Verwandte Themen: Wie verwende ich wget / curl, um von einer Site herunterzuladen, bei der ich angemeldet bin?
ish
quelle
1
Ist es 100% legal?
Tachyons
@tachyons Ja, Sie müssen auf einem Computer einen Browser öffnen und auf "Lizenzvereinbarung akzeptieren" klicken, bevor Sie dies tun können ...
ish
Cooler Trick, aber eine Idee, ob es noch funktioniert? Ich versuche es weiter, aber es wird nur der Inhalt einer HTML-Seite heruntergeladen, auf dem "Sorry! Um Produkte von der OTN herunterzuladen, müssen Sie den OTN-Lizenzbedingungen zustimmen". Entweder mache ich es falsch oder Oracle hat es verstanden ...
Kurtosis
Sie können diese URL auch immer einfach in den Browser
einfügen
Obwohl diese Antwort großartig ist, ist die, die ich gerade unten gepostet habe, viel einfacher. Natürlich müssen Sie möglicherweise auf diesen zurückgreifen, wenn meiner nicht mehr funktioniert.
Periata Breatta
6

Beim Stackoverflow stellt sich eine ähnliche Frage: Wie kann der Download und die Installation von Java JDK unter Linux automatisiert werden?

Die Antwort mit wget lautet:

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"

Das letzte Argument ist die URL, von der heruntergeladen werden soll. Verschiedene Java-Versionsarchive unterscheiden sich nicht nur in der Version, sondern auch in der Erweiterung.

Draco Ater
quelle
2
Funktioniert nicht mehr.
Roger Dahl
Ja, das funktioniert nicht, leitet mich immer wieder zu login.oracle.com weiter
Alexander Mills
6

Ein Tipp von mkyong.com : Sie können wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]zum Herunterladen verwenden, ohne Cookies aus Ihrem Browser extrahieren zu müssen.

Periata Breatta
quelle
Dies ist eindeutig besser als die anderen Antworten, solange es funktioniert. Dies ist zum Zeitpunkt dieses Schreibens immer noch der Fall.
Ludovic Kuty
1

Als Ergänzung zu izx answer gibt es ein Chrome-Plugin, mit dem Sie Ihre Cookies exportieren können, sodass Sie kein SQLite verwenden müssen.

aufdringlich
quelle
Die Antwort von @ izx ist großartig. Aber ich bevorzuge Pushys Vorschlag, "Cookie.txt export" zu verwenden, um den Cookie-Inhalt zu erhalten (entsprechend Schritt 2 der Antwort von izx), anstatt sqlite3 zu verwenden.
Mdahlman
0

Ein schneller Weg ohne Cookies:

  • Starten Sie den Download in Ihrem Browser
  • Unterbrechen Sie den Download
  • Kopieren Sie die URL, die für den Download verwendet wird
  • Verwenden Sie die URL mit wget: wget --no-check-certificate URL_FOR_DOWNLOAD

Die URL ist wahrscheinlich nur für eine begrenzte Zeit gültig (häufig 30 Minuten).

user104502
quelle
0

Holen Sie sich einfach den Inhalt der von pushy erwähnten Chrome-Erweiterung in eine Datei unter Ihrem Linux. Kopieren Sie dann die dl-Adresse von der Oracle-Seite und fügen Sie sie Ihrem wget-Befehl hinzu. Zum Beispiel für 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
quelle