SDB:Installare Java


Provato su openSUSE Articoli consigliati Articoli correlati
Icon-checked.png

Icon-manual.png Icon-help.png

Questo articolo spiega come installare Java di Oracle su openSUSE.

Situazione iniziale

A causa del sistema di licenze usato da Oracle (Sun), Java JRE non può più essere incluso nei repository di openSUSE. Qui è possibile trovare una guida rapida su come installarne la versione più recente e sicura. Sul sito web di Java Oracle sono disponibili due versioni da scaricare:

  • Java Runtime Environment (JRE): ambiente di esecuzione Java, contiene la "macchina virtuale Java" (Java virtual machine), librerie, lanciatore di applicazioni Java, Plug-in per i browser e in generale tutto quanto è necessario per eseguire programmi scritti nel linguaggio Java.
  • Java Development Kit (JDK): kit di sviluppo Java, oltre all'ambiente di esecuzione qui sopra (JRE - Java Runtime Environment) include tutti gli strumenti necessari per sviluppare, testare e fare il debug dei programmi scritti nel linguaggio Java.

Dato che l'installazione di JRE è una versione ridotta dell'installazione di JDK, conviene prima illustrare l'installazione di JDK e poi vedere quali sono le differenze da considerare, nel caso in cui per qualche ragione si preferisca installare il solo ambiente di esecuzione (JRE). Installare entrambi i pacchetti quando hanno lo stesso numero di versione, non è quindi (particolarmente) utile.
In entrambe le procedure riportate qui sotto, quella per JDK e quella per JRE, viene usato lo stesso nome per il link simbolico che punta alla cartella dell'Ambiente Java Oracle, ovvero jdk_Oracle. Quindi, è possibile seguire entrambe le procedure in successione, in quanto JDK e JRE verranno installati in due cartelle distinte, ma solo l'ultima installata fra queste due verrà usata dal sistema, o comunque quella a cui punterà il link simbolico.


Installare Java Runtime Environment usando i pacchetti RPM di Oracle

Questo metodo di installazione è accettabile se si vuole impostare un ambiente Java in poco tempo e senza particolari complicazioni, ma, di conseguenza, con alcune limitazioni rispetto ai metodi completi illustrati più avanti. Il plugin per il Web di Icedtea Web non sarà più disponibile, solo quello "ufficiale" di Java Oracle. Questo metodo è comunque sufficiente per quei siti che richiedono la presenza del plugin Java di Oracle per funzionare correttamente (o che si rifiutano di funzionare in sua assenza).

Identifica, innanzitutto, l'architettura del sistema operativo in uso, così da scaricare il pacchetto appropriato per il tuo sistema. Per informazioni sul tipo di architettura in uso, apri un terminale ed esegui il comando:

uname -m

Se il suo risultato è uno tra i seguenti:

i486
i586
i686

Stai usando un sistema con architettura a 32 bit

Se il risultato del comando è:

x86_64

Stai usando un sistema con architettura a 64 bit.

Scarica il pacchetto RPM "ufficiale" da Java.com e installalo con il metodo che preferisci. Nella maggior parte dei casi, dal gestore dei file, sarà sufficiente spostarsi nella cartella contenente il file RPM e cliccarci sopra per installarlo. Oppure lo puoi installare dal terminale, ad esempio apri un terminale eseguendo il programma (Alt+F2 in KDE): konsole o xterm; dopodiché digita:

su

e inserisci la password per root quando richiesto, così da passare in modalità "Superutente". Spostati, come utente normale, nella cartella in cui è stato scaricato il pacchetto, con Firefox o Chrome il percorso predefinito sarà ~/Scaricati:

cd ~/Scaricati

Per installare da terminale scrivi:

# rpm -ivh jre-7u51-linux-i586.rpm

per sistemi a 32 bit. Per versioni a 64 bit digita:

# rpm -ivh jre-7u51-linux-x64.rpm

Una volta terminata l'installazione dovrai in ogni caso aprire una console virtuale (se non lo hai già fatto per installare il pacchetto RPM) e ottenere i permessi di root. Impartisci quindi i seguenti comandi (o incollali dopo averli copiati), come root:

# zypper rm icedtea-web

Conferma la rimozione del pacchetto e, una volta completata, copia e incolla quanto segue:

# update-alternatives --install "/usr/bin/java" "java" "/usr/java/latest/bin/java" 1
# update-alternatives --set java /usr/java/latest/bin/java

L'informazione a cui si è interessati è la posizione del file libnpjp2.so (il percorso di tale file può variare a seconda delle versione di (open)SUSE in uso e della versione del pacchetto jre) fornito dal pacchetto jre installato. Per risalire al file in questione si può usare il comando rpm:

rpm -ql jre | grep libnpjp2.so

Il risultato di questo comando dovrebbe fornire il percorso assoluto al file. Puoi ora creare un collegamento che punta al plugin per il browser. Incolla perciò il seguente comando, come root: Per architetture a 32 bit:

# plugin=$(rpm -ql jre | grep libnpjp2.so)
# ln -sv "$plugin" /usr/lib/browser-plugins/

Per architetture a 64 bit:

# plugin=$(rpm -ql jre | grep libnpjp2.so)
# ln -sv "$plugin" /usr/lib64/browser-plugins/

Da questo momento in poi il tuo sistema userà Java di Oracle, inoltre ogni browser su di esso installato userà il plugin web di Oracle.

Controllare il Plugin di Java

Per verificare che il plugin sia stato installato correttamente, accertarsi di aver riavviato il proprio browser, dopodiché inserire nella barra degli indirizzi il testo qui di seguito. Per Firefox digitare:

about:plugins

Per Chrome o Chromium digitare:

chrome://plugins/

Limitare l'utilizzo del disco da parte di Java

Benché con questo metodo non sia disponibile l'icona corrispondente nel menu delle applicazioni, sarà comunque installato il Pannello di controllo di Java che ti consente di di modificare molte impostazioni dell'ambiente di esecuzione. Per accedervi apri un terminale, oppure in KDE premi Alt+F2, infine esegui il comando:

jcontrol
  • Fai clic su Impostazioni... in corrispondenza di File temporanei per Internet
  • In Spazio su disco imposta la quantità di spazio su disco da destinare all'archiviazione dei file temporanei in base alle tue esigenze. Uno spazio compreso tra 50 e 100 megabyte dovrebbe essere sufficiente.
  • Fai clic su OK per chiudere la finestra di configurazione e poi ancora su OK per chiudere il Pannello di controllo di Java.

Procedura con ambiente di sviluppo incluso (JDK)

Include l'Ambiente Java completo.

Icon-warning.png
Attenzione! Da qui fino alla fine della sezione, per tutti i sotto-paragrafi (Aggiornare Java Oracle incluso), se il proprio sistema ha un'architettura a 64 bit tutte le occorrenze di /usr/lib devono essere sostituite con /usr/lib64: al momento di impartire i comandi, si prega di seguire i sotto-paragrafi appropriati per l'architettura del proprio sistema.

Installare Java SE di Oracle

  • Scarica il kit di sviluppo di Java SE (JDK) dal sito web di Oracle. Salvalo in una directory facile da ricordare (ad esempio /tmp)
Scarica la versione adatta per l'architettura del tuo sistema. Ad esempio, per la versione 1.7.0_7 di Java Oracle:
Linux x86 (Architettura a 32 bit)
jdk-7u7-linux-i586.tar.gz
Linux x64 (Architettura a 64 bit)
jdk-7u7-linux-x64.tar.gz
  • Apri un terminale ed esegui il comando:
    cd /percorso/al_file/java/scaricato/
  • Scompattalo (con permessi di superutente, per sicurezza) con:
    sudo tar -xzf ./jdk-7uX-linux-XX.tar.gz
  • Aggiusta i permessi della directory appena espansa, assieme al suo contenuto, con:
    sudo chown -R root:root jdk1.X.X_XX/
