Descargando software de Oracle usando lynx, wget y curl en linux

A veces practico algo de java o prueba alguno de los productos de Oracle, Oracle te permite bajar sus aplicaciones con tan solo registrarte en su sitio luego solo tienes que loggearte en el sitio para descargar ya sea el servidor de bases de datos, el IDE Jdeveloper, o cualquier otro producto que este en la seccion de descargas.

El unico inconveniente es que para descargar tienes que loggearte, y algunos gestores de descargas no retienen la informacion de las cookies del sitio o no te permite resumir la descarga, la solucion a esto viene con algunos programas que estan presentes en casi todas las distribuciones de Linux, los cuales son :

  1. Lynx: navegador modo texto para la consola
  2. Wget: excelente herramienta para descarga y hacer mirrors de los sitios
  3. Curl: en mi opinion aun mas potente que el wget en opciones .

usando estas herramientas podremos bajar los productos de oracle y resumir la descarga sin problemas.

Lo primero instalar todo lo necesario:

yum install -y wget curl lynx 

Una vez instalado creamos un configuracion personalizada para Lynx que contenga las siguientes lineas:

SET_COOKIES:TRUE
PERSISTENT_COOKIES:TRUE
ACCEPT_ALL_COOKIES:TRUE
COOKIE_FILE:~/.lynx_cookies
INCLUDE:/etc/lynx.cfg

y guardaremos esto en: ~/lynx.cfg estas lineas le dice a lynx como guardar las cookies y donde.

Buscamos los enlaces de lo que queremos bajar en la seccion de descargas de Oracle debe ser algo como esto:

"http://download.oracle.com/otn/linux/oracle11g/linux_11gR1_database.zip"

ejecutamos lynx con el enlace y la configuracion previa:

lynx -cfg lynx.cfg \ "http://download.oracle.com/otn/linux/oracle11g/linux_11gR1_database.zip"

Lynx abrira una pagina como la siguiente:

ahi ingresaremos los datos con los cuales nos registramos en la pagina de Oracle, esto para obtener las cookies que luego necesitaremos.

Una vez autenticado aparacera en el Lynx la opcion de descargar a la cual le diremos que cancele la descarga

ahora tenemos lo que necesitamos, un archivo con las cookies persistentes del sitio de Oracle.

Ejecutamos wget o curl con los respectivos parametros y el url para descargar el archivo que queremos.

Usando wget:

wget -c --load-cookies=.lynx_cookies \
"http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip"

la opcion -c es para resumir la descarga

Usando curl:

curl -C - -O -b .lynx_cookies  \
"http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip

-C – : es para resumir la descarga
-O : salva el archivo con el nombre que tiene en el url
-b : carga las cookies del archivo.

para mayor comodidad podemos poner esto en un shell script y poner los enlaces en un archivo de texto por ejemplo:

#!/bin/bash
wget -c --load-cookies=.lynx_cookies -i enlaces.txt

Archivo enlaces:

http://download.oracle.com/otn/java/jdeveloper/10133/jdevstudiobase10133.zip
http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
http://download.oracle.com/otn/linux/oracle11g/linux_11gR1_database.zip

Eso es todo, basta con solo reemplazar lo enlaces y podremos bajar cualquier producto Oracle que este en la seccion de descargas y resumir las descargas si no finalizaron en cualquier momento con solo ejecutar el script.