Obsolete: Sun JDK 1.5 und Debian GNU/Linux (die brachiale Methode)

DEBIAN UNSER

DEBIAN UNSER

Wie der interessierte Leser wahrscheinlich weiss, stellt Debian GNU/Linux mehr oder weniger die Königsklasse unter den Loonixen dar. Leider hat es aber ein paar ziemliche Macken, die dem Praktiker das Leben mitunter nicht eben leichter machen. Man missverstehe mich nicht: ich sehe zwar so einige Defizite im „Debian way“ – das kompromisslose Festhalten der Distribution an ausschliesslich „freier“ Software gehört allerdings nicht dazu. Was die Distribution ihrer Unabhängigkeit wegen nicht kann, braucht uns als Anwender jedoch nicht weiter zu stören. Im Gegenteil, solange Sun Microsystems uns freundlicherweise Java bis zum Abwinken in die Pinguin-Tasse füllen, wollen wir uns mal nicht lumpen lassen. Bei den Dimensionen, die die Festplatten auch nicht ganz neuer Rechner mitlerweile erreicht haben, gibt es auch fast keinen Grund, sich mit weniger, als dem SDK zu begnügen, schliesslich will man evtl. Netbeans, Eclipse mit ein paar netten Plugins, einen der zahlreichen App Server, oder eigene Programmchen darauf laufen lassen – das JDK darf also schon sein. Wer ein „gebundeltes“ Paket etwa mit Netbeans und/oder dem Application Server möchte, soll sich von nichts abhalten lassen – das „eigentliche Java“ bleibt dasselbe – nur das self-extracting binary package sollte es sein. Sicher kann man auch ein RPM-Paket mittels alien in ein .deb umwandeln, aber das wäre sinnlose Komplikation.

An die Konsole:

(Das „jdk-1_5_0_06-linux-i586.bin“ bitte als stellvertretend für das heruntergeladene .bin
betrachten!)

su
mv jdk-1_5_0_06-linux-i586.bin /usr/local/
cd /usr/local/
chmod u+x  jdk-1_5_0_06-linux-i586.bin
./jdk-1_5_0_06-linux-i586.bin

je nach Umfang des Pakets möchte nun der Installer beklickt werden – natürlich kann man statt /usr/local auch zB /opt als Pfad benutzen – sofern man die Änderung auch „durchhält“ und alle Pfade entsprechend ändert)

Jetzt wird’s tricky: Diverse Debian-Abhängigkeiten haben uns unter Umständen mit Fake-Einträgen in /usr/bin/java versorgt, die auf eine „Linkmatrix“ in /etc/alternatives/ zeigen, welche dann wiederum auf irgendwelche Binaries zeigen oder morgens auch mal auf dem Mist krähen. Gegen so viel Mühe und Sorgfalt gehen wir mit einem ignoranten und brutalen Shellscript vor (irgendwann wirds nämlich dem Geduldigsten mal zu dumm mit den penibel „sauberen“ aber vollkommen unbrauchbaren Lösungen aus dem Elfenbeinturm): Achtung – das Script schön Zeile für Zeile durchhalten, wer aufgibt, verliert. Die Fehlermeldungen gehören zum Feuerwerk. Vorsicht mit den Backticks – das da: ` sind nicht einfach Anführungszeichen oder Apostrophe, sondern Backticks. Bei Unsicherheit aus der ASCII-Tabelle (man asci) kopieren, oder mit dem Screen-Keyboard setzen.

ln -s /usr/local/jdk1.5.0_02/ /usr/local/jdk
for a in `ls /usr/local/jdk/bin/`; do
 rm /etc/alternatives/$a
 ln -s /usr/local/jdk/bin/$a /etc/alternatives/$a
 mv /usr/bin/$a /usr/bin/old_$a
 ln -s /etc/alternatives/$a /usr/bin/$a
done

So. Jetzt sollte für jeden Eintrag in /usr/local/jre-1.5.xxxxx/bin/ ein Link nach /etc/alternatives/ zeigen und von dort aus nach /usr/bin/, so dass java -version in etwa so etwas zurückgeben sollte:

java version „1.5.0_02“

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_02-b09)
Java HotSpot(TM) Client VM (build 1.5.0_02-b09, mixed mode)

Sollten spätere apt-get Läufe diese Symlinks (am besten chmod 0555 setzen) wieder mit irgendwelchem „Kaffee“-Klatsch überschreiben, einfach das böse Script nochmal ausführen.

Sicherlich könnte man sich auch jedesmal mehrere Stunden lang durch das vollkommen hirnverbrannte update-alternatives System quälen, um kurzzeitig mit viel Glück den selben Effekt zu erzielen -bis das nächste apt-get wieder alles umwirft- man kann natürlich auch rein zum Selbstzweck bzw. zum Ruhme gewisser Theoretiker arbeiten….

Über Tom

"Die meisten 'normalen Leute' in meinem Bekanntenkreis würden mich wohl als 'Computernerd' bezeichnen. Die meisten Computernerds -einschliesslich meiner selbst- wären darüber anderer Meinung."
Dieser Beitrag wurde unter Linux abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

0 Antworten zu Obsolete: Sun JDK 1.5 und Debian GNU/Linux (die brachiale Methode)

  1. Markus sagt:

    Für saubereres installieren siehe auch http://www.debianhelp.co.uk/debianjava.htm

Da könnte ja jeder kommen und kommentieren!

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.