Java JDK'yı Linux üzerinden wget ile indirmenin yerine lisans sayfası gösterilir


615

Oracle'ı Java'dan indirmeye çalıştığımda bunun yerine bana OTN lisans koşullarını kabul etmem gerektiğini söyleyen bir sayfa indiriyorum.

Afedersiniz!

Oracle Technology Network'ten ürün indirmek için OTN lisans koşullarını kabul etmeniz gerekir.

Emin olun ...

  • Tarayıcınızda "çerezler" ve JavaScript etkin.
  • İndirmek istediğiniz ürün için "Lisansı Kabul Et" seçeneğini tıkladınız.
  • Lisansı kabul ettikten sonra 30 dakika içinde indirmeyi denersiniz.

Java'yı nasıl indirip yükleyebilirim?


Bu soru, geliştiricilerin geliştirme kitlerini nasıl yükledikleri ile ilgili olduğu için konuyla ilgilidir. Bu nedenle yeniden açmak.
George Stocker

Yanıtlar:


1657

Oracle JDK 11 İÇİN GÜNCELLENDİ

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 İÇİN GÜNCELLENDİ

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 İÇİN GÜNCELLENDİ

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 İÇİN GÜNCELLEŞTİRİLDİ , şimdi bir başlık göndermeden doğrudan java.net'ten indirebilirsiniz

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

JDK 8u191 İÇİN GÜNCELLENDİ

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 İÇİN GÜNCELLEME

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

Kıvrılma kullanarak RPM:

 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

Yukarıdaki tüm durumlarda, 32-bit derlemeyi indirmek için 'x64' alt 'i586'.

  • -j -> önemsiz çerezler
  • -k -> sertifikaları yoksay
  • -L -> yönlendirmeleri takip et
  • -H [arg] -> başlıklar

curlyerine kullanılabilir wget.

JDK 7u79 İÇİN GÜNCELLEME

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

Kıvrılma kullanarak RPM:

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

Bir kez daha, indirdiğiniz sürüm için doğru URL'yi belirttiğinizden emin olun. URL'yi burada bulabilirsiniz: Oracle JDK indirme sitesi

9 Haziran 2012'DEN ORİJİNAL CEVAP

Kullanarak komut satırından Oracle JDK'yı indirmek istiyorsanız wget, bir geçici çözüm vardır. wgetKomutu aşağıdaki gibi çalıştırın :

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"

İndirme bağlantısını, indirdiğiniz sürüm için doğru olanla değiştirdiğinizden emin olun.


6
(Belki bu milyonuncu repost nihayet hile yapacak.) Basit bir --header "Cookie: oraclelicense=accept-securebackup-cookie"(veya --header "Cookie: oraclelicense=[any-character(s)-but-a-single-space]") iyi çalışıyor gibi görünüyor. Bunu onaylayabilir misin?
Det

2
Taze haldeyken Java 8 için Güncelleme: wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8-b132/jdk-8-linux-x64.tar.gz. --No-kurabiye gereksiz ve no-check-sertifika yalnızca gerekli olan Wget SAN desteği (özellikle RHEL / CentOS 6.x) eksik 1.12 ve üzeri. CURL sürümü:curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jdk/8-b132/jdk-8-linux-x64.tar.gz
Det

3
url download.oracle.com/otn-pub/java/jdk/8u121-b13/… ile yeni 121 verson denedim ama çalışmıyor gibi görünüyor. Herhangi bir düşünce?
Nam Nguyen

3
404: JDK 11 ile bulunamadı, yanlış URL olabilir mi?
Tien Dung Tran

2
Oracle JDK 11 çözümü için GÜNCELLEME artık çalışmıyor
bomba

247

( İranlılar cevabımı güncelledi, ama her şeyi açıklığa kavuşturmak için buradayız. )