Linux x86 (architettura a 32 bit)
  • Open JDK è installato per impostazione predefinita in /usr/lib, per cui anche Java Oracle verrà spostato in /usr/lib:
    sudo mv ./jdk1.X.X_XX/ /usr/lib/
  • Crea un collegamento simbolico a /usr/lib/jdk1.X.X_XX/ (che sarà utile in seguito in caso di aggiornamenti):
    sudo ln -s -T /usr/lib/jdk1.X.X_XX/ /usr/lib/jdk_Oracle
Linux x86_64 (architettura a 64 bit)
  • Open JDK è installato per impostazione predefinita in /usr/lib64, per cui anche Java Oracle verrà spostato in /usr/lib64:
    sudo mv ./jdk1.X.X_XX/ /usr/lib64/
  • Crea un collegamento simbolico a /usr/lib64/jdk1.X.X_XX/ (che sarà utile in seguito in caso di aggiornamenti):
    sudo ln -s -T /usr/lib64/jdk1.X.X_XX/ /usr/lib64/jdk_Oracle

Informare il sistema

Lanciatore delle applicazioni Java

  • Comprimere i file di man interessati da questa installazione:
Linux x86 (architettura a 32 bit)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/java.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/keytool.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/orbd.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/policytool.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/rmid.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/rmiregistry.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/servertool.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/tnameserv.1)
Linux x86_64 (architettura a 64 bit)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/java.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/keytool.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/orbd.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/policytool.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/rmid.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/rmiregistry.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/servertool.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/tnameserv.1)
  • Prepara la cartella per jvm-exports (specifico per versione 1.7.0):
Linux x86 (architettura a 32 bit)
  1. sudo mkdir /usr/lib/jvm-exports/jdk_Oracle
    cd /usr/lib/jvm-exports/jdk_Oracle
    sudo ln -s /usr/lib/jdk_Oracle/jre/lib/rt.jar jaas-1.7.0_Orac.jar
    sudo ln -s jaas-1.7.0_Orac.jar jaas-1.7.0.jar
    sudo ln -s jaas-1.7.0_Orac.jar jaas.jar
    sudo ln -s /usr/lib/jdk_Oracle/jre/lib/jce.jar jce-1.7.0_Orac.jar
    sudo ln -s jce-1.7.0_Orac.jar jce-1.7.0.jar
    sudo ln -s jce-1.7.0_Orac.jar jce.jar
    sudo ln -s /usr/lib/jdk_Oracle/jre/lib/rt.jar jdbc-stdext-1.7.0_Orac.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext-1.7.0.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext-3.0.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext.jar
    sudo ln -s /usr/lib/jdk_Oracle/jre/lib/rt.jar jndi-1.7.0_Orac.jar
    sudo ln -s jndi-1.7.0_Orac.jar jndi-1.7.0.jar
    sudo ln -s /usr/lib/jdk_Oracle/jre/lib/rt.jar jndi-cos-1.7.0_Orac.jar
    sudo ln -s jndi-cos-1.7.0_Orac.jar jndi-cos-1.7.0.jar
    sudo ln -s jndi-cos-1.7.0_Orac.jar jndi-cos.jar
    sudo ln -s jndi-1.7.0_Orac.jar jndi.jar
    sudo ln -s /usr/lib/jdk_Oracle/jre/lib/rt.jar jndi-ldap-1.7.0_Orac.jar
    sudo ln -s jndi-ldap-1.7.0_Orac.jar jndi-ldap-1.7.0.jar
    sudo ln -s jndi-ldap-1.7.0_Orac.jar jndi-ldap.jar
    sudo ln -s /usr/lib/jdk_Oracle/jre/lib/rt.jar jndi-rmi-1.7.0_Orac.jar
    sudo ln -s jndi-rmi-1.7.0_Orac.jar jndi-rmi-1.7.0.jar
    sudo ln -s jndi-rmi-1.7.0_Orac.jar jndi-rmi.jar
    sudo ln -s /usr/lib/jdk_Oracle/jre/lib/jsse.jar jsse-1.7.0_Orac.jar
    sudo ln -s jsse-1.7.0_Orac.jar jsse-1.7.0.jar
    sudo ln -s jsse-1.7.0_Orac.jar jsse.jar
    sudo ln -s /usr/lib/jdk_Oracle/jre/lib/rt.jar sasl-1.7.0_Orac.jar
    sudo ln -s sasl-1.7.0_Orac.jar sasl-1.7.0.jar
    sudo ln -s sasl-1.7.0_Orac.jar sasl.jar
  2. sudo /usr/sbin/update-alternatives --install /usr/bin/java java /usr/lib/jdk_Oracle/bin/java 3 --slave /usr/share/man/man1/java.1.gz java.1.gz /usr/lib/jdk_Oracle/man/man1/java.1.gz --slave /usr/lib/jvm/jre jre /usr/lib/jdk_Oracle/jre --slave /usr/lib/jvm-exports/jre jre_exports /usr/lib/jvm-exports/jdk_Oracle --slave /usr/bin/keytool keytool /usr/lib/jdk_Oracle/bin/keytool --slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/lib/jdk_Oracle/man/man1/keytool.1.gz --slave /usr/bin/orbd orbd /usr/lib/jdk_Oracle/bin/orbd --slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/lib/jdk_Oracle/man/man1/orbd.1.gz --slave /usr/bin/policytool policytool /usr/lib/jdk_Oracle/bin/policytool --slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/lib/jdk_Oracle/man/man1/policytool.1.gz --slave /usr/bin/rmid rmid /usr/lib/jdk_Oracle/bin/rmid --slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/lib/jdk_Oracle/man/man1/rmid.1.gz --slave /usr/bin/rmiregistry rmiregistry /usr/lib/jdk_Oracle/bin/rmiregistry --slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/lib/jdk_Oracle/man/man1/rmiregistry.1.gz --slave /usr/bin/servertool servertool /usr/lib/jdk_Oracle/bin/servertool --slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/lib/jdk_Oracle/man/man1/servertool.1.gz --slave /usr/bin/tnameserv tnameserv /usr/lib/jdk_Oracle/bin/tnameserv --slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/lib/jdk_Oracle/man/man1/tnameserv.1.gz
