¿Cómo omito la página de licencia para descargar Oracle / Sun Java en un servidor con wget?

10

Estoy tratando de instalar Liferay en Ubuntu Server 12.04, que requiere JRE y recomienda la versión 6.

No puedo encontrar JRE6 en un repositorio autorizado, y no puedo encontrar la manera de superar el acuerdo de licencia para una descarga manual (wget).

¿Puedo agregar un valor a wget para aceptar el acuerdo de licencia de Oracle y descargar el archivo?

Gracias

tomtomnz
fuente
Para futuros buscadores, verifique esto: stackoverflow.com/a/10959815/2184122
Robert Lugg

Respuestas:

10

Descargas de Oracle Java "automatizadas" (JRE / JDK 6/7 y otros ...)

Necesitará sqlite3 instalado; es un paquete pequeño, úsalo sudo apt-get install sqlite3si lo necesitas.

  1. Abra Firefox, vaya a la página de descargas de Java para obtener la versión / variante que necesita y haga clic en el botón de opción Aceptar acuerdo de licencia .

    ingrese la descripción de la imagen aquí

  2. Abra un terminal y péguelo para extraer las cookies de sesión de Oracle necesarias de la base de datos de cookies de Firefox SQLite en un cookiesformato de archivo de texto wget( fuente para script )

    eco ". pestañas de modo
    seleccione host, caso cuando host glob '. *' luego 'TRUE' más 'FALSE' final, ruta,
    caso cuando isSecure luego 'TRUE' más 'FALSE' final, caducidad, nombre, valor
    de moz_cookies; "| sqlite3 ~ / .mozilla / firefox / *. default / cookies.sqlite
    El | grep -i oracle> /tmp/oracle-cookies.txt
    
  3. Ahora use wgetpara descargar con esas cookies de sesión:

    wget --load-cookies=/tmp/oracle-cookies.txt wget http://download.oracle.com/otn-pub/java/jdk/6u14-b08/jdk-6u14-linux-x64.bin
  4. Notas:

    • Puede usar estas cookies para cualquier descarga de Oracle siempre que provenga del otn-pubdirectorio
    • Puede pegar el script en un archivo .sh para facilitar su uso
    • Las cookies no están asociadas con IP, por lo que para un servidor sin cabeza / CLI, simplemente SCP o transfiera el cookiesarchivo y puede descargarlo desde cualquier computadora (pero hay un tiempo de espera de 30 minutos en la cookie, así que tenga cuidado)
    • Relacionado: ¿Cómo uso wget / curl para descargar desde un sitio en el que estoy conectado?
ish
fuente
1
¿Es 100% legal?
Tachyons
@tachyons Sí, tienes que abrir un navegador en alguna computadora y hacer clic en "Aceptar acuerdo de licencia" antes de poder hacer algo de esto ...
ish
Genial truco, pero ¿alguna idea si aún funciona? Sigo intentándolo, pero solo descarga el contenido de una página html que dice "¡Lo siento! Para descargar productos de OTN, debe aceptar los términos de la licencia de OTN". O lo estoy haciendo mal o Oracle se dio cuenta de esto ...
Kurtosis
Siempre puedes pasar esa URL en el navegador también :)
Dreamwalker
Si bien esta respuesta es excelente, la que acabo de publicar a continuación es mucho más fácil. Por supuesto, es posible que deba recurrir a este si el mío deja de funcionar.
Periata Breatta
6

Hay una pregunta similar sobre stackoverflow: ¿Cómo automatizar la descarga e instalación de Java JDK en Linux?

La respuesta usando wget es:

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"

El último argumento es la url para descargar. Los diferentes archivos de versión de Java difieren no solo en la versión, sino también en la extensión.

Draco Ater
fuente
2
Ya no funciona
Roger Dahl el
sí, esto no funciona, sigue redirigiéndome a login.oracle.com
Alexander Mills
6

Un consejo de mkyong.com : puede usar wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]para descargar sin necesidad de extraer cookies de su navegador.

Periata Breatta
fuente
Esto es claramente mejor que las otras respuestas siempre que funcione. Todavía es el caso en el momento de este escrito.
Ludovic Kuty
1

Como complemento a la respuesta izx, hay un complemento de Chrome que puede usar para exportar sus cookies, por lo que no tiene que usar sqlite.

molesto
fuente
La respuesta de @ izx es genial. Pero prefiero la sugerencia de Pushy de usar "Exportar Cookie.txt" para obtener el contenido de la cookie (correspondiente al paso 2 de la respuesta de izx) en lugar de usar sqlite3.
mdahlman
0

Una forma rápida sin cookies:

  • Inicie la descarga en su navegador
  • Pausa la descarga
  • Copie la url que se usa para la descarga
  • Usa la url con wget: wget --no-check-certificate URL_FOR_DOWNLOAD

La URL probablemente solo sea válida por un período de tiempo limitado (a menudo 30 minutos).

usuario104502
fuente
0

En realidad, solo obtenga el contenido proporcionado por la extensión de Chrome mencionada por pushy en un archivo en su linux. Luego copie la dirección dl de la página de Oracle y agréguela a su comando wget. Por ejemplo, para dl Oracle Database 11g Release 2 (11.2.0.1.0):

vagrant@vagrant-ubuntu-trusty-64:~/download$ wget -x --load-cookies cookies.txt http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip

Nicolas Mas
fuente