Düzenleme: 16 Ekim 2018'de yayımlanan Java 11.0.1 için güncellendi

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 (çerez yok bayrakları): http://javadl.oracle.com/webapps/download/AutoDL?BundleId=235717_2787e4a523244c269598db4e85c51e0c
içinde indirmeleri gör oracle.com ve java.com daha fazlası.

  • -c / --continue

    Tamamlanmamış bir indirme işlemine devam etmenizi sağlar.

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

    15 Mart 2014'ten beri bu çerez, Lisans Sözleşmesi kabul edildikten sonra kullanıcıya sunulur ve download.oracle.com adresindeki Java paketlerine erişmek için gereklidir . 27 Mart 2012'de önceki (ve ilk) uygulama çerezden yararlandı gpw_e24=http%3A%2F%2Fwww.oracle.com[...]. Her iki dava da kamuoyuna açıklanmadı.

    Değerin " accept-securebackup-cookie" olması gerekmez .

Wget <1.13 için gerekli

  • --no-check-certificate

    Sadece gereklidir wget 1.12 ve önceki , hangi değil desteklemek Konusu Diğer Adı (SAN) sertifikalarını (örneğin CentOS gibi ağırlıklı olarak Red Hat Enterprise Linux 6.x ve arkadaşları). 1.13 Ağustos 2011'de piyasaya sürüldü .

    Geçerli sürümü görmek için şunu kullanın: wget --version | head -1

Gerekli değil

  • --no-cookies

    Kombinasyon --no-cookies --header "Cookie: name=value", " resmi " çerez desteği olarak belirtilir, ancak burada kesinlikle gerekli değildir.

cURL

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'nin tüm aynalardan yönlendirmesi için gereklidir.

  • -C / --continue-at -

    Yukarıyı görmek. cURL, sonunda tire ( -) gerektirir .

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

    İle aynıdır -H / --header "Cookie: ...", ancak dosyaları da kabul eder.

  • -O

    CURL'nin dosyaları kaydetmesi için gereklidir ( daha fazla fark için yazarın karşılaştırmasına bakın ).


2
"önceki tire", "seçeneğin her iki biçiminden sonra gelen çizgi" olmalıdır, ancak bu mükemmel bir özettir.
Alex Dupuy

1
Eh, bunu " cURL -sonunda çizgi ( ) gerektirir " olarak değiştirdim . Bu yeterince açık olmalı, diğer formun flagzaten komutta nasıl gösterildiği.
Det

1
url download.oracle.com/otn-pub/java/jdk/8u121-b13/… ile yeni 121 sürümünü denedim ama çalışmıyor gibi görünüyor. Herhangi bir düşünce?
Nam Nguyen

1
Eski sürüm için çalışmıyor gibi görünüyor. 8u121'i indiremiyorum. Muhtemelen yüzünden Downloading these releases requires an oracle.com account. Herhangi bir çözüm var mı?
ALex_hha

1
Docker kullanıyoruz, bu yüzden java'nın belirli bir sürümünü kullanmamız gerekiyor. Evet dosyayı bazı
ftp'de

35

Java'yı komut satırından indirmek her zaman zahmetli olmuştur. Alışıldığım şey, dizüstü bilgisayarımda bir indirme başlatmak, duraklatmak (İndirilenler penceresinde) için FireFox'u (diğer tarayıcılar işe yarayabilir) kullanmaktır. dosya indiriliyor. Bu URL daha sonra aynı dosyayı indirmek için Linux kutusunda kullanılabilir. URL'nin yaşamak için kısa bir zamanı olmasını bekliyorum. Çirkin, ama genellikle başarılı.


Evet .. işe yarıyor. Güzel. Ben gibi benim url vardı download.oracle.com/otn-pub/java/jdk/7u9-b05/...
Müküs

3
Bu ilginç bir mesele ama soruya cevap vermiyor. FireFox'u tıklamak "indirmeyi otomatikleştir" ile uyumsuz.
Stéphane Gourichon

Bugün tarayıcılarımdaki (çoğul) kadar zahmetli değil (çeviri: imkansız). İçeriğin yaklaşık% 10 ila 20'si, Oracle'ın sunucusunun bağlantısını kesecek ve beni kesilmiş bir indirme ile bırakacaktı. CLI aracı en azından kaldığı yerden yeniden dener ve sonunda çalışmalardan biri zaman aşımı / ret olmadan tamamlanır.
Roboprog