Linux x86_64 (architettura a 64 bit)
  1. sudo mkdir /usr/lib64/jvm-exports/jdk_Oracle
    cd /usr/lib64/jvm-exports/jdk_Oracle
    sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jaas-1.7.0_Orac.jar
    sudo ln -s jaas-1.7.0_Orac.jar jaas-1.7.0.jar
    sudo ln -s jaas-1.7.0_Orac.jar jaas.jar
    sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/jce.jar jce-1.7.0_Orac.jar
    sudo ln -s jce-1.7.0_Orac.jar jce-1.7.0.jar
    sudo ln -s jce-1.7.0_Orac.jar jce.jar
    sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jdbc-stdext-1.7.0_Orac.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext-1.7.0.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext-3.0.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext.jar
    sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jndi-1.7.0_Orac.jar
    sudo ln -s jndi-1.7.0_Orac.jar jndi-1.7.0.jar
    sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jndi-cos-1.7.0_Orac.jar
    sudo ln -s jndi-cos-1.7.0_Orac.jar jndi-cos-1.7.0.jar
    sudo ln -s jndi-cos-1.7.0_Orac.jar jndi-cos.jar
    sudo ln -s jndi-1.7.0_Orac.jar jndi.jar
    sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jndi-ldap-1.7.0_Orac.jar
    sudo ln -s jndi-ldap-1.7.0_Orac.jar jndi-ldap-1.7.0.jar
    sudo ln -s jndi-ldap-1.7.0_Orac.jar jndi-ldap.jar
    sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar jndi-rmi-1.7.0_Orac.jar
    sudo ln -s jndi-rmi-1.7.0_Orac.jar jndi-rmi-1.7.0.jar
    sudo ln -s jndi-rmi-1.7.0_Orac.jar jndi-rmi.jar
    sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/jsse.jar jsse-1.7.0_Orac.jar
    sudo ln -s jsse-1.7.0_Orac.jar jsse-1.7.0.jar
    sudo ln -s jsse-1.7.0_Orac.jar jsse.jar
    sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/rt.jar sasl-1.7.0_Orac.jar
    sudo ln -s sasl-1.7.0_Orac.jar sasl-1.7.0.jar
    sudo ln -s sasl-1.7.0_Orac.jar sasl.jar
  2. sudo /usr/sbin/update-alternatives --install /usr/bin/java java /usr/lib64/jdk_Oracle/bin/java 3 --slave /usr/share/man/man1/java.1.gz java.1.gz /usr/lib64/jdk_Oracle/man/man1/java.1.gz --slave /usr/lib64/jvm/jre jre /usr/lib64/jdk_Oracle/jre --slave /usr/lib64/jvm-exports/jre jre_exports /usr/lib64/jvm-exports/jdk_Oracle --slave /usr/bin/keytool keytool /usr/lib64/jdk_Oracle/bin/keytool --slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/lib64/jdk_Oracle/man/man1/keytool.1.gz --slave /usr/bin/orbd orbd /usr/lib64/jdk_Oracle/bin/orbd --slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/lib64/jdk_Oracle/man/man1/orbd.1.gz --slave /usr/bin/policytool policytool /usr/lib64/jdk_Oracle/bin/policytool --slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/lib64/jdk_Oracle/man/man1/policytool.1.gz --slave /usr/bin/rmid rmid /usr/lib64/jdk_Oracle/bin/rmid --slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/lib64/jdk_Oracle/man/man1/rmid.1.gz --slave /usr/bin/rmiregistry rmiregistry /usr/lib64/jdk_Oracle/bin/rmiregistry --slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/lib64/jdk_Oracle/man/man1/rmiregistry.1.gz --slave /usr/bin/servertool servertool /usr/lib64/jdk_Oracle/bin/servertool --slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/lib64/jdk_Oracle/man/man1/servertool.1.gz --slave /usr/bin/tnameserv tnameserv /usr/lib64/jdk_Oracle/bin/tnameserv --slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/lib64/jdk_Oracle/man/man1/tnameserv.1.gz

Compilatore Java

  • Comprimere i file di man interessati da questa installazione:
Linux x86 (architettura a 32 bit)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/appletviewer.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/apt.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/extcheck.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jar.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jarsigner.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/javac.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/javadoc.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/javah.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/javap.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jcmd.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jconsole.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jdb.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jhat.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jinfo.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jmap.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jps.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jrunscript.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jsadebugd.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jstack.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jstat.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/jstatd.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/native2ascii.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/pack200.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/rmic.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/schemagen.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/serialver.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/unpack200.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/wsgen.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/wsimport.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/xjc.1)

(Cartella per jvm-exports: La stessa usata per il Lanciatore.)

sudo /usr/sbin/update-alternatives --install /usr/bin/javac javac /usr/lib/jdk_Oracle/bin/javac 3 \
--slave /usr/bin/appletviewer appletviewer /usr/lib/jdk_Oracle/bin/appletviewer \
--slave /usr/share/man/man1/appletviewer.1.gz appletviewer.1.gz /usr/lib/jdk_Oracle/man/man1/appletviewer.1.gz \
--slave /usr/bin/apt apt /usr/lib/jdk_Oracle/bin/apt \
--slave /usr/share/man/man1/apt.1.gz apt.1.gz /usr/lib/jdk_Oracle/man/man1/apt.1.gz \
--slave /usr/bin/extcheck extcheck /usr/lib/jdk_Oracle/bin/extcheck \
--slave /usr/share/man/man1/extcheck.1.gz extcheck.1.gz /usr/lib/jdk_Oracle/man/man1/extcheck.1.gz \
--slave /usr/bin/jar jar /usr/lib/jdk_Oracle/bin/jar \
--slave /usr/share/man/man1/jar.1.gz jar.1.gz /usr/lib/jdk_Oracle/man/man1/jar.1.gz \
--slave /usr/bin/jarsigner jarsigner /usr/lib/jdk_Oracle/bin/jarsigner \
--slave /usr/share/man/man1/jarsigner.1.gz jarsigner.1.gz /usr/lib/jdk_Oracle/man/man1/jarsigner.1.gz \
--slave /usr/lib/jvm/java java_sdk /usr/lib/jdk_Oracle \
--slave /usr/lib/jvm-exports/java java_sdk_exports /usr/lib/jvm-exports/jdk_Oracle \
--slave /usr/share/man/man1/javac.1.gz javac.1.gz /usr/lib/jdk_Oracle/man/man1/javac.1.gz \
--slave /usr/bin/javadoc javadoc /usr/lib/jdk_Oracle/bin/javadoc \
--slave /usr/share/man/man1/javadoc.1.gz javadoc.1.gz /usr/lib/jdk_Oracle/man/man1/javadoc.1.gz \
--slave /usr/bin/javah javah /usr/lib/jdk_Oracle/bin/javah \
--slave /usr/share/man/man1/javah.1.gz javah.1.gz /usr/lib/jdk_Oracle/man/man1/javah.1.gz \
--slave /usr/bin/javap javap /usr/lib/jdk_Oracle/bin/javap \
--slave /usr/share/man/man1/javap.1.gz javap.1.gz /usr/lib/jdk_Oracle/man/man1/javap.1.gz \
--slave /usr/share/man/man1/jcmd.1.gz jcmd.1.gz /usr/lib/jdk_Oracle/man/man1/jcmd.1.gz \
--slave /usr/bin/jconsole jconsole /usr/lib/jdk_Oracle/bin/jconsole \
--slave /usr/share/man/man1/jconsole.1.gz jconsole.1.gz /usr/lib/jdk_Oracle/man/man1/jconsole.1.gz \
--slave /usr/bin/jdb jdb /usr/lib/jdk_Oracle/bin/jdb \
--slave /usr/share/man/man1/jdb.1.gz jdb.1.gz /usr/lib/jdk_Oracle/man/man1/jdb.1.gz \
--slave /usr/bin/jhat jhat /usr/lib/jdk_Oracle/bin/jhat \
--slave /usr/share/man/man1/jhat.1.gz jhat.1.gz /usr/lib/jdk_Oracle/man/man1/jhat.1.gz \
--slave /usr/bin/jinfo jinfo /usr/lib/jdk_Oracle/bin/jinfo \
--slave /usr/share/man/man1/jinfo.1.gz jinfo.1.gz /usr/lib/jdk_Oracle/man/man1/jinfo.1.gz \
--slave /usr/bin/jmap jmap /usr/lib/jdk_Oracle/bin/jmap \
--slave /usr/share/man/man1/jmap.1.gz jmap.1.gz /usr/lib/jdk_Oracle/man/man1/jmap.1.gz \
--slave /usr/bin/jps jps /usr/lib/jdk_Oracle/bin/jps \
--slave /usr/share/man/man1/jps.1.gz jps.1.gz /usr/lib/jdk_Oracle/man/man1/jps.1.gz \
--slave /usr/bin/jrunscript jrunscript /usr/lib/jdk_Oracle/bin/jrunscript \
--slave /usr/share/man/man1/jrunscript.1.gz jrunscript.1.gz /usr/lib/jdk_Oracle/man/man1/jrunscript.1.gz \
--slave /usr/bin/jsadebugd jsadebugd /usr/lib/jdk_Oracle/bin/jsadebugd \
--slave /usr/share/man/man1/jsadebugd.1.gz jsadebugd.1.gz /usr/lib/jdk_Oracle/man/man1/jsadebugd.1.gz \
--slave /usr/bin/jstack jstack /usr/lib/jdk_Oracle/bin/jstack \
--slave /usr/share/man/man1/jstack.1.gz jstack.1.gz /usr/lib/jdk_Oracle/man/man1/jstack.1.gz \
--slave /usr/bin/jstat jstat /usr/lib/jdk_Oracle/bin/jstat \
--slave /usr/share/man/man1/jstat.1.gz jstat.1.gz /usr/lib/jdk_Oracle/man/man1/jstat.1.gz \
--slave /usr/bin/jstatd jstatd /usr/lib/jdk_Oracle/bin/jstatd \
--slave /usr/share/man/man1/jstatd.1.gz jstatd.1.gz /usr/lib/jdk_Oracle/man/man1/jstatd.1.gz \
--slave /usr/bin/native2ascii native2ascii /usr/lib/jdk_Oracle/bin/native2ascii \
--slave /usr/share/man/man1/native2ascii.1.gz native2ascii.1.gz /usr/lib/jdk_Oracle/man/man1/native2ascii.1.gz \
--slave /usr/bin/pack200 pack200 /usr/lib/jdk_Oracle/bin/pack200 \
--slave /usr/share/man/man1/pack200.1.gz pack200.1.gz /usr/lib/jdk_Oracle/man/man1/pack200.1.gz \
--slave /usr/bin/rmic rmic /usr/lib/jdk_Oracle/bin/rmic \
--slave /usr/share/man/man1/rmic.1.gz rmic.1.gz /usr/lib/jdk_Oracle/man/man1/rmic.1.gz \
--slave /usr/bin/schemagen schemagen /usr/lib/jdk_Oracle/bin/schemagen \
--slave /usr/share/man/man1/schemagen.1.gz schemagen.1.gz /usr/lib/jdk_Oracle/man/man1/schemagen.1.gz \
--slave /usr/bin/serialver serialver /usr/lib/jdk_Oracle/bin/serialver \
--slave /usr/share/man/man1/serialver.1.gz serialver.1.gz /usr/lib/jdk_Oracle/man/man1/serialver.1.gz \
--slave /usr/bin/unpack200 unpack200 /usr/lib/jdk_Oracle/bin/unpack200 \
--slave /usr/share/man/man1/unpack200.1.gz unpack200.1.gz /usr/lib/jdk_Oracle/man/man1/unpack200.1.gz \
--slave /usr/bin/wsgen wsgen /usr/lib/jdk_Oracle/bin/wsgen \
--slave /usr/share/man/man1/wsgen.1.gz wsgen.1.gz /usr/lib/jdk_Oracle/man/man1/wsgen.1.gz \
--slave /usr/bin/wsimport wsimport /usr/lib/jdk_Oracle/bin/wsimport \
--slave /usr/share/man/man1/wsimport.1.gz wsimport.1.gz /usr/lib/jdk_Oracle/man/man1/wsimport.1.gz \
--slave /usr/bin/xjc xjc /usr/lib/jdk_Oracle/bin/xjc \
--slave /usr/share/man/man1/xjc.1.gz xjc.1.gz /usr/lib/jdk_Oracle/man/man1/xjc.1.gz
Linux x86_64 (architettura a 64 bit)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/appletviewer.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/apt.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/extcheck.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jar.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jarsigner.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/javac.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/javadoc.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/javah.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/javap.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jcmd.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jconsole.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jdb.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jhat.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jinfo.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jmap.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jps.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jrunscript.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jsadebugd.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jstack.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jstat.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/jstatd.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/native2ascii.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/pack200.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/rmic.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/schemagen.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/serialver.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/unpack200.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/wsgen.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/wsimport.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/xjc.1)

