¿Cómo instalar Oracle Java en Debian Wheezy con make-jpkg y fakeroot sin errores?

¿Cómo instalar Oracle Java en Debian Wheezy con make-jpkg y fakeroot sin errores?

¿Cómo instalar Oracle Java en Debian Wheezy con make-jpkg y fakeroot?

el manual para instalar oracle java en debian wheezy es bastante claro y comprensible:

http://wiki.debian.org/JavaPackage https://blogs.oracle.com/marigan/entry/installation_of_the_jdk_on http://www.debian-administration.org/articles/142

  • descargar jdk-7u21-linux-x64.tar.gz desde Oracle
  • instalar el paquete java
  • ejecute make-jpkg con jdk-7u21-linux-x64.tar.gz

como root ejecutando:

make-jpkg jdk-7u21-linux-x64.tar.gz fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz

da como resultado el siguiente error:

Usted es un verdadero root; desafortunadamente, algunas distribuciones de Java tienen scripts de instalación que manipulan directamente /etc y pueden causar algunas inconsistencias en su sistema. En su lugar, deberías convertirte en un usuario no root y ejecutar:

fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz

lo que no permitirá que se produzcan daños en los archivos de su sistema y aún permitirá que la distribución de Java se extraiga con éxito.

Abortando.

como usuario normal ejecutando:

make-jpkg jdk-7u21-linux-x64.tar.gz fakeroot make-jpkg jdk-7u21-linux-x64.tar.gz

da como resultado un muro de advertencia/error.

algunos de los errores:

dpkg-shlibdeps: warning: Can't extract name and version from library name `libverify.so'
error: couldn't find library libxslt.so.1 needed by /tmp/make-jpkg.MxvYKHyE3L/install/usr/lib/jvm/j2sdk1.7-oracle/jre/lib/amd64/libjfxwebkit.so (ELF format: 'elf64-x86-64'; RPATH: '')
dpkg-gencontrol: warning: Depends field of package oracle-j2sdk1.7: unknown substitution variable ${shlibs:Depends}
dpkg-shlibdeps: error: cannot continue due to the errors listed above

salida completa: sin fakeroot http://pastie.org/private/r2llqa2pubqzh8krhbymw

con raíz falsa http://pastie.org/private/kigrgcsam9pvdazbex1fa

la instalación funciona bien:

dpkg -i oracle-j2sdk1.7_1.7.0+update21_amd64.deb

versión java:

java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

¿Es seguro ignorar el error?

Respuesta1

En primer lugar, puedes ignorar las advertencias emitidas por dpkg-shlibdeps. Los errores deberían indicarle qué paquetes necesita instalar para satisfacer todas las dependencias de la biblioteca para el JDK.

La razón por la que esto sucede es que está creando un paquete deb a partir de una distribución binaria, es decir, un JDK precompilado. Por lo general, los paquetes de Debian se crean a partir de código fuente, no de archivos binarios. Para hacerlo, la persona que crea el paquete agregaría todas las bibliotecas de las que depende la fuente a un archivo determinado ( debian/control). Sin esas bibliotecas instaladas, el código fuente no se puede compilar y, por lo tanto, no se generará un paquete.

En su caso, Oracle ya compiló todo el JDK y make-jpkgsolo imita el proceso de creación de un paquete desde el código fuente. Por lo tanto, no es necesario instalar todas las bibliotecas necesarias de antemano.

Para silenciar los errores , puede utilizar apt-filepara averiguar qué paquetes contienen los archivos que faltan ( libgtk-x11-2.0.so.0,,, ...) e instalarlos todos.libgdk-x11-2.0.so.0libatk-1.0.so.0

O simplemente puede usar OpenJDK, que viene preempaquetado para Debian Wheezy y se puede instalar fácilmente a través de apt-get install openjdk-7-jdk.

información relacionada