mükemmel! sorgu parametresinin AuthParam, kullanıcının Lisansı kabul edip etmediğini Oracle kontrolü ile ilgisi vardır.
asgs

Bugün benim için çalışan tek çözüm. Kabul çerez parametresi ile yukarıdaki tüm wget hileleri işe yaramadı.
Saad Benbouzid

23

JDK 8u171 RPM için güncellendi

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

Aşağıdaki eski bağlantılar

JDK 8u161 RPM için güncellendi

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 RPM için güncellendi

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 RPM için güncellendi

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 RPM için güncellendi

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 RPM için güncellendi

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


2
Bu mutlak bana yardımcı oldu.
Tar.gz'yi

19

Oracle'ın Java Runtime ve Java SDK'larını olabildiğince zorlaştırmak için her şeyi mümkün kıldığını biliyorum.

İşte komut satırı sevenler için bazı kılavuzlar.

Debian benzeri sistemler için ( Debiansıkma ve Ubuntu12.x + üzerinde test edilmiştir )

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

Not: Yorum eklemenin daha iyi veya daha kolay bir yolunu biliyorsanız, kılavuzu güncelleyeceğim.


2
2013-11-02 itibariyle, diğer yöntemlerin farklı sürümlerle ayarlanması kolay değildir. Bu yöntem, geçerli sürüm ne olursa olsun çalışır ve "--yes" gibi apt-get seçenekleriyle otomatik / komut dosyası / katılımsız olarak çalıştırılabilir.
Stéphane Gourichon

Bu yöntemi seçenekleri olan oracle-java8-installer ile denedim, --yes, --assume-yes, --force-yesancak her kurulum enter-key ile lisans sözleşmesini kabul etmemi istiyor.
Drey

9

Java SE Geliştirme Kiti 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

neden --no-check-certificate? bu anahtar olmadan iyi çalışır, bu nedenle güvenlik açısından, özellikle eski olduğunda kullanılmamalıdır.
timik


6

Oracle, Java'yı kullanma lisans sözleşmesinin yalnızca Java'yı kullanarak lisansı 'kabul ettiğinizi' açıkça belirtmesine rağmen, indirme koşuluna bir önleme çerezi koymuştur.

Oracle'ın istediği yöntem, bir anlaşma ile indirmenizdir. Bundan sonra, bu script cn sizin özel Linux için değiştirilebilir

#!/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

1
Bu yanıt Linux kullandığınızı ve onu standart olmayan bir şekilde / yerde ve bir sürü başka şeyde kurmak istediğinizi varsayar. Daha iyi bir yanıt, Ubuntu'yu kullanmadığınız sürece "sadece indirme web sitesindeki kurulum talimatlarını takip edin" olacaktır, bu durumda bunu yapmanın başka yolları da vardır.
Stephen C

8
Soru başlığı Linux içerdiğinde cevabın Linux'u varsayması ne kadar tuhaf? Linux'un kendisinin böyle olmadığı göz önüne alındığında, sceipt tek boyutlu bir uyum değildir. Bu, kendi soruma kendi cevabım olduğu için, test ettim ve benim için çalıştı.
thejartender

6

JCE8'e ihtiyaç duyanlar için de indirebilirsiniz.

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

Veya

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

5

Bu JDK 6 için çalışır, sadece indirme URL'sini en son sürümle değiştirmeniz gerekir.

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

Bu işe yarıyor ama 6u48'i seçemedim çünkü 6u33-b03'ün olduğu kısım.
Jacob Phillips

2013-11-02 tarihinde, bu işe yaramadı. Dosya yerine bir HTML kayıt sayfası indirir.
Stéphane Gourichon

5

Bu komut şu anda jdk8 tgz paketini indirebilir (2018-09-06), iyi şanslar!

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"