(Cartella per jvm-exports: La stessa usata per il Lanciatore.)

sudo /usr/sbin/update-alternatives --install /usr/bin/javac javac /usr/lib64/jdk_Oracle/bin/javac 3 \
--slave /usr/bin/appletviewer appletviewer /usr/lib64/jdk_Oracle/bin/appletviewer \
--slave /usr/share/man/man1/appletviewer.1.gz appletviewer.1.gz /usr/lib64/jdk_Oracle/man/man1/appletviewer.1.gz \
--slave /usr/bin/apt apt /usr/lib64/jdk_Oracle/bin/apt \
--slave /usr/share/man/man1/apt.1.gz apt.1.gz /usr/lib64/jdk_Oracle/man/man1/apt.1.gz \
--slave /usr/bin/extcheck extcheck /usr/lib64/jdk_Oracle/bin/extcheck \
--slave /usr/share/man/man1/extcheck.1.gz extcheck.1.gz /usr/lib64/jdk_Oracle/man/man1/extcheck.1.gz \
--slave /usr/bin/jar jar /usr/lib64/jdk_Oracle/bin/jar \
--slave /usr/share/man/man1/jar.1.gz jar.1.gz /usr/lib64/jdk_Oracle/man/man1/jar.1.gz \
--slave /usr/bin/jarsigner jarsigner /usr/lib64/jdk_Oracle/bin/jarsigner \
--slave /usr/share/man/man1/jarsigner.1.gz jarsigner.1.gz /usr/lib64/jdk_Oracle/man/man1/jarsigner.1.gz \
--slave /usr/lib64/jvm/java java_sdk /usr/lib64/jdk_Oracle \
--slave /usr/lib64/jvm-exports/java java_sdk_exports /usr/lib64/jvm-exports/jdk_Oracle \
--slave /usr/share/man/man1/javac.1.gz javac.1.gz /usr/lib64/jdk_Oracle/man/man1/javac.1.gz \
--slave /usr/bin/javadoc javadoc /usr/lib64/jdk_Oracle/bin/javadoc \
--slave /usr/share/man/man1/javadoc.1.gz javadoc.1.gz /usr/lib64/jdk_Oracle/man/man1/javadoc.1.gz \
--slave /usr/bin/javah javah /usr/lib64/jdk_Oracle/bin/javah \
--slave /usr/share/man/man1/javah.1.gz javah.1.gz /usr/lib64/jdk_Oracle/man/man1/javah.1.gz \
--slave /usr/bin/javap javap /usr/lib64/jdk_Oracle/bin/javap \
--slave /usr/share/man/man1/javap.1.gz javap.1.gz /usr/lib64/jdk_Oracle/man/man1/javap.1.gz \
--slave /usr/share/man/man1/jcmd.1.gz jcmd.1.gz /usr/lib64/jdk_Oracle/man/man1/jcmd.1.gz \
--slave /usr/bin/jconsole jconsole /usr/lib64/jdk_Oracle/bin/jconsole \
--slave /usr/share/man/man1/jconsole.1.gz jconsole.1.gz /usr/lib64/jdk_Oracle/man/man1/jconsole.1.gz \
--slave /usr/bin/jdb jdb /usr/lib64/jdk_Oracle/bin/jdb \
--slave /usr/share/man/man1/jdb.1.gz jdb.1.gz /usr/lib64/jdk_Oracle/man/man1/jdb.1.gz \
--slave /usr/bin/jhat jhat /usr/lib64/jdk_Oracle/bin/jhat \
--slave /usr/share/man/man1/jhat.1.gz jhat.1.gz /usr/lib64/jdk_Oracle/man/man1/jhat.1.gz \
--slave /usr/bin/jinfo jinfo /usr/lib64/jdk_Oracle/bin/jinfo \
--slave /usr/share/man/man1/jinfo.1.gz jinfo.1.gz /usr/lib64/jdk_Oracle/man/man1/jinfo.1.gz \
--slave /usr/bin/jmap jmap /usr/lib64/jdk_Oracle/bin/jmap \
--slave /usr/share/man/man1/jmap.1.gz jmap.1.gz /usr/lib64/jdk_Oracle/man/man1/jmap.1.gz \
--slave /usr/bin/jps jps /usr/lib64/jdk_Oracle/bin/jps \
--slave /usr/share/man/man1/jps.1.gz jps.1.gz /usr/lib64/jdk_Oracle/man/man1/jps.1.gz \
--slave /usr/bin/jrunscript jrunscript /usr/lib64/jdk_Oracle/bin/jrunscript \
--slave /usr/share/man/man1/jrunscript.1.gz jrunscript.1.gz /usr/lib64/jdk_Oracle/man/man1/jrunscript.1.gz \
--slave /usr/bin/jsadebugd jsadebugd /usr/lib64/jdk_Oracle/bin/jsadebugd \
--slave /usr/share/man/man1/jsadebugd.1.gz jsadebugd.1.gz /usr/lib64/jdk_Oracle/man/man1/jsadebugd.1.gz \
--slave /usr/bin/jstack jstack /usr/lib64/jdk_Oracle/bin/jstack \
--slave /usr/share/man/man1/jstack.1.gz jstack.1.gz /usr/lib64/jdk_Oracle/man/man1/jstack.1.gz \
--slave /usr/bin/jstat jstat /usr/lib64/jdk_Oracle/bin/jstat \
--slave /usr/share/man/man1/jstat.1.gz jstat.1.gz /usr/lib64/jdk_Oracle/man/man1/jstat.1.gz \
--slave /usr/bin/jstatd jstatd /usr/lib64/jdk_Oracle/bin/jstatd \
--slave /usr/share/man/man1/jstatd.1.gz jstatd.1.gz /usr/lib64/jdk_Oracle/man/man1/jstatd.1.gz \
--slave /usr/bin/native2ascii native2ascii /usr/lib64/jdk_Oracle/bin/native2ascii \
--slave /usr/share/man/man1/native2ascii.1.gz native2ascii.1.gz /usr/lib64/jdk_Oracle/man/man1/native2ascii.1.gz \
--slave /usr/bin/pack200 pack200 /usr/lib64/jdk_Oracle/bin/pack200 \
--slave /usr/share/man/man1/pack200.1.gz pack200.1.gz /usr/lib64/jdk_Oracle/man/man1/pack200.1.gz \
--slave /usr/bin/rmic rmic /usr/lib64/jdk_Oracle/bin/rmic \
--slave /usr/share/man/man1/rmic.1.gz rmic.1.gz /usr/lib64/jdk_Oracle/man/man1/rmic.1.gz \
--slave /usr/bin/schemagen schemagen /usr/lib64/jdk_Oracle/bin/schemagen \
--slave /usr/share/man/man1/schemagen.1.gz schemagen.1.gz /usr/lib64/jdk_Oracle/man/man1/schemagen.1.gz \
--slave /usr/bin/serialver serialver /usr/lib64/jdk_Oracle/bin/serialver \
--slave /usr/share/man/man1/serialver.1.gz serialver.1.gz /usr/lib64/jdk_Oracle/man/man1/serialver.1.gz \
--slave /usr/bin/unpack200 unpack200 /usr/lib64/jdk_Oracle/bin/unpack200 \
--slave /usr/share/man/man1/unpack200.1.gz unpack200.1.gz /usr/lib64/jdk_Oracle/man/man1/unpack200.1.gz \
--slave /usr/bin/wsgen wsgen /usr/lib64/jdk_Oracle/bin/wsgen \
--slave /usr/share/man/man1/wsgen.1.gz wsgen.1.gz /usr/lib64/jdk_Oracle/man/man1/wsgen.1.gz \
--slave /usr/bin/wsimport wsimport /usr/lib64/jdk_Oracle/bin/wsimport \
--slave /usr/share/man/man1/wsimport.1.gz wsimport.1.gz /usr/lib64/jdk_Oracle/man/man1/wsimport.1.gz \
--slave /usr/bin/xjc xjc /usr/lib64/jdk_Oracle/bin/xjc \
--slave /usr/share/man/man1/xjc.1.gz xjc.1.gz /usr/lib64/jdk_Oracle/man/man1/xjc.1.gz

