¿Cómo instalar openjdk-7-jdk en Ubuntu 12.04 sin arrastrar paquetes de sonido y GUI no relacionados?

16

Ubuntu 12.04.2 LTS

¿Que está pasando aqui?

# apt-get install openjdk-7-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  consolekit cryptsetup-bin dbus-x11 dconf-gsettings-backend dconf-service
  gconf-service gconf-service-backend gconf2 gconf2-common gvfs gvfs-common
  gvfs-daemons gvfs-libs libatasmart4 libavahi-glib1 libbonobo2-0
  libbonobo2-common libcairo-gobject2 libcanberra0 libck-connector0
  libcryptsetup4 libdconf0 libfontenc1 libgconf-2-4 libgconf2-4 libgdu0
  libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgnome-keyring-common
  libgnome-keyring0 libgnome2-0 libgnome2-bin libgnome2-common libgnomevfs2-0
  libgnomevfs2-common libgtk-3-0 libgtk-3-bin libgtk-3-common libgudev-1.0-0
  libidl-common libidl0 libllvm3.0 libltdl7 liblvm2app2.2 liborbit2
  libpam-ck-connector libpolkit-agent-1-0 libpolkit-backend-1-0 libsgutils2-2
  libtdb1 libvorbisfile3 libx11-xcb1 libxaw7 libxcb-glx0 libxcb-shape0 libxmu6
  libxpm4 libxv1 libxxf86dga1 libxxf86vm1 mtools openjdk-7-jre policykit-1
  policykit-1-gnome sound-theme-freedesktop udisks x11-utils

¿Es posible instalar el JDK sin la mitad de Gnome y X11? ¿Y temas sonoros? Este es un servidor sin cabeza (y sin altavoz).

Dr. Haribo
fuente
2
¿Ayuda si agrega la --no-install-recommendsopción?
gertvdijk
3
¿Por qué necesita Java Development Kit en un servidor sin cabeza? Si solo desea ejecutar aplicaciones java, generalmente todo lo que necesita es el entorno de ejecución. Pruebe y vea si se openjdk-7-jre-headlessadapta a sus necesidades.
Eric Carvalho
10
@EricCarvalho Aquí hay un caso de uso: un servidor de integración continua que construye las fuentes Java. Construir software Java en un servidor sin cabeza no es tan exótico.
gertvdijk
3
@gertvdijk Lo tengo. Entonces creo que esto es un error. Debe haber un paquete openjdk-7-jdk-headless.
Eric Carvalho

Respuestas:

9

ACTUALIZADO

Personalmente trato de evitar Java porque, en mi opinión, es muy torpe. Estas instrucciones se unieron de varias fuentes, tuve que instalar Java recientemente y esto debería funcionar para usted.

Si sus requisitos de licencia lo permiten, instale Oracle Java. Descarga java desde aquí , debe elegir cuál necesita según lo que haya instalado.

JDK x64

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-x64.tar.gz

JDK x32

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jdk-7u51-linux-i586.tar.gz

JRE x64

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jre-7u51-linux-x64.tar.gz

JRE x32

wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u51-b13/jre-7u51-linux-i586.tar.gz

Tenga en cuenta que necesita una solución alternativa wgety un oráculo para jugar bien juntos.

Cree un directorio donde vivirá su Java:

sudo mkdir -p /usr/lib/jvm

Mueva el Java descargado:

sudo mv jdk-7u51-linux-x64.tar.gz /usr/lib/jvm

Extraer Java:

sudo tar zxvf jdk-7u51-linux-x64.tar.gz

Dile a Ubuntu que Java existe:

sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_51/bin/javac 1
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_51/bin/java 1
sudo update-alternatives --set javac /usr/lib/jvm/jdk1.7.0_51/bin/javac
sudo update-alternatives --set java /usr/lib/jvm/jdk1.7.0_51/bin/java

Agregue la ruta de Java al perfil de su sistema, para que la máquina sepa dónde están los binarios de Java:

sudo nano /etc/profile

Al final del archivo agregue esto:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME
export PATH

Guardar y reiniciar.

Prueba tu instalación de Java:

java -version
Egidijus
fuente
1
Esto funcionó para mí. El único cambio que hice fue agregar un enlace simbólico desde el directorio jdk actual /usr/lib/jvm/jdk1.7.0_45 a la ubicación genérica: / usr / lib / jvm / java-7-oracle De esta manera, uno no tiene para actualizar la ruta en / etc / profile (y en otras posibles ubicaciones de aplicaciones) cada vez que se actualiza el JDK. También muchos programas (por ejemplo, elasticsearch) buscan Java en / usr / liv / jvm / java-7-oracle como una de las ubicaciones predeterminadas.
Ville
2

Cosas muy antiguas, pero si alguien está buscando esto, simplemente instale openjdk-7-jre-headless o openjdk-6-jre-headless

wmelendez
fuente
La pregunta es específicamente sobre la versión 7.
David Foerster
55
jre! = jdk no hay jdk sin cabeza
Dr.Haribo
Excepto que no: "openjdk-8-jre-headless" depende de "libx11-6" en 16.04, esto termina arrastrando todo X11.
ThisGuy
-1

Creo que esta no es una buena idea para omitir cualquier dependencia al instalar desde la fuente. No puedes saltarte esto todo el tiempo. Cuando actualice la dependencia usando apt-get, también se comprobará allí.

Nabil
fuente
3
"al instalar desde la fuente" OP no se instala desde la fuente.
gertvdijk