Jak zainstalować openjdk-7-jdk na Ubuntu 12.04 bez przeciągania niepowiązanych GUI i pakietów dźwiękowych?

16

Ubuntu 12.04.2 LTS

Co tu się dzieje?

# 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

Czy można zainstalować JDK bez połowy Gnome i X11? I motywy dźwiękowe? To jest serwer bezgłowy (i bezgłośny).

Dr.Haribo
źródło
2
Czy to pomoże, jeśli dodasz --no-install-recommendsopcję?
gertvdijk
3
Dlaczego potrzebujesz Java Development Kit na bezgłowym serwerze? Jeśli chcesz tylko uruchamiać aplikacje Java, zwykle wszystko, czego potrzebujesz, to środowisko wykonawcze. Spróbuj i sprawdź, czy openjdk-7-jre-headlessodpowiada Twoim potrzebom.
Eric Carvalho
10
@EricCarvalho Oto jeden przypadek użycia: serwer ciągłej integracji budujący źródła Java. Budowanie oprogramowania Java na bezgłowym serwerze nie jest tak egzotyczne.
gertvdijk
3
@gertvdijk Rozumiem. Więc myślę, że to błąd. Powinien istnieć pakiet openjdk-7-jdk-headless.
Eric Carvalho

Odpowiedzi:

9

AKTUALIZACJA

Osobiście staram się unikać Javy, ponieważ moim zdaniem jest to bardzo niezdarne. Te instrukcje są zebrane z różnych źródeł, niedawno musiałem zainstalować Javę i to powinno działać dla ciebie.

Jeśli pozwalają na to wymagania licencyjne, zainstaluj Oracle Java. Pobierz java stąd , musisz wybrać, który potrzebujesz na podstawie tego, co zainstalowałeś.

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

Zauważ, że potrzebujesz obejścia wgeti wyroczni, aby wspólnie grać dobrze.

Utwórz katalog, w którym będzie mieszkała Twoja Java:

sudo mkdir -p /usr/lib/jvm

Przenieś pobraną Javę:

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

Wyodrębnij Javę:

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

Powiedz Ubuntu, że Java istnieje:

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

Dodaj ścieżkę Java do swojego profilu systemowego, aby maszyna wiedziała, gdzie są pliki binarne Java:

sudo nano /etc/profile

Na końcu pliku dodaj to:

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

Zapisz i uruchom ponownie.

Sprawdź swoją instalację Java:

java -version
Egidijus
źródło
1
To zadziałało dla mnie. Jedyną zmianą, którą wprowadziłem, było dodanie dowiązania symbolicznego z bieżącego katalogu jdk /usr/lib/jvm/jdk1.7.0_45 do ogólnej lokalizacji: / usr / lib / jvm / java-7-oracle W ten sposób nie ma aktualizować ścieżkę w / etc / profile (oraz w możliwych innych lokalizacjach aplikacji) za każdym razem, gdy JDK jest aktualizowany. Również wiele programów (np. Elasticsearch) szuka javy w / usr / liv / jvm / java-7-oracle jako jednej z domyślnych lokalizacji.
Ville
2

Bardzo stare rzeczy, ale jeśli ktoś jeszcze tego szuka, po prostu zainstaluj openjdk-7-jre-headless lub openjdk-6-jre-headless

wmelendez
źródło
Pytanie dotyczy konkretnie wersji 7.
David Foerster
5
jre! = jdk nie ma jdk bez głowy
Dr.Haribo
Tyle że nie: „openjdk-8-jre-headless” zależy od „libx11-6” w 16.04, to kończy się ściąganiem całego X11.
ThisGuy
-1

Myślę, że nie jest dobrym pomysłem pominięcie jakiejkolwiek zależności podczas instalacji ze źródła. Nie możesz tego cały czas pominąć. Gdy zaktualizujesz zależność za pomocą apt-get, będzie tam również sprawdzane.

Nabil
źródło
3
„podczas instalacji ze źródła” OP nie instaluje się ze źródła.
gertvdijk