java - Wget के माध्यम से लिनक्स पर जावा जेडीके डाउनलोड करने के बजाय इसके बजाय लाइसेंस पेज दिखाया गया है




linux install (15)

जब मैं ओरेकल I से जावा डाउनलोड करने का प्रयास करता हूं तो इसके बजाय मुझे एक पृष्ठ डाउनलोड करना समाप्त होता है जो मुझे बता रहा है कि मुझे ओटीएन लाइसेंस शर्तों से सहमत होना चाहिए।

माफ़ कीजिये!

ओरेकल टेक्नोलॉजी नेटवर्क से उत्पादों को डाउनलोड करने के लिए आपको ओटीएन लाइसेंस शर्तों से सहमत होना चाहिए।

आश्वस्त रहे कि...

  • आपके ब्राउज़र में "कुकीज़" और जावास्क्रिप्ट सक्षम है।
  • आपने जिस उत्पाद को डाउनलोड करना चाहते हैं उसके लिए आपने "लाइसेंस स्वीकार करें" पर क्लिक किया है।
  • आप लाइसेंस स्वीकार करने के 30 मिनट के भीतर डाउनलोड का प्रयास करते हैं।

मैं जावा को कैसे डाउनलोड और इंस्टॉल कर सकता हूं?


( Irani ने मेरे जवाब को अपडेट किया, लेकिन यहां यह सब स्पष्ट करने के लिए है। )

संपादित करें: जावा 10.0.1 के लिए अपडेट किया गया, 18 अप्रैल को जारी किया गया

wget

wget -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

जेआरई 8u171 (कोई कुकी झंडे नहीं): http://javadl.oracle.com/webapps/download/AutoDL?BundleId=233162_512cd62ec5174c3487ac17c61aaa89e8
अधिक के लिए oracle.com और java.com में डाउनलोड देखें।

  • -c / --continue

    एक अधूरा डाउनलोड जारी रखने की अनुमति देता है।

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

    15 मार्च 2014 से यह कुकी लाइसेंस समझौते को स्वीकार करने के बाद उपयोगकर्ता को प्रदान की जाती है और Java.xacle.com में जावा पैकेज तक पहुंचने के लिए आवश्यक है। 27 मार्च 2012 को पिछले (और पहले) कार्यान्वयन ने कुकी gpw_e24=http%3A%2F%2Fwww.oracle.com[...] । दोनों मामले जनता के लिए अनचाहे रहते हैं।

    मान को " accept-securebackup-cookie " नहीं होना चाहिए।

Wget <1.13 के लिए आवश्यक है

  • --no-check-certificate

    केवल 1.12 और इससे पहले के साथ जरूरी है, जो विषय वैकल्पिक नाम (SAN) प्रमाणपत्र (मुख्य रूप से Red Hat Enterprise Linux 6.x और दोस्तों, जैसे CentOS) का support not support । 1.13 अगस्त 2011 में released गया released

    वर्तमान संस्करण देखने के लिए, का उपयोग करें: wget --version | head -1 wget --version | head -1

की जरूरत नहीं है

  • --no-cookies

    संयोजन --no-cookies --header "Cookie: name=value" का उल्लेख " official " कुकी समर्थन के रूप में किया गया है, लेकिन यहां सख्ती से इसकी आवश्यकता नहीं है।

cURL

curl -L -C - -b "oraclelicense=accept-securebackup-cookie" -O http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.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 के लिए आवश्यक (अधिक मतभेदों के लिए लेखक की तुलना देखें)।



उपर्युक्त सभी मानते हैं कि आप नवीनतम जावा RPM के लिए यूआरएल जानते हैं ...

ओरेकल https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=397248601136938&id=1414485.1 पर दस्तावेज़ के रूप में प्रत्येक जावा संस्करण के नवीनतम अपडेट के लगातार लिंक प्रदान करता है - हालांकि आपको ओरेकल समर्थन खाते में लॉग इन / लॉग इन करने की आवश्यकता है । * अन्यथा आप केवल प्रत्येक जावा संस्करण के अंतिम "सार्वजनिक" अद्यतन तक पहुंच सकते हैं, उदाहरण के लिए 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.

ओरेकल ने डाउनलोड लिंक पर एक रोकथाम कुकी रखी है ताकि आप शर्तों का सहमत हो सकें, भले ही जावा का उपयोग करने के लिए लाइसेंस समझौते स्पष्ट रूप से बताता है कि केवल जावा का उपयोग करके आप लाइसेंस के लिए 'सहमत' हैं ..

ओरेकल चाहता है कि विधि आप इसे एक समझौते के साथ डाउनलोड करना है। उसके बाद, इस स्क्रिप्ट सीएन को आपके विशिष्ट लिनक्स के लिए संशोधित किया जाना चाहिए

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

जिनके लिए जेसीई 8 की भी आवश्यकता है, आप इसे भी डाउनलोड कर सकते हैं।

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

जेडीके 9 के लिए अपडेट किया गया ऐसा लगता है कि आप इसे सीधे हेडर भेजने के बिना java.net से डाउनलोड कर सकते हैं

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

जेडीके 8u151 के लिए अद्यतन

टैर जीजेड:

wget --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz

जेडीके 8u151 के लिए अद्यतन

टैर जीजेड:

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/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz"

आरपीएम:

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/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.rpm"

जेडीके 8u131 के लिए अद्यतन

आरपीएम:

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

