Tecnologia e non solo

dicembre 19, 2011

Debian Sid 64 e Oracle Java jre 6 e 7

Filed under: Debian,Sid — telperion @ 12:36 pm


Uploaded with ImageShack.us

Debian sid 64, Java jre.
Promemoria.

Rimossi i 3 pacchetti Sun jre osbsoleti:
sun-java6-bin_6.26-3_amd64.deb
sun-java6-plugin_6.26-3_amd64.deb
sun-java6-jre_6.26-3_all.deb

Scaricato da
http://www.oracle.com/technetwork/java/javase/overview/index.html

jre-6u30-linux-x64.bin

eseguito, estrae la cartella jre1.6.0_30 spostata poi in /usr/lib/jvm/
Creato link simbolico oracle-jre.1.6

cd /usr/lib/jvm
sudo ln -s jre1.6.0_30 oracle-jre.1.6

Creata una alternativa per
/usr/bin/java
con slave
/usr/bin/java_wm
/usr/bin/javaws
/usr/lib/firefox/plugins/libjavaplugin.so

con il comando

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle-jre.1.6/bin/java 3 --slave /usr/bin/java_vm java_vm /usr/lib/jvm/oracle-jre.1.6/bin/java_vm --slave /usr/bin/javaws javaws /usr/lib/jvm/oracle-jre.1.6/bin/javaws --slave /usr/lib/firefox/plugins/libjavaplugin.so firefox-javaplugin.so /usr/lib/jvm/oracle-jre.1.6/lib/amd64/libnpjp2.so

ora la situazione è questa:

ls -l /etc/alternatives/java*
lrwxrwxrwx 1 root root 46 dic 18 22:58 /etc/alternatives/java -> /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
lrwxrwxrwx 1 root root 56 dic 18 22:58 /etc/alternatives/java.1.gz -> /usr/lib/jvm/java-6-openjdk-amd64/jre/man/man1/java.1.gz

ls -l /etc/alternatives/firefox-javaplugin.so ls:
impossibile accedere a /etc/alternatives/firefox-javaplugin.so: File o directory non esistente

Possiamo passare alla versione oracle 6 con

sudo update-alternatives --config java

Sono disponibili 2 scelte per l'alternativa java (che fornisce /usr/bin/java).

  Selezione    Percorso                                        Priorità  Stato
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      modalità automatica
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      modalità manuale
  2            /usr/lib/jvm/oracle-jre.1.6/bin/java             3         modalità manuale

Premere Invio per mantenere il valore predefinito[*] o digitare il numero della selezione:
2
update-alternatives:
viene usato /usr/lib/jvm/oracle-jre.1.6/bin/java per fornire /usr/bin/java (java)
in modalità manuale.

dopo il cambio la situazione diviene questa:

ls -l /etc/alternatives/java*
lrwxrwxrwx 1 root root 36 dic 18 23:05 /etc/alternatives/java -> /usr/lib/jvm/oracle-jre.1.6/bin/java
lrwxrwxrwx 1 root root 39 dic 18 23:05 /etc/alternatives/java_vm -> /usr/lib/jvm/oracle-jre.1.6/bin/java_vm
lrwxrwxrwx 1 root root 38 dic 18 23:05 /etc/alternatives/javaws -> /usr/lib/jvm/oracle-jre.1.6/bin/javaws

ls -l /etc/alternatives/firefox-javaplugin.so
lrwxrwxrwx 1 root root 49 dic 18 23:21 /etc/alternatives/firefox-javaplugin.so ->
/usr/lib/jvm/oracle-jre.1.6/lib/amd64/libnpjp2.so

ls -l /usr/lib/jvm/oracle-jre.1.6
lrwxrwxrwx 1 root root 11 dic 18 22:01 /usr/lib/jvm/oracle-jre.1.6 -> jre1.6.0_30

Il plugin firefox non viene rilevato perchè è nella cartella /usr/lib/firefox/plugins/ che per qualche oscuro motivo non viene rilevata, mentre viene vista la cartella /usr/lib/mozilla/plugins.
Risolviamo creando un link simbolico:

cd /usr/lib/mozilla/plugins
sudo ln -s /usr/lib/firefox/plugins/libjavaplugin.so libjavaplugin.so

e a questo punto tutto è a posto.

Al prossimo aggiornamento basta copiare la nuova cartella e aggiornare il link simbolico.
Esempio per una ipotetica versione 6u35

jre-6u35-linux-x64.bin

scompattata la jre e spostata in /usr/lib/jvm/
/usr/lib/jvm/jre1.6.0_35

aggiornare link simbolico oracle-jre.1.6

cd /usr/lib/jvm
sudo ln -sf jre1.6.0_35 oracle-jre.1.6

Jre versione 7

Scaricato il file
jre-7u2-linux-x64.tar.gz

copiata in /usr/lib/jvm la cartella jre1.7.0_02 e creato il link simbolico

cd /usr/lib/jvm
sudo ln -s jre1.7.0_02 oracle-jre.1.7

creata l’alternativa con i tre slave:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle-jre.1.7/bin/java 10 --slave /usr/bin/java_vm java_vm /usr/lib/jvm/oracle-jre.1.7/bin/java_vm --slave /usr/bin/javaws javaws /usr/lib/jvm/oracle-jre.1.7/bin/javaws --slave /usr/lib/firefox/plugins/libjavaplugin.so firefox-javaplugin.so /usr/lib/jvm/oracle-jre.1.7/lib/amd64/libnpjp2.so

