Bagaimana cara melewati halaman lisensi untuk mengunduh Oracle / Sun Java di server dengan wget?

10

Saya mencoba menginstal Liferay di Ubuntu Server 12.04, yang memerlukan JRE dan merekomendasikan versi 6.

Saya tidak dapat menemukan JRE6 di repositori resmi, dan saya tidak bisa menemukan cara untuk melewati perjanjian lisensi untuk pengunduhan manual (wget).

Bisakah saya menambahkan nilai pada wget untuk menerima perjanjian lisensi Oracle dan mengunduh file?

Terima kasih

tomtomnz
sumber
Untuk pencari masa depan, periksa ini: stackoverflow.com/a/10959815/2184122
Robert Lugg

Jawaban:

10

Unduhan Oracle Java "Otomatis" (JRE / JDK 6/7 dan lainnya ...)

Anda perlu menginstal sqlite3 ; ini paket kecil, gunakan sudo apt-get install sqlite3jika perlu.

  1. Buka Firefox, buka halaman unduhan Java untuk versi / varian yang Anda butuhkan, dan klik tombol radio Terima Lisensi Perjanjian .

    masukkan deskripsi gambar di sini

  2. Buka terminal, dan rekatkan ini untuk mengekstrak cookie sesi Oracle yang diperlukan dari basis data cookie Firefox SQLite ke dalam cookiesformat file teks yang wgetdapat digunakan ( sumber untuk skrip ):

    echo ".mode tabs
    pilih host, beri tanda ketika host glob '. *' lalu 'TRUE' else 'FALSE' akhir, path,
    kasus ketika isSecure lalu 'BENAR' lain 'SALAH' akhir, kedaluwarsa, nama, nilai
    dari moz_cookies; "| sqlite3 ~ / .mozilla / firefox / *. default / cookies.sqlite
    | grep -i oracle> /tmp/oracle-cookies.txt
    
  3. Sekarang gunakan wgetuntuk mengunduh dengan cookie sesi tersebut:

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

    • Anda dapat menggunakan cookie ini untuk unduhan Oracle apa pun asalkan berasal dari otn-pubdirektori
    • Anda dapat menempelkan skrip ke file .sh agar lebih mudah digunakan
    • Cookie tidak terkait dengan IP, jadi untuk server tanpa kepala / CLI, cukup SCP atau transfer cookiesfile dan Anda dapat mengunduh dari komputer mana pun (tetapi ada batas waktu 30 menit pada cookie, jadi waspadalah)
    • Terkait: Bagaimana cara menggunakan wget / curl untuk mengunduh dari situs tempat saya masuk?
ish
sumber
1
Apakah ini 100% legal?
Tachyons
@tachyons Ya, Anda harus membuka browser di beberapa komputer dan mengklik "Terima Perjanjian Lisensi" sebelum Anda dapat melakukan semua ini ...
ish
Trik keren, tapi ada ide kalau masih berfungsi? Saya terus mencobanya tetapi hanya mengunduh konten halaman html yang mengatakan "Maaf! Untuk mengunduh produk dari OTN Anda harus menyetujui persyaratan lisensi OTN". Entah saya salah melakukannya atau Oracle bijaksana untuk ini ...
Kurtosis
Anda selalu dapat melewati url itu ke dalam browser juga :)
Dreamwalker
Meskipun jawaban ini bagus, jawaban yang saya posting di bawah ini jauh lebih mudah. Tentu saja, Anda mungkin harus kembali ke yang ini jika milik saya berhenti berfungsi.
Periata Breatta
6

Ada pertanyaan serupa tentang stackoverflow: Bagaimana cara mengotomatisasi pengunduhan dan pemasangan Java JDK di Linux?

Jawaban menggunakan wget adalah:

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"

Argumen terakhir adalah url untuk diunduh. Arsip versi java yang berbeda tidak hanya berbeda dalam versi, tetapi juga ekstensi.

Draco Ater
sumber
2
Tidak lagi berfungsi.
Roger Dahl
ya ini tidak berhasil, terus mengarahkan saya untuk login.oracle.com
Alexander Mills
6

Kiat dari mkyong.com : dapat Anda gunakan wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]untuk mengunduh tanpa perlu mengekstrak cookie dari browser Anda.

Periata Breatta
sumber
Ini jelas lebih baik daripada jawaban yang lain selama itu berhasil. Ini masih terjadi pada saat penulisan ini.
Ludovic Kuty
1

Sebagai tambahan untuk jawaban izx, ada plugin chrome yang dapat Anda gunakan untuk mengekspor cookie Anda, sehingga Anda tidak harus menggunakan sqlite.

ambisius
sumber
@ Ix's jawaban yang bagus. Tapi saya lebih suka saran pushy menggunakan "ekspor Cookie.txt" untuk mendapatkan konten cookie (sesuai dengan langkah 2 dari jawaban izx) daripada menggunakan sqlite3.
mdahlman
0

Cara cepat tanpa cookie:

  • Mulai unduhan di browser Anda
  • Jeda unduhan
  • Salin url yang digunakan untuk unduhan
  • Gunakan url dengan wget: wget --no-check-certificate URL_FOR_DOWNLOAD

URL mungkin hanya valid untuk waktu yang terbatas (sering 30 menit).

pengguna104502
sumber
0

Sebenarnya, hanya mendapatkan konten yang diberikan oleh ekstensi chrome yang disebutkan oleh pushy dalam file di linux Anda. Kemudian salin alamat dl dari halaman oracle dan tambahkan ke perintah wget Anda. Misalnya, untuk 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
sumber