Загрузка Java JDK в Linux через wget показана на странице лицензии вместо

Когда я пытаюсь загрузить Java из Oracle, я вместо этого загружаю страницу, сообщающую мне, что мне нужно согласие с условиями лицензии OTN.

К сожалению!

Чтобы загрузить продукты из Oracle Technology Network, вы должны согласиться с условиями лицензии OTN.

Убедитесь, что...

  • В вашем браузере есть файлы cookie и JavaScript.
  • Вы нажали "Принять лицензию" для продукта, который хотите загрузить.
  • Вы пытаетесь выполнить загрузку в течение 30 минут после принятия лицензии.

Как загрузить и установить Java?

Ответ 1

ОБНОВЛЕНО для Oracle JDK 11

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/11+28/55eed80b163941c8885ad9298e6d786a/jdk-11_linux-x64_bin.tar.gz

ОБНОВЛЕНО ДЛЯ JDK 10.0.2

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz

ОБНОВЛЕНО ДЛЯ JDK 10.0.1

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.tar.gz

ОБНОВЛЕНО ДЛЯ JDK 9 похоже, вы можете скачать его прямо сейчас с java.net, не отправляя заголовок

wget http://download.java.net/java/GA/jdk9/9/binaries/jdk-9+181_linux-x64_bin.tar.gz

ОБНОВЛЕНО ДЛЯ JDK 8u191

TAR GZ:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3a%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html; oraclelicense=accept-securebackup-cookie;" "https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz"

RPM:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3a%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk8-downloads-2133151.html; oraclelicense=accept-securebackup-cookie;" "https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.rpm"

ОБНОВЛЕНО ДЛЯ JDK 8u131

RPM:

  wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm

TAR GZ:

 wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

об/мин с использованием curl:

 curl -v -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm > jdk-8u112-linux-x64.rpm

Во всех вышеперечисленных случаях подставьте "i586" вместо "x64", чтобы загрузить 32-разрядную сборку.

  • -j → нежелательные файлы cookie
  • -k → игнорировать сертификаты
  • -L → следовать перенаправлениям
  • -H [arg] → заголовки

curl можно использовать вместо wget.

ОБНОВЛЕНИЕ ДЛЯ JDK 7u79

TAR GZ:

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

об/мин с использованием curl:

curl -v -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm > jdk-7u79-linux-x64.rpm

Еще раз убедитесь, что вы указали правильный URL-адрес для версии, которую вы загружаете. Вы можете найти URL здесь: Сайт загрузки Oracle JDK

ОРИГИНАЛЬНЫЙ ОТВЕТ ОТ 9 июня 2012 года

Если вы хотите загрузить Oracle JDK из командной строки, используя wget, существует обходной путь. Запустите команду 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"

Обязательно замените ссылку для загрузки верной ссылкой для версии, которую вы загружаете.

Ответ 2

(Иранский обновил мой ответ, но здесь, чтобы уточнить все это.)

Редактировать: Обновлено для Java 11.0.1, выпущено 16 октября 2018

Wget

wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz

JRE 8u191 (без флагов файлов cookie): http://javadl.oracle.com/webapps/download/AutoDL?BundleId=235717_2787e4a523244c269598db4e85c51e0c
Смотрите загрузки в oracle.com и java.com для получения дополнительной информации.

  • -c / --continue

    Позволяет продолжить незаконченную загрузку.

  • --header "Cookie: oraclelicense=accept-securebackup-cookie"

    С 15 марта 2014 года этот файл cookie предоставляется пользователю после принятия лицензионного соглашения и необходим для доступа к пакетам Java на сайте download.oracle.com. В предыдущей (и первой) реализации 27 марта 2012 года использовался файл cookie gpw_e24=http%3A%2F%2Fwww.oracle.com[...]. Оба случая остаются необъявленными для общественности.

    Значение не обязательно должно быть " accept-securebackup-cookie ".

Требуется для Wget <1.13

  • --no-check-certificate

    Требуется только с wget 1.12 и более ранними версиями, которые не поддерживают сертификаты Subject Alternative Name (SAN) (в основном Red Hat Enterprise Linux 6.x и его друзей, таких как CentOS). 1.13 был выпущен в августе 2011 года.

    Чтобы увидеть текущую версию, используйте: wget --version | head -1 wget --version | head -1

Не требуется

  • --no-cookies

    Комбинация --no-cookies --header "Cookie: name=value" упоминается как " официальная " поддержка cookie, но здесь это строго не требуется.

