Archivio per la categoria "Linux"



Slax6

SLAXDa qualche settimana è stata rilasciata la sesta versione stabile di Slax, una distribuzione Linux creata espressamente per essere installata su chiavette USB per un'estrema mobilità. Come dice il motto: il tuo sistema operativo tascabile. Finalmente ieri sera ho trovato il tempo per aggiornare la versione 6.0 RC6 che avevo installato sulla mia pendrive MyFlash da 512MB con la recente versione 6.0.2 e devo dire che il tutto risulta molto più stabile pur non essendo esente da qualche glitch e bug qua e là, comunque complimenti a Tomáš per questa release.

L'utilità di Slax è indubbia: con una pendrive di piccole dimensioni (anche da 256 MB dal momento che la distribuzione di base occupa solamente 190 MB) si ha a disposizione un sistema operativo relativamente completo e intuitivo, anche grazie ai software già presenti nella suite KDE di cui attualmente è inclusa la versione 3.5.9, ma che può essere esteso facilmente attraverso il caricamento di moduli lzm aggiuntivi anche nel corso dell'esecuzione stessa del sistema. Ovviamente possono esservi delle esigenze particolari che Slax di base non può soddisfare e per le quali occorre mettere mano al sistema, del resto i compromessi sono necessari quandi si gioca al ribasso con le dimensioni del sistema.

Per uno come me, a cui spesso capita di incappare in contenuti scritti in giapponese, la rimozione dei font asiatici nella versione stabile di Slax può rappresentare un problema anche se di banale risoluzione: nel mio caso è bastato scaricarli e aggiungerli in un modulo lzm che li caricasse nella directory dei font TTF all'avvio del sistema. La creazione di un semplice modulo partendo da una directory con i file già disposti in una struttura uguale a quella del sistema è piuttosto banale grazie all'utility da riga di comando dir2lzm o alla relativa voce presente nel menù contestuale di KDE. Un altro problema nell'ottica della visualizzazione dei caratteri di lingue orientali o più in generale non latini è rappresentato dal modulo italian.lzm, scaricabile a parte dal sito, che offre la localizzazione del sistema in italiano configurandolo tuttavia con il charset ISO-8859-1 quando in realtà UTF-8 sarebbe decisamente più adeguato in situazioni simili. In questo caso è stato necessario creare il locale it_IT.UTF-8 utilizzando localedef per poi rifare il modulo italian.lzm (estraendone i contenuti con lzm2dir) affinché ne includesse il risultato, infine ho dovuto modificare lo script /etc/profile.d/lang.sh affinché esportasse direttamente le variabili LANG e LC_ALL valorizzate con it_IT.UTF-8 anche se devo ancora verificare se c'è un modo migliore senza toccare questo script. Il resto è semplicemente questione di impostare correttamente l'encoding di applicazioni KDE come Konsole ma anche di quelle eseguite nel terminale come ELinks o weechat (entrambi supportano Unicode, basta configurarli correttamente), memorizzandone poi i relativi file di configurazione in un modulo a parte. Nonostante sia possibile eseguire Slax con l'opzione di boot changes che, grazie ad aufs, permette di memorizzare in una directory o in un file tutte le modifiche effettuate durante una sessione live del sistema, personalmente per tutte le configurazioni di KDE o delle applicazioni che per me sono particolarmente ricorrenti preferisco usare modulo lzm dedicato, permettendomi di portare più facilmente le stesse su più chiavette o di averne un backup più comodo (anche se a ogni modifica da tenere sono costretto a rifare il modulo stesso, operazione veloce ma comunque più scomoda anche se ormai non troppo frequente).

