Make-jpkg: Pacchettizziamo Java: differenze tra le versioni
Wtf (discussione | contributi) m (→Problemi noti) |
mNessun oggetto della modifica |
||
(2 versioni intermedie di un altro utente non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili}} | {{Non-free|Un'alternativa completamente open è OpenJDK presente nei [[repository]] ufficiali}} | ||
{{Versioni compatibili|Squeeze|Wheezy|Jessie}} | |||
__TOC__ | __TOC__ | ||
== Introduzione == | == 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.<br/> | 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.<br/> | ||
Però, se volessimo avere il compilatore e/o l'interprete 'originale' della Oracle? Come possiamo fare? | Però, se volessimo avere il compilatore e/o l'interprete 'originale' della Oracle? Come possiamo fare? | ||
Riga 14: | Riga 13: | ||
== Cosa ci occorre == | == Cosa ci occorre == | ||
Provvediamo a | Provvediamo a installare i [[pacchetto|pacchetti]] <code>java-package</code> e <code>fakeroot</code>. Con [[privilegi di amministrazione]] è sufficiente: | ||
<pre> | <pre> | ||
# apt-get install java-package fakeroot | # apt-get install java-package fakeroot | ||
</pre> | </pre> | ||
E poi scarichiamo il JDK (file tar.gz, NON rpm) dal | E poi scarichiamo il JDK (file '''tar.gz''', NON rpm) dal [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html sito ufficiale]. | ||
Una volta terminato il download, saremo pronti per proseguire. | Una volta terminato il download, saremo pronti per proseguire. | ||
Riga 28: | Riga 27: | ||
Posizioniamoci nella directory dove sono stati scaricati i binari di Java e, da utente normale, diamo il seguente comando: | Posizioniamoci nella directory dove sono stati scaricati i binari di Java e, da utente normale, diamo il seguente comando: | ||
<pre> | <pre> | ||
$ make-jpkg jdk- | $ make-jpkg jdk-8u45-linux-i586.tar.gz | ||
</pre> | </pre> | ||
(o il nome del pacchetto scaricato, in questo caso ho pacchettizzato il JDK | (o il nome del pacchetto scaricato, in questo caso ho pacchettizzato il JDK 8 update 45) | ||
al comando '''make-jpkg''' è possibile passare i seguenti parametri:<br/> | al comando '''make-jpkg''' è possibile passare i seguenti parametri:<br/> | ||
; --full-name <name> : Nome del Maintainer<br/> | ; --full-name <name> : Nome del Maintainer<br/> | ||
; --email <email> : Email del Maintainer<br/> | ; --email <email> : Email del Maintainer<br/> | ||
; --changes : Indica che il processo deve creare un file .changes<br/> | ; --changes : Indica che il processo deve creare un file .changes<br/> | ||
; --revision : Aggiunge una revisione Debian<br/> | |||
; --source : Crea un pacchetto sorgente anziché binario<br/> | |||
; --help : Visualizza un piccolo help contenente i comandi qui illustrati<br/> | ; --help : Visualizza un piccolo help contenente i comandi qui illustrati<br/> | ||
; --version : Stampa a video la versione | ; --version : Stampa a video la versione | ||
Riga 40: | Riga 41: | ||
{{box|Nota|Le versioni stable e testing di java-package non supportano necessariamente tutte le versioni di java più recenti.}} | {{box|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, | Una volta terminato il processo di generazione del pacchetto, lo installiamo con [[gdebi]], che provvederà anche a installare tutte le dipendenze mancanti tramite [[APT]]: | ||
<pre> | <pre> | ||
# | # gdebi oracle-java8-jdk_8u45_i386.deb | ||
</pre> | </pre> | ||
Ovviamente sostituendo 'oracle- | Ovviamente sostituendo '''oracle-java8-jdk_8u55_i386.deb''' con il nome del pacchetto appena creato! | ||
{{Box | Installare <code>gdebi</code> | È sufficiente almeno: | |||
<pre> | |||
# apt-get install gdebi-core | |||
</pre> | |||
In alternativa, è possibile utilizzare [[dpkg]] e poi sistemare le dipendenze mancanti: | |||
<pre> | |||
# dpkg -i oracle-java8-jdk_8u45_i386.deb | |||
# apt-get install -f | |||
</pre> | |||
ma è sconsigliato, perché la risoluzione delle dipendenze mancanti avviene solo successivamente all'installazione del pacchetto, di conseguenza il sistema potrebbe rimanere in uno stato incoerente in presenza di dipendenze impossibili da soddisfare.}} | |||
Ora non ci resta che sistemare una ultima cosa: '''alternatives'''. Date il comando: | Ora non ci resta che sistemare una ultima cosa: '''alternatives'''. Date il comando: | ||
Riga 52: | Riga 65: | ||
</pre> | </pre> | ||
(uguale procedimento anche per javac, javadoc ed eventualmente altri eseguibili Java) e selezionate 'quale Java' utilizzare! | (uguale procedimento anche per javac, javadoc ed eventualmente altri eseguibili Java) e selezionate 'quale Java' utilizzare! | ||
<!-- PARTE COMMENTATA: directory /usr/lib/jvm/jdk-8-oracle-i586/jre/plugin/i386 non esistente nella versione (per Jessie) provata | |||
== Plugin per browser == | == Plugin per browser == | ||
Riga 60: | Riga 76: | ||
gli utenti possono usare il comando che segue: | gli utenti possono usare il comando che segue: | ||
<pre> | <pre> | ||
# ln -s /usr/lib/jvm/jdk- | # ln -s /usr/lib/jvm/jdk-8-oracle-i586/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/mozilla/plugins/ | ||
</pre> | </pre> | ||
oppure, se non si desidera eseguire il download dell'intero JDK, seguire questa guida: [[Oracle Java plugin]] | oppure, se non si desidera eseguire il download dell'intero JDK, seguire questa guida: [[Oracle Java plugin]] | ||
--> | |||
== Problemi noti == | == Problemi noti == | ||
Come già accennato può accadere, soprattuto con la versione stabile di <code>java-package</code>, che non sia possibile installare le ultime versioni di java. Quando questo succede tipicamente il comando <code>make-jpkg</code> termina senza richiedere alcun input all'utente e stampando a video poche righe, tra cui la seguente: ''No matching plugin was found''. | Come già accennato può accadere, soprattuto con la versione stabile di <code>java-package</code>, che non sia possibile installare le ultime versioni di java. Quando questo succede tipicamente il comando <code>make-jpkg</code> 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 <code>java-package</code>, per esempio quella di | In tal caso può essere utile installare una versione più recente di <code>java-package</code>, per esempio quella di Sid, avendo cura di utilizzare opportunamente il [[Repository & pinning | pinning]]. | ||
== Conclusioni == | == Conclusioni == | ||
Con questi pochi e semplici passaggi, abbiamo installato Java senza sporcare il sistema, e risolvendo il problema delle dipendenze! | Con questi pochi e semplici passaggi, abbiamo installato Java senza sporcare il sistema, e risolvendo il problema delle dipendenze! | ||
Riga 76: | Riga 91: | ||
== Link utili == | == Link utili == | ||
[[Oracle Java plugin]]<br /> | |||
https://wiki.debian.org/<br/> | https://wiki.debian.org/<br/> | ||
http://www.oracle.com/technetwork/java/javase/downloads | http://www.oracle.com/technetwork/java/javase/downloads | ||
Riga 85: | Riga 101: | ||
:[[Utente:S3v|S3v]] 09:49, 4 ago 2013 (CEST) | :[[Utente:S3v|S3v]] 09:49, 4 ago 2013 (CEST) | ||
:[[Utente:Wtf|Wtf]] 17:47, 9 mag 2014 (CEST) | :[[Utente:Wtf|Wtf]] 17:47, 9 mag 2014 (CEST) | ||
|Numero_revisori= | :[[Utente:HAL 9000|HAL 9000]] 12:56, 6 giu 2015 (CEST) | ||
|Numero_revisori=3 | |||
}} | }} | ||
[[Categoria:Java]][[Categoria:Creare e modificare pacchetti]] | [[Categoria:Java]][[Categoria:Creare e modificare pacchetti]] |
Versione attuale delle 22:47, 19 giu 2016
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 |
Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.
Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione. |
Versioni Compatibili Debian 6 "squeeze" Debian 7 "wheezy" Debian 8 "jessie" |
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 installare i pacchetti java-package
e fakeroot
. Con privilegi di amministrazione è sufficiente:
# apt-get install java-package fakeroot
E poi scarichiamo il JDK (file tar.gz, NON rpm) dal sito ufficiale.
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-8u45-linux-i586.tar.gz
(o il nome del pacchetto scaricato, in questo caso ho pacchettizzato il JDK 8 update 45)
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
- --revision
- Aggiunge una revisione Debian
- --source
- Crea un pacchetto sorgente anziché binario
- --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, lo installiamo con gdebi, che provvederà anche a installare tutte le dipendenze mancanti tramite APT:
# gdebi oracle-java8-jdk_8u45_i386.deb
Ovviamente sostituendo oracle-java8-jdk_8u55_i386.deb con il nome del pacchetto appena creato!
Installare gdebi È sufficiente almeno: # apt-get install gdebi-core In alternativa, è possibile utilizzare dpkg e poi sistemare le dipendenze mancanti: # dpkg -i oracle-java8-jdk_8u45_i386.deb # apt-get install -f ma è sconsigliato, perché la risoluzione delle dipendenze mancanti avviene solo successivamente all'installazione del pacchetto, di conseguenza il sistema potrebbe rimanere in uno stato incoerente in presenza di dipendenze impossibili da soddisfare. |
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!
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
Oracle Java plugin
https://wiki.debian.org/
http://www.oracle.com/technetwork/java/javase/downloads
Guida scritta da: MaXeR | Debianized 80% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |