Make-jpkg: Pacchettizziamo Java

Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian
Lock.png ATTENZIONE: questa guida tratta software a sorgente chiuso e potenzialmente non conforme alle Debian Free Software Guidelines.
Un'alternativa completamente open è OpenJDK presente nei repository ufficiali


Introduzione

Per vari motivi può essere necessario installare la versione proprietaria di Java su una macchina Debian, tipicamente quando le varie versioni libere non si dimostrano adeguate. Sicuramente tutti gli utenti avranno notato che non c'è, nel repository ufficiale, un pacchetto contenente j2se o j2dk ufficiali della Oracle ma sono invece presenti i compilatori alternativi, come gcj, kaffe, kjc, javacc.
Però, se volessimo avere il compilatore e/o l'interprete 'originale' della Oracle? Come possiamo fare?

Il primo modo che salta agli occhi è di installarlo in /opt e poi sistemare il $PATH, ma la soluzione, giustamente, non piace a tutti, in quanto 'sporca' il sistema e, cosa che crea parecchi problemi, genera dei problemi con le dipendenze dei pacchetti, visto che molti dei pacchetti che richiedono Java per funzionare non lo trovano installato.

In questo HowTo vedremo come pacchettizzare Java, usando direttamente il binario di installazione disponibile sul sito della Oracle!
I comandi e il percorso dei file sono mostrati per installare un pacchetto a 32 bit, i passi per installare Java a 64 bit sono analoghi.

Cosa ci occorre

Provvediamo a scaricare i pacchetti java-package e fakeroot:

# apt-get install java-package fakeroot

E poi scarichiamo il JDK (file tar.gz, NON rpm) dal sito ufficiale: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Una volta terminato il download, saremo pronti per proseguire.

Creazione del Pacchetto

Bene, siamo pronti a creare il pacchetto!!!
Posizioniamoci nella directory dove sono stati scaricati i binari di Java e, da utente normale, diamo il seguente comando:

$ make-jpkg jdk-7u25-linux-i586.tar.gz

(o il nome del pacchetto scaricato, in questo caso ho pacchettizzato il JDK 7 update 25) al comando make-jpkg è possibile passare i seguenti parametri:

--full-name <name>
Nome del Maintainer
--email <email>
Email del Maintainer
--changes
Indica che il processo deve creare un file .changes
--help
Visualizza un piccolo help contenente i comandi qui illustrati
--version
Stampa a video la versione
  Nota
Le versioni stable e testing di java-package non supportano necessariamente tutte le versioni di java più recenti.


Una volta terminato il processo di generazione del pacchetto, provvediamo a fare quanto segue:

# dpkg -i oracle-java7-jdk_7u25_i386.deb

Ovviamente sostituendo 'oracle-java7-jdk_7u25_i386.deb' con il nome del pacchetto appena creato!

Ora non ci resta che sistemare una ultima cosa: alternatives. Date il comando:

# update-alternatives --config java

(uguale procedimento anche per javac, javadoc ed eventualmente altri eseguibili Java) e selezionate 'quale Java' utilizzare!

Plugin per browser

Mozilla e derivati (IceWeasel)

Di norma, terminate le precedenti operazioni, java dovrebbe comparire automaticamente nella lista dei plugin disponibili, tuttavia se così non fosse gli utenti possono usare il comando che segue:

# ln -s /usr/lib/jvm/jdk-7-oracle-i586/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/

oppure, se non si desidera eseguire il download dell'intero JDK, seguire questa guida: Oracle Java plugin

Problemi noti

Come già accennato può accadere, soprattuto con la versione stabile di java-package, che non sia possibile installare le ultime versioni di java. Quando questo succede tipicamente il comando make-jpkg termina senza richiedere alcun input all'utente e stampando a video poche righe, tra cui la seguente: No matching plugin was found. In tal caso può essere utile installare una versione più recente di java-package, per esempio quella di sid, avendo cura di utilizzare opportunamente il pinning.

Conclusioni

Con questi pochi e semplici passaggi, abbiamo installato Java senza sporcare il sistema, e risolvendo il problema delle dipendenze!

Buon Java a tutti!!!

Link utili

https://wiki.debian.org/
http://www.oracle.com/technetwork/java/javase/downloads




Guida scritta da: MaXeR   Debianized 60%
Estesa da:
Verificata da:
S3v 09:49, 4 ago 2013 (CEST)
Wtf 17:47, 9 mag 2014 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized