JDK: Unterschied zwischen den Versionen
Yehudi (Diskussion | Beiträge) |
Yehudi (Diskussion | Beiträge) (----) |
||
(24 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | [[Category:Programmierung]] | + | == Installation von Java 1.5 JDK auf einem SuSE Rechner == |
+ | Autor des Orginalbeitrags: '''oc2pus''' | ||
+ | |||
+ | Sofern für euren Rechner die gewünschte [http://java.sun.com/index.jsp Java]-Version nicht per fertiger Pakete vorliegen sollte, dann | ||
+ | beim der Installation von Java 1.5 JDK auf einem SuSE Rechner wie folgend vorgehen. | ||
+ | |||
+ | |||
+ | == Installations Ablauf == | ||
+ | === Utils und Hilfspakete === | ||
+ | * Falls jpackage-utils nicht auf DVD/CD vorhanden | ||
+ | :: download dieses RPM (bzw. des aktuell verfügbaren) jpackage-utils-X.X.X-1jpp.noarch.rpm von [http://mirrors.sunsite.dk/jpackage/1.7/generic/free/RPMS/ hier] | ||
+ | :: Paketname zB. '''jpackage-utils-1.7.0-1jpp.noarch.rpm''' | ||
+ | :: Paket installieren | ||
+ | <pre> | ||
+ | rpm -Uhv jpackage-utils-1.7.0-1jpp.noarch.rpm | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | * Für einige Versionen zB SuSE 9.1 benötigtes Paket '''update-alternatives-.....jpp.noarch.rpm''' | ||
+ | :: download von [http://mirrors.sunsite.dk/jpackage/1.6/generic/free/RPMS/ hier] | ||
+ | :: Paketname zB. '''update-alternatives-1.8.3-8jpp.noarch.rpm''' | ||
+ | :: Paket installieren | ||
+ | <pre> | ||
+ | rpm -i update-alternatives-1.8.3-8jpp.noarch.rpm | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | === Java-1.5.0-sun-1.5...jpp.nosrc.rpm === | ||
+ | |||
+ | * Benötigtes Paket java-1.5.0-sun-1.5.....jpp.nosrc.rpm | ||
+ | :: download von h t t p://mirrors.sunsite.dk/jpackage/.../generic/non-free/SRPMS''' | ||
+ | :: Paketname zB. '''java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm''' | ||
+ | ::: '''Achtung:''' es gibt dort viele Pakete ähnlichen Namens, benötigt wird zwingend der Name '''java-1.5.0-sun-1.5.??-?jpp.nosrc.rpm''' wobei die '''?''' für die genaue Update Version stehen, die installiert werden soll. Diese Paket enthält Installationsinformationen und muss zur Version passen. Sollte das passende Paket nicht gefunden werden [[#SPEC-Datei anpassen | hier nachlesen]] | ||
+ | :: Paket installieren | ||
+ | <pre> | ||
+ | rpm -i java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm | ||
+ | </pre> | ||
+ | '''Warnungen:''' hier können einige Warnungen kommen, dass User auf dem System nicht bekannt sind. | ||
+ | |||
+ | |||
+ | |||
+ | === Sun Development Kit === | ||
+ | |||
+ | * Benötigt das '''JDK-Paket''' von Sun | ||
+ | :: Startseite für Suche des gewünschen Files [http://java.sun.com/j2se/1.5.0/download.jsp Sun Download] | ||
+ | :: Downloadname '''Linux Platform - J2SE(TM) Development Kit 5.0 Update 8''' | ||
+ | :: Dateiname '''jdk-1_5_0-linux-i586.bin''' | ||
+ | |||
+ | |||
+ | |||
+ | === Installationspakete erstellen === | ||
+ | |||
+ | * Heruntergeladene '''JDK-Datei verschieben''' | ||
+ | <pre> | ||
+ | mv jdk-1_5_0-linux-i586.bin /usr/src/packages/SOURCES | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | * '''Pakete erstellen''' | ||
+ | <pre> | ||
+ | cd /usr/src/packages | ||
+ | rpm -bb SPECS/java-1.5.0-sun.spec | ||
+ | </pre> | ||
+ | '''Achtung:''' Sollte das Kommando "rpm -bb ...." mit ''Fehler "-bb: unknown option"'' enden,<br/> | ||
+ | dann entweder nachfolgenden Befehl stattdessen ausführen oder [[#Fehler | im Abschnitt Fehlern nachlesen]] | ||
+ | <pre> | ||
+ | rpmbuild -bb SPECS/java-1.5.0-sun.spec | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | * Wenn Befehl abgearbeitet ist, liegen die neuen Java Pakete unterhalb /usr/src/packages/RPMS/ | ||
+ | <pre> | ||
+ | /usr/src/packages/RPMS/i586 # ls | ||
+ | . java-1.5.0-sun-devel-1.5.0.08-1jpp.i586.rpm | ||
+ | .. java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm | ||
+ | java-1.5.0-sun-1.5.0.08-1jpp.i586.rpm java-1.5.0-sun-jdbc-1.5.0.08-1jpp.i586.rpm | ||
+ | java-1.5.0-sun-alsa-1.5.0.08-1jpp.i586.rpm java-1.5.0-sun-plugin-1.5.0.08-1jpp.i586.rpm | ||
+ | java-1.5.0-sun-demo-1.5.0.08-1jpp.i586.rpm java-1.5.0-sun-src-1.5.0.08-1jpp.i586.rpm | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | === Installieren === | ||
+ | * '''Java Pakete Installieren''' | ||
+ | <pre> | ||
+ | /usr/src/packages/RPMS/i586 # rpm -Uhv java* | ||
+ | </pre> | ||
+ | '''Achtung:''' sollte dabei folgender Fehler auftreten: | ||
+ | <pre> | ||
+ | error: Failed dependencies: | ||
+ | /usr/bin/ttmkfdir is needed by java-1.5.0-sun-fonts-1.5.0.08-1jpp | ||
+ | /usr/sbin/chkfontpath is needed by java-1.5.0-sun-fonts-1.5.0.08-1jpp | ||
+ | </pre> | ||
+ | siehe [[#Fehler | Fehlerbehebung]] | ||
+ | |||
+ | |||
+ | |||
+ | * '''Nach der Installation''' nicht vergessen | ||
+ | <pre> | ||
+ | SuSEconfig | ||
+ | </pre> | ||
+ | aufrufen und ggfl. den Link für Firefox bzw Mozilla neu zu setzen. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == SPEC-Datei anpassen == | ||
+ | |||
+ | sollte die genaue Version der '''java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm''' trotz intensivster Suche nicht gefunden werden, dann kann eventuell mit der Vorgänger Version dieses Paketes trotzdem sauber installiert werden. | ||
+ | |||
+ | Bei der Installation dieses Paketes wir die SPEC-Datei (/usr/src/packages/SPECS/java-1.5.0-sun.spec ) angelegt. Diese Datei kann angepasst werden. | ||
+ | Wer täglich mit solchen Dateien zu tun hat, wird sich schnell zurechtfinden, allen anderen sei es nicht dringend empfohlen ohne tiefere Kenntnisse und ohne genaue Vorlage dort einfach planlos zu editieren. | ||
+ | |||
+ | |||
+ | '''ein Beispiel''': es wird mit einer 1.5.0 Version der SPEC-Datei eine 1.5.0_01 ersetzt. | ||
+ | <pre> | ||
+ | %define release 3jpp | ||
+ | </pre> | ||
+ | wird zu geändert: | ||
+ | <pre> | ||
+ | %define release 4jpp | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | <pre> | ||
+ | %define toplevel_dir jdk%{javaver} | ||
+ | </pre> | ||
+ | wird geändert: | ||
+ | <pre> | ||
+ | %define toplevel_dir jdk%{javaver}_01 | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | <pre> | ||
+ | Source0: jdk-1_5_0-linux-i586.bin | ||
+ | </pre> | ||
+ | wird geändert: | ||
+ | <pre> | ||
+ | Source0: jdk-1_5_0_01-linux-i586.bin | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | '''noch ein Beispiel''': es wird mit einer 1.5.0_07 Version der SPEC-Datei eine 1.5.0_08 ersetzt | ||
+ | <pre> | ||
+ | %define buildver 07 | ||
+ | </pre> | ||
+ | wird auf '''Wert 08 geändert''', sonst bleibt alles gleich, und funktioniert. | ||
+ | ''( Dieses wurde hier bei der aktuellen Zusammenstellung dieses HOWTOs verwendet, da eine 1.5.0_08 nicht aufzufinden war)'' | ||
+ | <!-- getestet Robi --> | ||
+ | |||
+ | |||
+ | |||
+ | == Fehler == | ||
+ | |||
+ | * Bei folgendem '''Fehler update-alternatives'''<br/> | ||
+ | ''Failed dependencies: /usr/sbin/update-alternatives is needed by java-1.5.0-sun-1.5.0-4jpp'' | ||
+ | |||
+ | Das Paket ''update-alternatives-1.?????jpp.noarch.rpm'' muss noch installiert werden | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | * Fehlermeldung wegen '''Abhängikeiten bei sun-fonts''': | ||
+ | <pre> | ||
+ | <kages/RPMS/i586/java-1.5.0-sun-fonts-1.5.0-4jpp.i586.rpm';echo RESULT=$? | ||
+ | error: Failed dependencies: | ||
+ | /usr/bin/ttmkfdir is needed by java-1.5.0-sun-fonts-1.5.0-4jpp | ||
+ | /usr/sbin/chkfontpath is needed by java-1.5.0-sun-fonts-1.5.0-4jpp | ||
+ | RESULT=1 | ||
+ | </pre> | ||
+ | Fehler wegen '''sun-fonts''' ist auf vier Arten zu umgehen: | ||
+ | |||
+ | * 1.) installiere das RPM mit rpm -i --nodeps .... (wenn du kein apt benutzt!) | ||
+ | * 2.) lass das RPM weg, du brauchst es nur ganz, ganz selten | ||
+ | * 3.) erstelle ein "virtuelles RPM" das diese beiden Programme der RPM Datenbank vorlügt [[Wie erstelle ich ein virtuelles RPM Paket ?]] | ||
+ | * 4.) editiere das SPEC File und nimm diese falsche Abhängigkeit raus. | ||
+ | |||
+ | |||
+ | |||
+ | '''Beispiel:''' Umbenennen des Paketes, damit wird vermieden, das das Paket mit '''rpm -Uhv java*''' gefunden wird und es wird so einfach nicht mitinstalliert. | ||
+ | <pre> | ||
+ | /usr/src/packages/RPMS/i586 # mv java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm n-java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm | ||
+ | Pingu:/usr/src/packages/RPMS/i586 # rpm -Uhv java* | ||
+ | Preparing... ########################################### [100%] | ||
+ | 1:java-1.5.0-sun ########################################### [ 14%] | ||
+ | 2:java-1.5.0-sun-alsa ########################################### [ 29%] | ||
+ | 3:java-1.5.0-sun-demo ########################################### [ 43%] | ||
+ | 4:java-1.5.0-sun-devel ########################################### [ 57%] | ||
+ | 5:java-1.5.0-sun-jdbc ########################################### [ 71%] | ||
+ | 6:java-1.5.0-sun-plugin ########################################### [ 86%] | ||
+ | 7:java-1.5.0-sun-src ########################################### [100%] | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | * '''Fehler des Kommandos "rpm -bb ...."'''<br/> | ||
+ | Fehlermeldung: '' "-bb: unknown option" '' | ||
+ | |||
+ | entweder '''rpmbuild -bb''' anstatt des rpm Befehles benutzen<br/> | ||
+ | oder folgende Datei anlegen '''/etc/popt'''<br/> | ||
+ | Inhalt der Datei /etc/popt : | ||
+ | <pre> | ||
+ | rpm exec --bp rpmb -bp | ||
+ | rpm exec --bc rpmb -bc | ||
+ | rpm exec --bi rpmb -bi | ||
+ | rpm exec --bl rpmb -bl | ||
+ | rpm exec --ba rpmb -ba | ||
+ | rpm exec --bb rpmb -bb | ||
+ | rpm exec --bs rpmb -bs | ||
+ | rpm exec --tp rpmb -tp | ||
+ | rpm exec --tc rpmb -tc | ||
+ | rpm exec --ti rpmb -ti | ||
+ | rpm exec --tl rpmb -tl | ||
+ | rpm exec --ta rpmb -ta | ||
+ | rpm exec --tb rpmb -tb | ||
+ | rpm exec --ts rpmb -ts | ||
+ | rpm exec --rebuild rpmb --rebuild | ||
+ | rpm exec --recompile rpmb --recompile | ||
+ | rpm exec --clean rpmb --clean | ||
+ | rpm exec --rmsource rpmb --rmsource | ||
+ | rpm exec --rmspec rpmb --rmspec | ||
+ | rpm exec --target rpmb --target | ||
+ | rpm exec --short-circuit rpmb --short-circuit | ||
+ | </pre> | ||
+ | Siehe auch [http://www.die.net/doc/linux/man/man8/rpm.8.html man rpm(8) Abschnitt '''Executing rpmbuild''']. | ||
+ | Damit kann dann mit dem ''rpm Befehl'' die Aufgaben von ''rpmbild'' erledigt werden. | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | [[Programmierung | Zurück zu Programmierung]][[Category:Programmierung]] |
Aktuelle Version vom 12. April 2007, 01:53 Uhr
Inhaltsverzeichnis
Installation von Java 1.5 JDK auf einem SuSE Rechner
Autor des Orginalbeitrags: oc2pus
Sofern für euren Rechner die gewünschte Java-Version nicht per fertiger Pakete vorliegen sollte, dann beim der Installation von Java 1.5 JDK auf einem SuSE Rechner wie folgend vorgehen.
Installations Ablauf
Utils und Hilfspakete
- Falls jpackage-utils nicht auf DVD/CD vorhanden
- download dieses RPM (bzw. des aktuell verfügbaren) jpackage-utils-X.X.X-1jpp.noarch.rpm von hier
- Paketname zB. jpackage-utils-1.7.0-1jpp.noarch.rpm
- Paket installieren
rpm -Uhv jpackage-utils-1.7.0-1jpp.noarch.rpm
- Für einige Versionen zB SuSE 9.1 benötigtes Paket update-alternatives-.....jpp.noarch.rpm
- download von hier
- Paketname zB. update-alternatives-1.8.3-8jpp.noarch.rpm
- Paket installieren
rpm -i update-alternatives-1.8.3-8jpp.noarch.rpm
Java-1.5.0-sun-1.5...jpp.nosrc.rpm
- Benötigtes Paket java-1.5.0-sun-1.5.....jpp.nosrc.rpm
- download von h t t p://mirrors.sunsite.dk/jpackage/.../generic/non-free/SRPMS
- Paketname zB. java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm
- Achtung: es gibt dort viele Pakete ähnlichen Namens, benötigt wird zwingend der Name java-1.5.0-sun-1.5.??-?jpp.nosrc.rpm wobei die ? für die genaue Update Version stehen, die installiert werden soll. Diese Paket enthält Installationsinformationen und muss zur Version passen. Sollte das passende Paket nicht gefunden werden hier nachlesen
- Paket installieren
rpm -i java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm
Warnungen: hier können einige Warnungen kommen, dass User auf dem System nicht bekannt sind.
Sun Development Kit
- Benötigt das JDK-Paket von Sun
- Startseite für Suche des gewünschen Files Sun Download
- Downloadname Linux Platform - J2SE(TM) Development Kit 5.0 Update 8
- Dateiname jdk-1_5_0-linux-i586.bin
Installationspakete erstellen
- Heruntergeladene JDK-Datei verschieben
mv jdk-1_5_0-linux-i586.bin /usr/src/packages/SOURCES
- Pakete erstellen
cd /usr/src/packages rpm -bb SPECS/java-1.5.0-sun.spec
Achtung: Sollte das Kommando "rpm -bb ...." mit Fehler "-bb: unknown option" enden,
dann entweder nachfolgenden Befehl stattdessen ausführen oder im Abschnitt Fehlern nachlesen
rpmbuild -bb SPECS/java-1.5.0-sun.spec
- Wenn Befehl abgearbeitet ist, liegen die neuen Java Pakete unterhalb /usr/src/packages/RPMS/
/usr/src/packages/RPMS/i586 # ls . java-1.5.0-sun-devel-1.5.0.08-1jpp.i586.rpm .. java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm java-1.5.0-sun-1.5.0.08-1jpp.i586.rpm java-1.5.0-sun-jdbc-1.5.0.08-1jpp.i586.rpm java-1.5.0-sun-alsa-1.5.0.08-1jpp.i586.rpm java-1.5.0-sun-plugin-1.5.0.08-1jpp.i586.rpm java-1.5.0-sun-demo-1.5.0.08-1jpp.i586.rpm java-1.5.0-sun-src-1.5.0.08-1jpp.i586.rpm
Installieren
- Java Pakete Installieren
/usr/src/packages/RPMS/i586 # rpm -Uhv java*
Achtung: sollte dabei folgender Fehler auftreten:
error: Failed dependencies: /usr/bin/ttmkfdir is needed by java-1.5.0-sun-fonts-1.5.0.08-1jpp /usr/sbin/chkfontpath is needed by java-1.5.0-sun-fonts-1.5.0.08-1jpp
siehe Fehlerbehebung
- Nach der Installation nicht vergessen
SuSEconfig
aufrufen und ggfl. den Link für Firefox bzw Mozilla neu zu setzen.
SPEC-Datei anpassen
sollte die genaue Version der java-1.5.0-sun-1.5.0.08-1jpp.nosrc.rpm trotz intensivster Suche nicht gefunden werden, dann kann eventuell mit der Vorgänger Version dieses Paketes trotzdem sauber installiert werden.
Bei der Installation dieses Paketes wir die SPEC-Datei (/usr/src/packages/SPECS/java-1.5.0-sun.spec ) angelegt. Diese Datei kann angepasst werden. Wer täglich mit solchen Dateien zu tun hat, wird sich schnell zurechtfinden, allen anderen sei es nicht dringend empfohlen ohne tiefere Kenntnisse und ohne genaue Vorlage dort einfach planlos zu editieren.
ein Beispiel: es wird mit einer 1.5.0 Version der SPEC-Datei eine 1.5.0_01 ersetzt.
%define release 3jpp
wird zu geändert:
%define release 4jpp
%define toplevel_dir jdk%{javaver}
wird geändert:
%define toplevel_dir jdk%{javaver}_01
Source0: jdk-1_5_0-linux-i586.bin
wird geändert:
Source0: jdk-1_5_0_01-linux-i586.bin
noch ein Beispiel: es wird mit einer 1.5.0_07 Version der SPEC-Datei eine 1.5.0_08 ersetzt
%define buildver 07
wird auf Wert 08 geändert, sonst bleibt alles gleich, und funktioniert. ( Dieses wurde hier bei der aktuellen Zusammenstellung dieses HOWTOs verwendet, da eine 1.5.0_08 nicht aufzufinden war)
Fehler
- Bei folgendem Fehler update-alternatives
Failed dependencies: /usr/sbin/update-alternatives is needed by java-1.5.0-sun-1.5.0-4jpp
Das Paket update-alternatives-1.?????jpp.noarch.rpm muss noch installiert werden
- Fehlermeldung wegen Abhängikeiten bei sun-fonts:
<kages/RPMS/i586/java-1.5.0-sun-fonts-1.5.0-4jpp.i586.rpm';echo RESULT=$? error: Failed dependencies: /usr/bin/ttmkfdir is needed by java-1.5.0-sun-fonts-1.5.0-4jpp /usr/sbin/chkfontpath is needed by java-1.5.0-sun-fonts-1.5.0-4jpp RESULT=1
Fehler wegen sun-fonts ist auf vier Arten zu umgehen:
* 1.) installiere das RPM mit rpm -i --nodeps .... (wenn du kein apt benutzt!) * 2.) lass das RPM weg, du brauchst es nur ganz, ganz selten * 3.) erstelle ein "virtuelles RPM" das diese beiden Programme der RPM Datenbank vorlügt Wie erstelle ich ein virtuelles RPM Paket ? * 4.) editiere das SPEC File und nimm diese falsche Abhängigkeit raus.
Beispiel: Umbenennen des Paketes, damit wird vermieden, das das Paket mit rpm -Uhv java* gefunden wird und es wird so einfach nicht mitinstalliert.
/usr/src/packages/RPMS/i586 # mv java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm n-java-1.5.0-sun-fonts-1.5.0.08-1jpp.i586.rpm Pingu:/usr/src/packages/RPMS/i586 # rpm -Uhv java* Preparing... ########################################### [100%] 1:java-1.5.0-sun ########################################### [ 14%] 2:java-1.5.0-sun-alsa ########################################### [ 29%] 3:java-1.5.0-sun-demo ########################################### [ 43%] 4:java-1.5.0-sun-devel ########################################### [ 57%] 5:java-1.5.0-sun-jdbc ########################################### [ 71%] 6:java-1.5.0-sun-plugin ########################################### [ 86%] 7:java-1.5.0-sun-src ########################################### [100%]
- Fehler des Kommandos "rpm -bb ...."
Fehlermeldung: "-bb: unknown option"
entweder rpmbuild -bb anstatt des rpm Befehles benutzen
oder folgende Datei anlegen /etc/popt
Inhalt der Datei /etc/popt :
rpm exec --bp rpmb -bp rpm exec --bc rpmb -bc rpm exec --bi rpmb -bi rpm exec --bl rpmb -bl rpm exec --ba rpmb -ba rpm exec --bb rpmb -bb rpm exec --bs rpmb -bs rpm exec --tp rpmb -tp rpm exec --tc rpmb -tc rpm exec --ti rpmb -ti rpm exec --tl rpmb -tl rpm exec --ta rpmb -ta rpm exec --tb rpmb -tb rpm exec --ts rpmb -ts rpm exec --rebuild rpmb --rebuild rpm exec --recompile rpmb --recompile rpm exec --clean rpmb --clean rpm exec --rmsource rpmb --rmsource rpm exec --rmspec rpmb --rmspec rpm exec --target rpmb --target rpm exec --short-circuit rpmb --short-circuit
Siehe auch man rpm(8) Abschnitt Executing rpmbuild. Damit kann dann mit dem rpm Befehl die Aufgaben von rpmbild erledigt werden.