Проблемы с распаковкой файла tar.gz

Я пытаюсь распаковать следующий файл:

sudo wget http://download.oracle.com/otn-pub/java/jdk/7u21-b11/jdk-7u21-linux-x64.tar.gz

со следующим:

sudo tar zxvf jdk-7u21-linux-x64.tar.gz -C /usr/lib/jvm/

Я получаю эту ошибку

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

Я использую экземпляры Amazon Linux. По умолчанию jre устанавливается вместо jdk, который мне нужно для запуска jboss. Я бы установил jdk с помощью yum, но, к сожалению, это не представляется возможным. Проблема, с которой я сталкиваюсь, заключается в том, что не имеет смысла, почему она не работает, если я делаю все правильно, от того, что я смог различить. Я загрузил две разные версии, чтобы убедиться, что это не только поврежденные файлы. Любая помощь в этом будет очень признательна!

Ответ 1

Причина, по которой файл не извлекается должным образом, заключается в том, что страница загружает страницу cookie, когда вы принимаете лицензионное соглашение. Если у вас нет cookie сеанса при попытке загрузить файл, он перенаправляет вас на страницу HTML, в которой говорится, что вы сначала соглашаетесь с этим соглашением. Если вы откроете файл .tar.gz, который вы получаете из wget, вы увидите, что это файл HTML, так как он не получает упомянутый файл cookie.

Самый простой способ решить эту проблему - сначала загрузить файл, используя веб-браузер, а затем загрузить его на свой веб-сервер.

Ответ 2

Я знаю, что эта ветка устарела, но я решил, что кто-то может использовать эту информацию при поиске в Интернете, почему они не могут распаковать свои дистрибутивы JDK на raspberrypi

Если вы передадите эти параметры в wget, он также примет политику.

--no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"

Ответ 3

j883376 ответ правильный. Но Самый простой способ решить эту проблему - сначала загрузить файл, используя ваш веб-браузер, а затем скопировать URL-адрес загрузки, а затем использовать его на своем сервере.