Archiviazioni mensili: ottobre 2007

Sun 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 Etch.

Java Logo We are going to make a .deb package starting from the binary distribution of the Sun JDK-6. First of all, you must download the latest update of the JDK-6 from the Sun Java SE download page. The packages “fakeroot” and “java-package” are required; so, if they are not present, install them with the command:

apt-get install java-package fakeroot

The make-jpkg utility included in that package is not enough up to date to packaging the latest JDK version, then you have to replace it with a newer one. The easiest way to do so is to get the same package from the testing branch of Debian. You can download the java-package_0.35_all.deb (or newer) package from your preferred Debian mirror (i.e. the italian one). Now try to simulate its installation with the command (as root):

dpkg -i --dry-run java-package_0.35_all.deb

If everything goes right, you can install it with:

dpkg -i java-package_0.35_all.deb

Now you can make the java-package with the command (as normal user):

fakeroot make-jpkg jdk-6u3-linux-i586.bin

(Replace jdk-6u3-linux-i586.bin with the file you have downloaded from the Sun download page)

The result will be a Debian package named something like sun-j2sdk1.6_1.6.0+update3_i386.deb, that you can simply install via dpkg.

Well, it worked for me; I hope it will be the same for you! ;-)

Bye

Sun JDK-6 su Debian Etch (aggiornato)

English version

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!

Sun Java logoPoco 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.

Kerneler: kernel facile… o quasi

kernel penguinKerneler è un’utility, composta da diversi script Bash, che permette di scaricare, patchare, configurare, compilare, pacchettizzare ed installare il kernel Linux su diverse distribuzioni Debian-based. La prima volta che ne ho sentito parlare è stato leggendo un thread sul forum di Hardware Upgrade quasi un anno fa. Già allora, pur essendo in fase embrionale, questa utility era particolarmente interessante ed ha ricevuto una discreta attenzione, e all’autore sono stati dati preziosi suggerimenti per migliorare il suo lavoro. Sinceramente però non ho sentito un’irrefrenabile voglia di provarla, un po’ perché mi capita raramente di compilare il kernel sulle mie macchine, ed un po’ perché, bene o male, è una cosa che riesco a fare abbastanza bene nella maniera tradizionale. Quindi, dal dicembre del 2006 mi sono dimenticato della sua esistenza. Quest’estate, però, con grande sorpresa, leggendo il numero di luglio di Linux Magazine mi è balzato agli occhi l’articolo “Il kernel non ha più segreti: grazie a Kerneler puoi compilarlo ed installarlo come un vero esperto!”. E allora ho pensato: cavolo! Deve averne fatti di miglioramenti, per finire su una rivista come LM! Purtroppo, ancora una volta, il tempo a disposizione per provare questo software non l’ho proprio trovato… fino ad oggi! Infatti ieri l’autore, Neon87, ha annunciato su Hardware Upgrade l’uscita della nuova versione, e quindi mi sono deciso a provarla.

L’uso è abbastanza semplice e, a parte qualche imprecisione (corretta a tempo di record), l’interfaccia è abbastanza chiara. Innanzi tutto occorre scaricare il software e decomprimerlo (è un archivio tar compresso con gzip, quindi è sufficiente il solito tar xzvf nomefile.tar.gz). Verrà creata una directory col nome del software, kerneler<versione_scaricata>. Per avviare il programma, spostatevi nella suddetta directory e digitate ./kerneler. L’applicazione verificherà che sul vostro sistema siano presenti tutti i software necessari; in caso contrario vi proporrà di installarli. Vi verrà anche chiesto se usare un’interfaccia testuale o una GUI. Essendo la prima volta che eseguite il programma, vi verrà chiesto anche di scegliere una directory di lavoro, quella in cui finiranno i sorgenti dei kernel e nella quale avverrà la compilazione; scegliendo una directory all’interno della vostra home starete più che tranquilli. A questo punto, dopo che kerneler avrà eseguito alcune operazioni per recuperare informazioni dalla rete (dovete essere connessi, per utilizzare tutte le funzioni del programma), basterà seguire le indicazioni mostrate a video. Potrete ad esempio scaricare i sorgenti dell’ultima versione del kernel, oppure scegliere di utilizzare una versione che avete scaricato in precedenza. Dopo aver selezionato i sorgenti su cui lavorare, si aprirà un menu con diverse opzioni:

kerneler main menu

Quella che io ritengo più interessante e utile è quella che consente di applicare delle patch ai sorgenti, operazione che a volte risulta un po’ ostica ai novizi per via del timore reverenziale nei confronti del comando patch. Quello che resta da fare ora è configurare il kernel e questo, almeno per ora, esula dai compiti di kerneler. Infatti la configurazione va eseguita in maniera tradizionale attraverso le classiche interfacce messe a disposizione dagli script inclusi nei sorgenti stessi. Va però detto che kerneler consente di riutilizzare per il nuovo kernel la configurazione della vecchia versione e di partire da quella per apportare le modifiche desiderate; in parole povere, prende la configurazione del kernel attualemente in esecuzione, la copia nella directory dei sorgenti e poi avvia lo script di configurazione scelto (menuconfig, xconfig, ecc).

A questo punto, dopo aver salvato la nuova configurazione, si può partire con la compilazione vera e propria, che viene eseguita facendo uso delle utility fornite dalle distribuzioni Debian, che consentono di generare automaticamente i pacchetti .deb per il kernel e, successivamente, di installarli o rimuoverli come qualsiasi altro pacchetto.

Bene, questa è una panoramica (non troppo approfondita, purtroppo) di Kerneler. Il programma è ancora in fase di sviluppo, ma l’idea che c’è dietro è davvero buona. Forse non è ancora un software “per tutti”, non perché sia difficile da usare ma perché non risolve ancora la questione della configurazione vera e propria del kernel; per questo aspetto dovete almeno essere consapevoli dell’hardware che c’è sul vostro computer e di quali sono i vostri obiettivi. Kerneler, intanto, vi dà una mano! E anche voi potete dare una mano a kerneler, provandolo sulle vostre Linux-box e segnalando all’autore eventuali malfunzionamenti o errori, oppure contribuendo attivamente allo sviluppo del programma. Tutte le informazioni le trovate sul sito del progetto.

Ciao

Iscriviti

Get every new post delivered to your Inbox.