Başkalarının komutunu denedim ama hiçbir şey işe yaramadı, ama bu sorunsuz çalıştı (20 / Eylül / 2019'da çalıştırın).
Başka bir kodlayıcı

4

Her yeni Java sürümü için yeni bir bağlantı kullanmak veya mevcut komut dosyalarını değiştirmek yerine, gerekli Java paketlerinin indirilmesini ve daha sonra yüklemeyi otomatikleştirmek için daha genel bir yol arıyordum yum localinstall ${JAVA_ENVIRONMENT}-${JAVA_VERSION}-linux-x64.rpm .

Paketi bulmak ve indirmek için manuel / kullanıcı işlemine benzer şekilde önemsiz bir yaklaşım kullandım. Ben çok emin bir gibi diğer araçları kullanarak bunu yapmak için daha şık bir yol bulacaktır olması da değilim egrep, awkbu yüzden, vb .. Burada bir örnek olarak bırakın:

#!/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

İndirme bağlantıları şu anda mevcut olduğundan, wget veyacurl .


3

Yukarıdakilerin tümü, en son Java RPM'sinin URL'sini bildiğinizi varsayar ...

Oracle , https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=397248601136938&id=1414485.1 adresinde belgelendiği gibi her Java sürümünün en son güncellemelerine kalıcı bağlantılar sağlar. - yine de bir Oracle Destek hesabı oluşturmanız / giriş yapmanız gerekir . * Aksi takdirde, her Java sürümünün yalnızca son "genel" güncellemesine erişebilirsiniz, örneğin 1.6_u45 (Mar 2013; Son güncelleme u65, Eki 2013) *

Eğer bir kez biliyorum kalıcı bağlantı, gerçek indirmek için çözmek gerekir; Aşağıdakiler benim için çalışıyor, ancak "aru" referansının değişip değişmediğini henüz bilmiyorum.

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.

1
Bir şifre iletirken --no-check-certificate kullanılmamasını şiddetle tavsiye ederim.
Rick Moritz

3

Burada zaten yayınlandığı gibi: https://stackoverflow.com/a/41718895/4370196

JDK 8 Güncellemesi 121 Güncelleştirmesi

Oracle indirme bağlantılarına bazı md5hash eklediğinden, komut satırı için bir indirme bağlantısı otomatik olarak birleştirilemez.

Bu yüzden en son jdk indirme bağlantısını almak, indirmek ve doğrudan rpm ile yüklemek için bazı kötü bash komut satırını tamir ettim. İlgilenen herkes için:

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 gelbe+.html' | (kafa -n 1) | awk '{print " http://www.oracle.com " $ 1}' | xargs wget --no-cookies --header "Çerez: gpw_e24 = xxx; oraclelicense = accept-securebackup-cookie;" -O index.html -q && grep -Eoi '"dosyayolu": "[^"] + jdk-8u [0-9] + - linux-x64.rpm "' index.html | grep -Eoi 'http: [ ^ "] + '| xargs wget --no-cookies --header "Çerez: gpw_e24 = xxx; oraclelicense = accept-securebackup-cookie;" -q -O ./jdk8.rpm && sudo rpm -i ./jdk8.rpm

kalın kısım beğeninize paketi ile değiştirilmesi gerekir.


Evet, artık bir bağlantı kurmak o kadar kolay değil. Ben bir bash betiği sürüm 8 ve 9 için en son JRE ve JDK indirme bağlantıları almak için benzer bir yaklaşım kullandım . Bu konu cevap olarak bulunabilir .
U880D

2

Bunu kullanarak (Debian tabanlı Linux dağıtımları için) java-package birkaç kez (çeşitli mimariler için) ve sonra bunları dahili olarak dağıtarak çözüyorum.

Büyük artı tarafı, bu yöntemin her zaman işe yaramasıdır; Oracle'ın web sayfaları ne kadar çılgın olursa olsun. Oracle artık binamı kıramaz!

Dezavantajı, başlangıçta kurmak için biraz daha fazla çalışma yapılmasıdır.

  • Tar.gz dosyalarını bir tarayıcıya manuel olarak indirin (böylece şartlarını "kabul eder").
  • Koş make-jpkg jdk-7u51-linux-x64.tar.gz. Bu oluştururoracle-java8-jdk_8_amd64.deb
  • Kuruluşunuz içinde dağıtın

İnternet üzerinden dağıtım için, parola korumalı uygun bir depo kullanmanızı veya simetrik şifreleme kullanarak ham paketler sunmanızı öneririm:

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"

