Come installare openjdk-7-jdk su Ubuntu 12.04 senza trascinare la GUI e i pacchetti audio non correlati?


16

Ubuntu 12.04.2 LTS

Cosa sta succedendo qui?

# 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

È possibile installare JDK senza metà di Gnome e X11? E temi sonori? Questo è un server senza testa (e senza altoparlante).


2
Aiuta se aggiungi l' --no-install-recommendsopzione?
gertvdijk,

3
Perché hai bisogno di Java Development Kit in un server senza testa? Se si desidera eseguire solo applicazioni java, di solito è necessario solo Runtime Environment. Prova a vedere se openjdk-7-jre-headlesssoddisfa le tue esigenze.
Eric Carvalho,

10
@EricCarvalho Ecco un caso d'uso: un server di integrazione continua che crea i sorgenti Java. La creazione di software Java su un server senza testa non è così esotica.
gertvdijk,

3
@gertvdijk Capito. Quindi penso che questo sia un bug. Dovrebbe esserci un pacchetto openjdk-7-jdk-headless.
Eric Carvalho,

Risposte:


9

AGGIORNATO

Personalmente cerco di evitare Java perché secondo me è molto goffo. Queste istruzioni sono raccolte da varie fonti, ho dovuto installare Java di recente e questo dovrebbe funzionare per te.

Se i requisiti di licenza lo consentono, installare Oracle Java. Scarica java da qui , devi scegliere quale ti serve in base a ciò che hai installato.

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

Nota che hai bisogno di una soluzione alternativa per wgetoracle per giocare bene insieme.

Crea una directory dove risiederà Java:

sudo mkdir -p /usr/lib/jvm

Sposta il Java scaricato:

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

Estrai Java:

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

Di 'a Ubuntu che Java esiste:

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

Aggiungi il percorso java al tuo profilo di sistema, in modo che la macchina sappia dove sono i binari Java:

sudo nano /etc/profile

Alla fine del file aggiungi questo:

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

Salva e riavvia.

Prova la tua installazione Java:

java -version

1
Questo ha funzionato per me. L'unica modifica che ho apportato è stata l'aggiunta di un link simbolico dalla directory jdk corrente /usr/lib/jvm/jdk1.7.0_45 alla posizione generica: / usr / lib / jvm / java-7-oracle In questo modo non è possibile per aggiornare il percorso in / etc / profile (e in eventuali altri percorsi dell'applicazione) ogni volta che JDK viene aggiornato. Inoltre, molti programmi (ad es. Elasticsearch) cercano java su / usr / liv / jvm / java-7-oracle come una delle posizioni predefinite.
Ville

2

Roba molto vecchia, ma se qualcuno è ancora alla ricerca di questo, basta installare openjdk-7-jre-headless o openjdk-6-jre-headless


La domanda è specifica sulla versione 7.
David Foerster,

5
jre! = jdk non c'è jdk-senza testa
Dr.Haribo

Tranne no: "openjdk-8-jre-headless" dipende da "libx11-6" nel 16.04, questo finisce per trascinare l'intero X11.
Questo è il

-1

Penso che questa non sia una buona idea per saltare qualsiasi dipendenza durante l'installazione dal sorgente. Non puoi saltare tutto questo tempo. Quando aggiorni la dipendenza usando apt-get, verrà controllato anche lì.


3
L' OP "durante l'installazione dal sorgente" non viene installato dal sorgente.
gertvdijk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.