Ab Oracle Java 7 Update 10 verhindert ein Fehler bei der Erkennung der Versionsnummer die praktische Nutzung vom make-jpkg. Bis zur Veröffentlichung eines aktualisierten Pakets hilft der Abschnitt Problembehebung weiter.
Ubuntu 12.10 „Quantal Quetzal“
Ubuntu 12.04 „Precise Pangolin“
Ubuntu 10.04 „Lucid Lynx“
Wer Oracle Java unter Ubuntu einsetzen möchte (oder muss), wird schnell feststellen, dass Installation und Aktualisierung im Gegensatz zum gewohnten Komfort der Paketverwaltung relativ zeitaufwendig sind. Dies trifft insbesondere Administratoren, die mehr als einen Rechner betreuen. Aber auch Einsteiger sind häufig mit der komplexen manuellen Installation und Konfiguration des Alternativen-Systems überfordert.
JavaPackage ermöglicht die Erstellung von Debian-Paketen (.deb) aus den von Oracle zur Verfügung gestellten Archivdateien, die anschließend entweder direkt installiert oder beispielsweise über ein lokales Paketarchiv im Netzwerk zur Verfügung gestellt werden können. Unterstützt werden derzeit:
Java 6 JRE
Java 6 JDK
Java 7 JRE
Java 7 JDK
Alle oben genannten Java-Versionen enthalten ein Browser-Plugin, von dessen Verwendung aufgrund zahlreicher Sicherheitsprobleme abgeraten wird. Die Nutzung des Plugins sollte daher im verwendeten Browser deaktiviert werden.
Java 6 wurde von Oracle offiziell bis Februar 2013 unterstützt, inzwischen nur noch für zahlende Kunden.
Das Programm ist ab Ubuntu 12.10 in den offiziellen Paketquellen enthalten. Folgendes Paket muss installiert [1] werden:
java-package (multiverse)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install java-package
sudo aptitude install java-package
Zusätzlich benötigte Pakete (Abhängigkeiten) werden automatisch nachinstalliert.
Bei älteren Ubuntu-Versionen lädt man das Paket java-package (Version 0.50) herunter und installiert es manuell [2].
Eine veraltete Version des Pakets ist weiterhin in den offiziellen Paketquellen enthalten. Diese funktioniert mit aktuellen Java-Versionen nicht mehr.
Zuerst lädt man die gewünschte Java-Version bzw. -Variante über die offizielle Downloadseite
herunter. Dabei die Betriebssystem-Architektur (32-/64-Bit) berücksichtigen. Die konkreten Dateinamen sind über den Artikel Oracle Java (in den jeweiligen Unterabschnitten) zu finden.
Die allgemeine Syntax lautet [3]:
make-jpkg OPTIONEN JAVA-ARCHIVDATEI
Die Angabe von OPTIONEN
ist nicht zwingend erforderlich. Diese können bei Bedarf über die Manpage in Erfahrung gebracht werden.
Beispiel für das Java 7 JRE Update 7:
32-Bit:
make-jpkg jre-7u7-linux-i586.tar.gz
64-Bit:
make-jpkg jre-7u7-linux-x64.tar.gz
Weitere Details sind den Anweisungen am Bildschirm zu entnehmen:
Creating temporary directory: /tmp/make-jpkg.bJLM2dW7u4 Loading plugins: /usr/share/java-package/common.sh /usr/share/java-package/j2re.sh /usr/share/java-package/j2sdk-doc.sh /usr/share/java-package/j2sdk.sh /usr/share/java-package/j2se.sh /usr/share/java-package/oracle-j2re.sh /usr/share/java-package/oracle-j2sdk-doc.sh /usr/share/java-package/oracle-j2sdk.sh Detected Debian build architecture: i386 Detected Debian GNU type: i686-linux-gnu Detected product: Java(TM) Runtime Environment (JRE) Standard Edition, Version 1.7.0+update7 Oracle Microsystems(TM), Inc. Is this correct [Y/n]: Y Checking free diskspace: done. In the next step, the binary file will be extracted. Probably a license agreement will be displayed. Please read this agreement carefully. If you do not agree to the displayed license terms, the package will not be built. Press [Return] to continue:
Warnungen wie z.B.
dpkg-shlibdeps: Warnung: Name und Version können nicht aus Bibliotheksnamen »libjvm.so« entnommen werden
können ignoriert werden.
Falls eine direkte Installation gewünscht ist (am Beispiel des Java 7 JRE Update 7) [4]:
32-Bit:
sudo dpkg -i oracle-j2re1.7_1.7.0+update7_i386.deb
64-Bit:
sudo dpkg -i oracle-j2re1.7_1.7.0+update7_amd64.deb
Alternativ können auch die grafischen Werkzeuge der jeweiligen Desktop-Umgebung wie das Software-Center oder gdebi verwendet werden. Um die korrekte Installation zu überprüfen, siehe Kontrolle.
Aufgrund eines kleinen Fehlers in der Routine zur Erkennung der Versionsnummer funktioniert make-jpkg 0.50 mit Oracle Java 7 Update 10 oder neuer nicht mehr (1096546). Als Workaround bearbeitet man die Dateien:
/usr/share/java-package/oracle-j2re.sh
/usr/share/java-package/oracle-j2sdk.sh
/usr/share/java-package/oracle-j2sdk-doc.sh
mit Root-Rechten und wechselt die Zeilen
"jre-7u"[0-9]"-DATEINAME") # SUPPORTED j2se_version=1.7.0+update${archive_name:6:1}${revision}
und
"jdk-7u"[0-9]"-DATEINAME") # SUPPORTED j2se_version=1.7.0+update${archive_name:6:1}${revision}
gegen
"jre-7u"[0-9][0-9]"-DATEINAME") # SUPPORTED j2se_version=1.7.0+update${archive_name:6:2${revision}
und
"jdk-7u"[0-9][0-9]"-DATEINAME") # SUPPORTED j2se_version=1.7.0+update${archive_name:6:2${revision}
aus (DATEINAME
bitte nicht verwenden - dient hier nur als Platzhalter).
Bei Xubuntu 11.10 und 12.04 verhindert ein fehlender Ordner die Einbindung des Browser-Plugins und damit die Nutzung im Webbrowser. Um diesen Fehler zu beheben, legt man zuerst den Ordner manuell an:
sudo mkdir -p /usr/lib/mozilla/plugins
Anschließend lokalisiert man den Speicherort der Datei libnpjp2.so und konfiguriert das Alternativen-System entsprechend. Beispiel (für Java 7 JRE):
32-Bit:
sudo update-alternatives --install "/usr/lib/mozilla/plugins/mozilla-javaplugin.so" "mozilla-javaplugin.so" "/usr/lib/jvm/j2re1.7-oracle/lib/i386/libnpjp2.so" 1 sudo update-alternatives --set "mozilla-javaplugin.so" "/usr/lib/jvm/j2re1.7-oracle/lib/i386/libnpjp2.so"
64-Bit:
sudo update-alternatives --install "/usr/lib/mozilla/plugins/mozilla-javaplugin.so" "mozilla-javaplugin.so" "/usr/lib/jvm/j2re1.7-oracle/lib/amd64/libnpjp2.so" 1 sudo update-alternatives --set "mozilla-javaplugin.so" "/usr/lib/jvm/j2re1.7-oracle/lib/amd64/libnpjp2.so"
Bei einer anderen Java-Version kann der Hauptartikel Oracle Java weiterhelfen.