Debian Etch, Tomcat 5.5 und SUN JDK6 von backports.org

www.backports.org ist ein möglicher Weg, um ein aktuelles Debian Stable (derzeit: "4.0r4, aka Etch") selektiv mit aktualisierten Paketen zu versorgen. In der Regel funktioniert das recht gut, manchmal kann es aber doch zu kleineren Reiberen kommen. Hier ein Tip, wie man Tomcat 5.5 aus dem Etch repository zusammen mit SUN's JDK 1.6 aus dem Backports Repository zum laufen bekommt. Der Ausgangspunkt bzw. die Zielkonfiguration sind:
  • Debian Etch
  • tomcat5.5 aus dem Etch Repository
  • sun-java6-jdk von backports.org
Zunächst muss (falls noch nicht erfolgt) das backports.org Repository eingebunden werden. Hier gibt es eine Anleitung dafür. Danach kann per aptitude install sun-java6-jdk das aktuelle SUN HDK 1.6 installiert werden. Einfach die Abfrage nach den zusätzlich zu installierenden Abhängigkeiten bestätigen und der (eventuell) angezeigten Lizenz zustimmen. Danach fehlt eigentlich nur noch ein apt-get install tomcat5.5. Auch hier werden einige Abhängigkeiten benötigt. Wer während der Installation ausschliesslich das oben installierte JDK 1.6 verfügbar hat muss jedoch mit folgender Fehlermeldung rechnen:
Setting up tomcat5.5 (5.5.20-2etch3) ...
Not starting Tomcat: no Java Development Kit found.
invoke-rc.d: initscript tomcat5.5, action "start" failed.
dpkg: error processing tomcat5.5 (--configure):
 subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
 tomcat5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)
Der Grund ist einfach. Das Tomcat Debian Paket versucht herauszufinden, wo ein passendes JDK installiert ist. Für Debian Etch gibt es jedoch Java nur bis einschliesslich Java5, der von Tomcats Startskript (/etc/init.d/tomcat5.5) verwendete Automatismus findet so das nachträglich via Backports aufgenommene Paket für JDK 1.6 nicht. Die Lösung ist simpel. Tritt obige Fehlermeldung auf, so muss nur die Datei /etc/default/tomcat5.5 editiert werden. Dort kann man explizit das zu verwendende JDK vorgeben. Für den Fall des eben frisch installierten sun-java6-jdk ist die Zeile
#JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
abzuänden in
JAVA_HOME=/usr/lib/jvm/java-6-sun
Es ist also das Kommentarzeichen zu entfernen und der richtige Pfad zum JDK 1.6 einzustellen. Achtung: Die Datei existiert erst, wenn das Paket bereits installiert ist. Danach sollte ein erneutes aptitude install tomcat5.5 ohne Fehlermeldung durchlaufen.

Trackback URL for this post:

http://www.rdoering.net/trackback/20