giovedì 7 gennaio 2010

La mia (dis)avventura con OpenSolaris 2009.11


Le premesse

Utilizzo Linux da almeno 10 anni, mi trovo molto bene con
un sistema così flessibile e configurabile. Grazie a Linux
e al suo ecosistema ho potuto apprezzare l'OpenSource e
sposare questo modello di sviluppo e questa filosofia di
pensiero. Inizialmente usavo sistemi rpm-based, poi una
volta scoperto il package manager di Debian mi sono
convertito a questi tipi di distribuxzione. Ritengo infatti
che passare ore a configurare e compilare software serva
per sistemi mission-critical, non per farmi fare altra
pratica e passare notti sveglio al computer.

Sono un fan fedele del KDE, ho stretto i denti con quel
bagno di sangue che fu il passaggio alla versione 4.0, e
sono contento di aver visto tutte le versioni fin dalla
prima. Non apprezzo il KDE solo per il suo aspetto grafico
(che oggettivamente puo' essere considerato di gran lunga
superiore ai suoi rivali), ho studiato le librerie Qt sulle
quali è costruito, le ho confrontate con le GTK+ alla base
delle librerie e del desktop Gnome e ritengo il binomio
Qt/KDE molto piu' elegante di quello GTK+/Gnome. La mia
applicazione desktop principale è KMail, il miglior client
di posta che abbia mai visto (e ne ho provati tanti...).

