Sun JDK-6 su Debian Etch (aggiornato)
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.
Pubblicato il giovedì, 25 ottobre 2007 su apt, Debian, Java. Aggiungi ai preferiti il collegamento . 7 commenti.

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
Grazie della segnalazione, fusion_machine! Ho corretto il post.
Ciao
Pingback: Sun Java SDK 6.0 (sdk-6) on Debian Etch, in english « GicaTech
Pingback: Gestire un riproduttore di file musicali Sony WALKMAN senza usare SonicStage « Emanuele Cipolla
Pingback: Java-Package: un modo migliore di installarlo « GicaTech
Pingback: Sun JDK-6 su Debian Etch « Sudoaptget’s Weblog
Pingback: Gestire un riproduttore di file musicali Sony WALKMAN senza usare SonicStage « Emanuele Cipolla