Ora basta il solito

sudo update-alternatives --config java

Sono disponibili 3 scelte per l'alternativa java (che fornisce /usr/bin/java).

  Selezione    Percorso                                        Priorità  Stato
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      modalità automatica
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      modalità manuale
* 2            /usr/lib/jvm/oracle-jre.1.6/bin/java             3         modalità manuale
  3            /usr/lib/jvm/oracle-jre.1.7/bin/java             10        modalità manuale

Premere Invio per mantenere il valore predefinito[*] o digitare il numero della selezione:
3
update-alternatives:
viene usato /usr/lib/jvm/oracle-jre.1.7/bin/java
per fornire /usr/bin/java (java) in modalità manuale.

Dopo il cambio la situazione diventa:

ls -l /etc/alternatives/java*
lrwxrwxrwx 1 root root 36 dic 18 23:33 /etc/alternatives/java -> /usr/lib/jvm/oracle-jre.1.7/bin/java
lrwxrwxrwx 1 root root 39 dic 18 23:33 /etc/alternatives/java_vm -> /usr/lib/jvm/oracle-jre.1.7/bin/java_vm
lrwxrwxrwx 1 root root 38 dic 18 23:33 /etc/alternatives/javaws -> /usr/lib/jvm/oracle-jre.1.7/bin/javaws

ls -l /etc/alternatives/firefox-javaplugin.so
lrwxrwxrwx 1 root root 49 dic 18 23:33 /etc/alternatives/firefox-javaplugin.so ->
/usr/lib/jvm/oracle-jre.1.7/lib/amd64/libnpjp2.so

ls -l /usr/lib/jvm/oracle-jre.1.7
lrwxrwxrwx 1 root root 11 dic 18 23:32 /usr/lib/jvm/oracle-jre.1.7 -> jre1.7.0_02

Anche in questo caso per eventuali aggiornamenti basta scaricare l’archivio,
copiare la cartella in /usr/lib/jvm e aggiornare il link simbolico oracle-jre.1.7 alla nuova cartella.

Per rimuovere l’alternativa jre 6

sudo update-alternatives --remove java /usr/lib/jvm/oracle-jre.1.6/bin/java

cancellate la cartella
/usr/lib/jvm/jre1.6.0_35
e il link simbolico
oracle-jre.1.6

Per rimuovere l’alternativa jre 7

sudo update-alternatives --remove java /usr/lib/jvm/oracle-jre.1.7/bin/java

cancellate la cartella
/usr/lib/jvm/jre1.7.0_02
e il link simbolico
oracle-jre.1.7

Attenzione:
promemoria personale per debian 64 sid e Oracle JRE 6 e 7.
Se utilizzate quanto riportato senza sapere cosa fate, o su una 32 bit o per gli archivi SDK e fate un gran casino:
son fatti vostri.

;)

4 commenti »

  1. Esiste anche un altro metodo usando update-java-alternatives e un file di informazione delle alternative in
    /usr/lib/jvm/.jname.jinfo

    Ad esempio quello del sun java

    .java-6-sun.jinfo

    è questo

    http://pastebin.com/tuwzAQWr

    per info
    man update-java-alternatives

    Commento di telperion — dicembre 20, 2011 @ 12:54 pm | Replica

  2. Ciao, sto cercando di installare jre-6u30-linux-x64.bin su Debian sid 64bit e ho seguito dettagliatamente la tua guida ma continua a non settarmi bene l’alternativa:

    update-alternatives –config java
    Sono disponibili 2 scelte per l’alternativa java (che fornisce /usr/bin/java).

    Selezione Percorso Priorità Stato
    ————————————————————
    * 0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 modalità automatica
    1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 modalità manuale
    2 /usr/lib/jvm/oracle-jre.1.6/bin/java 3 modalità manuale

    Premere Invio per mantenere il valore predefinito[*] o digitare il numero della selezione:2
    update-alternatives: viene usato /usr/lib/jvm/oracle-jre.1.6/bin/java per fornire /usr/bin/java (java) in modalità manuale.

    java -version
    java version “1.6.0_24″
    OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b24~pre2-1)
    OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

    Infatti se provo a ridare “update-alternatives –config java” l’opzione predefinita è ancora la 0 (cioè /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java), dove potrebbe essere il problema?

    Commento di Mattia — dicembre 23, 2011 @ 11:52 am | Replica

    • mc@debian64:~$ java -version
      java version “1.6.0_30″
      Java(TM) SE Runtime Environment (build 1.6.0_30-b12)
      Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode)

      prova a rimuovere l’alternativa
      Per rimuovere l’alternativa jre 6

      poi rifalla
      con il comando (è una riga unica tutto il malloppone)

      poi cambia java con update-alternative e verifica con ls (tutti e tre)
      Dopo il cambio la situazione diventa:
      che i vari link corrispondano.

      Commento di telperion — dicembre 23, 2011 @ 12:47 pm | Replica

      • non vedo i comandi da dare nella tua risposta :(

        Commento di Mattia — gennaio 6, 2012 @ 12:11 pm


RSS feed dei commenti a questo articolo. TrackBack URI

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s

Theme: Rubric. Blog su WordPress.com.

Follow

Get every new post delivered to your Inbox.