Plug-in per browser web

Linux x86 (architettura a 32 bit)
sudo /usr/sbin/update-alternatives --install /usr/lib/browser-plugins/javaplugin.so javaplugin /usr/lib/jdk_Oracle/jre/lib/i386/libnpjp2.so 3 --slave /usr/bin/javaws javaws /usr/lib/jdk_Oracle/jre/bin/javaws --slave /usr/share/man/man1/javaws.1 javaws.1 /usr/lib/jdk_Oracle/man/man1/javaws.1
Linux x86_64 (architettura a 64 bit)
Per openSUSE a 64 bit usa direttamente:
sudo /usr/sbin/update-alternatives --install /usr/lib64/browser-plugins/javaplugin.so javaplugin /usr/lib64/jdk_Oracle/jre/lib/amd64/libnpjp2.so 3 --slave /usr/bin/javaws javaws /usr/lib64/jdk_Oracle/jre/bin/javaws --slave /usr/share/man/man1/javaws.1 javaws.1 /usr/lib64/jdk_Oracle/man/man1/javaws.1

Rendere Java Oracle la macchina Java predefinita

Dopo che avrai lanciato uno qualunque dei tre comandi seguenti ti verrà chiesto di selezionare il numero corrispondente all'alternativa appropriata, cioè Java Oracle: (Questi comandi si possono usare anche per passare ad una qualsiasi tra le varie implementazioni di java disponibili.)

Lanciatore delle applicazioni Java

sudo /usr/sbin/update-alternatives --config java

Compilatore Java

sudo /usr/sbin/update-alternatives --config javac

Plug-in per i browser web

sudo /usr/sbin/update-alternatives --config javaplugin

Impostazioni specifiche per la versione di Java (opzionale)

È anche possibile impostare Java Oralce come alternativa per gli ambienti JDK e JRE per una specifica versione di Java, in questo caso la 1.7.0, anche qui viene usato update-alternatives.

Lanciatore delle applicazioni Java

Linux x86 (architettura a 32 bit)
sudo /usr/sbin/update-alternatives --install /usr/lib/jvm/jre-1.7.0 jre_1.7.0 /usr/lib/jdk_Oracle/jre 3 --slave /usr/lib/jvm-exports/jre-1.7.0 jre_1.7.0_exports /usr/lib/jvm-exports/jdk_Oracle
Linux x86_64 (architettura a 64 bit)
sudo /usr/sbin/update-alternatives --install /usr/lib64/jvm/jre-1.7.0 jre_1.7.0 /usr/lib64/jdk_Oracle/jre 3 --slave /usr/lib64/jvm-exports/jre-1.7.0 jre_1.7.0_exports /usr/lib64/jvm-exports/jdk_Oracle

Per selezionare l'alternativa (tutte le architetture):

sudo /usr/sbin/update-alternatives --config jre_1.7.0

Compilatore Java

Linux x86 (architettura a 32 bit)
sudo /usr/sbin/update-alternatives --install /usr/lib/jvm/java-1.7.0 java_sdk_1.7.0 /usr/lib/jdk_Oracle 3 --slave /usr/lib/jvm-exports/java-1.7.0 java_sdk_1.7.0_exports /usr/lib/jvm-exports/jdk_Oracle
Linux x86_64 (architettura a 64 bit)
sudo /usr/sbin/update-alternatives --install /usr/lib64/jvm/java-1.7.0 java_sdk_1.7.0 /usr/lib64/jdk_Oracle 3 --slave /usr/lib64/jvm-exports/java-1.7.0 java_sdk_1.7.0_exports /usr/lib64/jvm-exports/jdk_Oracle

