java - ppa - JDK 8 NO está instalado-ERROR 404: No encontrado
oracle java 7 (10)
Añadiendo a la respuesta de @ cavpollo, para aquellos que usan Ansible, esta tarea lo llevará allí
- name: Patch Java installer
shell: "{{ item }}"
args:
chdir: "/var/lib/dpkg/info"
become: yes
with_items:
- sed -i ''s|JAVA_VERSION=8u144|JAVA_VERSION=8u152|'' oracle-java8-installer.*
- sed -i ''s|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/|'' oracle-java8-installer.*
- sed -i ''s|SHA256SUM_TGZ="e8a341ce566f32c3d06f6d0f0eeea9a0f434f538d22af949ae58bc86f2eeaae4"|SHA256SUM_TGZ="218b3b340c3f6d05d940b817d0270dfe0cfd657a636bad074dcabe0c111961bf"|'' oracle-java8-installer.*
- sed -i ''s|J_DIR=jdk1.8.0_144|J_DIR=jdk1.8.0_152|'' oracle-java8-installer.*
Desde ayer, he estado tratando de instalar el JDK8 en mi máquina Ubuntu, pero ha fallado constantemente.
He estado tratando de ejecutar los comandos:
sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
Pero no puedo continuar porque cuando sudo apt-get install oracle-java8-installer
el comando sudo apt-get install oracle-java8-installer
todo lo que obtengo es:
...
Connecting to download.oracle.com (download.oracle.com)|23.215.130.99|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-10-18 11:07:34 ERROR 404: Not Found.
download failed
Oracle JDK 8 is NOT installed.
dpkg: error processing package oracle-java8-installer (--configure):
subprocess installed post-installation script returned error exit status 1
...
Mi instalación es un Ubuntu 14.04 de 64 bits.
Aquí está para Java 8u181 ya que 8u171 ya no funciona:
cd /var/lib/dpkg/info
sed -i ''s|JAVA_VERSION=8u171|JAVA_VERSION=8u181|'' oracle-java8-installer.*
sed -i ''s|J_DIR=jdk1.8.0_171|J_DIR=jdk1.8.0_181|'' oracle-java8-installer.*
sed -i ''s|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|'' oracle-java8-installer.*
sed -i ''s|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|'' oracle-java8-installer.*
Creo que el enlace proporcionado por Oracle no es correcto, prueba este " http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz "
Desde hace unos días esta solución está obsoleta debido a la nueva versión de java. En cambio, usa este reemplazo:
sed -i ''s|JAVA_VERSION=8u151|JAVA_VERSION=8u162|'' oracle-java8-installer.*
sed -i ''s|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/|'' oracle-java8-installer.*
sed -i ''s|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="68ec82d47fd9c2b8eb84225b6db398a72008285fafc98631b1ff8d2229680257"|'' oracle-java8-installer.*
sed -i ''s|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_162|'' oracle-java8-installer.*
Después de buscar en Google encontré una respuesta en el foro de Ubuntu .
Básicamente, el problema parece ser que hay una nueva versión de Java y el instalador no se actualizó para hacer referencia a ella.
Si su máquina es un Linux x64 con un procesador AMD64 , y necesita la versión más reciente de Java8, esto se puede solucionar fácilmente ejecutando estos comandos (El crédito para la versión original va a g1zmo2 y esta versión actualizada va a @Glenn Smith):
cd /var/lib/dpkg/info
sudo sed -i ''s|JAVA_VERSION=8u171|JAVA_VERSION=8u181|'' oracle-java8-installer.*
sudo sed -i ''s|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|'' oracle-java8-installer.*
sudo sed -i ''s|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|'' oracle-java8-installer.*
sudo sed -i ''s|J_DIR=jdk1.8.0_171|J_DIR=jdk1.8.0_181|'' oracle-java8-installer.*
Y luego ejecutar los comandos del instalador JDK 8 como lo haría normalmente =):
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
Si su máquina no es un Linux x64 AMD64 o está buscando Java 9 , está de suerte. Hoy es el día en que aprenderá a arreglar su instalador Java para sus propias necesidades.
A los efectos de este tutorial, supondremos que desea Java 8u181 y que previamente había instalado Java 8u171 (porque eso es lo que tengo).
Primero, necesito que vaya a la página de Descargas JDK de Java (para Java8, vaya aquí , haga clic en la tab "Descargas", y luego en el link "Java SE 8u181").
Ahora, busque la versión JDK que necesita según su máquina. En mi caso, mi máquina se está ejecutando en Ubuntu 14.04 de 64 bits, entonces necesito "Linux x64".
Copie el enlace que lo lleva a la descarga que necesita. No olvides aceptar el acuerdo de licencia. En mi caso (Linux x64), necesito: http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
.
Para los propósitos de este tutorial, solo necesitamos la ruta del enlace: http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/
. Manténlo seguro; lo necesitaremos más tarde.
Ahora busque el enlace de suma de comprobación en la página y haga clic en él .
Esto debería llevarlo a una página de tabla html del plan. Solo busque el sh256
que se ajuste a su máquina.
Una vez más, mi máquina es un "Linux x64", así que necesito 1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3
, como en la imagen. Copie el valor y manténgalo a salvo; lo necesitaremos más tarde también.
Ahora, abra una terminal en su máquina e ingrese la carpeta donde están los archivos instaladores de Java:
cd /var/lib/dpkg/info
Genial, ahora escribe esto:
sudo grep --color -P "JAVA_VERSION=[a-z0-9]+" oracle-java8-installer.config
El resultado debería verse más o menos así:
Esto nos dice cuál es la versión de Java que el instalador está configurado para instalar. Asi que
sudo sed -i ''s|JAVA_VERSION=<INSTALLER CURRENT JAVA VERSION HERE>|JAVA_VERSION=<NEW VERSION HERE>|'' oracle-java8-installer.*
Para nuestro caso, estamos actualizando de 8u171
a 8u181
, entonces lo ejecutaremos "
sudo sed -i ''s|JAVA_VERSION=8u171|JAVA_VERSION=8u181|'' oracle-java8-installer.*
Ok, ahora tenemos que actualizar la URL de descarga.
sudo grep --color -P "PARTNER_URL=[^ ]+" oracle-java8-installer.config
Para actualizarlo, debemos ejecutar un comando como este:
sudo sed -i ''s|PARTNER_URL=<INSTALLER CURRENT JAVA URL HERE>|PARTNER_URL=<NEW URL HERE>|'' oracle-java8-installer.*
¿Recuerdas esa URL que te dije que guardases al principio? Bueno, lo necesitaremos ahora. El lugar es como tu nueva url, así:
sudo sed -i ''s|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|'' oracle-java8-installer.*
Después de eso, necesitamos actualizar la suma de comprobación. Por lo tanto, ejecute este comando:
sudo grep --color -P ''[^#]SHA256SUM_TGZ="[^"]+"'' oracle-java8-installer.config
Esto imprime un par de SHA256 diferentes:
Tenga en cuenta que son todos diferentes. Volveremos sobre eso en un segundo. Entonces, para actualizar el SHA256, necesitaríamos ejecutar este comando:
sudo sed -i ''s|SHA256SUM_TGZ="<INSTALLER CURRENT JAVA HASH HERE>"|SHA256SUM_TGZ="<NEW JAVA HASH>"|'' oracle-java8-installer.*
Pero, ¿cómo sabemos cuál de los hash de Java actuales reemplazar? Bueno, tenemos que descubrir la arquitectura de nuestro procesador:
dpkg --print-architecture
En mi caso, esto producirá amd64
. Esto significa que debería tomar el segundo enlace. ¿Cómo sé esto? Vamos a leer el código fuente ( sudo gedit oracle-java8-installer.config
), así que créanme en esto:
- Si su arquitectura es
i386
,i586
oi686
, tome la primera. - Si
amd64
, toma el segundo. - Si
armv7l
oarmv6l
, agarra el tercero. - Si
armv8l
,arm64
oaarch64
, toma el cuarto. - Si ninguno de los anteriores, no tiene suerte ...
Entonces, como el mío es amd64
, con el nuevo hash que obtuvimos del sitio web de Java, ejecutaría:
sudo sed -i ''s|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|'' oracle-java8-installer.*
Finalmente, tenemos que modificar el nombre del directorio JDK de los instaladores, así que ejecútelo para encontrar el actual:
sudo grep --color -P "J_DIR=[^ ]+" oracle-java8-installer.config
En mi caso este impreso:
Entonces, ejecutaremos algo como esto:
sudo sed -i ''s|J_DIR=<INSTALLER CURRENT JDK VERSION HERE>|J_DIR=<NEW JDK VERSION>|'' oracle-java8-installer.*
Siendo mi versión actual jdk1.8.0_171
, ejecuto:
sudo sed -i ''s|J_DIR=jdk1.8.0_171|J_DIR=jdk1.8.0_181|'' oracle-java8-installer.*
Y eso es. Estamos listos para llamar al instalador de java, sí. (phew ... esto tomó más tiempo para escribir lo que pensé al principio).
Edit3 @Kenny Hung versión anterior de los comandos utilizados desde 8u161
a 8u171
(en caso de que sea útil para cualquier persona, aunque debería haber sido eliminada con los nuevos archivos de compilación)
cd /var/lib/dpkg/info
sudo sed -i ''s|JAVA_VERSION=8u161|JAVA_VERSION=8u171|'' oracle-java8-installer.*
sudo sed -i ''s|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|'' oracle-java8-installer.*
sudo sed -i ''s|SHA256SUM_TGZ="6dbc56a0e3310b69e91bb64db63a485bd7b6a8083f08e48047276380a0e2021e"|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|'' oracle-java8-installer.*
sudo sed -i ''s|J_DIR=jdk1.8.0_161|J_DIR=jdk1.8.0_171|'' oracle-java8-installer.*
Edit2 @Martin Šuráb / @ Albert Zhong / p-ansell es una versión anterior de los comandos utilizados desde 8u151
a 8u162
(en caso de que sea útil para cualquiera, aunque debería haber sido eliminada con los nuevos archivos de compilación)
cd /var/lib/dpkg/info
sudo sed -i ''s|JAVA_VERSION=8u151|JAVA_VERSION=8u162|'' oracle-java8-installer.*
sudo sed -i ''s|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/|'' oracle-java8-installer.*
sudo sed -i ''s|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="68ec82d47fd9c2b8eb84225b6db398a72008285fafc98631b1ff8d2229680257"|'' oracle-java8-installer.*
sudo sed -i ''s|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_162|'' oracle-java8-installer.*
Edit1 La versión anterior de los comandos de 8u144
usa desde 8u144
a 8u152
(en caso de que sea útil para cualquiera, aunque debería haber sido eliminada con los nuevos archivos de compilación):
cd /var/lib/dpkg/info
sudo sed -i ''s|JAVA_VERSION=8u144|JAVA_VERSION=8u152|'' oracle-java8-installer.*
sudo sed -i ''s|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/|'' oracle-java8-installer.*
sudo sed -i ''s|SHA256SUM_TGZ="e8a341ce566f32c3d06f6d0f0eeea9a0f434f538d22af949ae58bc86f2eeaae4"|SHA256SUM_TGZ="218b3b340c3f6d05d940b817d0270dfe0cfd657a636bad074dcabe0c111961bf"|'' oracle-java8-installer.*
sudo sed -i ''s|J_DIR=jdk1.8.0_144|J_DIR=jdk1.8.0_152|'' oracle-java8-installer.*
Gracias por la respuesta de cavpollo para JDK 8u141.
Le daré una solución para JDK 8u151-1 ~ webupd8 ~ 0 (Use JDK 8i162 en su lugar):
cd /var/lib/dpkg/info
sudo sed -i ''s|JAVA_VERSION=8u151|JAVA_VERSION=8u162|'' oracle-java8-installer.*
sudo sed -i ''s|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/|'' oracle-java8-installer.*
sudo sed -i ''s|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="68ec82d47fd9c2b8eb84225b6db398a72008285fafc98631b1ff8d2229680257"|'' oracle-java8-installer.*
sudo sed -i ''s|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_162|'' oracle-java8-installer.*
La siguiente fue mi solución para Ubuntu Mate 16.04 x64:
wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.tar.gz
mkdir /opt/jdk
sudo tar -zxf jdk-8u152-linux-x64.tar.gz -C /opt/jdk
update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_152/bin/java 100
update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_152/bin/javac 100
Crédito al océano digital para el ajuste del encabezado.
Permítanme compartir con ustedes una actualización para JDK versión 8u172
sudo sed -i ''s|JAVA_VERSION=8u161|JAVA_VERSION=8u172|'' oracle-java8-installer.*
sudo sed -i ''s|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/|'' oracle-java8-installer.*
sudo sed -i ''s|SHA256SUM_TGZ="6dbc56a0e3310b69e91bb64db63a485bd7b6a8083f08e48047276380a0e2021e"|SHA256SUM_TGZ="28a00b9400b6913563553e09e8024c286b506d8523334c93ddec6c9ec7e9d346"|'' oracle-java8-installer.*
sudo sed -i ''s|J_DIR=jdk1.8.0_161|J_DIR=jdk1.8.0_172|'' oracle-java8-installer.*
Sobre el .gz falta la URL para la descarga de java 8. wget - header "Cookie: oraclelicense = accept-securebackup-cookie" download.oracle.com/otn-pub/java/jdk/8u152-b16/…
Y una versión más nueva:
cd /var/lib/dpkg/info
sudo sed -i ''s|JAVA_VERSION=8u161|JAVA_VERSION=8u171|'' oracle-java8-installer.*
sudo sed -i ''s|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|'' oracle-java8-installer.*
sudo sed -i ''s|SHA256SUM_TGZ="6dbc56a0e3310b69e91bb64db63a485bd7b6a8083f08e48047276380a0e2021e"|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|'' oracle-java8-installer.*
sudo sed -i ''s|J_DIR=jdk1.8.0_161|J_DIR=jdk1.8.0_171|'' oracle-java8-installer.*