Attualmente sul sito non ci sono molti moduli ma sul forum è possibile trovare qualcosa in più realizzato dagli utenti, fortunatamente però la loro creazione in totale autonomia spesso non è un'operazione troppo complessa soprattutto se si parte da un pacchetto tgz per Slackware 12, distribuzione su cui è basata Slax6. In questo caso gli ingredienti necessari sono rappresentati dal pacchetto tgz da convertire in lzm, l'utility tgz2lzm inclusa di default in Slax e un po' di attenzione per le eventuali dipendenze necessarie all'esecuzione dei programmi. Per esempio la creazione del modulo lzm per Opera 9.26 partendo dal tgz per Slackware 12 è molto semplice: da terminale, il comando tgz2lzm opera-9.26-i486-1kjz.tgz opera-9.26-i486-1kjz.lzm si occuperà di generare il vostro modulo pronto per l'installazione live o per essere memorizzato sulla vostra chiavetta USB nelle directory modules (per i moduli da caricare automaticamente all'avvio del sistema) o optional (dove memorizzare tutti gli altri moduli che possono tornare utili, più che altro una convenzione in questo caso). Nel caso di altri programmi che richiedono determinate dipendenze occorre verificare e scegliere come agire, per esempio ELinks vuole la libreria libjs.so che è disponibile tramite SpiderMonkey per cui le possibili soluzioni sono due:

  • creazione di due moduli, uno per ELinks e uno per SpiderMonkey, da caricare separatamente.
  • creazione di un modulo custom per ELinks che contenga direttamente libjs.so.

Di norma preferisco tenere in un modulo separato le dipendenze che possono essere ricorrenti o richieste da altri software e unire nello stesso modulo quelle più rare, ma diventa anche una questione di preferenze. Con altre utility c'è la possibilità di creare moduli lzm partendo anche da pacchetti deb o rpm, ma non è certo la soluzione migliore dal momento che le differenze dettate dalla natura dei pacchetti di origine e dei sistemi target degli stessi potrebbe introdurre qualche noia di troppo.

Tutto sommato Slax6 sta mantenendo le aspettative delle precedenti RC pur necessitando ancora di lavoro. Sicuramente il fatto di essere un sistema basato su KDE la rende una distribuzione live che necessita di scendere a qualche compromesso per un'esecuzione ottimale quindi non è particolarmente consigliabile l'esecuzione su computer vecchi e/o con poca RAM (credo che un minimo veramente accettabile sia 128 MB), inoltre il sistema a moduli può essere comodo e facile da utilizzare ma al tempo stesso difficoltoso da mantenere per le varie dipendenze, non esistendo un sistema stile Apt o Yum che le gestisca. Tutto sommato però trovo che per il suo scopo principale, ovvero l'esecuzione live da pendrive USB di un sistema piuttosto completo, Slax abbia una marcia in più rispetto ad altre soluzioni.

Linksys NSLU2: un piccolo storage di rete? No, di più!

Linksys NSLU2 Per la serie intitolata come ritrovarsi con un nuovo giocattolo nel giro di mezza giornata, sabato ho acquistato un aggeggino chiamato NSLU2 prodotto da Linksys, il tutto dopo averlo conosciuto venerdì sera tramite mio padre che me lo ha introdotto come uno scatolotto ideato in teoria come soluzione NAS a basso costo ma in pratica hackerabile a volontà, non solo dal punto di vista software ma anche da quello hardware.

