Wie kann ich ein kopfloses JDK auf einem Ubuntu Jaunty-Server installieren?


8

Ich habe kürzlich einen Build-Server eingerichtet, für dessen Ausführung ein JDK erforderlich ist (z. B. zum Kompilieren der Java-Quellen). Das OpenJDK-Paket in Ubuntu bezieht die OpenJDK-JRE als Abhängigkeit ein, die wiederum von einer großen Anzahl von Paketen abhängt, die nur für grafische Umgebungen relevant sind. Für die Standard-JRE gibt es eine kopflose Version des Pakets, für das JDK jedoch keine.

Dieses Problem wurde bereits an verschiedenen Stellen erörtert, und eine Lösung, die ich gefunden und verwendet habe, war folgende:

$ apt-get --no-install-recommends -d install openjdk-6-jdk
$ dpkg -i --ignore-depends=openjdk-6-jre /path/to/just-downloaded.deb

Während dies funktionierte, hinterlässt mein System jetzt einen fehlerhaften Abhängigkeitsbaum und apt-get lehnt weitere Installationen ab, bis ich ausgeführt werde apt-get -f.

Gibt es eine bessere Lösung dafür?

Antworten:


4

Dies wurde im folgenden Ubuntu-Fehler besprochen .

Soweit ich sehen kann, haben Sie folgende Möglichkeiten:

  1. Verwenden Sie das nicht kostenlose Java JDK von Sun. (Sie können das JavaPackage- Programm von debian / ubuntu verwenden, um ein Deb-Paket des nicht freien Java-JDK zu erstellen.)
  2. Arbeiten Sie mit Ubuntu-Entwicklern zusammen, um dieses Problem zu lösen.
  3. Erstellen Sie Ihr eigenes OpenJDK-Headless-Paket.

Natürlich ist Option 2 auf lange Sicht die beste, da sie das Problem für alle löst und die Optionen 1 und 3 es nur für Sie lösen, jedoch sind 1 und 3 schneller.


1
Dieser Bug-Thread sieht für mich nicht sehr vielversprechend aus. Es scheint, dass einige Nebenwirkungen angegangen werden müssen, und der Betreuer scheint nicht zu eifrig zu sein, das Problem zu lösen. Ich werde wahrscheinlich egoistisch sein und mich für das Sun JDK entscheiden.
Hanno Fietz

1
Was soll ich tun, um Option 3 zu implementieren? Meine Frage finden Sie unter serverfault.com/questions/755573 .
Equaeghe

2

Könnten Sie nicht einfach das JDK von Sun herunterladen und installieren? Kein Kompilieren, kein X11 erforderlich. Ich ziehe es den verpackten Optionen vor.

chmod +x ~/jdk-6u14-linux-i586.bin
cd /usr
sudo mkdir java
cd java
sudo ~/jdk-6u14-linux-i586.bin
export JAVA_HOME=/usr/java/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH

0

Ich vermute, er musste nur seine Links zu etc-Alternativen aktualisieren:

update-alternatives --set java /usr/lib/jvm/default-java/bin/java

(oder etwas ähnliches)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.