Sviluppo applicazioni Java (e non solo) utilizzando l'IDE
Eclipse, che ritengo il miglior IDE disponibile per Java.
Ho iniziato ad usarlo all'epoca della versione 2, dopo aver
visto dal vivo una dimostrazione ad una conferenza in
Irlanda (all'epoca usavo il pachidermico Netbeans, che
comunque era piu' smilzo di Forte For Java!). L'unico
svantaggio che trovo in Eclipse è che la versione Linux
utilizza il binding con GTK+, quindi il suo utilizzo in KDE
non risulta pienamente integrato e performante. Da notare
che, siccome sviluppo anche applicazioni RCP, sono legato a
Eclipse come piattaforma.

Il mio editor preferito è Emacs (anch'esso con binding
sulle GTK+ - non poteva essere altrimenti essendo l'editor
di Stallman!) anche se la maggior parte delle volte
direttamente a terminale (quindi senza mouse).

Quasi tutte le cose che faccio le svolgo attraverso la
Konsole, e spesso ho piu' di 5 tab attivi
contemporaneamente.

Utilizzo Kopete per l'instant messaging, e lo trovo un
programma molto utile e ben strutturato, anche se devo
ammettere mi sembra meno polimorfico del suo antagonista
Pidgin.

Il mio browser preferito è Firefox, dopo aver usato
infatti a lungo Konqueror ho deciso di usare il prodotto di
Mozilla poiché consente l'installazione di molti plugin e
addon per il debug e l'analisi delle applicazioni Web.

Utilizzo git come SCM anche per i miei documenti personali
(almeno per quelli per i quali abbia senso mantenere le
versioni). Ovviamente per molti "progetti" non ha senso
usare uno strumento potente come git, ma sono un ingegnere
pragmatico e tendo ad usare i migliori strumenti
disponibili, o meglio quelli che ritengo migliori, per
capirne a fondo la mentalità e le potenzialità in ogni
situazione.

Proprio per questa mia curiosità e voglia di usare sempre
gli strumenti migliori, qualche mese fa mi interstadisco a
studiare OpenSolaris. Seguo lo sviluppo del sistema dal
2006 (piu' o meno quando venne reso open il cuore di
Solaris) e conosco Solaris dai tempi dell'università
(amministravo alcune workstation sun4u). Quindi non ero
digiuno del sistema Solaris/OpenSolaris quando ho deciso di
riprendere in mano il sistema. E finalmente mi decido a
provarlo sul mio portatile, un Acer Aspire 6935, poiché
l'unico modo per imparare veramente un sistema, secondo me,
è quello di lavorarci ogni giorno. E qui comincia la mia
avventura.

Installazione e utilizzo di OpenSolaris
La mia prima idea è quella di installare OpenSolaris a
fianco del mio sistema Linux, quindi in triple boot. Per
farlo libero una delle tante partizioni presenti sul mio
disco e inizio il proceesso di installazione di
OpenSolaris. Stranamente la finestra di partizionamento non
riconosce nessuna partizione estesa (e quella liberata era
ahimé estesa). Dopo un po' di ricerca sul Web ho scoperto
che OpenSolaris non supporta ancora le partizioni estese, e
quindi non posso procedere all'installazione sul mio
computer. A questo punto l'unica soluzione è quella di
rimuovere Linux, ma ancora non mi sento pronto, quindi
decido di installare OpenSolaris su una macchina virtuale.

Creo quindi una macchina VirtualBox sulla quale inizio a
fare esperimenti. Grazie alla bibbia di OpenSolaris
sperimento il fantastico ZFS, le zone e IPS. Aggiorno il
sistema, uso RBAC, SVC e sperimento la stabilità di
OpenSolaris. Il sistema mi piace, così decido di provare a
creare un ambiente simile al mio Linux per essere sicuro
che tutto possa funzionare in una installazione sul
bare-metal.
Inizio dal KDE: OpenSolaris viene distribuito con Gnome, e
KDE 4 non è aggiornato alle ultime versioni. Con non poca
fatica riesco ad installare KDE 4.3.2 quando sul mio Linux
sto usando un KDE 4.3.4. A questo punto, con KDE al suo
posto, posso migrare posta, instant messaging e i profili
di Konsole. Ma ora viene la prima nota dolente: uno dei
compilatori che uso al lavoro non è disponibile per Unix
ma solo per Linux. La mia prima idea è quella di usare una
branded-zone, ma alla fine non mi interessa installare un
Linux virtualizzato in branded-zone, mi va bene installarlo
anche come VirtualBox. In sostanza, posso aggirare
l'ostacolo del compilatore mediante la virtualizzazione;
non sarà comodo come accedere direttamente dal sistema
host, ma almeno funzionerà. Dopotutto si deve essere
disposti a fare qualche sacrificio per usare il meglio che
ci sia, no?
Per gli altri programmi non sembrano esserci problemi:
installo Eclipse dai repository IPS e sembra tutto a posto.
Ahimé non lo testo appieno, cosa che mi costerà in futuro.
Insomma, mi sento pronto per installare OpenSolaris sul
bare-metal.

Ma il bare-metal non è la macchina virtuale!
Dedico una partizione da 170GB a OpenSolaris e avvio il
processo di installazione, che stranamente si blocca al 70%
e si congela. Forse un problema del CD-Rom, comunque non si
ripeterà piu' nelle successive installazioni.

Finalmente il momento del primo avvio e la prima amara
sorpresa: mentre la scheda di rete wireless funziona
benissimo, la scheda ethernet (Atheros) non viene
riconosciuta. Dopo una ricerca sul Web scopro che il driver
della mia scheda di rete è contenuto nel pacchetto
SUNWatge, ma l'installazione tramite IPS non funziona a
causa del diverso snv (il 2009.11 ha snv 111, mentre il
pacchetto in questione richiedeva snv 130). Devo quindi
prima aggiornare il sistema da snv_111 a snv_130, cosa che
richiede il download di circa 890 MB di software (tramite
scheda wireless!). Al riavvio del sistema un'alta amara
sorpresa: GDM si lamenta circa il file /Xsession e la
finestra di login sembra avere problemi a visualizzare
correttamente sfondo e menu' delle opzioni. Non solo, una
volta fatto il login lo schermo rimane completamente
bianco! Dopo un po' scopro che il sistema non è congelato,
sta funzionando (ALT+TAB mi mostra il movimento fra
finestre tutte bianche senza farmi vedere i contenuti), e
da una ricerca sul Web scopro che l'aggiornamento snv_130
ha effettivamente qualche problema con le schede grafiche
NVidia che puo' produrre questo strano effetto se Compiz è
abilitato. La soluzione consiste nel fare il login da una
sessione Failsafe e invocare il programma di "pulizia"
gnome-cleanup per rimuovere le preferenze del desktop e
disabilitare quindi Compiz. In questo modo, a parte il
problema a GDM, posso fare il login correttamente anche se
ora il desktop Gnome risulta "piatto" e privo di effetti.

Prima di procedere all'installazione del software desktop
(KDE prima di tutto) decido di installare Eclipse. Il
repository IPS propone ancora Eclipse 3.4.2 anziché la
nuova serie 3.5, ma questo non è per me un grosso
problema. Però in Eclipse devo installare diverse librerie
e plugin (AspectJ, EGit, le librerie per lo sviluppo RCP,
...) e quindi inizio la procedura di installazione del
nuovo software dall'interno dell'IDE. Qualcosa però non
va: dopo le prime dialog di selezione del software, Eclipse
sembra bloccato. Pur premendo il classico pulsante "Next"
della dialog corrente, che sembra rispondere all'input,
l'IDE non fa nulla. Di fatto sembra che la pressione del
pulsante faccia perdere il focus alla selezione corrente.
Provo e riprovo ma non riesco ad installare i plugin che mi
servono.

A questo punto mi trovo ad un punto morto: OpenSolaris ha
dei problemi (Eclipse, GDM, la scheda grafica) e io sono
senza il mio ambiente desktop e, cosa piu' importante, i
miei dati personali (ad esempio la posta). Nonostante fossi
disposto ad accettare l'uso di un KDE leggermente piu'
arretrato rispetto agli ultimi rilasci (purché stabili),
nonostante fossi anche disposto a valutare il passaggio a
Gnome (bisogna pur provare tutto, no?), nonostante potessi
soprassedere sull'assenza delle ultime versioni di Eclipse
(anche se la 3.5 esiste per Solaris, ma non è compatibile
con OpenSolaris), mi trovo con le mani legate. Insomma,
già puo' essere difficile il passaggio ad un sistema
architetturalmente differente, ma farlo senza nemmeno le
proprie applicazioni potrebbe essere troppo!

Devo ripiegare e reinstallare Linux, nel quale ovviamente
riesco a ricaricare velocemente i miei dati e le mie
applicazioni. Insomma, torno al punto di partenza.

Ma mi sono tenuto una partizione primaria per tornare a
sperimentare con OpenSolaris con piu' calma e direttamente
sul bare-metal.
Credo fermamente che OpenSolaris sia un sistema innovativo
e degno di nota, e che sia anche un'ottima dimostrazione di
cosa puo' fare l'OpenSource.

1 commento:

Paolo ha detto...

Installato una opensolaris 2009.06 su un ACER 5520G. Il sistema va, la scheda ethernet si fa riconoscere aggiungendo un driver, wi-fi subito riconosciuto. Il problema è che poi all'improvviso dopo aver installato qualche programma mi si congela il boot al mounting dello ZFS, boh.