NSLU2 è stato concepito come un network storage per condividere in rete fino a due unità di archiviazione USB (hard disk o memorie flash formattate in EXT3, FAT32 oppure anche NTFS usando l'ultimo firmware) con gestione di impostazioni, gruppi di utenza e quote accessibile attraverso un'interfaccia web scarna ma abbastanza semplice ed efficace. Considerato il prezzo ridotto di circa un centinaio di euro, questa periferica sembra svolgere decorosamente il lavoro per cui è stato progettato ma nella realtà si può ottenere decisamente molto di più da essa! Essendo basato internamente su una mini-distribuzione custom con kernel Linux del ramo 2.4, alcuni moduli ad hoc (di cui Linksys ha rilasciato i sorgenti) e un set ridotto di applicativi come Samba (condivisione dei file) o thttpd (accesso all'interfaccia web), c'è chi ha pensato bene che sarebbe stato bello poterci fare qualcosa di più e quindi sono nati firmware alternativi per tutti i gusti e le esigenze. In effetti le caratteristiche fisiche (dimensioni e peso molto ridotti, bassissimi consumi, totalmente silenzioso) e tecniche (processore Intel XScale da 266 MHz, 32 MB di memoria interna, due porte USB 2.0/1.1) dell'NSLU2 lo rendono particolarmente appetibile per svolgere l'attività di mini-server non solo per condivisione di file ma anche per avere istanze di SSH o di piccoli server web, posta, ftp, tanto che intorno ad esso è nata un'intera comunità veramente molto attiva che vede confluire un buon flusso di contributi in un unico sito ricco di informazioni su idee, caratteristiche e hack.

Alla fine il motivo che mi ha spinto a comprarlo con tempi che per me sono assolutamente da record, visto che sono solito a meditare attentamente i miei acquisti, è stato proprio il fatto di poter customizzare l'NSLU2 per ottenere un piccolo serverino senza molte pretese ma accessibile da remoto e da poter tenere sempre acceso con consumi ridotti all'osso (max 10 watt) e devo ammettere che questa attività mi sta divertendo parecchio, tanto che ho deciso di dedicarvi una serie di post con quantità e cadenza indefinite ma con lo scopo di raccogliere l'esperienza, i dettagli della mia customizzazione e i risultati degli svariati esperimenti che ho in mente.

Un gibbone anche per Xubuntu

C'è una cosa che non ho mai nascosto: la mia simpatia per Xubuntu, la distro della famiglia Ubuntu basata sul desktop environment Xfce e preparata con un occhio di riguardo particolare per macchine datate. Mentre sul mio vecchio Celeron 800 MHz si fa onore una installazione della 7.04, ho pensato di provare altrove la nuova 7.10 Gutsy Gibbon ormai prossima al rilascio definitivo (mancano poco meno di due giorni) e devo dire che questa volta sembra esserci stato un evidente miglioramento nella cura di questa distribuzione: l'estensione delle traduzioni in italiano è sensibilmente aumentata, la stabilità dell'ambiente è nettamente migliorata rispetto alle precedenti versioni e la cura per i dettagli finalmente sta cominciando a farsi largo. Indubbiamente a Xfce spetta una abbondante quantità di meriti perché con la versione 4.4.1 sono stati apportati molti miglioramenti sotto tutti gli aspetti pur continuando a mantenere la leggerezza che lo contraddistingue. Allego giusto qualche cattura volante dello schermo, in realtà non ho customizzato più di tanto il tutto dato che ho solo cambiato lo sfondo e ridotto le dimensioni dei due pannelli, il tema invece è quello di default introdotto nella 7.10  (ripreso in realtà dall'SVN di Xfce) con aggiunte ombre e trasparenze in seguito all'abilitazione dell'ottimo compositor integrato di Xfce il quale offre questi pochi e semplici effetti, niente di pacchiano per un risultato gradevole.

Xubuntu 7.10 Xubuntu 7.10
Xubuntu 7.10 Xubuntu 7.10

Provando Kubuntu 7.10 beta 1...

Negli ultimi due giorni ho installato sul computer nuovo la prima beta di Kubuntu 7.10 Gutsy Gibbon. I motivi per aver scelto Kubuntu, anche in passato, sono tutto sommato molto semplici:

  • pochi sbattimenti... in passato mi è capitato di averne una quantità sensibilmente inferiore rispetto ad altre distribuzioni sullo stesso hardware e sinceramente, pur piacendomi il fatto di andare a tampinare a destra e a manca nel sistema, non è che abbia troppa voglia di perdere tempo nel configurare X o compilare Y quando il tempo che mi avanza non è che sia troppo e io voglio un sistema da poter usare e non uno da dover continuamente configurare.
  • non mi piace il look 'n' feel delle GTK, che cerco di sopportare solo in Xubuntu, mentre non mi ha mai attirato Gnome, preferisco di gran lunga la flessibilità e l'estetica di KDE (non è un flame-bait 😛 )
kubuntu-gutsy

L'installazione è andata bene e tutto l'hardware è stato riconosciuto senza problemi. Come mi sarei aspettato X è stato configurato per gestire la ATI X1950 XT con i driver VESA ma è bastato un click nel gestore dei driver con restrizioni per il passaggio ai driver proprietari AMD/ATI e al modulo FGLRX. Per ora niente Compiz Fusion, mi dispiace ma non metterò mai nemmeno sotto tortura quell'aborto di XGL e attenderò fiducioso il rilascio dei driver AMD/ATI 8.42 stabili che teoricamente dovrebbero introdurre il supporto per AIGLX.

La prima sorpresa all'avvio è stata l'abbandono del violetto relativamente vomitevole nel tema di default e che è stato caratteristico di Edgy 7.04. Ora si è tornati al blu, anche se più chiaro e brillante dell'originale. Graficamente l'interfaccia è sempre più curata e rifinita, un fatto che personalmente ha molto peso poiché a me piacciono ordine, pulizia e cura nell'aspetto. Ho sempre avuto la netta sensazione di utilizzare un sistema o un programma con molto più piacere quando sono presenti queste condizioni. Inoltre ho l'impressione che Adept sia decisamente migliorato sia in termini di usabilità che di prestazioni dall'ultima volta che l'ho utilizzato (solitamente vado direttamente apt-get da console e probabilmente in Feisty non l'ho mai usato). In generale il sistema sembrerebbe essere già particolarmente stabile e responsivo nonostante si tratti della prima beta e devo dire che sono rimasto particolarmente sorpreso perché nelle beta di Feisty e ancor prima di Edgy ho avuto problemi sparsi, anche se di piccola entità.

Una delle novità che negli ultimi mesi hanno fatto discutere nella comunità di KDE è stata sicuramente l'introduzione di Dolphin, il nuovo file manager ottimizzato che nel tempo dovrebbe cercare di far migrare l'utenza da Konqueror per quel che riguarda la gestione dei file (ma Konqueror manterrà ugualmente le sue capacità di file manager). Dolphin è presente di default in Gutsy e tutto sommato devo dire che non mi dispiace utilizzarlo nonostante dimostri ancora segni di immaturità, più nell'ambito di usabilità e interfaccia che di stabilità. Essendo comunque un'applicazione giovane direi che è piuttosto normale.

Strigi invece non mi entusiasma particolarmente, ma anche in questo caso si tratta di un prodotto molto giovane. Se fosse più integrato e non sembrasse un applet buttato lì a caso forse potrebbe risultare un po' più utile e gradevole da utilizzare, per ora mi lascia perplesso (c'è comunque da dire che non ho mai usato applicazioni di indicizzazione e ricerca sui miei computer, quindi è probabile che il mio giudizio risenta anche della mia mancanza di necessità).

Avendo finalmente un computer abbastanza potente e doppio core a disposizione su cui far girare Kubuntu in modo nativo (Edgy è installata su un Pentium 4 1.4 Ghz e Feisty è virtualizzata) non potevo certo non provare l'ebbrezza della virtualizzazione in Linux. Questa volta però ho deciso di non utilizzare le soluzione di VMWare, che sfrutto regolarmente in ambiente Windows, ma Virtual Box 1.5 OSE. Anche qui una sorpresa: il prodotto è ben curato e anche particolarmente veloce. Ha indubbiamente un po' di funzionalità in meno rispetto a VMWare Workstation 6 ma tutto sommato non sono nemmeno così tante e importanti. Ha gli snapshot e già questa è un'ottima cosa. L'unico vantaggio di utilizzare VMWare in Linux, a meno di esigenze particolari, potrebbe essere l'ampia disponibilità di macchine virtuali preconfezionate, ma in effetti non ho ancora cercato in giro e potrei scoprire che anche per VBox ne esistono già. Attenzione però all'inghippo in Gutsy: al pacchetto presente nei repository manca il modulo kernel di Virtual Box per cui le vostre macchine virtuali non potranno essere avviate, mostrando invece un errore di tipo VERR_VM_DRIVER_NOT_INSTALLED. La soluzione, ricavata da un thread di Ubuntu Forums che però non ho più sottomano, consiste in:

sudo apt-get install virtualbox-ose virtualbox-source-ose sudo module-assistant prepare sudo module-assistant auto-install virtualbox-ose # Aggiunge l'utente al gruppo vboxusers, in seguito occorre disconnettersi e rifare il login sudo adduser <username> vboxusers

A questo punto Virtual Box sarà in grado di funzionare regolarmente.

Unico problema per ora riscontrato: la morte istantanea di Kaffeine nel tentativo di visualizzare qualsiasi filmato, stesso problema documentato qui. Per il resto, in linea di massima Gutsy Gibbon sembra promettere bene: ottima facilità d'uso, ottima rilevazione dell'hardware, ottime prestazioni, buona configurazione di default. Speriamo che la stabilità venga mantenuta anche nella release finale, prossimamente farò ancora un po' di prove.

Ruby 1.8.6 e RubyGems per SLAX 6

Con questo messaggio torniamo a parlare un po' di Ruby e Linux, visto che è da un po' che latitano sulle pagine di questo blog. Qualche settimana fa vi ho parlato della mia chiavetta USB su cui ho installato una distribuzione live (basata su Slackware) compatta e particolarmente adatta a questo tipo di utilizzo, sto parlando di SLAX 6 che attualmente è giunta alla terza release candidate con una quarta RC in vista. Uno dei suoi punti di forza risiede senza dubbio nell'estrema facilità e flessibilità di personalizzazione attraverso moduli LZM, tra l'altro installabili anche "a caldo" dal momento che SLAX si basa su UnionFS. Il fatto di avere una distribuzione di Linux sempre pronta potrebbe far comodo tanto che mi è già tornata utile in un paio di occasioni, per cui mi sono chiesto: "e se un giorno dovesse tornarmi utile avere anche un interprete Ruby a portata di mano?". Non avendo trovato nessun modulo LZM già pronto ho deciso di crearne uno per conto mio includendo inoltre il supporto per RubyGems. In più, visto che potrebbe tornare utile a qualcuno, ho deciso di condividere il risultato:

Download da box.net: ruby-1.8.6-i486-1+rubygems-0.9.2.lzm

Questo modulo è stato creato basandosi sui pacchetti tgz dell'ultima Slackware e include Ruby 1.8.6 e RubyGems 0.9.2 per una dimensione totale di 2,7 MB. Inizialmente avevo pensato di creare due moduli separati, ma alla fine ho deciso di preparare un LZM unico considerando l'occupazione di soli 300 KB per i file di RubyGems compressi. Attualmente sto provando il tutto sulla mia live e almeno sulla RC3 sembrerebbe funzionare tutto a dovere, inoltre la compilazione del codice nativo all'interno delle gemme è supportata grazie alla presenza dei programmi necessari che vengono caricati automaticamente dal modulo di base 009-devel.lzm. Come al solito, se intendete caricare questo modulo all'avvio di SLAX dovete posizionarlo nella directory modules ed esso si installerà automaticamente a ogni avvio, altrimenti potete metterlo in optional e caricarlo con un doppio click sull'icona oppure, via shell, con il comando uselivemod ruby-1.8.6-i486-1+rubygems-0.9.2.lzm.