SITUATION
Due to security or firewall issue, we have to download Oracle software and patches from a sever where web browser is unavailable. Here is an example how to download the patches by using wget utility.
IMPLEMENTATION
1) Search the patch you want.
2) Select and click Download button.
3) Click “View Digest Details“
4) Click “WGET Options” and “Download.sh“, save wget.sh.
5) Edit wget.sh by specifying the variables with right values as below :
# SSO username and password SSO_USERNAME=EXAMPLE@ORACLE.COM SSO_PASSWORD=password
# Path to wget command WGET="/usr/bin/wget --no-check-certificate --secure-protocol=TLSv1 "
6) Run wget,sh script.
7) Double check the download files are OK by comparing the output string with the values from STEP 3.
8) wget.sh script content.
#!/bin/sh -x # # Generated 6/14/15 10:25 AM # Start of user configurable variables # LANG=C export LANG # SSO username and password SSO_USERNAME=EXAMPLE@ORACLE.COM SSO_PASSWORD=password # Path to wget command WGET="/usr/bin/wget --no-check-certificate --secure-protocol=TLSv1 " # Location of cookie file COOKIE_FILE=/tmp/$.cookies # Log directory and file LOGDIR=. LOGFILE=$LOGDIR/wgetlog-`date +%m-%d-%y-%H:%M`.log # Output directory and file OUTPUT_DIR=. # # End of user configurable variable # if [ "$SSO_PASSWORD " = " " ] then echo "Please edit script and set SSO_PASSWORD" exit fi # Contact updates site so that we can get SSO Params for logging in SSO_RESPONSE=`$WGET --user-agent="Mozilla/5.0" https://updates.oracle.com/Orion/Services/download 2>&1|grep Location` # Extract request parameters for SSO SSO_TOKEN=`echo $SSO_RESPONSE| cut -d '=' -f 2|cut -d ' ' -f 1` SSO_SERVER=`echo $SSO_RESPONSE| cut -d ' ' -f 2|cut -d 'p' -f 1,2` SSO_AUTH_URL=sso/auth AUTH_DATA="ssousername=$SSO_USERNAME&password=$SSO_PASSWORD&site2pstoretoken=$SSO_TOKEN" # The following command to authenticate uses HTTPS. This will work only if the wget in the environment # where this script will be executed was compiled with OpenSSL. Remove the --secure-protocol option # if wget was not compiled with OpenSSL # Depending on the preference, the other options are --secure-protocol= auto|SSLv2|SSLv3|TLSv1 $WGET --user-agent="Mozilla/5.0" --secure-protocol=TLSv1 --post-data $AUTH_DATA --save-cookies=$COOKIE_FILE --keep-session-cookies $SSO_SERVER$SSO_AUTH_URL -O sso.out >> $LOGFILE 2>&1 rm -f sso.out $WGET --user-agent="Mozilla/5.0" --load-cookies=$COOKIE_FILE --save-cookies=$COOKIE_FILE --keep-session-cookies "https://updates.oracle.com/Orion/Services/download/p20819644_1121030_Linux-x86-64.zip?aru=18865551&patch_file=p20819644_1121030_Linux-x86-64.zip" -O $OUTPUT_DIR/p20819644_1121030_Linux-x86-64.zip >> $LOGFILE 2>&1 # Cleanup rm -f $COOKIE_FILE