Per selezionare l'alternativa (utte le architetture):

sudo /usr/sbin/update-alternatives --config java_sdk_1.7.0

Aggiornare Java Oracle

Aggiornare Java di Oracle è un'operazione semplice, grazie al collegamento a /usr/lib/jdk_Oracle (/usr/lib64/jdk_Oracle su x86_64) che è stato creato sopra.

Linux x86 (architettura a 32 bit)

1) Ripeti la procedura fino al passo in cui la directory jdk1.X.X_XX viene spostata in /usr/lib

2) A questo punto ti basterà modificare il collegamento simbolico /usr/lib/jdk_Oracle affinché punti alla nuova Java SE
sudo ln -s -f -T /usr/lib/jdk1.X.Y_YY/ /usr/lib/jdk_Oracle
Linux x86_64 (architettura a 64 bit)

1) Ripeti la procedura fino al passo in cui la directory jdk1.X.X_XX viene spostata in /usr/lib64

2) A questo punto ti basterà modificare il collegamento simbolico /usr/lib64/jdk_Oracle affinché punti alla nuova Java SE
sudo ln -s -f -T /usr/lib64/jdk1.X.Y_YY/ /usr/lib64/jdk_Oracle

3) Infine comprimi nuovamente i file di man come visto sopra (tutte le architetture).

Aggiungere il Pannello di controllo Java

Dopo aver impostato Java Oracle come jvm predefinito potresti voler avviare l'applicazione /usr/lib/jdk_Oracle/bin/jcontrol (sostituisci lib con lib64 se il tuo sistema è a 64 bit), che fornisce il Pannello di controllo di Java, direttamente dal menu delle applicazioni del tuo ambiente desktop preferito.

Per aggiungere la voce "Java - Java Control Panel" al menu delle applicazioni, è necessario creare alcuni link simbolici, che si potranno eventualmente rimuovere con sudo rm /percorso/al/link/nome_link se si dovesse rimuovere Java di Oracle. Puoi creare i collegamenti necessari eseguendo i comandi qui sotto, tenendo conto che dovrai sostituire /usr/lib con /usr/lib64 se il tuo sistema è a 64 bit:

Linux x86 (architettura a 32 bit)
sudo ln -s /usr/lib/jdk_Oracle/jre/bin/jcontrol /usr/bin/
sudo ln -s /usr/lib/jdk_Oracle/jre/lib/desktop/icons/hicolor/16x16/apps/sun-jcontrol.png /usr/share/icons/hicolor/16x16/apps/
sudo ln -s /usr/lib/jdk_Oracle/jre/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png /usr/share/icons/hicolor/48x48/apps/
sudo ln -s /usr/lib/jdk_Oracle/jre/lib/desktop/icons/LowContrast/16x16/apps/sun-jcontrol.png /usr/share/icons/locolor/16x16/apps/
sudo ln -s /usr/lib/jdk_Oracle/jre/lib/desktop/icons/LowContrast/48x48/apps/sun-jcontrol.png /usr/share/icons/locolor/48x48/apps/
sudo ln -s /usr/lib/jdk_Oracle/jre/lib/desktop/applications/sun_java.desktop /usr/share/applications
Linux x86_64 (architettura a 64 bit)
sudo ln -s /usr/lib64/jdk_Oracle/jre/bin/jcontrol /usr/bin/
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/desktop/icons/hicolor/16x16/apps/sun-jcontrol.png /usr/share/icons/hicolor/16x16/apps/
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png /usr/share/icons/hicolor/48x48/apps/
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/desktop/icons/LowContrast/16x16/apps/sun-jcontrol.png /usr/share/icons/locolor/16x16/apps/
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/desktop/icons/LowContrast/48x48/apps/sun-jcontrol.png /usr/share/icons/locolor/48x48/apps/
sudo ln -s /usr/lib64/jdk_Oracle/jre/lib/desktop/applications/sun_java.desktop /usr/share/applications

Procedura con solo ambiente di esecuzione (JRE)

Include solo l'Ambiente di esecuzione Java.

Icon-warning.png
Attenzione! Da qui fino alla fine della sezione, per tutti i sotto-paragrafi (Aggiornare Java Oracle (JRE) incluso), se il proprio sistema ha un'architettura a 64 bit tutte le occorrenze di /usr/lib devono essere sostituite con /usr/lib64: al momento di impartire i comandi, si prega di seguire i sotto-paragrafi appropriati per l'architettura del proprio sistema.

Installare Java SE di Oracle (JRE)

  • Scarica Java SE di Oracle Ambiente di esecuzione (JRE) dal sito web di Java Oracle. Salvalo in una directory facile da ricordare (ad esempio /tmp)
Scarica la versione adatta per l'architettura del tuo sistema. Ad esempio, per la versione 1.7 di Java Oracle:
Linux x86 (Architettura a 32 bit)
jre-7u7-linux-i586.tar.gz
Linux x64 (Architettura a 64 bit)
jre-7u7-linux-x64.tar.gz
  • Apri un terminale ed esegui il comando:
    cd /percorso/al_file/java/scaricato/
  • Scompattalo (con permessi di superutente, per sicurezza) con:
    sudo tar -xzf ./jre-7uX-linux-XX.tar.gz
  • Aggiusta i permessi della directory appena espansa, assieme al suo contenuto, con:
    sudo chown -R root:root jre1.X.X_XX/
Linux x86 (architettura a 32 bit)
  • Open JDK è installato per impostazione predefinita in /usr/lib, per cui anche Java Oracle verrà spostato in /usr/lib:
    sudo mv ./jre1.X.X_XX/ /usr/lib/
  • Crea un collegamento simbolico a /usr/lib/jre1.X.X_XX/ (Che sarà utile in seguito in caso di aggiornamenti):
    sudo ln -s -T /usr/lib/jre1.X.X_XX/ /usr/lib/jdk_Oracle
Linux x86_64 (architettura a 64 bit)
  • Open JDK è installato per impostazione predefinita in /usr/lib64, per cui anche Java Oracle verrà spostato in /usr/lib64:
    sudo mv ./jre1.X.X_XX/ /usr/lib64/
  • Crea un collegamento simbolico a /usr/lib64/jre1.X.X_XX/ (Che sarà utile in seguito in caso di aggiornamenti):
    sudo ln -s -T /usr/lib64/jre1.X.X_XX/ /usr/lib64/jdk_Oracle

Informare il sistema (JRE)

Lanciatore delle applicazioni Java

  • Comprimere i file di man interessati da questa installazione:
Linux x86 (architettura a 32 bit)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/java.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/keytool.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/orbd.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/policytool.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/rmid.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/rmiregistry.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/servertool.1)
sudo gzip $(readlink -f /usr/lib/jdk_Oracle/man/man1/tnameserv.1)
Linux x86_64 (architettura a 64 bit)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/java.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/keytool.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/orbd.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/policytool.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/rmid.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/rmiregistry.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/servertool.1)
sudo gzip $(readlink -f /usr/lib64/jdk_Oracle/man/man1/tnameserv.1)
  • Prepara la cartella per jvm-exports (specifico per versione 1.7.0):
