Як мені обійти сторінку ліцензії для завантаження Oracle / Sun Java на сервер з wget?


10

Я намагаюся встановити Liferay на Ubuntu Server 12.04, який вимагає JRE і рекомендує версію 6.

Я не можу знайти JRE6 в авторитетному сховищі, і я не можу розібратися, як пройти ліцензійну угоду для завантаження вручну (wget).

Чи можу я додати значення wget, щоб прийняти ліцензійну угоду Oracle і завантажити файл?

Дякую


Для майбутніх шукачів, перевірити це: stackoverflow.com/a/10959815/2184122
Роберт Lugg

Відповіді:


10

"Автоматизовані" завантаження Java Oracle (JRE / JDK 6/7 та інші ...)

Вам буде потрібно встановити sqlite3 ; це крихітний пакет, використовуйте, sudo apt-get install sqlite3якщо вам потрібно.

  1. Відкрийте Firefox, перейдіть на сторінку завантаження Java для потрібної вам версії / варіанту та натисніть радіо-кнопку Прийняти ліцензійну угоду .

    введіть тут опис зображення

  2. Відкрийте термінал і вставте його, щоб витягти необхідні файли cookie сеансу Oracle з бази даних файлів cookie Firefox у cookiesтекстовий файл формату, який wgetможна використовувати ( джерело для сценарію ):

    відлуння ".mode вкладки
    виберіть хост, випадок, коли хост glob '. *', а потім 'TRUE' else 'FALSE' кінець, шлях,
    випадок, коли isSecure, тоді 'TRUE' else 'FALSE' кінець, термін дії, ім'я, значення
    від moz_cookies; "| sqlite3 ~ / .mozilla / firefox / *. default / cookies.sqlite
    | grep -i oracle> /tmp/oracle-cookies.txt
    
  3. Тепер використовуйте wgetдля завантаження цих файлів cookie сеансу:

    wget --load-cookies=/tmp/oracle-cookies.txt wget http://download.oracle.com/otn-pub/java/jdk/6u14-b08/jdk-6u14-linux-x64.bin
  4. Примітки:

    • Ви можете використовувати ці файли cookie для будь-якого завантаження Oracle, якщо воно походить з otn-pubкаталогу
    • Ви можете вставити скрипт у файл .sh для легшого використання
    • Файли cookie не пов’язані з IP, тому для безголівкового / CLI-сервера просто SCP або перенесіть cookiesфайл, і ви можете завантажити його з будь-якого комп’ютера (але на файлі cookie є 30-хвилинний час очікування, тому будьте уважні)
    • Пов'язане: Як використовувати wget / curl для завантаження з сайту, на якому я ввійшов?

1
Це 100% законно?
Тахіонс

@tachyons Так, вам доведеться відкрити браузер на якомусь комп’ютері та натиснути "Прийняти ліцензійну угоду", перш ніж ви можете зробити що-небудь із цього ...
останній

Класна хитрість, але будь-яка ідея, якщо вона все-таки працює? Я продовжую пробувати це, але він завантажує лише вміст сторінки html, де написано "Вибачте! Для завантаження продуктів з OTN ви повинні погодитися з умовами ліцензії OTN". Або я роблю це неправильно, або Oracle розумний до цього ...
Куртоз

Ви завжди можете просто
пропустити

Хоча ця відповідь чудова, одна, яку я тільки що опублікував нижче, набагато простіше. Звичайно, вам може знадобитися повернутися до цього, якщо міна перестане працювати.
Periata Breatta

6

Існує аналогічне питання щодо stackoverflow: Як автоматизувати завантаження та встановлення Java JDK в Linux?

Відповідь за допомогою 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"

Останній аргумент - це URL-адреса, яку потрібно завантажити. Різні архіви версії java відрізняються не лише версією, але й розширенням.


2
Більше не працює.
Роджер Даль

так, це не працює, продовжує перенаправляти мене на login.oracle.com
Олександр Міллс

6

Порада від mkyong.com : ви можете використовувати wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]для завантаження без необхідності вилучати файли cookie зі свого браузера.


Це явно краще, ніж інші відповіді, поки це працює. Це все ще буває на момент написання цього повідомлення.
Людович Куті

1

Як додаток до відповіді izx, є хромований плагін, який ви можете використовувати для експорту файлів cookie, тому вам не потрібно використовувати sqlite.


Відповідь @ izx чудова. Але я більше віддаю перевагу наполегливій пропозиції використовувати "Cookie.txt експорт", щоб отримати вміст файлу cookie (що відповідає кроці 2 відповіді izx), а не використовувати sqlite3.
mdahlman

0

Швидкий спосіб видалення файлів cookie:

  • Почніть завантаження у своєму браузері
  • Призупинити завантаження
  • Скопіюйте URL, який використовується для завантаження
  • Використовуйте URL-адресу з wget: wget --no-check-certificate URL_FOR_DOWNLOAD

URL-адреса, ймовірно, дійсна лише протягом обмеженого періоду часу (часто 30 хвилин).


0

Насправді просто отримайте вміст, поданий хромованим розширенням, згаданим pushy у файлі на вашому Linux. Потім скопіюйте dl adresse зі сторінки oracle і додайте його до своєї команди wget. Наприклад, для 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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.