My Oracle Support et wget
Vous vous êtes certainement déjà retrouvé dans une situation où vous deviez télécharger un ISO ou un patch Oracle sur un serveur Linux, joignable via X rebonds depuis votre poste de travail.
Si le serveur cible a accès à Internet, il existe un moyen rapide de télécharger directement via WGET. Le procédure est décrite en tout petit dans la documentation Oracle (« Alternatively, use the WGET options. »), mais voici un exemple concret.
Commençons par aller récupérer le lien du patch
Sur le site de My Oracle Support, passez par l’onglet «Patches & Updates» pour rechercher le patch ou patchset souhaité.
Depuis la page des résultats, faites comme si vous souhaitiez télécharger le patch.
Cliquer sur le bouton « Download ». Rien de compliqué jusqu’ici : c’est la démarche habituelle pour télécharger un patch.
Cliquez sur le lien «WGET Options » tout en bas de la fenêtre contextuelle.
Oracle vous propose un script Shell qui permettra de télécharger le patch. Cliquer dur « Download .sh »
Vous avez alors la possibilité de télécharger le script « wget.sh » proposé.
Script wget.sh
Ce script contient déjà le correctif à télécharger.
Vous avez la possibilité de le compléter avec vos identifiants MOS en haut, ou encore de préciser le répertoire de destination du patch à télécharger dans le paramètre OUTPUT.
Notez bien également que vous ne verrez aucune sortie de ce script. Il générera cependant un fichier log dans le répertoire d’exécution.
#!/bin/sh # # Generated 2/25/19 12:21 PM # Start of user configurable variables # LANG=C export LANG # Trap to cleanup cookie file in case of unexpected exits. trap 'rm -f $COOKIE_FILE; exit 1' 1 2 3 6 # SSO username printf 'SSO UserName:' read SSO_USERNAME # Path to wget command WGET=/usr/bin/wget # Log directory and file LOGDIR=. LOGFILE=$LOGDIR/wgetlog-$(date +%m-%d-%y-%H:%M).log # Print wget version info echo "Wget version info: ------------------------------ $($WGET -V) ------------------------------" > "$LOGFILE" 2>&1 # Location of cookie file COOKIE_FILE=$(mktemp -t wget_sh_XXXXXX) >> "$LOGFILE" 2>&1 if [ $? -ne 0 ] || [ -z "$COOKIE_FILE" ] then echo "Temporary cookie file creation failed. See $LOGFILE for more details." | tee -a "$LOGFILE" exit 1 fi echo "Created temporary cookie file $COOKIE_FILE" >> "$LOGFILE" # Output directory and file OUTPUT_DIR=. # # End of user configurable variable # # 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. # $WGET --secure-protocol=auto --save-cookies="$COOKIE_FILE" --keep-session-cookies --http-user "$SSO_USERNAME" --ask-password "https://updates.oracle.com/Orion/Services/download" -O /dev/null 2>> "$LOGFILE" # Verify if authentication is successful if [ $? -ne 0 ] then echo "Authentication failed with the given credentials." | tee -a "$LOGFILE" echo "Please check logfile: $LOGFILE for more details." else echo "Authentication is successful. Proceeding with downloads..." >> "$LOGFILE" $WGET --load-cookies="$COOKIE_FILE" "https://updates.oracle.com/Orion/Services/download/p28980123_121020_Linux-x86-64.zip?aru=22674059&patch_file=p28980123_121020_Linux-x86-64.zip" -O "$OUTPUT_DIR/p28980123_121020_Linux-x86-64.zip" >> "$LOGFILE" 2>&1 fi # Cleanup rm -f "$COOKIE_FILE" echo "Removed temporary cookie file $COOKIE_FILE" >> "$LOGFILE"
Télécharger le patch
Une fois ce petit script sur votre poste de travail, à vous de le transférer sur le serveur cible, ou bien de l’y créer manuellement en recopiant son code.
[oracle@server12c oracle.linuxamd64.12102]$ vi wget.sh
Modifier les permissions du fichier pour le rendre exécutable.
[oracle@server12c oracle.linuxamd64.12102]$ chmod u+x wget.sh [oracle@server12c oracle.linuxamd64.12102]$ ls -ls 4 -rwxr--r-- 1 oracle oinstall 1950 Feb 25 04:22 wget.sh
Lancer le téléchargement.
Le script vous demandera alors de renseigner votre login MOS (sauf si vous l’avez indiqué en dur précédemment dans le script), ainsi que votre mot de passe.
[oracle@server12c oracle.linuxamd64.12102]$ ./wget.sh SSO UserName:support@easyteam.fr Password:
Consulter la log depuis une autre session ssh
On le répète : le script n’affichera rien à l’écran. Il génère, dans le répertoire d’exécution, un fichier de log « wgetlog-horodatage.log ».
[oracle@server12c oracle.linuxamd64.12102]$ ls -lrth 4 -rwxr--r-- 1 oracle oinstall 1950 Feb 25 04:22 wget.sh 1341444 -rw-r--r-- 1 oracle oinstall 1373634560 Feb 25 04:48 p28980123_121020_Linux-x86-64.zip 2108 -rw-r--r-- 1 oracle oinstall 2155437 Feb 25 04:48 wgetlog-02-25-19-04:23.log
Voici à quoi il ressemble :
[oracle@server12c oracle.linuxamd64.12102]$ tail -f wgetlog-02-25-19-04:23.log Length: unspecified [text/plain] Saving to: `/dev/null' 0K 29.6M=0s 2019-02-25 04:24:02 (29.6 MB/s) - `/dev/null' saved [118] Authentication is successful. Proceeding with downloads... --2019-02-25 04:24:03-- https://updates.oracle.com/Orion/Services/download/p28980123_121020_Linux-x86-64.zip?aru=22674059&patch_file=p28980123_121020_Linux-x86-64.zip Resolving updates.oracle.com... 141.146.44.51 Connecting to updates.oracle.com|141.146.44.51|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://aru-akam.oracle.com/adcarurepos/vol/patch01/PLATFORM/CORE/Linux-x86-64/R600000000009300/p28980123_121020_Linux-x86-64.zip?FilePath=/adcarurepos/vol/patch01/PLATFORM/CORE/Linu x-x86-64/R600000000009300/p28980123_121020_Linux-x86-64.zip&File=p28980123_121020_Linux-x86-64.zip¶ms=cisweEo1ek5zcDVVdkVHa3V2cVVPZzphcnU9MjI2NzQwNTkmZW1haWw9c3VwcG9ydEBlYXN5dGVhbS5mciZmaW xlX2lkPTEwMzEwODY1MiZwYXRjaF9maWxlPXAyODk4MDEyM18xMjEwMjBfTGludXgteDg2LTY0LnppcCZ1c2VyaWQ9by1zdXBwb3J0QGVhc3l0ZWFtLmZyJnNpemU9MzMxOTE1OTMwNyZjb250ZXh0PUFAMTArSEBhYXJ1dm10cDAxLm9yYWNsZS5jb20rUE AmZG93bmxvYWRfaWQ9Mzk2MzU3MjM0&AuthParam=1551097572_5d160f7cc0999c550e4cec0b1b552a18 [following] --2019-02-25 04:24:04-- https://aru-akam.oracle.com/adcarurepos/vol/patch01/PLATFORM/CORE/Linux-x86-64/R600000000009300/p28980123_121020_Linux-x86-64.zip?FilePath=/adcarurepos/vol/patch01/PLA TFORM/CORE/Linux-x86-64/R600000000009300/p28980123_121020_Linux-x86-64.zip&File=p28980123_121020_Linux-x86-64.zip¶ms=cisweEo1ek5zcDVVdkVHa3V2cVVPZzphcnU9MjI2NzQwNTkmZW1haWw9c3VwcG9ydEBlYXN 5dGVhbS5mciZmaWxlX2lkPTEwMzEwODY1MiZwYXRjaF9maWxlPXAyODk4MDEyM18xMjEwMjBfTGludXgteDg2LTY0LnppcCZ1c2VyaWQ9by1zdXBwb3J0QGVhc3l0ZWFtLmZyJnNpemU9MzMxOTE1OTMwNyZjb250ZXh0PUFAMTArSEBhYXJ1dm10cDAxLm9 yYWNsZS5jb20rUEAmZG93bmxvYWRfaWQ9Mzk2MzU3MjM0&AuthParam=1551097572_5d160f7cc0999c550e4cec0b1b552a18 Resolving aru-akam.oracle.com... 23.77.59.73 Connecting to aru-akam.oracle.com|23.77.59.73|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 3319159307 (3.1G) [application/zip] Saving to: `./p28980123_121020_Linux-x86-64.zip' 0K .......... .......... .......... .......... .......... 0% 258K 3h29m 50K .......... .......... .......... .......... .......... 0% 357K 3h0m 100K .......... .......... .......... .......... .......... 0% 4.47M 2h4m 150K .......... .......... .......... .......... .......... 0% 360K 2h10m 200K .......... .......... .......... .......... .......... 0% 6.55M 1h46m 250K .......... .......... .......... .......... .......... 0% 1.75M 93m28s 300K .......... .......... .......... .......... .......... 0% 9.09M 80m57s
…
1216350K .......... .......... .......... .......... .......... 37% 7.04M 36m50s 1216400K .......... .......... .......... .......... .......... 37% 373K 36m51s 1216450K .......... .......... .......... .......... .......... 37% 10.3M 36m50s 1216500K .......... .......... .......... .......... .......... 37% 53.9K 36m52s 1216550K .......... .......... .......... .......... .......... 37% 8.87M 36m52s 1216600K .......... .......... .......... .......... .......... 37% 8.93M 36m52s 1216650K .......... .......... .......... .......... .......... 37% 8.17M 36m51s 1216700K .......... .......... .......... .......... .......... 37% 11.0M 36m51s 1216750K .......... .......... .......... .......... .......... 37% 362K 36m51s 1216800K .......... .......... .......... .......... .......... 37% 9.91M 36m51s 1216850K .......... .......... .......... .......... .......... 37% 9.33M 36m51s 1216900K .......... .......... .......... .......... .......... 37% 351K 36m51s 1216950K .......... .......... .......... .......... .......... 37% 11.8M 36m51s 1217000K .......... .......... .......... .......... .......... 37% 9.65M 36m51s 1217050K .......... .......... .......... .......... .......... 37% 345K 36m51s
…
3240750K .......... .......... .......... .......... .......... 99% 2.40M 1s 3240800K .......... .......... .......... .......... .......... 99% 2.27M 1s 3240850K .......... .......... .......... .......... .......... 99% 653K 1s 3240900K .......... .......... .......... .......... .......... 99% 2.65M 0s 3240950K .......... .......... .......... .......... .......... 99% 1.93M 0s 3241000K .......... .......... .......... .......... .......... 99% 3.01M 0s 3241050K .......... .......... .......... .......... .......... 99% 1.89M 0s 3241100K .......... .......... .......... .......... .......... 99% 653K 0s 3241150K .......... .......... .......... .......... .......... 99% 2.64M 0s 3241200K .......... .......... .......... .......... .......... 99% 2.48M 0s 3241250K .......... .......... .......... .......... .......... 99% 2.16M 0s 3241300K .......... .......... .......... .......... .......... 99% 515K 0s 3241350K .......... ...... 100% 4.07M=62m51s 2019-02-25 05:26:56 (860 KB/s) - `./p28980123_121020_Linux-x86-64.zip' saved [3319159307/3319159307] Removed temporary cookie file /tmp/wget_sh_Vw4e9R
C’est terminé ! Le patch est téléchargé sur le serveur.