Elbette internette (şifrelenmemiş) .deb paketleri sağlamak muhtemelen Oracle ile olan lisans sözleşmenizin ihlalidir:

... Oracle, yalnızca Programları çalıştırmak amacıyla tam ve değiştirilmemiş Yazılımı yeniden oluşturmak ve dahili olarak kullanmak için size ... lisansını verir. "

Alıcı ucunda, parola korumalı apt repo'nuz varsa, tek yapmanız gereken budur apt-get install. Ham paketleriniz varsa, indirin, şifresini çözün ve indirin dpkg -i. Tıkır tıkır çalışıyor!


2
bu yüzden lisans onurlandırıldı. Bu harika :-)
Kowser

2

wget Bu benim için çalıştı 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"

2

Kabul edilen cevap 2017-04-25 itibariyle benim için çalışmıyor. Ancak, basit çözüm seçeneği -byerine bayrağı kullanmaktı --header.

Örneğin, jdk-1.8_131 almak için:

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

Arka planda yürütülür, çıktı yazılır wget-log.


1

Deneyin

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

benim gibi Oracle JDK 6 almaya çalışıyorsanız.

Kaynak: curl / wget kullanarak Oracle JVM indir


1

Gentoo kutuları için jdk-download script (tar.gz için özel) yaptım. Diğer benzer komut dosyaları gibi güncellenmesi gerekmez, istediğiniz herhangi bir sürüm için son sürümü "kaba kuvvet" indirmeye çalışın.

KULLANIM

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?!!)

Blog yazısı

Bitbucket'teki kaynak


1

oracle-java-download GitHub'da JDK 8 ve JDK 9 için, örneğin otomatik derleme veya dağıtım işlemlerinde daha fazla işlem için kullanabileceğiniz indirme bağlantıları oluşturmanıza olanak tanıyan bir projedir.

Çalıştırmak için Linux, Docker ve bir JDK> = 8 gerekir.



1

bağlam

Geçenlerde aynı sorunla karşı karşıya kaldım ve bu sayfadaki yorumlar ve diğer bazı yardımcı ipuçları sağlasam da - daha fazla yardıma ihtiyaç duyan insanlar için sorunu düzeltmek için attığım adımları belgelemenin iyi olacağını düşündüm.

Sistem Detayları

Adım adım pnda kurulum kılavuzunu takip ederek AWS'de ayarlanan PNDA'yı takip ediyorum:

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

AWS bulut üzerinde ubuntu 14.04 [ücretsiz katman uygun] kullanıyorum ve 64 bit windows8.1 dizüstü bilgisayardan kodu çalıştırıyorum. Sunucu örneğine bağlanmak için PUTTY kullanıyorum. Ben https://github.com/pndaproject/pnda ubuntu örneğine pnda kodu klonladı .

Önemli Not Ubuntu örneğini AWS'de kullanmayı planlıyorsanız, bunun yalnızca 14.04 olduğundan emin olun. Sürüm 16 kullanıyorsanız, çalışmaz. Zor yoldan öğrendim!

Çözünürlük Adımları

Burada tartışılan hatayla karşılaşana kadar gidenlerin bileceği gibi - ayna oluşturma dosyası aşağıdaki adımları içerir -

1) [ sudo su -s ./create_mirror.sh ]Tam ayna oluşturma işlemini çalıştırmak için create_mirror.sh komut dosyasını çalıştırın

2) Bu komut dosyası da çeşitli komut dosyalarını çağırır - bunlardan biri create_mirror_misc.sh ; bu komut dosyası, pnda-static-file-dependencies.txtindirilecek dosyaların listesini içeren anlamına gelir .

3) pnda-static-file-dependsencies.txt dosyasının ilk satırında jdk-8u131-linux-x64.tar.gz dosyasını indirmek için bir referanstır http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz oraclelicense=accept-securebackup-cookie; Bu noktada senaryom mesaj ile başarısız olduFailed to download http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz after 3 retries

4) Sayfaya göz attım http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gzve aşağıdaki hata mesajının görüntülendiğini gördüm**In order to download products from Oracle Technology Network you must agree to the OTN license terms**