Linux x86 (architettura a 32 bit)
  1. sudo mkdir /usr/lib/jvm-exports/jdk_Oracle
    cd /usr/lib/jvm-exports/jdk_Oracle
    sudo ln -s /usr/lib/jdk_Oracle/lib/rt.jar jaas-1.7.0_Orac.jar
    sudo ln -s jaas-1.7.0_Orac.jar jaas-1.7.0.jar
    sudo ln -s jaas-1.7.0_Orac.jar jaas.jar
    sudo ln -s /usr/lib/jdk_Oracle/lib/jce.jar jce-1.7.0_Orac.jar
    sudo ln -s jce-1.7.0_Orac.jar jce-1.7.0.jar
    sudo ln -s jce-1.7.0_Orac.jar jce.jar
    sudo ln -s /usr/lib/jdk_Oracle/lib/rt.jar jdbc-stdext-1.7.0_Orac.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext-1.7.0.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext-3.0.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext.jar
    sudo ln -s /usr/lib/jdk_Oracle/lib/rt.jar jndi-1.7.0_Orac.jar
    sudo ln -s jndi-1.7.0_Orac.jar jndi-1.7.0.jar
    sudo ln -s /usr/lib/jdk_Oracle/lib/rt.jar jndi-cos-1.7.0_Orac.jar
    sudo ln -s jndi-cos-1.7.0_Orac.jar jndi-cos-1.7.0.jar
    sudo ln -s jndi-cos-1.7.0_Orac.jar jndi-cos.jar
    sudo ln -s jndi-1.7.0_Orac.jar jndi.jar
    sudo ln -s /usr/lib/jdk_Oracle/lib/rt.jar jndi-ldap-1.7.0_Orac.jar
    sudo ln -s jndi-ldap-1.7.0_Orac.jar jndi-ldap-1.7.0.jar
    sudo ln -s jndi-ldap-1.7.0_Orac.jar jndi-ldap.jar
    sudo ln -s /usr/lib/jdk_Oracle/lib/rt.jar jndi-rmi-1.7.0_Orac.jar
    sudo ln -s jndi-rmi-1.7.0_Orac.jar jndi-rmi-1.7.0.jar
    sudo ln -s jndi-rmi-1.7.0_Orac.jar jndi-rmi.jar
    sudo ln -s /usr/lib/jdk_Oracle/lib/jsse.jar jsse-1.7.0_Orac.jar
    sudo ln -s jsse-1.7.0_Orac.jar jsse-1.7.0.jar
    sudo ln -s jsse-1.7.0_Orac.jar jsse.jar
    sudo ln -s /usr/lib/jdk_Oracle/lib/rt.jar sasl-1.7.0_Orac.jar
    sudo ln -s sasl-1.7.0_Orac.jar sasl-1.7.0.jar
    sudo ln -s sasl-1.7.0_Orac.jar sasl.jar
  2. sudo /usr/sbin/update-alternatives --install /usr/bin/java java /usr/lib/jdk_Oracle/bin/java 3 --slave /usr/share/man/man1/java.1.gz java.1.gz /usr/lib/jdk_Oracle/man/man1/java.1.gz --slave /usr/lib/jvm/jre jre /usr/lib/jdk_Oracle --slave /usr/lib/jvm-exports/jre jre_exports /usr/lib/jvm-exports/jdk_Oracle --slave /usr/bin/keytool keytool /usr/lib/jdk_Oracle/bin/keytool --slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/lib/jdk_Oracle/man/man1/keytool.1.gz --slave /usr/bin/orbd orbd /usr/lib/jdk_Oracle/bin/orbd --slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/lib/jdk_Oracle/man/man1/orbd.1.gz --slave /usr/bin/policytool policytool /usr/lib/jdk_Oracle/bin/policytool --slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/lib/jdk_Oracle/man/man1/policytool.1.gz --slave /usr/bin/rmid rmid /usr/lib/jdk_Oracle/bin/rmid --slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/lib/jdk_Oracle/man/man1/rmid.1.gz --slave /usr/bin/rmiregistry rmiregistry /usr/lib/jdk_Oracle/bin/rmiregistry --slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/lib/jdk_Oracle/man/man1/rmiregistry.1.gz --slave /usr/bin/servertool servertool /usr/lib/jdk_Oracle/bin/servertool --slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/lib/jdk_Oracle/man/man1/servertool.1.gz --slave /usr/bin/tnameserv tnameserv /usr/lib/jdk_Oracle/bin/tnameserv --slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/lib/jdk_Oracle/man/man1/tnameserv.1.gz
Linux x86_64 (architettura a 64 bit)
  1. sudo mkdir /usr/lib64/jvm-exports/jdk_Oracle
    cd /usr/lib64/jvm-exports/jdk_Oracle
    sudo ln -s /usr/lib64/jdk_Oracle/lib/rt.jar jaas-1.7.0_Orac.jar
    sudo ln -s jaas-1.7.0_Orac.jar jaas-1.7.0.jar
    sudo ln -s jaas-1.7.0_Orac.jar jaas.jar
    sudo ln -s /usr/lib64/jdk_Oracle/lib/jce.jar jce-1.7.0_Orac.jar
    sudo ln -s jce-1.7.0_Orac.jar jce-1.7.0.jar
    sudo ln -s jce-1.7.0_Orac.jar jce.jar
    sudo ln -s /usr/lib64/jdk_Oracle/lib/rt.jar jdbc-stdext-1.7.0_Orac.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext-1.7.0.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext-3.0.jar
    sudo ln -s jdbc-stdext-1.7.0_Orac.jar jdbc-stdext.jar
    sudo ln -s /usr/lib64/jdk_Oracle/lib/rt.jar jndi-1.7.0_Orac.jar
    sudo ln -s jndi-1.7.0_Orac.jar jndi-1.7.0.jar
    sudo ln -s /usr/lib64/jdk_Oracle/lib/rt.jar jndi-cos-1.7.0_Orac.jar
    sudo ln -s jndi-cos-1.7.0_Orac.jar jndi-cos-1.7.0.jar
    sudo ln -s jndi-cos-1.7.0_Orac.jar jndi-cos.jar
    sudo ln -s jndi-1.7.0_Orac.jar jndi.jar
    sudo ln -s /usr/lib64/jdk_Oracle/lib/rt.jar jndi-ldap-1.7.0_Orac.jar
    sudo ln -s jndi-ldap-1.7.0_Orac.jar jndi-ldap-1.7.0.jar
    sudo ln -s jndi-ldap-1.7.0_Orac.jar jndi-ldap.jar
    sudo ln -s /usr/lib64/jdk_Oracle/lib/rt.jar jndi-rmi-1.7.0_Orac.jar
    sudo ln -s jndi-rmi-1.7.0_Orac.jar jndi-rmi-1.7.0.jar
    sudo ln -s jndi-rmi-1.7.0_Orac.jar jndi-rmi.jar
    sudo ln -s /usr/lib64/jdk_Oracle/lib/jsse.jar jsse-1.7.0_Orac.jar
    sudo ln -s jsse-1.7.0_Orac.jar jsse-1.7.0.jar
    sudo ln -s jsse-1.7.0_Orac.jar jsse.jar
    sudo ln -s /usr/lib64/jdk_Oracle/lib/rt.jar sasl-1.7.0_Orac.jar
    sudo ln -s sasl-1.7.0_Orac.jar sasl-1.7.0.jar
    sudo ln -s sasl-1.7.0_Orac.jar sasl.jar
  2. sudo /usr/sbin/update-alternatives --install /usr/bin/java java /usr/lib64/jdk_Oracle/bin/java 3 --slave /usr/share/man/man1/java.1.gz java.1.gz /usr/lib64/jdk_Oracle/man/man1/java.1.gz --slave /usr/lib64/jvm/jre jre /usr/lib64/jdk_Oracle --slave /usr/lib64/jvm-exports/jre jre_exports /usr/lib64/jvm-exports/jdk_Oracle --slave /usr/bin/keytool keytool /usr/lib64/jdk_Oracle/bin/keytool --slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/lib64/jdk_Oracle/man/man1/keytool.1.gz --slave /usr/bin/orbd orbd /usr/lib64/jdk_Oracle/bin/orbd --slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/lib64/jdk_Oracle/man/man1/orbd.1.gz --slave /usr/bin/policytool policytool /usr/lib64/jdk_Oracle/bin/policytool --slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/lib64/jdk_Oracle/man/man1/policytool.1.gz --slave /usr/bin/rmid rmid /usr/lib64/jdk_Oracle/bin/rmid --slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/lib64/jdk_Oracle/man/man1/rmid.1.gz --slave /usr/bin/rmiregistry rmiregistry /usr/lib64/jdk_Oracle/bin/rmiregistry --slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/lib64/jdk_Oracle/man/man1/rmiregistry.1.gz --slave /usr/bin/servertool servertool /usr/lib64/jdk_Oracle/bin/servertool --slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/lib64/jdk_Oracle/man/man1/servertool.1.gz --slave /usr/bin/tnameserv tnameserv /usr/lib64/jdk_Oracle/bin/tnameserv --slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/lib64/jdk_Oracle/man/man1/tnameserv.1.gz

