ATTENZIONE! Prima di eseguire le operazioni indicate in questo post, leggete attentamente l’how-to “Pacchettiziamo Java Sun” per capire bene cosa stiamo per fare!
Poco fa ho letto su Punto Informatico la notizia di una grave falla nella Java virtual machine di Sun, riguardante praticamente tutte le versioni tranne l’ultimo update, del quale è consigliata l’installazione. La cosa in realtà non sarebbe poi così preoccupante, se non fosse che la vulnerabilità riguarda anche il plugin per il browser. Quindi meglio aggiornare!
Per quelli che, come me, usano Debian Etch con i soli pacchetti ufficiali, l’update non è proprio un’operazione elementare, dato che l’ultima versione del jdk presente nei repository di Etch è la 5.0 (update 3). Sul sito della Sun è possibile scaricare la versione binaria per Linux, ma sappiamo tutti che quel pacchetto binario, per noi “debianisti”, non è il massimo della praticità. Tuttavia esiste un modo, descritto ad esempio in questo how-to, per produrre un pacchetto .deb partendo dalla distribuzione binaria della Sun. Il metodo utilizza i tool inclusi nel pacchetto “java-package”, che dovete avere installato sul vostro sistema. La cosa finirebbe qui, se non fosse che il java-package presente nei repository di Etch non supporta ancora l’ultima release dell’sdk, ovvero la 6. Come procedere allora?
Semplice! Ci si procura, da uno qualsiasi dei mirror disponibili, il pacchetto java-package della versione “testing” di Debian, vale a dire Lenny. Per esempio potete scaricare il pacchetto “java-package_0.35_all.deb” (o una versione più recente) dal mirror italiano.
Fatto ciò, installatelo al posto del vecchio java-package col comando (eseguito come root)
dpkg -i java-package_0.35_all.deb
Se non volete correre rischi, prima dell’installazione potete sempre fare una simulazione, passando al comando dpkg l’opzione --dry-run.
Se non vengono segnalati errori, potete proseguire.
Scaricate ora l’ultima versione del jdk-6 dal sito della Sun, quindi pacchettizzatelo alla solita maniera (ATTENZIONE: il comando fakeroot va eseguito come utente non privilegiato, non come utente root!):
fakeroot make-jpkg jdk-6u3-linux-i586.bin
Ovviamente sostituite “jdk-6u3-linux-i586.bin" col file che avete effettivamente scaricato. Durante l’operazione vi verrà chiesto di accettare la licenza Sun.
Se tutto è andato liscio, vi ritroverete con il vostro bel pacchetto .deb, che potrete installare col solito dpkg. Ancora una volta vale la raccomandazione di fare prima un’installazione simulata con l’opzione --dry-run.
Bene, ora sul vostro sistema è installato l’ultimo update del Sun JDK-6!
Potete verificare che quello appena installato sia il jdk di default dando il comando
java -version
che dovrebbe restituirvi un output del genere:
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
Se così non fosse, dovrete probabilmente agire sulle cosiddette “alternative” col comando
update-alternatives --config java
Buon lavoro!
Update (5 giugno 2008): un modo più corretto di installare la versione più recente di java-package è quello farne il backport da Lenny, come descritto qui. Probabilmente è anche possibile installare direttamente il JDK-6 attingendo direttamente dai repository binari di Lenny, ma questo non l’ho mai fatto.

Giovedì, 25 Ottobre 2007 alle 19:30 |
[...] Java SDK 6.0 (sdk-6) on Debian Etch, in english This is a brief english version of the previous post on packaging the Sun Java SDK 6 (update 3) for Debian [...]
Mercoledì, 21 Novembre 2007 alle 20:45 |
Bravo, ottima guida. Sarebbe però utile specificare che, a differenza delle due azioni di dpkg, quella di fakeroot va lanciata da utente normale e non da root. La cosa dovrebbe essere ovvia, visto che si tratta di “fakeroot”, ma gli utenti meno esperti che seguendo le tue istruzioni inizializzano la procedura da root potrebbero trovarsi di fronte all’interruzione dell’azione (grazie a Dio, aggiungerei).
Di nuovo complimenti.
fusion_machine
Giovedì, 22 Novembre 2007 alle 0:13 |
Grazie della segnalazione, fusion_machine! Ho corretto il post.
Ciao
Venerdì, 28 Dicembre 2007 alle 0:15 |
[...] Installare almeno1 Java Runtime Environment 6. Il web è pieno di HOWTO a che trattano l’argomento: chi utilizza Debian etch e non ama sporcarsi le mani con troppi pacchetti instabili può seguire la procedura descritta qui. [...]
Sabato, 12 Gennaio 2008 alle 18:31 |
[...] un modo migliore di installarlo In precedenza ho scritto un post sulla pacchettizzazione ed installazione della versione 6 del Java Software Developement Kit (j…. Tale operazione richiedeva la presenza sul sistema di una versione del pacchetto java-package più [...]
Mercoledì, 16 Gennaio 2008 alle 22:05 |
[...] Thanks to: GigaTech [...]