5) Bu sorunu gidermek için pnda-static-file-dependencies.txt; Lisans dönemi sözleşmesi koşulunu atlamak için --no-check-certificate - no-cookies ekledim

6) Böylece revize edilmiş kod şöyle görünür: 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

Umarım bu yardımcı olur.


1

denemelisin:

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


0

Bunun nedeni, tarayıcınızdaki indirme sayfasındaki "Kabul Et" düğmesini tıkladığınızda, web sayfasının dosyayı indirmenize izin vermeden önce sözleşmenizi kontrol etmek için kullandığı bir çerez kaydetmesidir. Sorun, wget kullanarak komut satırından indirmeye çalışırken ortaya çıkar ve bunun nedeni, dosyayı indirmek için wget isteğiyle gönderilen çerez bilgileri olmadığından, dosya sunucusunun bakış açısından, lisansı kabul etmeyen tamamen yeni bir kullanıcısınızdır. anlaşması.

Bir çözüm, wget yardımcı programının --header seçeneğini kullanarak çerez bilgilerini göndermektir (yukarıda diğer cevaplarda gösterildiği gibi). İdeal olarak bazı içerikler korunuyorsa, wget ile kullanılabilen çeşitli oturum yönetimi seçeneklerini kullanırsınız. Bununla birlikte, bu özel sorun için, Cookieüstbilgi indirme isteğiyle gönderilerek (şu anda) çözülmüştür .


Eğer tıklayın "Kabul Et" ve sayfada bulunan URL'yi kapmak, bu size yönlendiren http://download.oracle.com/otn/java/...yerine http://download.oracle.com/otn-pub/java/...Sadece değişikliğine /otn/karşı/otn-pub/
T.CK

0

Komutu kendiniz nasıl alacağınız aşağıda açıklanmıştır. Bu, herhangi bir sürüm için çalışır:

  1. Paketler sayfasına buradan erişin: https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
  2. İstediğiniz paketin indirme bağlantısını tıklayın
  3. "İnceleme ve kabul etme ..."
  4. Bağlantı adresini sağ tıklayın ve düğmeden kopyalayın
  5. Bir metin düzenleyicisine yapıştırın ve ardından 'https: //' ile başlayarak 'nexturl =' SONRASI her şeyi kopyalayın
  6. Bu komutta indirme URL'sini güncelleyin; iyi bir seçim yapmanız gerekir:

    wget --no-check-certificate -c --header "Çerez: oraclelicense = kabul et-secureebackup-çerez" https://download.oracle.com/otn/java/jdk/11.0.6+8/90eb79fb590d45c8971362673c5ab495/jdk- 11.0.6_linux-x64_bin.tar.gz

Daha fazla açıklama için --no-check-sertifikası yeterince açık olmalıdır, ancak başlık içeriği (herhangi bir çağrı için) tarayıcınızdaki Geliştirici Araçları Ağ Sekmesi kullanılarak bulunabilir. Geliştirici araçları güçlüdür ve öğrenmeye değer. Zevk almak.


0

@eric answer benim için hile yaptı, ayarladığınız komuttaki terimleri kabul etmeniz gerekiyor yani

"Cookie: oraclelicense=accept-securebackup-cookie"

yani son emriniz böyle görünüyor

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

Sen değiştirerek sürümünü güncellemek için karar verebilir 8u131için 8uXXX. o kadar uzun süre depoda mevcut.


-3
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"

-4

Neden tarayıcınızdan indirmek için tıklamıyorsunuz, daha sonra indirildiği tam bağlantıyı kopyalayıp yapıştırmıyorsunuz, örneğin:

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

Bağlantıyı oracle'ta kabul ettikten ve indirmek için tıkladıktan sonra tarayıcınızın ağ sekmesine bakarak öğrenebilirsiniz. Chrome'da F12. Firefox'ta kundakçı.


1
Çünkü insanlar bunu java'yı bash komut dosyalarına sahip sunuculara otomatik olarak yüklemek için ihtiyaç duyarlar.
Saša Šijak
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.