Plug-in per browser web

Linux x86 (architettura a 32 bit)
sudo /usr/sbin/update-alternatives --install /usr/lib/browser-plugins/javaplugin.so javaplugin /usr/lib/jdk_Oracle/lib/i386/libnpjp2.so 3 --slave /usr/bin/javaws javaws /usr/lib/jdk_Oracle/bin/javaws --slave /usr/share/man/man1/javaws.1 javaws.1 /usr/lib/jdk_Oracle/man/man1/javaws.1
Linux x86_64 (architettura a 64 bit)
Per openSUSE a 64 bit usa direttamente:
sudo /usr/sbin/update-alternatives --install /usr/lib64/browser-plugins/javaplugin.so javaplugin /usr/lib64/jdk_Oracle/lib/amd64/libnpjp2.so 3 --slave /usr/bin/javaws javaws /usr/lib64/jdk_Oracle/bin/javaws --slave /usr/share/man/man1/javaws.1 javaws.1 /usr/lib64/jdk_Oracle/man/man1/javaws.1

Rendere Java Oracle la macchina Java predefinita (JRE)

Dopo che avrai lanciato uno qualunque dei tre comandi seguenti ti verrà chiesto di selezionare il numero corrispondente all'alternativa appropriata, cioè Java Oracle: (Questi comandi si possono usare anche per passare ad una qualsiasi tra le varie implementazioni di java disponibili.)

Lanciatore delle applicazioni Java

sudo /usr/sbin/update-alternatives --config java

Plug-in per i browser web

sudo /usr/sbin/update-alternatives --config javaplugin

Impostazioni specifiche per la versione di Java JRE (opzionale)

È anche possibile impostare Java Oralce come alternativa per l'ambiente JRE per una specifica versione di Java, in questo caso la 1.7.0, anche qui viene usato update-alternatives.

Lanciatore delle applicazioni Java

Linux x86 (architettura a 32 bit)
sudo /usr/sbin/update-alternatives --install /usr/lib/jvm/jre-1.7.0 jre_1.7.0 /usr/lib/jdk_Oracle 3 --slave /usr/lib/jvm-exports/jre-1.7.0 jre_1.7.0_exports /usr/lib/jvm-exports/jdk_Oracle
Linux x86_64 (architettura a 64 bit)
sudo /usr/sbin/update-alternatives --install /usr/lib64/jvm/jre-1.7.0 jre_1.7.0 /usr/lib64/jdk_Oracle 3 --slave /usr/lib64/jvm-exports/jre-1.7.0 jre_1.7.0_exports /usr/lib64/jvm-exports/jdk_Oracle

Per selezionare l'alternativa (tutte le architetture):

sudo /usr/sbin/update-alternatives --config jre_1.7.0

Aggiornare Java Oracle (JRE)

Aggiornare Java di Oracle è un'operazione semplice, grazie al collegamento a /usr/lib/jdk_Oracle (/usr/lib64/jdk_Oracle on x86_64) che è stato creato sopra.

Linux x86 (architettura a 32 bit)

1) Ripeti la procedura fino al passo in cui la directory jre1.X.X_XX viene spostata in /usr/lib

2) A questo punto ti basterà modificare il collegamento simbolico /usr/lib/jdk_Oracle affinché punti alla nuova Java SE
sudo ln -s -f -T /usr/lib/jre1.X.Y_YY/ /usr/lib/jdk_Oracle
Linux x86_64 (architettura a 64 bit)

1) Ripeti la procedura fino al passo in cui la directory jre1.X.X_XX viene spostata in /usr/lib64

2) A questo punto ti basterà modificare il collegamento simbolico /usr/lib64/jdk_Oracle affinché punti alla nuova Java SE
sudo ln -s -f -T /usr/lib64/jre1.X.Y_YY/ /usr/lib64/jdk_Oracle

3) Infine comprimi nuovamente i file di man come visto sopra (tutte le architetture).

Aggiungere il Pannello di controllo Java (JRE)

Dopo aver impostato Java Oracle come jvm predefinito potresti voler avviare l'applicazione /usr/lib/jdk_Oracle/bin/jcontrol (sostituisci lib con lib64 se il tuo sistema è a 64 bit), che fornisce il Pannello di controllo di Java, direttamente dal menu delle applicazioni del tuo ambiente desktop preferito.

Per aggiungere la voce "Java - Java Control Panel" al menu delle applicazioni, è necessario creare alcuni link simbolici, che si potranno eventualmente rimuovere con sudo rm /percorso/al/link/nome_link se si dovesse rimuovere Java di Oracle. Puoi creare i collegamenti necessari eseguendo i comandi qui sotto, tenendo conto che dovrai sostituire /usr/lib/ con /usr/lib64/ se il tuo sistema è a 64 bit:

Linux x86 (architettura a 32 bit)
sudo ln -s /usr/lib/jdk_Oracle/bin/jcontrol /usr/bin/
sudo ln -s /usr/lib/jdk_Oracle/lib/desktop/icons/hicolor/16x16/apps/sun-jcontrol.png /usr/share/icons/hicolor/16x16/apps/
sudo ln -s /usr/lib/jdk_Oracle/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png /usr/share/icons/hicolor/48x48/apps/
sudo ln -s /usr/lib/jdk_Oracle/lib/desktop/icons/LowContrast/16x16/apps/sun-jcontrol.png /usr/share/icons/locolor/16x16/apps/
sudo ln -s /usr/lib/jdk_Oracle/lib/desktop/icons/LowContrast/48x48/apps/sun-jcontrol.png /usr/share/icons/locolor/48x48/apps/
sudo ln -s /usr/lib/jdk_Oracle/lib/desktop/applications/sun_java.desktop /usr/share/applications/
Linux x86_64 (architettura a 64 bit)
sudo ln -s /usr/lib64/jdk_Oracle/bin/jcontrol /usr/bin/
sudo ln -s /usr/lib64/jdk_Oracle/lib/desktop/icons/hicolor/16x16/apps/sun-jcontrol.png /usr/share/icons/hicolor/16x16/apps/
sudo ln -s /usr/lib64/jdk_Oracle/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png /usr/share/icons/hicolor/48x48/apps/
sudo ln -s /usr/lib64/jdk_Oracle/lib/desktop/icons/LowContrast/16x16/apps/sun-jcontrol.png /usr/share/icons/locolor/16x16/apps/
sudo ln -s /usr/lib64/jdk_Oracle/lib/desktop/icons/LowContrast/48x48/apps/sun-jcontrol.png /usr/share/icons/locolor/48x48/apps/
sudo ln -s /usr/lib64/jdk_Oracle/lib/desktop/applications/sun_java.desktop /usr/share/applications/

Documentazione correlata

man update-alternatives
less /var/lib/rpm/alternatives/java
less /var/lib/rpm/alternatives/javac
less /var/lib/rpm/alternatives/javaplugin

Collegamenti esterni

Altri argomenti relativi a Java