टैर जीजेड:

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

उपर्युक्त सभी मामलों में, 32-बिट निर्माण को डाउनलोड करने के लिए 'x64' के लिए 'i586' को प्रतिस्थापित करें।

  • -जे -> जंक कुकीज़
  • -के -> प्रमाणपत्रों को अनदेखा करें
  • -एल -> रीडायरेक्ट का पालन करें
  • -एच [ तर्क ] -> हेडर

curl स्थान पर curl का उपयोग किया जा सकता है।

जेडीके 7u79 के लिए अद्यतन करें

टैर जीजेड:

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

एक बार फिर, सुनिश्चित करें कि आप जो संस्करण डाउनलोड कर रहे हैं उसके लिए सही यूआरएल निर्दिष्ट करें। आप यहां यूआरएल पा सकते हैं: ओरेकल जेडीके डाउनलोड साइट

9 जून 2012 से मूल उत्तर

यदि आप 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"

डाउनलोड किए गए संस्करण के लिए डाउनलोड लिंक को सही एक के साथ प्रतिस्थापित करना सुनिश्चित करें।


नवीनतम परीक्षण,

wget --no-कुकीज़ --no-check-circuit --header "कुकी: gpw_e24 = http% 3A% 2F% 2Fwww.oracle.com" " https://edelivery.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-x64.tar.gz "

सावधान रहें कि अगर आप पूर्ण सुरक्षा की परवाह करते हैं तो सर्टिफिकेट चेक अक्षम है। :)


प्रत्येक नए जावा संस्करण के लिए एक नया लिंक या मौजूदा स्क्रिप्ट बदलने के बजाय, मैं आवश्यक जावा पैकेजों के डाउनलोड को स्वचालित करने के लिए और बाद में इंस्टॉलेशन के लिए yum localinstall ${JAVA_ENVIRONMENT}-${JAVA_VERSION}-linux-x64.rpm माध्यम से इंस्टॉलेशन को और अधिक सामान्य तरीका ढूंढ रहा था। 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 साथ आगे बढ़ सकता है।


मुझे पता है कि ओरेकल ने अपने जावा रनटाइम और जावा एसडीके को यथासंभव कठिन बनाने के लिए सबकुछ संभव बनाया।

कमांड लाइन प्रेमियों के लिए यहां कुछ गाइड दिए गए हैं।

सिस्टम जैसे डेबियन के लिए ( 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

नोट: यदि आप एक बेहतर या आसान तरीका जानते हैं तो कोई टिप्पणी जोड़ें, मैं गाइड अपडेट कर दूंगा।


मैं इसे java-package का उपयोग करके कुछ बार (विभिन्न आर्किटेक्चर के लिए) java-package बनाकर, डेबियन आधारित लिनक्स डिस्ट्रोज़ के लिए) को हल करता हूं, फिर उन्हें आंतरिक रूप से वितरित करता हूं।

बड़ी प्लस पक्ष यह है कि यह विधि हमेशा काम करती है; कोई फर्क नहीं पड़ता कि ओरेकल के वेब पेज कितने पागल हो जाते हैं। ओरेकल अब मेरे निर्माण को तोड़ नहीं सकता!

नकारात्मकता यह है कि शुरुआत में स्थापित करने के लिए यह थोड़ा और काम है।

  • ब्राउज़र में tar.gz फ़ाइलों को मैन्युअल रूप से डाउनलोड करें (इस प्रकार उनकी शर्तों को स्वीकार कर रहे हैं)
  • रन make-jpkg jdk-7u51-linux-x64.tar.gz । यह oracle-java8-jdk_8_amd64.deb बनाता है
  • इसे अपने संगठन के भीतर वितरित करें

इंटरनेट पर वितरण के लिए, मैं एक पासवर्ड संरक्षित एपीटी भंडार का उपयोग करने का सुझाव देता हूं या सममित एन्क्रिप्शन का उपयोग करके कच्चे पैकेज प्रदान करता हूं:

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 पैकेज शायद ओरेकल के साथ आपके लाइसेंस समझौते का उल्लंघन है, जो कहता है:

... ओरेकल आपको एक लाइसेंस प्रदान करता है ... लाइसेंस ... प्रोग्राम चलाने के एकमात्र उद्देश्य के लिए आंतरिक रूप से सॉफ्टवेयर को पूर्ण रूप से पुन: पेश करने और उपयोग करने के लिए "

प्राप्त करने वाले अंत में, यदि आपके पास पासवर्ड सुरक्षित एपीटी रेपो है, तो आपको बस इसे apt-get install है। यदि आपके पास कच्चे पैकेज हैं, डाउनलोड करें, डिक्रिप्ट करें और dpkg -i उन्हें। एक जादू की तरह काम करता है!


यह जेडीके 6 के लिए काम करता है, आपको बस नवीनतम संस्करण के साथ डाउनलोड यूआरएल को प्रतिस्थापित करने की आवश्यकता है।

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

स्वीकार किया गया जवाब 2017-04-25 तक मेरे लिए काम नहीं कर रहा था। हालांकि, सरल समाधान --header विकल्प के बजाय -b ध्वज का उपयोग कर रहा था।

उदाहरण के लिए, 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


wget यह मेरे लिए जेडीके 8 काम किया

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"

जेडीके 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

नीचे पुराना लिंक

जेडीके 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

जेडीके 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

जेडीके 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

जेडीके 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

जेडीके 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


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"




wget