завивать

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz
  • -L / --Location

    Требуется, чтобы cURL перенаправлял через все зеркала.

  • -c / --continue-at -

    Смотри выше. cURL требует черту (-) в конце.

  • -b / --cookie "oraclelicense=accept-securebackup-cookie"

    То же, что -H / --header "Cookie:...", но принимает и файлы.

  • -O

    Требуется для cURL для сохранения файлов (см. Сравнение авторов для большего различия).

Ответ 3

Загрузка Java из командной строки всегда была проблематичной. То, что я делал, это использовать FireFox (другие браузеры могут работать), чтобы загрузить загрузку на моем ноутбуке, приостановите ее (в окнах загрузки), используйте пункт меню "Копировать ссылку на скачивание" в контекстном меню, отображаемом для загрузка файла. Затем этот URL-адрес можно использовать в поле Linux для загрузки того же файла. Я ожидаю, что у URL есть короткое время для жизни. Уродливый, но в целом успешный.

Ответ 4

Обновлено для JDK 8u171 об/мин

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm

Устаревшие ссылки ниже

Обновлено для JDK 8u161 об/мин

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm

Обновлено для JDK 8u152 об/мин

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.rpm

Обновлено для JDK 8u144 об/мин

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm

Обновлено для JDK 8u131 об/мин

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm

Обновлено для JDK 8u121 об/мин

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm

Ответ 5

Я знаю, что Oracle сделал все возможное, чтобы сделать их Java Runtime и Java SDK как можно труднее.

Вот несколько руководств для любителей командной строки.

Для систем типа Debian (проверено на Debian сжатие и Ubuntu 12.x +)

su -
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
apt-get update
apt-get install --yes oracle-java7-installer
exit

Примечание: если вы знаете, что лучше или проще добавить комментарий, я обновлю руководство.

Ответ 6

Java SE Development Kit 12.0.2

TAR.GZ

wget  --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.2+10/e482c34c86bd4bf8b56c0b35558996b9/jdk-12.0.2_linux-x64_bin.tar.gz

Ответ 8

Oracle поставила cookie-предупреждение в ссылку для загрузки, чтобы заставить вас согласиться на условия, даже если лицензионное соглашение на использование Java четко заявляет, что просто используя Java, вы соглашаетесь с лицензией.

Метод, который хочет Oracle, - это загрузить его с помощью соглашения. После этого этот script cn будет изменен для вашего конкретного Linux

#!/bin/bash
#Author: Yucca Nel http://thejarbar.org
#Will restart system
#Modify these variables as needed...
tempWork=/tmp/work
locBin=/usr/local/bin
javaUsrLib=/usr/lib/jvm

sudo mkdir -p $javaUsrLib
mkdir -p $tempWork
cd $tempWork

#Extract the download
tar -zxvf $downloadDir/jdk*tar.gz

#Move it to where it can be found...

sudo mv -f $tempWork/jdk* $javaUsrLib/

sudo ln -f -s $javaUsrLib/jdk1/bin/* /usr/bin/

#Update this line to reflect versions of JDK...
export JAVA_HOME="$javaUsrLib/jdk1.7.0_03"
#Extract the download
tar -zxvf $tempWork/*

#Move it to where it can be found...

sudo mv -f $tempWork/jdk1* $javaUsrLib/

sudo ln -f -s $javaUsrLib/jdk1*/bin/* /usr/bin/
sudo rm -rf $tempWork
#Update this line to reflect newer versions of JDK...
export JAVA_HOME="$javaUsrLib/jdk1.7.0_03"

if ! grep "JAVA_HOME=$javaUsrLib/jdk1.7.0_03" /etc/environment
then
    echo "JAVA_HOME=$javaUsrLib/jdk1.7.0_03"| sudo tee -a /etc/environment
fi


exit 0

Ответ 9

Для тех, кто нуждается в JCE8, вы также можете загрузить его.

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip

или

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip

Ответ 10

Это работает для JDK 6, вам просто нужно заменить URL-адрес загрузки на последнюю версию.

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk6-downloads-1637591.html;" http://download.oracle.com/otn-pub/java/jdk/6u33-b03/jdk-6u33-linux-x64.bin

Ответ 11

Вместо того, чтобы использовать для каждой новой версии Java новую ссылку или изменять существующие сценарии, я искал более общий способ автоматизации загрузки необходимых пакетов Java и последующей установки с помощью yum localinstall ${JAVA_ENVIRONMENT}-${JAVA_VERSION}-linux-x64.rpm.

Я использовал какой-то тривиальный подход, подобный ручному/пользовательскому действию, чтобы найти пакет и загрузить его. Я также почти уверен, что можно найти более элегантный способ сделать это, используя другие инструменты, такие как egrep, awk и т.д., Поэтому оставьте это в качестве примера здесь:

#!/bin/bash

### Proxy settings
# If there is a company proxy 

PROXY="my.proxy.local:8080"
PROXY_TYPE="--proxy-ntlm" # or leave empty with ""
USER="user"
PASS='pass'

### Find out the links to JRE and JDK 
# To do so, got to the page http://www.oracle.com/technetwork/java/javase/downloads/

BASE_URL="technetwork/java/javase/downloads"

# Put the whole page into a single string/line

BASE_URL_OUTPUT="$(curl -s -k ${PROXY_TYPE} -x "http://${USER}:${PASS}@${PROXY}" -L0 http://www.oracle.com/${BASE_URL}/)"

# Define the environments to download 

JAVA_ENVIRONMENTS=("JRE" "JDK") # ! yet "SERVER-JRE"

for JAVA_ENVIRONMENT in "${JAVA_ENVIRONMENTS[@]}"
do

echo
echo "JAVA_ENVIRONMENT="$JAVA_ENVIRONMENT
echo

for (( JAVA_BASE_VERSION = 8; JAVA_BASE_VERSION <= 10; JAVA_BASE_VERSION += 2 ))  
do

echo "JAVA_BASE_VERSION="$JAVA_BASE_VERSION

### "Read the page"
# and follow the links for the package interested in 

DOWNLOAD_SITE="$(echo $BASE_URL_OUTPUT | grep -m 1 -io "${JAVA_ENVIRONMENT}${JAVA_BASE_VERSION}-downloads-[0-9]*.html" -- | tail -1)"
echo "DOWNLOAD_SITE="$DOWNLOAD_SITE

### Gather the necessary download links
# To do so, following the link to the download site
# reading and accept the license 
# 
# ... the greedy regular expression is to address the different syntax of the links
# and already prepared for OR .gz files 

DOWNLOAD_LINK_OUTPUT="$(curl -s -k ${PROXY_TYPE} -x "http://${USER}:${PASS}@${PROXY}" -L -j -H "Cookie: oraclelicense=accept-securebackup-cookie" http://www.oracle.com/${BASE_URL}/${DOWNLOAD_SITE} |  grep -io "filepath.*${JAVA_ENVIRONMENT}-[${JAVA_BASE_VERSION}].*linux[-_]x64[._].*\(rpm\)" -- | cut -d '"' -f 3 | tail -1)"

# and echo out the link

echo "DOWNLOAD_LINK_OUTPUT="$DOWNLOAD_LINK_OUTPUT

done

done

Поскольку ссылки для скачивания доступны уже сейчас, можно продолжить с помощью wget или curl.

Ответ 12

эта команда может загрузить пакет jdk8 tgz прямо сейчас (2018-09-06), удачи!

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"

Ответ 13

Все вышеизложенное, похоже, предполагает, что вы знаете URL-адрес для новейшего RPM Java...

Oracle предоставляет постоянные ссылки на последние обновления каждой версии Java, как описано в https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=397248601136938&id=1414485.1 - хотя вам нужно создать/войти в учетную запись службы поддержки Oracle. * В противном случае вы можете получить доступ только к последнему "общедоступному" обновлению каждой версии Java, например. 1.6_u45 (март 2013 г., последнее обновление - u65, октябрь 2013 г.) *

Как только вы знаете постоянную ссылку, вы сможете решить ее до реальной загрузки; Для меня работает следующее, хотя я еще не знаю, изменяется ли ссылка "aru".

ME=<myOracleID>
PW=<myOraclePW>
PATCH_FILE=p13079846_17000_Linux-x86-64.zip

echo "Get real URL from the persistent link"

wget -o getrealurl.out --no-cookies --no-check-certificate --user=$ME \
--password=$PW --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" \
https://updates.oracle.com/Orion/Services/download/$PATCH_FILE?aru=16884382&\
patch_file=$PATCH_FILE

wait    # wget appears to go into background, so "wait" waits 
        # until all background processes complete

REALURL=`grep "^--" getrealurl.out |tail -1 |sed -e 's/.*http/http/'`
wget -O $PATCH_FILE $REALURL
#These last steps must be done quickly, as the REALURL seems to have a short-lived 
#cookie on it and I've had no success with  --keep-session-cookies etc.

Ответ 14

Как уже размещено здесь: fooobar.com/questions/14899/...

Обновление для обновления JDK 8 121

Так как Oracle вставил некоторые md5hash в свои ссылки для скачивания, невозможно автоматически собрать ссылку для загрузки для командной строки.

Итак, я применил некоторую неприятную командную строку bash, чтобы получить последнюю ссылку для загрузки jdk, загрузить ее и напрямую установить через rpm. Для всех, кто заинтересован:

wget -q http://www.oracle.com/technetwork/java/javase/downloads/index.html -O./index.html && & && grep -Eoi '] + > ' index.html | grep -Eoi '/technetwork/java/javase/downloads/jdk8-downloads-[0-9]+.html' | (head -n 1) | awk '{print " http://www.oracle.com" $1}' | xargs wget --no-cookies --header "Cookie: gpw_e24 = xxx; oraclelicense = accept-securebackup-cookie;" -O index.html -q && & grep -Eoi ' "filepath": "[^" ] + jdk-8u [0-9] + - linux-x64.rpm "' index.html | grep -Eoi 'http: [^" ] + '| xargs wget --no-cookies --header "Cookie: gpw_e24 = xxx; oraclelicense = accept-securebackup-cookie;" -q -O./jdk8.rpm && sudo rpm -i./jdk8.rpm

жирная часть должна быть заменена пакетом по вашему вкусу.

Ответ 15

Я решаю это (для дистрибутивов Linux на основе Debian), создавая пакеты с использованием java-package несколько раз (для разных архитектур), а затем распространяя их внутри.

Большая сторона плюса заключается в том, что этот метод всегда работает; независимо от того, как сумасшедшие веб-страницы Oracle становятся. Oracle больше не может сломать мою сборку!

Недостатком является то, что сначала нужно немного настроить работу.

  • Загрузите файлы tar.gz вручную в браузере (таким образом, "принимая" их термины)
  • Запустите make-jpkg jdk-7u51-linux-x64.tar.gz. Это создает oracle-java8-jdk_8_amd64.deb
  • Распространяйте его в своей организации

Для распространения через Интернет я предлагаю использовать защищенный паролем apt-репозиторий или предоставлять необработанные пакеты с использованием симметричного шифрования:

passphrase="Hard to crack string. Use /dev/urandom for inspiration."
gpg --batch --symmetric --force-mdc --passphrase-fd 0 \
   oracle-java8-jdk_8_amd64.deb <<< "$passphrase"

Конечно, предоставление (незашифрованных) пакетов .deb в Интернете, вероятно, является нарушением вашего лицензионного соглашения с Oracle, в котором говорится:

... Oracle предоставляет вам... лицензию... для воспроизведения и использования внутри Программного обеспечения полной и немодифицированной с единственной целью запуска программ "

В конце приема, если у вас есть защищенный паролем apt repo, все, что вам нужно сделать, это apt-get install it. Если у вас есть необработанные пакеты, загрузите, расшифруйте и dpkg -i их. Работает как шарм!

Ответ 16

Я сделал jdk-download script (специфичный для tar.gz) для своих ящиков gentoo. Не нужно обновлять, как и другие подобные скрипты, пытаясь "переустановить" загрузку последней сборки для любой версии, которую вы хотите.

ИСПОЛЬЗОВАНИЕ

jdk-download< <version> <platform> [<build>]

* <version> - Something like "8u40"
* <platform> - Usually i586 or x64
* <build> - The internal build number used by oracle, to avoid guessing and trying to download starting from 99 to 1 (build 0, really?!!)

Сообщение в блоге

Источник на битбакете

Ответ 17

Принятый ответ не работал у меня, начиная с 2017-04-25. Однако в простом решении использовался флаг -b вместо параметра --header.

Например, чтобы получить jdk-1.8_131:

version='8u131'; wget -H -O jdk-$version-linux-x64.tar.gz --no-check-certificate --no-cookies -b "oraclelicense=a" http://download.oracle.com/otn-pub/java/jdk/$version-b11/jdk-$version-linux-x64.tar.gz

Это будет выполняться в фоновом режиме, записывая вывод в wget-log.

Ответ 18

wget Это работало для меня JDK8

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2F%www.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"

Ответ 19

Попробуйте

wget --no-cookies --header "Cookie: s_nr=1359635827494; s_cc=true; gpw_e24=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fjavase%2Fdownloads%2Fjdk6downloads-1902814.html; s_sq=%5B%5BB%5D%5D; gpv_p24=no%20value" http://download.oracle.com/otn-pub/java/jdk/6u45-b06/jdk-6u45-linux-x64-rpm.bin --no-check-certificate -O ./jdk-6u45-linux-x64-rpm.bin

если вы похожи на меня, пытаясь получить Oracle JDK 6.

source: Загрузка Oracle JVM с использованием curl/wget

Ответ 20

oracle-java-download - это проект GitHub, который позволяет создавать ссылки для загрузки JDK 8 и JDK 9, которые вы можете использовать для дальнейшего например, в процессах автоматической сборки или развертывания.

Для этого требуется Linux, Docker и JDK >= 8.

Ответ 22

контекст

Недавно я столкнулся с той же проблемой, и хотя комментарии на этой странице и некоторые другие содержали полезные советы - я подумал, что было бы хорошо документировать шаги, которые я предпринял, чтобы решить эту проблему, для людей, которые могут нуждаться в дальнейшей помощи.

Сведения о системе

Я следую PNDA, настроенной на AWS, следуя пошаговому руководству по установке pnda по адресу:

https://github.com/pndaproject/pnda-guide/blob/develop/provisioning/aws/PREPARE.md

Я использую ubuntu 14.04 [бесплатный уровень, соответствующий требованиям] в облаке AWS, и использую код с 64-битного ноутбука Windows8.1. Я использую PUTTY для подключения к экземпляру сервера. Я git клонировал код pnda из https://github.com/pndaproject/pnda в экземпляр ubuntu.

Важное примечание Обратите внимание: если вы планируете использовать экземпляр Ubuntu в AWS, убедитесь, что он установлен только в версии 14.04. Если вы используете версию 16, она не работает. Я научился этому нелегко!

Шаги разрешения

Те, кто зашел так далеко, что столкнулись с обсуждаемой здесь ошибкой, знают: файл создания зеркала включает следующие шаги:

1) Запустите скрипт create_mirror.sh [ sudo su -s./create_mirror.sh ] чтобы запустить процесс создания полного зеркала

2) Этот скрипт, в свою очередь, вызывает различные другие скрипты - один из них - create_mirror_misc.sh; этот скрипт ссылается на pnda-static-file-dependencies.txt котором есть список файлов для загрузки.

3) В самой первой строке pnda -s tatic-file-dependencies.txt находится ссылка для загрузки файла jdk-8u131-linux-x64.tar.gz с http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz oraclelicense=accept-securebackup-cookie; Именно в этот момент мой скрипт завершился ошибкой с сообщением Failed to download http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz after 3 retries

4) Я перешел на страницу http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz и обнаружил следующее сообщение об ошибке **In order to download products from Oracle Technology Network you must agree to the OTN license terms**

5) Чтобы решить эту проблему, я внес следующие изменения в pnda-static-file-dependencies.txt; Я добавил --no-check-certificate --no-cookies, чтобы обойти условия лицензионного соглашения

6) Таким образом, пересмотренный код выглядит следующим образом - http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz --no-check-certificate --no-cookies oraclelicense=accept-securebackup-cookie

Я надеюсь, что это полезно.

Ответ 23

тебе стоит попробовать:

wget \
        --no-cookies \
        --header "Cookie: oraclelicense=accept-securebackup-cookie" \
        http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.tar.gz \
        -O java.tar.gz

Ответ 24

скачать JDK 8u221

$ wget -c --content-disposition "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=239835_230deb18db3e4014bb8e3e8324f81b43"
$ old=$(ls -hat | grep jre | head -n1)
$ mv $old $(echo $old | awk -F"?" '{print $1}')

мой блог 044-wget 下载 jdk8u221

Ответ 25

Это происходит потому, что когда вы нажимаете кнопку "Принять" на странице загрузки в вашем браузере, веб-страница сохраняет файл cookie, который используется для проверки вашего соглашения, прежде чем вы сможете загрузить файл. Проблема возникает при попытке загрузки из командной строки с помощью wget, поскольку она не отправляет информацию о файлах cookie с запросом wget о загрузке файла, поэтому с точки зрения файлового сервера вы совершенно новый пользователь, который не принял лицензию соглашение.

Одним из решений является отправка информации о файлах cookie с помощью опции --header утилиты wget (как показано выше в других ответах). В идеале, если какой-либо контент защищен, вы должны использовать различные опции управления сеансами, доступные в wget. Однако для этой конкретной проблемы она решена (в настоящее время) путем отправки заголовка Cookie с запросом на загрузку.

Ответ 26

sudo wget --no-check-certificate --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm"

Ответ 27

Почему бы не нажать, чтобы загрузить из браузера, а затем скопируйте и вставьте точную ссылку, где она была загружена, например:

wget http://download.oracle.com/otn-pub/java/jdk/7u40-b43/jdk-7u40-linux-x64.tar.gz?AuthParam=1380225131_dd70d2038c57a4729d8c0226684xxxx

Вы можете найти ссылку, просмотрев вкладку сети вашего браузера после принятия условий в oracle и щелкая для загрузки. F12 в Chrome. Firebug в Firefox.