You are on page 1of 86

Lvm DistRO LeGGeRe UeFi cOReL aFteRshOt PRO

N. 116 - Rivista + DvD 5,90

Il nuovo Googlefonino

GaLaXy NeXUs

Diventa protagonista nel mondo Linux


Poste ItalIane sPa - tarIffa r.o.C. - abb. Post. - D.l. 353/2003 (Conv. In l. 27/02/2004 n. 46) art. 1, Comma 1, DCb mIlano - In Caso DI manCato reCaPIto InvIare al CmP DI roserIo Per la restItuzIone al mIttente

Pro

iL cOmPUteR * Da 33 eURO!
Una Linux box piccola come una carta di credito Raspberry Pi porter GNU/Linux ovunque Perfetto da usare come media center

aCCad del COemia diCe Conc


etti base Python O Perl penCV

di progragine ammazion e

14 P

*IVA inclusa

Dimensioni
13 consigli per velocizzare il funzionamento del Pinguino Mai pi documenti dispersi grazie a Testdisk e Photorec

Pc Da cORsa

reali

System On Chip (SO processore, RAM,C): scheda grafica

i RecUPeRa FiLe

Se conosci Grub 2 non avrai pi problemi di boot

avviO aL micROscOPiO

Slot per Scheda SD


Uscita video

Por te USB

HDMI

Connessione

ethernet

ecco come far comunicare due schede arduino

teLecONtROLLO

scopri Bristol, la potente suite di sintetizzatori

vita Da DJ

Le caratteristiche della nuova versione del cms


L i N U X P R O N 116 - m e N s - a N N O X-12 5,90

JOOmLa! 2.5

Scopri augeas che ti consente di configurare GNU/Linux senza usare il solito editor di testo

tRUcchi PeR sysaDmiN

Distributore: Press-Di, segrate (mi)

il tuo assistente FOTOGRAFICO

DIGITAL CAMERA

LEGGILO ANCHE SU

FACEBOOK

www.facebook.com/digitalcameraitaly

Disponibile nella tua edicola e anche su iPad e iPhone

Editoriale

Manette e standard aperti


Da un po di tempo a questa parte sembra che la Free Software Foundation Europe abbia aumentato il ritmo con cui organizza nuove iniziative. Dopo la campagna per liberare Android (di cui abbiamo parlato brevemente nelleditoriale dello scorso numero per riprendere largomento in modo pi approfondito questo mese, a pagina 30) ecco apparire Tu suggerisci, noi inviamo manette: Chi ha bisogno di essere istruito sugli Standard Aperti?. Quando leggerete queste parole liniziativa sar gi conclusa (labbiamo segnalata per tempo nella nostra pagina Facebook), ma la sua importanza va oltre i limiti temporali. LA FSFE chiedeva di segnalare eventuali problemi nello spiegare alla pubblica amministrazione limportanza di usare formati aperti. Segnalando le autorit sorde allargomento, si poteva far inviare loro un pacchetto educativo contenente una lettera di spiegazione dellargomento e, per rappresentare i formati proprietari in modo metaforico, un paio di manette! Non sappiamo ancora se questa idea abbia avuto successo, ma speriamo fortemente di s. Visto che le autorit non sempre sembrano scegliere per il meglio, dar loro una mano e un suggerimento compito di ognuno di noi. Passando invece ai contenuti di questo numero, avrete notato di sicuro la scheda in copertina: una meraviglia della tecnologia. Tutte le funzionalit di un computer schermo escluso in una scheda piccola come una carta di credito. Raspberry Pi, questo il suo nome, nata per cercare di diffondere larte del fare e del toccare con mano nelle scuole inglesi, e abbiamo deciso di dedicarle la copertina perch una soluzione simile potrebbe essere utile anche da noi. Costa poco, semplice da usare e offre una versatilit enorme. Nonostante alcuni intoppi iniziali questa scheda sembra segnare una tappa importante nella nuova era aperta tempo fa da Arduino del mitico Banzi, difatti si affacciano gi allorizzonte prodotti simili che promettono ancora di pi. Nei prossimi mesi vi mostreremo in modo ancor pi preciso come utilizzare una Raspberry Pi e se per caso anche voi lavete acquistata fateci sapere come la state utilizzando. Infine vogliamo sottolineare larticolo su LVM, il sistema di gestione delle partizioni dei dischi adottato da Fedora, ad esempio. Si tratta di un argomento sempre un po ostico: con la nostra guida speriamo di dissolvere tutti i vostri dubbi in maniera definitiva. LVM vi consente infatti di variare le dimensioni delle partizioni in uso senza stravolgere o dover rifare linstallazione di Linux, per cui perch non adottarlo fin da subito? Non ci resta che augurarvi buona lettura.

LINUX
PRO PRO

Massimiliano Zagaglia Responsabile di redazione

CONTATTI
Domande alla redazione: linuxpro@sprea.it Abbonamenti: abbonamenti@linuxpro.it Arretrati: arretrati@linuxpro.it Problemi con il DVD: aiutocd@sprea.it Sito Web: www.linuxpro.it Oppure inviate le vostre lettere a: Linux Pro, Sprea Editori S.p.A., Via Torino 51, 20063 Cernusco S/N Telefono: 02.92432.1
LINUX PRO 116

Sommario

Sommario
LINUX PRO 116

LINUX

PRO

Benvenuti nel centosedicesimo numero di Linux Pro, la vostra guida definitiva a Linux e al mondo Open Source

In primo piano

Piccolo ed economico
este piccola - queste sono le sue dimensioni realii al La tua scheda Avreste mai SD va di 10 pensatoqui poter usare un computer Alimentazione completo dalle mini USB a 5V V dimensioni di una fcarta come quella dei telefoninii onin di credito? Raspberry Pi proprio cos e costa poco pi di 30 euro. Ve ne sveliamo i segreti Sy System On Chip (SOC): (SO processore, RAM, scheda graca RAM Porte USB P Connessione Co Ethernet E Uscita video HDMI

08 UEFI
2
LINUX PRO 116

22 Bisogno di velocit...

30 Android senza Google

Sommario
04 Newsdesk
Le novit del mondo Open Source

Attenzione! Tutorial 52 Primi passi


Recuperare i file perduti Linux Pro disponibile in edizione cartacea con DVD doppia faccia da 8 GB e in versione digitale su iPad

06 Mailserver
Linea diretta con la redazione

08 FAQ: UEFI
La nuova interfaccia per lavvio dei PC

56 Joomla!
Al via una nuova serie su questo potente CMS. Si parte con le novit della versione 2.5

IL DVD IN BREVE
LATO A DESKTOP Marlin Mixxx 1. 0.0 1 uShare 1. a 1 DISTRIBUZIONI Clonezilla 1.2. 2-10 1 Sabayon CoreCDX 8 GRAFICA DarkTable 0.9.3/1.0 rc2 Shutter 0.88 INTERNET Firefox 1 Thunderbird 1 1 1 RIVISTA Bodhi Linux 1.3.0 Bristol 0.60.9 Joomla! 2.5.2 Linux Mint 12 LXDE NobleApe Phlipple 0.8.2 Puppy Linux Lupu/Slacko Revelation 0.4. 2 1 TestDisk 6. 3 Tiny Core Linux 1 Summoning Wars 0.5.6 Tomahawk 0.3.0 WattOS R5 SISTEMA Htop 1.0. 1 UFFICIO LibreOffice 3.5. 1 Sunbird 0.9 Tomboy 1.8.3 LATO B DISTRIBUZIONI PC-BSD 9
Quando trovi questo bollo negli articoli, cerca il software nel DVD

Approfondimenti 12 Raspberry Pi
Un computer grande quanto una carta di credito e che costa solo 32 euro

60 LVM
I misteri del sistema di gestione delle partizioni di Fedora

64 Arduino
Collegate e fate comunicare due schede Arduino per fare del telecontrollo

22 Velocit
Ecco come far sprintare la tua Linux box

68 Musica
Bristol un completo studio synth in un unico programma!

26 Trucchi per sysadmin


Tenere in ordine /etc senza usare il classico editor di testo

72 Controllo di versione
Tenete traccia delle modifiche al codice sorgente dei vostri progetti

Android 30 Android senza Google


Rendete Android veramente Open

76 Grub 2
I rudimenti del bootloader di Linux

34 Galaxy Nexus
Il terzo smartphone a fregiarsi del marchio Nexus

Accademia 80 Concetti di base


Istruzioni condizionali

Recensioni 35 I test del mese


Le recensioni di questo mese: Corel AfterShot Pro Gentoo 12 DVD Braid In libreria

82 Perl
Creare una Web App

86 Python
Realizzare tooltip personalizzati

40 Confronto
Faccia a faccia tra distro per PC vecchi

88 OpenCV
Eliminare i difetti delle immagini

PRO
dentro il

48 Da non perdere
Cinque applicazioni libere da provare!

94 Guida software
Guida al software presente nel DVD

40 Confronto

60 LVM
LINUX PRO 116

Newsdesk
Processori

Ogni mese tutte le novit dal mondo delle aziende e della comunit Open Source

Nuove CPU Intel per i server

e misurazioni e le previsioni stanno registrando una crescente richiesta di trafco dati portata dal cloud computing. Di conseguenze aumenta la richiesta di potenza di calcolo e si cerca una sempre maggiore riduzione dei consumi delle CPU. Per rispondere a queste esigenze Intel ha presentato la nuova famiglia di processori Intel Xeon E5-2600. Queste nuove CPU offrono prestazioni superiori, il miglior rapporto prestazioni/watt per datacenter, innovazione a livello di I/O e funzioni di sicurezza in hardware per favorire una maggiore scalabilit dellinfrastruttura IT. Oltre a essere il cuore pulsante di server e workstation, questi processori sono destinati alla nuova generazione di sistemi di storage e comunicazioni dei principali fornitori. La crescita del cloud computing e dei dispositivi connessi sta trasformando il modo in cui le aziende fruiscono di prodotti e servizi IT, ha commentato Diane Bryant, Vice President e General Manager del Datacenter and Connected Systems Group di Intel. Per trarre vantaggio da queste innovazioni, necessario soddisfare una domanda di efcienza senza precedenti, sicurezza e prestazioni elevate nellinfrastruttura dei data center. La famiglia di processori Intel Xeon E5-2600 progettata per affrontare queste sde, offrendo prestazioni bilanciate - senza
LINUX PRO 116

pari in sistemi di elaborazione, storage e rete - a fronte di una riduzione dei costi operativi.

Le innovazioni
Con il supporto di no a otto core per processore e no a 768 GB di memoria di sistema, la famiglia Intel Xeon E5-2600 offre prestazioni no all80% pi elevate rispetto al processore Intel Xeon 5600 series della generazione precedente. La nuova famiglia supporta inoltre Intel Advanced Vector Extension (Intel AVX), che offre

effettuate con SPECpower_ ssj*2008, rispetto ai processori della generazione precedente. Questi processori offrono il supporto per strumenti di monitoraggio e controllo del consumo energetico, come Intel Node Manager e Intel Data Center Manager, che forniscono alle console di gestione dei sistemi dati accurati e in tempo reale sullalimentazione e la temperatura. Abbiamo parlato della crescita del trafco di dati: ci porta non solo a migliorare la capacit di calcolo dei sistemi,

alla potenza di elaborazione ad elevate prestazioni, unitamente a Intel Integrated I/O e a caratteristiche di storage avanzate come il bridging PCIe non trasparente e il refresh asincrono della DRAM, la famiglia di processori Intel Xeon E5-2600 rappresenta la scelta ideale anche per le soluzioni di storage e comunicazioni.

Tutto al sicuro
Anche dal punto di vista della sicurezza ci sono diversi accorgimenti. Intel Advanced Encryption Standard New Instruction consente operazioni rapide di crittograa e decrittograa dei dati con unampia gamma di applicazioni e transazioni. La tecnologia Intel Trusted Execution, invece, rappresenta una base afdabile per ridurre lesposizione dellinfrastruttura ad attacchi nocivi. Queste caratteristiche, insieme alle principali applicazioni software, consentiranno ai responsabili IT di proteggere i data center da attacchi, in uninfrastruttura scalabile per rispondere ai requisiti dei clienti.

La crescita del cloud computing sta trasformando il modo in cui le aziende fruiscono dei servizi IT
prestazioni no a due volte superiori con le applicazioni che richiedono elaborazioni intensive come le analisi nanziarie, la creazione di contenuti multimediali e lHigh Performance Computing. Altre tecnologie integrate, come il Turbo Boost 2.0, lIntel Hyper-Threading e lIntel Virtualization forniscono funzionalit per lincremento dinamico delle prestazioni delle infrastrutture IT. Grazie a questi miglioramenti delle prestazioni, la famiglia di processori Intel Xeon E5-2600 ha registrato 1.510 nuovi record mondiali nellambito dellarchitettura x86 a due socket. Dal punto di vista energetico, la nuova famiglia di processori Intel migliora lefcienza energetica di oltre il 50%, secondo le misurazioni ma contemporaneamente anche a favorire laumento della larghezza di banda allinterno dei datacenter. Gli Xeon E5-2600 soddisfano questi requisiti attraverso le tecnologie Intel Integrated I/O (Intel IIO) e Intel Data Direct I/O (Intel DDIO). Questultima consente a controller e schede di rete Intel Ethernet di indirizzare il trafco di I/O direttamente alla cache del processore, riducendo i passaggi nella memoria di sistema e di conseguenza il consumo energetico e la latenza. La nuova famiglia inoltre la prima piattaforma server a integrare il controller di I/O che supporta PCI Express 3.0 direttamente nel microprocessore. Con questa integrazione la latenza risulta no al 30% inferiore rispetto alle precedenti generazioni. Grazie

Tutto ha un prezzo
La famiglia di processori Intel Xeon E5-2600 verr offerta in 17 versioni diverse, con prezzi che variano da 198 a 2.050 dollari in lotti da 1.000 unit. Saranno inoltre disponibili tre versioni del processore Intel Xeon E5-1600 a singolo socket per workstation, con prezzi compresi tra 284 e 1.080 dollari. Per ulteriori informazioni: www.intel.com/xeon.

Newsdesk
Smartphone

Gli HTC multimediali

in breve
Manuale di Invoicex
Tempo fa abbiamo parlato di Invoicex, uno dei migliori software Open Source di fatturazione. Uno dei problemi di questo tipo di software la documentazione. Da qualche tempo disponibile in PDF un manuale davvero ben fatto. Lo trovate allURL www.studiorosapristina.it/index. php/manuali/invoicex.html e costa 7,50, IVA compresa e con aggiornamenti per un anno.

Errata corrige
Nel numero scorso, nellarticolo sulla programmazione Python, siamo incappati in un problema di impaginazione: le righe di codice pubblicate presentavano erroneamente tre simboli > a inizio riga. Ci scusiamo con i lettori e con lautore per lerrore: possibile scaricare il PDF dellarticolo corretto dallURL http://bit.ly/GIHpP9.

Dock per Android


Philips ha presentato tre nuove docking con altoparlanti per smartphone Android: il modello AS851 (prezzo consigliato 202,99), lAS351 (131,99) e il pi economico AS111 (80,99). Per informazioni: www.philips.com/sound.

Ecco i tre nuovo smartphone di HTC in bella mostra

TC ha presentato la sua nuova serie di smartphone Android 4, chiamata HTC One. composta da tre modelli che si caratterizzano per le seguenti propriet: FOTOCAMERA ImageSense, una gamma di strumenti per la fotocamera e la creazione delle immagini, e la nuova versione del chip ImageChip rendono estremamente veloce la fotocamera, in grado di scattare in meno di 0,7 secondi. Il nuovo autofocus superveloce di 0,2 secondi permette di scattare foto in sequenza quasi allinnito. Il nuovo obbiettivo f/2.0 consente un miglioramento delle immagini catturate in condizioni di luce poco favorevoli. Funzione molto interessante la Video Pic, cio la capacit di registrare video e scattare foto in simultanea. AUDIO Lesperienza audio in HTC One potenziata dallintegrazione con Beats Audio By Dr. Dre, per ottenere un suono pi pieno e autentico mentre si ascolta la musica, si sta guardando un lmato su YouTube oppure giocando. Il software integrato HTC Sync Manager, che si installa automaticamente sul computer, consente di condividere con facilit le canzoni con il PC. Per chi ama ascoltare la musica in streaming, HTC One consente di personalizzare il nuovo Hub musicale con i servizi e le applicazioni preferite, come Soundhound, offrendoti un unico spazio per tutta la tua musica. HTC One consente di portare la propria musica anche in auto, grazie alla semplicit del servizio HTC Car Stereo Clip, che consente di collegarsi a pi di 50.000 stazioni radio online in tutto il mondo o di selezionare musica da qualunque servizio o applicazione sul telefono e ascoltarla attraverso gli altoparlanti dellauto. Qualche parola sui tre modelli: HTC One X presenta un corpo unibody di policarbonato, ha una CPU Tegra 3 di Nvidia a 1,5 GHz e uno schermo HD 720p da 4.7 pollici con vetro Corning Gorilla Glass. LHTC One S, con CPU Qualcomm Snapdragon S4 dual-core no a 1.5GHz e schermo da 4.3 pollici con vetro Gorilla Glass, lo smartphone HTC pi sottile di sempre, con i suoi 7,9mm. HTC One V, invece, ha un processore a 1 GHz e una fotocamera da 5 Megapixel (contro gli 8 degli altri due modelli).

Lultimo hacker
LULTIMO HACKER Autore: Giovanni Ziccardi Editore: Marsilio ISBN: 978-88-317-1127-2 Prezzo: 17,50 ( 9,99 in versione ebook)

iovanni Ziccardi, professore alla facolt di Giurisprudenza dellUniversit degli Studi di Milano, dopo averci fatto pensare con il libro Hacker, che abbiamo recensito qualche mese fa, ci fa passare qualche ora di relax con il suo nuovo romanzo, Lultimo hacker. Il protagonista del romanzo un avvocato, Alessandro Correnti, che ha fatto parte in passato del miglior gruppo di hacker in circolazione e che improvvisamente si ritrova catapultato in due questioni molto delicate, un caso di pornograa infantile e uno legato alla tratta di cuccioli derivanti dallest europa, che lo metteranno contro dei brutti cef. Se questo non bastasse, il mentore del protagonista viene ucciso proprio mentre in procinto di svelare un colossale progetto di controllo delle persone tramite webcam. Andando da nord a sud (e viceversa) il protagonista girer tutta lItalia sfruttando tecnologie innovative e linventiva caratteristica di tutti gli hacker per venire a capo della situazione. Ziccardi, prendendo ispirazione da fatti reali, riesce a costruire un romanzo che vi catturer dalla prima allultima pagina. O almeno, a noi successo cos: abbiamo divorato le oltre 350 pagine in pochissimi giorni e sotto sotto speriamo di poter leggere altre avventure dellavvocato hacker (o dovremmo dire hacker avvocato?).

LINUX PRO 116

Mailserver
I nostri esperti offrono ogni mese i loro consigli di programmazione e di amministrazione del sistema

Scriveteci!
Se avete dei dubbi di natura tecnica, o volete semplicemente commentare i contenuti della rivista e del DVD inviate una e-mail a redazione@linuxpro.it oppure spedite una lettera al seguente indirizzo: Linux Pro Sprea Editori S.p.A. Via Torino, 51 20063 Cernusco S/N (MI) Invitiamo inoltre tutti i lettori a partecipare al nostro forum che si trova allindirizzo Web www.linuxpro.it, oppure a collegarsi al nostro canale IRC #lxp ospitato dalla rete irc.freenode.net.

Linux su vecchio portatile


Spettabile redazione, intanto voglio farvi i complimenti per la rivista perch grazie a voi ho iniziato ad apprezzare Linux e in particolare Ubuntu che sto utilizzando sul mio PC pur non essendo un grande esperto. La domanda che vi sottopongo la seguente: qual la miglior distribuzione Linux da utilizzare su un vecchio portatile Olivetti Xtrema 223S? Sul PC attualmente installato Win ME che intendo eliminare. Il PC verr utilizzato solo per navigare in Internet (attraverso una chiavetta USB perch il PC non ha la scheda di rete). Vi ringrazio per lattenzione che vorrete dedicarmi. GS

50 programmi 50
Carissimi redattori, ho molto apprezzato il vostro articolo 50 software per Linux. Di seguito la lista dei software per me irrinunciabili: GCC e GDB per lo sviluppo di software in C e Fortran make, awk, Bash e Python per la costruzioni di shell a completamento di procedure che fanno uso del software da me sviluppato xxdiff per la verica dei risultati oltre a Vim da voi citato trovo essenziale vim-x11 (noto anche come gvim), la suite completa di LaTeX, xdvi, dvips, latex2html per la costruzione della documentazione, a2ps per la stampa di testi xv, Ghostview e ImageMagic per visualizzazione e manipolazione graca convert per convertire le, ad esempio ps a pdf, ecc. Xpdf e Acroread per visualizzazione/stampa di le PDF OpenSSH per le connessioni remote Alpine come gestore di posta inne Firefox, gi nella vostra lista. Mentre, molto utili ma di uso pi occasionale dalla vostra lista GIMP, Selinux, VLC, LibreOfce. Spero che la mia risposta vi sia di qualche utilit. Maria Luisa

Ciao, la tua domanda casca a fagiolo: il Confronto di questo mese proprio dedicato alle distro da usare con PC di scarsa potenza. Come puoi vedere, la nostra preferita Puppy Linux e dovrebbe essere adatta anche al computer che vuoi usare, le cui caratteristiche hardware sono davvero minime. In alternativa possiamo suggerirti Damn Small Linux (www.damnsmalllinux. org) oppure ConnochaetOS (www.connochaetos.org/ wiki/). Ti indichiamo alcune alternative perch a noi capitato, usando PC con chipset VIA, di dover provare distro differenti prima di trovarne una che funzionasse al volo. In un caso lunica nostra salvezza si rivelata Lubuntu, un po pesante per il nostro PC dalle scarse prestazioni (ma dai consumi limitatissimi) ma che ha funzionato senza ulteriori interventi da parte nostra. Facci sapere come va.

Ciao Maria Luisa, quando i lettori ci dicono cosa pensano dei nostri articoli e condividono con noi le loro esperienze siamo sempre molto felici. anche per noi unoccasione di crescita. LXP

GIOCATI UN SUDOKU, TE LO OFFRE:


A S O LO

1,00

LA REGOLA E UNA SOLA


Per giocare a SUDOKU si deve riempire la griglia in modo che ogni riga, ogni colonna e ogni riquadro contengano le cifre da 1 a 9 una sola volta. Per esempio, una riga formata da 9 quadretti. In ciascuno dei quali va scritta una cifra scelta tra 1,2,3,4,5,6,7,8,9. Nella riga ciascuna cifra deve comparire una sola volta. Ci sono 9 righe e in ciascuna vale sempre la stessa regola: Sempre la stessa regola vale anche per le colonne. Ci sono 9 colonne, da riempire con le stesse cifre da 1 a 9, senza che si ripetano. Inne ci sono i riquadri 3x3, per un totale di 9 quadretti. In ciascun riquadro ogni cifra a 1 a 9 deve comparire una sola volta. Il gioco consiste nel riempire di cifre tutte le 81 caselle, rispettando contemporaneamente le regole per le righe, le colonne e i riquadri.

IG I IT T IG I IT T IG I IT T IG I IT TUT E NI D E NI D E NI D A LO A LO A LO A LOCIDE NI DEVO


Difcolt semplice

ICOLA TUTTI I GIOVED IN ED

Quando la PASSIONE si chiama COMPUTER!

CORRI SUBITO IN EDICOLA!

FAQ UEFI

Alcune domande su...

UEFI
Cerchiamo di capire quale impatto avranno sullinstallazione di Linux le nuove interfacce per lavvio del sistema che le grandi aziende hanno inventato

Cos lUEFI e perch stato creato?


LUnied Extensible Firmware Interface uno standard derivato dalle speciche EFI 1.10 pubblicate in origine da Intel. stato creato per standardizzare le operazioni dei computer al momento dellaccensione e le modalit di inizializzazione delle schede di espansione.

intendi per Cosaautorizzati? programmi binari non Potrebbero essere sistemi operativi sconosciuti, che signica non afdabili, oppure sistemi operativi preesistenti modicati senza permesso dopo lultimo boot. il Secure Boot In che modosoftware di cui riconosce il pu darsi? Le piattaforme che implementano il Secure Boot contengono un insieme di chiavi crittograche che permettono al rmware UEFI di riconoscere i driver hardware e i sistemi operativi che hanno una rma digitale valida e quindi possono essere caricati ed eseguiti.

che semplicemente si riuteranno di far partire qualcosa di diverso da Windows 8. al Cosa si sta facendoRedriguardo? La Linux Foundation, Hat e Canonical hanno pubblicato due proposte per rendere UEFI e Secure Boot compatibile con Linux o con qualsiasi altro sistema operativo.

Non quello che fa il ilBIOS? S, spesso si usa ancora Basic


Input/Output System sviluppato con il primo PC. Il BIOS per ha alcuni limiti che diventano sempre pi evidenti con il passare del tempo. di pi su questi Dimmi qualcosaconsistono? limiti... In cosa I limiti maggiori, per quanto riguarda Linux, sono relativi alla sicurezza: il BIOS non esattamente la soluzione migliore per tenere sotto controllo il malware che si carica al boot. A parte questo, a differenza dellUEFI, il BIOS specico dellarchitettura Intel x86: non pu costituire una soluzione comune per driver, malware e altri problemi di avvio che sia valida per i PC standard, i tablet e gli smartphone. Inoltre il nuovo standard contiene una shell che permette di eseguire comandi interattivi o script automatici al boot.

Qual il contenuto di queste proposte?


Si differenziano in numerosi dettagli, ma lidea di base la stessa: spedire i computer con il Secure Boot di UEFI in modalit di setup, cio in una congurazione che consenta allutente di disabilitarlo (a suo rischio e pericolo, ovviamente) e/o di controllare quali chiavi sono installate. Questo permetterebbe di congurare sistemi con boot multiplo o di lanciare distro Live da DVD e chiavette USB, anche con il Secure Boot abilitato. parlare Continui aemette? di chiavi, ma chi le Ah gi, chi? Questa davvero la domanda pi importante. La soluzione migliore sarebbe avere una Certicate Authority (CA) neutrale: unorganizzazione indipendente di cui tutte le parti interessate possano darsi e che possa essere riconosciuta come valida sorgente di chiavi digitali per terze parti che vendono hardware e software. Per quanto utile possa essere una simile CA, non necessario che le piattaforme UEFI supportino i sistemi aperti. Potremmo tranquillamente sopravvivere, e probabilmente ci toccher farlo per un po, con uno schema molto pi semplice che lasci il potere (e la responsabilit) di validare le chiavi agli utenti nali.

Cosasono queste chiavi? (PK) Una chiamata platform key


e (secondo le speciche attuali) viene installata dai produttori di PC nel rmware del sistema durante la sua produzione. altre chiavi? E lecosiddette Key-Exchange Keys Le (KEK) sono controllate dai venditori di sistemi operativi e dagli assemblatori. Dovrebbero essere usate per validare sistemi operativi e driver. un ampio supporto LUEFI hadellindustria da parte e, in caso affermativo, perch? S, ce lha, al punto da rendere molti sostenitori del Software Libero un pochino nervosi. Il programma di certicazione di Windows richiede che i sistemi venduti con Windows 8 installato abbiano il Secure Boot abilitato per default, che il rmware non permetta il controllo automatico del Secure Boot e che gli OEM impediscano tentativi non autorizzati di aggiornamento del rmware che possano compromettere lintegrit del sistema.

Chi controlla lUEFI?sito www. Il forum no-prot il cui


ue.org/home. Tra i suoi membri ci sono rappresentanti di aziende come AMD, Apple, IBM, Intel e Microsoft.

UEFI aluno standard aperto? Come solito dipende dalla tua


denizione di aperto. Le speciche sono disponibili gratuitamente. I promotori dellUEFI hanno inoltre stabilito che qualsiasi propriet intellettuale necessaria per implementare le speciche sar disponibile in forma ragionevole e non discriminatoria. In che modo lUEFI protegge i computer dal malware? Per mezzo di una procedura chiamata, indovina un po, Secure Boot, progettata per impedire il caricamento di programmi binari non autorizzati al momento dellavvio.

E la Free Software Foundation? Cosa dice a proposito dellUEFI?


Difende la tua libert di installare Software Libero, ovviamente. La FSF ha rilasciato una dichiarazione pubblica (http://bit.ly/ zz9BAF), aperta alla rma, che sottolinea limportanza per gli utenti di essere in grado di autorizzare qualsivoglia software ritengano afdabile e che chiede di votare

E questo male perch... ci produca Perch fa pensare che tutto


come risultato (anche se non c nulla nelle frasi riportate qui sopra che lo richieda esplicitamente) dei sistemi

LINUX PRO 116

UEFI FAQ

con il portafoglio, non comprando n raccomandando computer che non offrano questa possibilit.

Cosaone pensi? LUEFI una buona idea no?


Come tutte le cose pensate per proteggere la gente, quello che conta se tu hai la possibilit di decidere da chi vorresti essere protetto. LUEFI pu essere una buona cosa se non aumenta la sicurezza riducendo le possibilit di scelta. In pratica tutto dipende da come viene realizzato.

Esatto. A parte questo, la decisione di rendere aperto il Secure Boot, cio di vendere sistemi in modalit di setup con la possibilit di aggiungere le tue chiavi di validazione, nelle mani dei venditori di hardware. venditori di hardware Ma i bloccheranno in ogni caso non i loro sistemi, solo per far contenta Microsoft e ottenere prezzi migliori per Windows 8? I produttori di hardware e gli assemblatori venderanno sicuramente schede madri o computer assemblati con il Secure Boot abilitato per default, perch vogliono il logo Windows 8. Al momento in cui scriviamo per non sembra esserci alcuna richiesta da parte di Microsoft (nellipotesi che riuscissero a imporla, vedi sopra!) per rendere impossibile lavvio di altri sistemi operativi, e i margini di protto sullhardware per PC sono molto bassi oggigiorno. Perch infastidire gli utilizzatori di Linux o chi vuole installare vecchie versioni di Windows o riutilizzare qualche periferica pre-UEFI?

Di nuovo, non penso che lUEFI far una grande differenza. Le persone che non installeranno Linux perch dovrebbero pasticciare con lUEFI sono le stesse che non sono in grado di capire come abilitare lavvio da CD nel BIOS. La vera ragione per cui molte persone non usano Linux non ha niente a che fare con quanto sia complicata linstallazione.

Qual aiallora?o a un altro software Pensa giochi


proprietario che gira solo su Windows, oppure alla paura di usare uninterfaccia differente. Si tratta di deterrenti molto pi potenti di uno o due click in pi allinizio del processo di installazione e non hanno nulla a che vedere con lUEFI.

Quindi non pensi che il Secure Boot possa allontanare la gente


da Linux? La mia impressione che non ci sar nessuna signicativa differenza a questo livello. Naturalmente se lUEFI fosse congurato per rendere impossibile linstallazione di altri sistemi operativi sarebbe davvero un guaio, ma a questo punto si tratterebbe di una questione generale che riguarda i diritti dei consumatori.

S, penso che tu abbia ragione. Unultima domanda: come posso


avere maggiori informazioni sullUEFI? Io suggerisco due white paper (in inglese) della Linux Foundation e di Red Hat e Canonical: Making UEFI Secure Boot Work With Open Platforms (http://bit.ly/wId8ax) e UEFI Secure Boot Impact on Linux (http://bit.ly/wCGBkX). Non si tratta di documenti ufciali, ma sono i pi importanti per gli utenti GNU/Linux. LXP
LINUX PRO 116

Intendi dire qualcosa che i controlli Ma lUEFI renderebbe comunque difcilmente supererebbe il processo di installazione
a difesa dei consumatori e le regolamentazioni contro i monopoli? di Linux molto pi complicato, spaventando i principianti!

OVH EG

essere in grado di gestire completamente il vostro server tramite uninterfaccia semplice. Noi offriamo una vastissima gamma di sistemi operativi tra cui scegliere e che potrete installare in qualche click. Questa gamma di prodotti include sistemi operativi tradizionali come Debian, Ubuntu o pi specici come hadoop, esxi, cos come una vasta scelta di versioni di Windows Server. Per incrementare la potenza del vostro server, OVH offre la possibilit di geolocalizzare i vostri indirizzi IP aggiuntivi, la scheda Raid Hardware, il KVM dedicato lArchivio NAS dedicato, da 100 GB a 3.6 TB (100% di disponibilit, con garanzia di rimborso dal primo minuto di malfunzionamento), i firewall hardware e VLAN configurabili tra i vostri server. Non esitate a consultare il nostro sito per maggiori informazioni su questi servizi aggiuntivi. Dal 1999 OVH ha posato la sua propria rete di fibra ottica in Europa. un infrastruttura unica sul mercato. Queste caratteristiche sono mozzafiato: Una larghezza di banda di 1 Tbps (1000Gbps), una connessione su 31 punti di peering in 3 continenti e manutenzione operativa 24 ore su 24, 7 giorni su 7. I molti punti di connessione con i vari provider europei permettono ad OVH di trasferire istantaneamente il proprio traffico sulle reti dei suoi partner in caso di problemi tecnici o congestione del traffico. Questa politica di peering consente allHosting Provider di interconnettersi direttamente con lISP dei propri clienti. Risultato: Il tempo di accesso ai contenuti di OVH ottimizzato. OVH ha scelto di creare la propria rete in maniera totalmente ridondante. Sono state adottate moltissime misure di sicurezza per scongiurare ogni tipo di rischio. Questa qualit del servizio non danneggia per le performance. Il Tbps di banda passante garantisce appunto un trasferimento di dati ad altissima velocit. Il server OVH EG BestOf un ottimo equilibrio tra costi e prestazioni. Se avete bisogno di un server su cui alloggiare i vostri siti web, i database, i le server o qualsiasi altro tipo di applicazione, questo server sempre allaltezza della sda. In aggiunta, tutti i server dedicati OVH sono Cloud Ready, quindi dovrete soltanto installare lHypervisor di vostra scelta e iniziare a virtualizzare i vostri progetti immediatamente. Per maggiori informazioni, potete visitare il nostro sito www.ovh.it/DS, oppure contattatarci al numero 02 55600423

Server BestOF
La soluzione di server dedicato che combina flessibilit e controllo totale ad un prezzo competitivo.

Il server EG BestOF un preciso equilibrio tra costi e prestazioni. dotato di processori Intel allavanguardia, 1 Gigabit di connessione e dellhardware pi recente per gestire progetti che necessitano di elevata potenza, per poco meno di 110 euro. Il nostro team di produzione ha creato questo modello di server con la CPU Intel Xeon W3520, lHyper-Threading ed il sistema di raffreddamento liquido OVH per garantirne lafdabilit. Tutto questo implementato con 24GB di RAM DDR3, in grado di gestire anche le applicazioni pi pesanti. Per proteggere i dati, il sistema equipaggiato con 2 HARD DRIVE SATA da 2TB, congurati di default in RAID1 (completamente personalizzabili se vengono preferite le prestazioni piuttosto che la stabilit). Questo modello di server viene fornito con 1 Gbps Lossless, con un contratto di trafco mensile di 20TB, che pu essere incrementato in un click a soltanto 0,99 euro per TB. Il network lossless garantisce disponibilit di rete

attraverso 2 differenti uplinks. Se necessitate di pi essibilit, OVH offre anche altri server con 100Mbps oppure 10Gbps di connessione.

Il vostro server in tutta sicurezza.


Laccesso sicuro grazie alla connessione SSH. Potrete gestire le vostre chiavi SSH direttamente dallinterfaccia di gestione OVH. Il sistema di sicurezza OVH pu individuare gli attacchi in meno di 3 minuti e proteggere il vostro server immediatamente. Anche i datacenter OVH sono securizzati al massimo e monitorati costantemente (con sistemi di sicurezza biometrica, sistemi anti incendio, sorveglianza sica 24 ore su 24 e 7 giorni su 7). Oltre agli aspetti riguardanti la sicurezza, OVH permette il pieno controllo sui propri server. Tra le numerose funzioni disponibili senza costi aggiuntivi vi sono: la reinstallazione automatizzata e senza controlli, il riavvio da remoto, la modalit diagnostica... In un ambiente di lavoro in cui mobilit e adattabilit sono onnipresenti, fondamentale

Con lo sguardo
verso il futuro
Se avete bisogno di una configurazione completamente personalizzabile per iniziare ad alloggiare i vostri siti web o di impostare progetti multipli che richiedono una elevata potenza, la scelta di un hardware adatto assicura i pi alti livelli di performance per il vostro server. Al fine di garantire che il vostro server dedicato sia in grado di realizzare i vostri progetti in maniera efficiente, importante scegliere la giusta combinazione tra i processori,

State cercando un hos ting provider che combini f lessibilit ed un controllo totale?
RAM e dispositivi di archiviazione di pi alta qualit a livello mondiale. Il vostro server sar quindi perfettamente adattato per i vostri progetti. Avendo scelto, a partire dalla sua creazione nel 1999, di controllare la propria catena di produzione di server, OVH garantisce ai propri clienti tempi di risposta senza confronti (server disponibili in unora) potendo cos offrire una vasta gamma di possibili configurazioni: Da un processore Intel Core 2 Duo 2x 2.33+ Ghz con 4 GB di RAM ad un 8 core Intel Bi Xeon E5606 2x4x2.13+ Ghz con 24GB di RAM ed una MegaRAID card da 6Gb/s. Con una posizione leader nel mercato europeo, OVH pu beneficiare di una partnership privilegiata con Intel e quindi offrire ai suoi clienti server equipaggiati con gli ultimi e pi potenti processori, non appena vengono immessi sul mercato.

Per maggiori informazioni, potete visitare il nostro sito www.ovh.it/DS, oppure contattarci al numero 02 55600423

OVH.IT
Domini E-mail Web hosting VPS Server dedicati Private Cloud Cloud SMS

Leader europeo nellhosting internet

Raspberry Pi Raspberry Pi

Raspberry Pi
un PC (ma non solo) A da 33 euro!*in*IVusa cl
Vi presentiamo il nuovissimo computer da taschino, leggete e stupitevi!
Ringraziamenti
Alcune delle foto sono prese dal sito Raspberry Pi, mentre la splendida immagine 3D di John confusis Morrison.

Lautore
Roberto Premoli

piccola - queste este s sono le sue dimensioni realii al La tua scheda SD va qui Alimentazione mini USB a 5V V come quella dei telefoninii fonin Uscita video HDMI

Sy System On Chip (SO processore, (SOC): RAM, scheda R graca Porte USB P Connessione Co Ethernet E
non deve essere andato per il verso giusto! Certo si dir ci sono pi risorse hardware e il software le sfrutta. Ma software pi pesante richiede a sua volta hardware pi potente e cos via in un circolo vizioso che serve principalmente a forzare nuovi acquisti hardware e software: anche i programmi e le distribuzioni GNU/Linux si sono ammalate di pesantezza (KDE, LibreOfce, Firefox, ecc.): a nostra parziale discolpa, va sottolineato che la vasta scelta di software GPL e laccesso ai sorgenti permette modiche e ottimizzazioni impossibili per il software a sorgente chiuso.

e guardiamo alle necessit aziendali, nel 2000 un computer buono era un Pentium II a 400 MHz, 128 MB di RAM e un disco rigido da 4 GB con Windows NT. Oggi, nel 2012, ci troviamo sulla scrivania in ufcio un dual core a 3 GHz, 2 GB di memoria, 750 GB di disco sso per eseguire programmi di posta elettronica, foglio di calcolo, videoscrittura, accesso a database... le stesse attivit da ufcio di 12 anni fa. E allora perch serve hardware pi potente? 64 MB di memoria erano sufcienti per Windows NT e gli applicativi che ci giravano sopra, Windows 7 vuole almeno 1 GB solo per s stesso: qualcosa, da qualche parte,

Gli utenti ormai non vogliono pi sapere nulla dei loro computer premono solo i pulsanti
sappiamo bene in che direzione guardare alla ricerca dei responsabili di questa situazione... Per noi seguaci del Software Libero non siamo scevri da colpe perch

CPU potenti, software pesante

Negli anni sessanta del ventesimo secolo, una osservazione empirica di Gordon Moore, passata alla storia come Legge di Moore (http://it.wikipedia.org/ wiki/Legge_di_Moore), sosteneva che il numero di transistor per millimetro

12

LINUX PRO 116

Raspberry Pi
quadrato sarebbe raddoppiato a cadenze temporali sse. Dato che le prestazioni di una CPU sono pi o meno collegate al numero di transistor che contiene, leggendo il graco da un altro punto di vista ne conseguiva che i prezzi dei microprocessori mantenendo costanti le prestazioni si sarebbero dimezzati nello stesso arco temporale. Una CPU Pentium II, molto costosa nel 2000, otto anni sarebbe calata a circa 50 centesimi di Euro: purtroppo, a tale data un P2 era considerato troppo debole per gestire il software pantagruelico che si era nel frattempo sostituito a quello snello e veloce del 2000. La costante rincorsa tra hardware e software che condannava gli utenti a periodici aggiornamenti era un meccanismo perfetto, ben oliato e apparentemente inarrestabile. Certo, non sta ancora nei vostri PC, ma in router, apparati di rete, lavatrici, autoradio, modem, palmari, tablet, telefoni cellulari multimediali, fotocopiatrici, dischi rigidi, centraline elettriche, stampanti e in uninnit di altre apparecchiature troverete solo e soltanto microprocessori ARM: il segreto la loro architettura semplice e scalabile, che si traduce in consumi ridottissimi e prezzi stracciati. Quindi alla domanda dov il mio PC economico? siamo perci nalmente in grado di rispondere Qui, e si chiama RaspberryPi. Il prezzo? 28 euro (+IVA)! Ovviamente il sistema operativo che ci gira sopra GNU/Linux.

Davide e Golia
Anche se alla ne del ventesimo secolo nulla sembrava potersi opporre alla tecnologia x86, nascevano intorno al 1982 nuovi concetti implementativi che davano il via a famiglie di processori, successivamente cresciute e maturate lontano dalle scrivanie degli utenti nali: una su tutte, ARM (http://it.wikipedia. org/wiki/Architettura_ARM), che larchitettura pi diffusa a livello planetario (75% del mercato mondiale embedded).

Lhardware
Eben Upton, il pap della Raspberry Pi, appartiene alla vecchia guardia, la generazione di ultra quarantenni che si fecero le ossa sugli home computer a 8 bit dei primi anni 80 del 20 secolo, imparando a pilotare tramite il bus di espansione i pi svariati apparati, il pi delle volte auto costruiti. Successivamente insegnante a Cambridge, Upton era stanco di vedere curriculum di studenti che riportavano come competenza la capacit di usare un elaboratore di testo, un foglio elettronico o di saper realizzare pagine Web, ma nessuno diceva di saper programmare, usare un oscilloscopio o quale fosse la parte giusta da cui impugnare un saldatore. Upton concluse che le nuove leve non avevano competenze perch, nito il periodo degli home computer, mancavano dei mezzi per svilupparle: un PC piccolo ed economico avrebbe potuto essere una buona base di studio per gli studenti desiderosi di pasticciare e imparare sul campo, come aveva fatto lui a suo tempo. Lasciato linsegnamento per lindustria, il nostro si diede da fare per mettere in pratica la sua intuizione: il risultato stata la fondazione RaspBerry, un ente no-prot che ha come scopo principale quello di avvicinare i giovani (ma in prospettiva, chiunque) alla programmazione e la diffusione dellInformatica e dellElettronica. Grazie a una dotazione hardware oculatamente selezionata, la scheda RaspberryPI (da ora in poi RP), prodotta dalla fondazione, un PC completo a bassissimo costo. Le dimensioni minime si ottengono grazie allutilizzazione di un SoC, System-on-Chip. Aprite il vostro portafogli ed estraete la carta di credito, la tessera Bancomat o il badge della palestra... fatto? Bene, avete in mano un oggetto con le stesse dimensioni della Raspberry Pi!

in meno di due centimetri quadrati. Nello specico, la CPU un ARM a 700 MHz modello ARM1176JZF S ARM1176JZF-S, la GPU una Broadcom Videocore IV a basso consumo energetico, in grado di riprodurre uidamente un video HD a 1080p e gestire graca 2D e 3D, mentre il DSP (Processore di Segnali Digitali) espressamente deputato a dare una mano durante la gestione di ussi multimediali. Non fatevi ingannare dalla dotazione hardware apparentemente povera: la scheda ha tutto il necessario per funzionare dignitosamente. Il BCM2835 prodotto da Broadcom, che ha rilasciato il documento BCM2835-ARM-Peripherals.pdf (scaricabile

La scheda despansione Gertboard trasforma Raspberry Pi in un Arduino con gli steroidi. Tutte le possibilit offerte dal GPIO, ma con la potenza di calcolo di un PC

Caratteristiche hardware
CPU ARM ARM1176JZF-S a 700 MHz GPU Broadcom Videocore IV (max 1920x1080) 256 MB di RAM porta di rete 10/100Mb/s (assente nel modello base) due porte USB (una nel modello base) uscita audio jack 3,5 mm uscita video composito (il connettore coassiale per connessioni al televisore) uscita video HDMI connettore per scheda di memoria SD (che contiene il rmware) 17 di linee di I/O, alcune preimpostate come SPI, I2C, RS232 un connettore DSI per collegare un display LCD un connettore CSI per webcam dimensioni: 8,6mm x 5,4mm 50 grammi di peso

Massima integrazione
La scheda ha solo due chip, dei quali il pi piccolo serve alla gestione della rete e delle porte USB. Ma dove sono CPU, RAM e tutti gli altri componenti necessari al funzionamento di un PC? Tutti nel chip pi grande, che in realt composto da due integrati sovrapposti: uno la RAM vera e propria, laltro contiene CPU, GPU, DSP e la logica di interconnessione tra le varie parti, il tutto condensato

LINUX PRO 116

13

Raspberry Pi
necessario alla riproduzione di lmati 1080p30 (1080p, 30 fotogrammi al secondo): occorre tenere conto di questo fatto quando deciderete lo scopo nale della scheda. La RP modello B ha 256 MB di RAM, per la cronaca; linea RS232 - il baudrate della UART (un dispositivo che converte ussi di bit da un formato parallelo a uno seriale asincrono o viceversa) funzione diretta del clock di sistema, quindi si pu andare oltre il lento valore standard di 115200 b/s; anche le connessioni I2C e SPI dipendono dal clock generale, possibile spingere la velocit al massimo ammesso dalle periferiche che si desidera interfacciare; inoltre, la SPI pu essere congurata in modalit bidirezionale, risparmiando cos un pin del GPIO (interfaccia per linput/output); disponibilit di PWM completamente congurabili; 4 timer a 32 bit, 1 timer a 64 bit; GPIO impostabili come linee di interrupt.

Perch ARM?
Il Dr. Robert Mullins, uno dei fondatori della Fondazione Raspberry, mostra una delle prime schede Raspberry Pi in versione beta. Questo dispositivo fa parte di quelli venduti su Ebay allo scopo di recuperare fondi per la fondazione

da http://bit.ly/GN1ZgV) nel quale viene spiegato un po in dettaglio come funziona e quali caratteristiche tecniche contraddistinguono questa scheggia di silicio che batte nel cuore della RP. Ci siamo passati le oltre 200 pagine di PDF e qui di seguito sono elencate le parti pi interessanti: memoria - la quantit minima di memoria dedicabile alla GPU di 32 MB, tuttavia tale quantit non sar sufciente per gestire il usso di dati

Transistor di silicio, la fine vicina


Allindirizzo Web http://bit.ly/GMtbJT potete ammirare la foto del primo transistor del 1947, ma per vedere i suoi attuali nanometrici nipotini, un potente microscopio non basterebbe! Lefcienza di un microprocessore determinata dalla dimensione dei transistor che lo compongono: lo stato dellarte sono le CPU a 22nm ma le multinazionali (IBM, Intel, ecc.) fanno a gara per creare transistor sempre pi piccoli, veloci ed efcienti. Purtroppo le leggi siche pongono dei limiti tra gli 8 e gli 11nm oltre i quali non possibile scendere. La corsa verso il basso verr bloccata tra pochi anni dal muro del silicio e si dovr passare ad altri materiali, come il Carbonio e gli altri elementi afni al Silicio. Mettiamoci comodi in poltrona perch lo spettacolo sar affascinante: assisteremo al passaggio tra una Era e la successiva! Ecco alcuni link per approfondire largomento: http://it.wikipedia.org/wiki/11_nm http://bit.ly/GNU94z www.miascienza.com/?p=547 http://bit.ly/GKMcxL

RISC contro CISC


La losoa CISC nasce per prima ed glia delle limitazioni tecnologiche del tempo, quando la poca RAM disponibile era costosa e i compilatori molto primitivi. RISC, pi giovane, presupponeva compilatori efcienti e RAM abbondante, come poi si vericato. Le due losoe inizialmente agli antipodi hanno, nel tempo, copiato le caratteristiche positive dellavversario. RISC ha aumentato il numero delle istruzioni supportate, adottando la pipeline e la cache, mentre CISC ha aumentato il numero di registri e tentato di snellire il lento microcodice che nei RISC sostituito da una veloce unit di decodica delle istruzioni realizzata direttamente in hardware. Purtroppo una disamina pi dettagliata, oltre ad esulare dallo scopo di questo articolo, richiederebbe troppo spazio: potete trovare ulteriori dettagli allURL http://bit.ly/GH7GcW.

Chiariamo subito che le CPU ARM sono sviluppate con losoa RISC (usano cio un set ridotto di istruzioni, http://it.wikipedia.org/wiki/RISC), mentre gli x86 sono basati sulla losoa CISC (http://it.wikipedia.org/wiki/CISC). Sacrichiamo la correttezza formale a favore di una semplicazione espositiva e identichiamo con il nome dellarchitettura (o del principale produttore: Intel) quella che in realt una losoa progettuale. da notare che ARM Holdings, la societ che ha progettato le CPU ARM, non produce essa stessa i chip ma si limita a dare in licenza la possibilit di farlo a chiunque lo desideri, con levidente vantaggio del cliente di poter personalizzare il prodotto nale. Dagli esordi a oggi ci sono state delle continue evoluzioni: dalla prima versione ARMv1, alla recentissima ARMv8. A scapito dell11 contenuto nel nome, lARM1176JZF-S un ARMv6, che si distingue dai fratelli minori per la disponibilit del coprocessore matematico mentre dai maggiori v7 lo differenzia un inferiore numero di istruzioni in linguaggio macchina; inne il top di gamma v8 prevede il supporto per i 64 bit. Va detto che un confronto muscolare tra x86 e ARM non avrebbe storia: x86 ha, e avr ancora per un po, la palma delle prestazioni. Mentre x86 sacricava sullaltare delle potenza elaborativa tutto il resto, ARM otteneva la vittoria per quanto riguarda i consumi: infatti praticamente monopolista dei prodotti a batteria, come tablet e cellulari. Mantenendo sempre il focus sul binomio basso prezzo e minima richiesta energetica, negli anni recenti larchitettura ARM cresciuta sul fronte prestazioni, tanto che Asus ha cominciato nel 2009 a offrire qualche netbook con CPU ARM, anche se Intel aveva gi annusato il pericolo n dal 2008, quando aveva messo in commercio lAtom. Nonostante questo iniziale vantaggio, il peccato originale dellAtom (e di tutte le CPU x86) la sua architettura CISC, concettualmente inferiore allarchitettura RISC. Ci dimostrato dal fatto che i vari modelli di Atom contengono un numero di transistor che va dai 47 ai 123 milioni, mentre lARMv6, per fare pi o meno le stesse cose, ne ha bisogno meno di cinquecentomila! Intel pu

14

LINUX PRO 116

Raspberry Pi
ridurre, ottimizzandola, la geometria dei transistor o inventarsi velocissimi transistor tri-gate, ma non pu diminuirne il numero sotto una soglia minima, che comunque un paio di ordini di grandezza oltre il nostro piccoletto. In altre parole, questa architettura pi che trentennale sta raggiungendo i suoi limiti e i produttori possono solo ottimizzare il come fatto, non possono migliorare il cosa : la complessit degli x86 cresciuta esponenzialmente negli anni (pipeline, cache, branch prediction, aumento della velocit di clock, multicore, ecc.) proprio per compensarne le carenze architetturali, mentre gli spazi di crescita delle CPU ARM non sembrano ancora far intravedere dei limiti. Essendo intrinsecamente affamate di energia, le CPU x86 non possono facilmente scendere nel vastissimo mercato dei dispositivi a batteria (tablet e cellulari) mentre al contrario, quelle ARM possono salire nel dominio degli x86 (portatili, desktop e server) semplicemente aumentando le prestazioni. Se no ad oggi x86 ha garantito la retrocompatibilit dei software basati su Windows, salvaguardando i relativi investimenti degli utilizzatori nali, lattuale parco software GPL offre una gamma di programmi che copre la maggioranza delle necessit, aumentando agli occhi dei potenziali clienti lappetibilit della tecnologia ARM. Insomma, se fosse una onesta partita di calcio, la nostra previsione in schedina per ARM contro x86 sarebbe un uno sso. Con la sua piattaforma Tegra, Nvidia dimostra di credere nella tecnologia ARM e anche Microsoft si accorta del cambio di rotta del mercato, visto che sta realizzando (http://bit.ly/GM6OIv) una versione di Windows 8 compatibile ARM. Forse sarebbe il caso di cominciare a diversicare i vostri investimenti, dando ordine al vostro amministratore nanziario di spostare senza dare troppo nellocchio qualche centinaio di milioni di euro da azioni x86 ad azioni ARM.

GPIO, la porta sul mondo


Il SoC alimentato a 1.2V (1V2), ma la scheda usa lo standard 3V3 per tutte le linee di comunicazione del GPIO: quindi se pensate di espandere il numero di linee digitali con un classicissimo chip 8255 (http://en.wikipedia.org/wiki/Intel_8255), sappiate che solo un modo per danneggiare la scheda in quanto NON accetta tensioni oltre i 3V3, RICORDATEVELO! Se volete connettere dei vostri circuiti a 5V dovrete uniformarvi ai 3V3 e interporre dei chip di traslazione segnale come quelli appartenenti alla famiglia MAX3372EMAX3379E/MAX3390E-MAX3393E o equivalenti. Interessante notare che Gert van Loo, uno dei tecnici che ha lavorato alla Raspberry Pi, ha sviluppato una scheda di espansione (Geartboard) per poter controllare led, motori (max 48V@4A), sensori e tutti quegli strumenti che mandano in sollucchero gli appassionati di elettronica. La Geartboard intelligente in quanto monta a bordo un PIC18F26K20 (con i suoi utilissimi 10 ingressi analogici a 10 bit), tre buffer 74HC244 e altre cosucce che vi lasciamo il piacere di scoprire da soli. Lidea degli sviluppatori metterla in vendita dopo linizio della commercializzazione della Raspberry Pi, quindi pu darsi che la troverete gi nella sezione Vendite del sito nel momento in cui leggerete queste righe. A tutti far piacere sapere che, nel puro stile di condivisione del sapere, gli schemi costruttivi delle schede sono o saranno liberamente disponibili per la consultazione, copia e modica.

Questo lo schema logico della CPU ARM

Ecco quanto sono grandi (o dovremmo dire piccoli?) i chip a bordo della Raspberry Pi!

Unimmagine ravvicinata delle schede RP, tutte vendute su Ebay, che mostra chiaramente le caratteristiche principali. La cosa pi impressionante il piccolo SoC al cuore del dispositivo LINUX PRO 116

15

Raspberry Pi

Il software
venuto il momento di mettere le mani sulla scheda, per saggiarne le caratteristiche. Per sicurezza, ecco cosa vi pu servire (e cosa ci siamo procurati noi) per usare la Raspberry Pi: un convertitore/sdoppiatore PS/2-USB che permette di usare tastiera e mouse PS/2, lasciando cos libera una porta USB per altre attivit (ad esempio per collegare un disco USB o una scheda di rete wireless); in alternativa alla precedente opzione, un replicatore di porte USB che permette di usare qualunque tipo di periferica compatibile; un convertitore HDMI-DVI, per connettere un monitor LCD 1440x900; tastiera e mouse (PS/2 o USB); una scheda di memoria SD da 2 GB che funger da memoria di massa; cufe o casse audio (opzionali); lettore DVD esterno USB e/o disco esterno USB (opzionali). Osservando la scheda, viene naturale constatare che la maggior parte della supercie occupata da connettori: le porte USB e la presa Ethernet sembrano piccole su una scheda madre di PC,
La Raspberry Pi sta ispirando una nuova generazione di tutorial su Linux e sulla programmazione

Qualche idea
RaspberryPI una miniera di opportunit: accenniamo brevemente alcuni suoi possibili impieghi.

scheda di espansione in grado di fornire ulteriori linee USB, network e GPIO. Accatastandone un paio, si ottiene cos un panino di schede appetibile per gestire quattro dischi USB-RAID o grazie alle due schede di rete, un sistema di rewalling.

E
Tramite VPN, si possono controllare vari apparati: non sarebbe male poter accendere il riscaldamento della casa in montagna prima di partire, in modo da trovare una temperatura confortevole (e non i soliti quattro gradi centigradi) quando si arriva.

A
Sono possibili connessioni seriali punto-punto: il protocollo RS232 permette una distanza di una dozzina di metri, ma adottando il protocollo RS422 (http://it.wikipedia.org/ wiki/RS422), la distanza tra i due terminali pu superare tranquillamente il chilometro. Un paio di schede opportunamente congurate possono cos estendere un segnale TCP/IP via seriale, attivit necessaria nei casi in cui non sia richiesta unelevata velocit di connessione, in cui posare un cavo di rete troppo costoso e utilizzare una connessione senza li impossibile (ad esempio: tunnel con curve, edici storici con muri spessi, ecc.).

F
Videosorveglianza: installatela sul tetto con un paio di motori per pilotare rotazione e inclinazione di una webcam ed ecco che diventa possibile controllare tutto il giardino senza muoversi dalla scrivania.

B
Connettendo dei chip esterni potete fare un multiplex della linea RS232, trasformando cos la scheda in una multi-seriale, mentre se siete dei programmatori, potreste scrivere un software per trasformare lintero bus GPIO in otto linee seriali indipendenti.

G
Con uno o due dischi esterni connessi tramite USB, la scheda diventa un poco ingombrante leserver, client torrent, backup di rete, server FTP, ecc.

C
La Raspberry Pi presenta anche gli standard I2C e SPI. Sensori per rilevare temperatura, umidit, pressione atmosferica, raggi infrarossi, eccetera, ma anche memorie EEPROM, inclinometri, convertitori analogico/digitale o digitale/analogico, rilevatori di gas, orologi su chip: potete connettere e controllare praticamente qualunque tipo di strumento o sensore.

H
Inserita in un monitor LCD (o in un televisore), lo trasforma in un economico PC tutto in uno.

I
Inserita in una tastiera, diventa un computer portatile. Per quelli che si ricordano dei gloriosi ZX Spectrum o Commodore 64: con un buon emulatore, potreste far rivivere i giochi della vostra (lacrimuccia) giovinezza con lo stesso o quasi - look and feel degli anni 80! Come vedete, le idee sono tante e chiss che non ne realizzeremo qualcuna nei prossimi numeri di Linux Pro!

D
Le schede costano poco, perch non comprarne una seconda? Connettendole con una linea seriale ad alta velocit (il protocollo SPI sembra il pi adatto) si ottiene una potente ed economica

16

LINUX PRO 116

Raspberry Pi
ma sulla RP diventano giganti ingombranti. La scheda di memoria SD deborda per quasi la met della lunghezza e il suo connettore d una sensazione di delicatezza, suggerendo attenzione nelluso. Desta perplessit la scelta di tale formato, si sarebbe potuto privilegiare le ormai diffuse microSD (1,65cm2), grandi meno di un quarto delle SD e quindi perfette per una scheda dove anche pochi centimetri quadrati contano: lo spazio avanzato poteva tranquillamente essere occupato da qualche chip/connettore o usato per rendere disponibili ulteriori linee per il connettore GPIO. Indagando nel sito della scheda, si leggono le giusticazioni dei progettisti, che sottolineano ancora una volta che la scheda pensata principalmente a scopo educativo per giovani studenti per i quali una microSD pi facile da perdersi e presenta un connettore ancora pi delicato (e costoso) delle SD. Onestamente come scusa sembra un po debole, ma va riconosciuto che pi facile criticare che progettare.

E se non ho la Raspberry Pi?


Il primo lotto era di soli diecimila pezzi che si sono volatilizzati pi velocemente di una palla di neve in un altoforno tanto era forte la domanda, lasciando comunque frustrati i desideri di centinaia di migliaia di pretendenti! Il sito della fondazione stato sommerso da contatti, tanto che risultato irraggiungibile per alcune ore, mentre i due distributori (Farnell e RS Components) che avevano portali Web molto pi adeguati a elevati carichi di lavoro, hanno avuto ugualmente problemi per gli eccessivi accessi. Dovrete quindi aspettare il secondo (o terzo) lotto di produzione prima di poterne avere una, ed meglio se cercate di prenotarla in anticipo registrandovi presso il sito di uno dei due rivenditori: nel frattempo potete prendere condenza con il sistema operativo tramite un emulatore. Come procurarvi limmagine lo sapete, andiamo perci a smontarla per i nostri scopi. Useremo come sistema ospite un PC a propulsione Pinguina al gusto Debian 6.0 stabile, lemulatore scelto lottimo Qemu. Apriamo un console graca, posizioniamoci nella directory contenente limmagine e procediamo con dd if=debian6-17-02-2012.img of=debian_root.ext4 skip=157696 count=3256320 Scaricate un kernel gi fatto compatibile con Qemu da dl.dropbox.com/u/45842273/ zImage_3.1.9, copiatelo nella stessa directory di lavoro che state usando e lanciate lemulazione con qemu-system-arm -m 256 -M versatilepb -cpu arm1136 -hda debian_root.ext4 -kernel zImage_3.1.9 -append root=/dev/sda -serial stdio Ora siete dentro! Potete procedere come se foste nativi sulla Raspberry Pi e pensandoci bene questo potrebbe essere un ottimo modo per fare tutte le prove che volete senza stressare la SD, per poi riversare il risultato dellelaborazione sulla stessa una volta nito il lavoro. Come avrete notato, la CPU emulata una ARM1136 perch la ARM1176 contenuta nel SoC non supportata da Qemu 0.12.

Quale distro?

Il sistema operativo per la Raspberry Pi scaricabile sotto forma di immagine compressa da http://elinux. org/RPi_Community#Italy. Quando leggerete larticolo saranno disponibili anche Fedora, Arch Linux e forse addirittura Gentoo: ovviamente noi abbiamo scelto la migliore del mazzo cio Debian 6.0 per ARM. Dal successiva rispetto a quello di base, probabilmente nostro PC di servizio labbiamo scaricata, decompressa per sfruttare al meglio le potenzialit dellhardware. Per il e poi riversata sulla schedina SD (connessa tramite login occorre fornire la solita accoppiata utente/password un adattatore USB e vista come /dev/sdb) con i comandi che stranamente pi/suse per poi avviare la graca con unzip debian6-17-02-2012.zip startx cd debian6-17-02-2012 Eccoci ora di fronte al buon LXDE che sembra dd if=debian6-17-02-2012.img of=/dev/sdb la scelta migliore come ambiente desktop per questo Ricordiamo che la velocit di boot diretta funzione hardware non potentissimo. Apriamo una console, di quanti dati vanno letti dalla memoria SD e quanto diventiamo root con rapidamente questa possa fornirli. Lo standard prevede sudo su vari gradi prestazionali indicati come CLASSE 2, 4, 6 e aggiorniamo il sistema con o 10: il numero sta a indicare i MB/s scrivibili in modo apt-get clean continuativo sulla scheda, ma anche la velocit di lettura apt-get update risente della classe. Sono stati riportati problemi apt-get dist-upgrade con schede di classe 10, ma probabilmente si tratta Notiamo pochi programmi installati, per esempio c lo di una carenza a livello driver di Linux. Inserita la SD, scattante Midori invece del pesante Iceweasel, che connettiamo monitor, mouse e tastiera e diamo corrente comunque installiamo (con il solito apt-get install) alla scheda (via mini USB): la prima cosa strana che balza allocchio che il boot lo fa la GPU e non la CPU. Allaccensione, la GPU esegue un rmware che dopo le veriche hardware di rito, passa il controllo al bootloader: si noti che questultimo e il rmware risiedono sulla schedina SD che quindi deve essere sempre presente per gestire la partenza dellhardware. Il sistema operativo vero deve risiedere in una seconda partizione della scheda SD o su periferica connessa tramite USB. Pur essendo una Debian stabile, il kernel scelto una versione Le prime schede sono ancora prive di un case. E se ne creaste uno con il Lego?

LINUX PRO 116

17

Raspberry Pi
XBMC su Raspberry!
Scritto sotto licenza GPL, XBMC un software dedicato alla gestione di contenuti multimediali: in parole povere, trasforma qualsiasi PC in una specie di videoregistratore evoluto, permettendo la gestione di album fotograci, video, musica, tutto ci che di multimediale sta sui vostri dischi. stato testato con successo sulla versione beta della RP, quindi sulla versione nale funzioner ugualmente, se non meglio! AllURL http://bit.ly/GS6uob potete vedere una delle tante presentazioni disponibili su YouTube. Qualcuno ha pensato bene di dare vita al sito raspbmc.com per gestire sviluppo e aggiornamenti di una versione ottimizzata e dedicata alla nostra scheda, mentre presso http://openelec.tv troverete una valida alternativa che, tutto compreso, richiede meno di 200 MB di spazio: a voi la scelta!

nella congurazione di default 64 MB sono per la GPU e i restanti 192 MB sono dedicati alla CPU e quindi a Linux e programmi vari dato confermato sperimentalmente dal comando free. Le conclusioni sono ovvie: se volete orientare la scheda verso attivit multimediali pesanti, sostituite arm128_start.elf a start. elf (il comando cp arm128_start.elf start.elf), se la destinazione da desktop scegliete 192 o 224 mentre se userete la scheda come server senza monitor, allora meglio usare la modalit 224 per massimizzare la RAM a disposizione di sistema operativo e applicativi.

Sotto pressione
Per testare le capacit della GPU abbiamo deciso di ricorrere al lettore connesso tramite USB, grazie al quale abbiamo visto tutto il primo tempo di un lm ad alta denizione allo scopo di vericare eventuali surriscaldamenti o cali prestazionali durante la riproduzione: invece il lmato non ha mai presentato scatti o rallentamenti e alla prova dito il SoC era appena tiepido. Soddisfatti ma non convinti, abbiamo installato OpenArena e ci abbiamo giocato per una ora buona: anche in questo caso, il sistema si dimostrato allaltezza della situazione. Dalla documentazione osserviamo che il chip Broadcom dispone di una sola linea USB 2.0, connessa al chip LAN9512 il quale ha funzione di hub: sdoppia il segnale per servire le due porte USB e inoltre provvede a convertirlo per servire la linea Ethernet. Se ne deduce che i dati devono passare sullunica linea USB disponibile, che pu diventare quindi il collo di bottiglia durante I/O massivi. Come ultima prova, tramite un PC connesso via rete cablata a 100 Mb/s con la scheda, abbiamo visto un lm residente sul disco USB connesso alla scheda e anche in questo caso non ci sono stati scatti o rallentamenti: la Raspberry si dimostra usabile come distributore multimediale. In conclusione, la scheda ha dato prova di essere in grado di eseguire attivit informatiche normali come elaborazione testi, chat, posta elettronica, navigazione Internet ma anche attivit pi impegnative come la gestione di giochi 3D o la riproduzione di lmati ad alta denizione. Inoltre si difende bene anche quando la si dedica a un moderato uso sul fronte gestione le: il tutto per con costi, ingombri e consumi assolutamente vincenti rispetto a qualsiasi desktop, laptop, o altro sistema embedded gi esistente.

Come vi sembra un media center che costa poco pi di 30 euro? XBMC funziona sulla piccola Raspberry Pi!

insieme a gnash, dato che Flash non disponibile su architettura ARM. Aggiungiamo poi Pidgin e Xchat per gestire i contatti in Rete, mentre Abiword soddisfer qualunque velleit letteraria (per chi vuol strafare, si sappia che disponibile anche OpenOfce. org!). Abbiamo poi congurato la scheda di rete wireless connessa tramite USB: installato il rmware e i tool relativi, wicd ha funzionato al primo colpo. Il pomeriggio piacevolmente trascorso mentre usavamo contemporaneamente Pidgin, XChat, Midori e Abiword: abbiamo provato a navigare tramite entrambe le connessioni di rete (cablata e wireless) e non sono stati riscontrati problemi di sorta. Ovviamente non si possono pretendere le stesse prestazioni di un desktop moderno, per cui meglio non strafare con il numero di applicativi e/o pagine Web aperte contemporaneamente.

Software diversi
Naturalmente non possibile installare direttamente software x86 su un ARM, quindi andrebbe installato il programma Dosbox e bisognerebbe scaricare da Internet, per esempio, le versioni freeware dei giochi grandi classici per DOS. Se qualcuno invece vuole emulare in toto una macchina x86, potrebbe installare il noto emulatore Qemu: in tal caso, va ricordato che emulare unarchitettura diversa da quella del sistema ospite condanna a prestazioni non eccelse ma comunque accettabili per una prova mordi e fuggi: insomma, un sistema x86 che gira su ARM non cosa molto comune, provare per credere! I nostalgici del DOS potranno usare la sua reincarnazione libera, cio FreeDos (www.freedos.org). Chi vuole osare di pi pu installare una vecchia versione di Windows, anche se i pi avventurosi tra coloro che preferiscono software GPL si orienteranno su ReactOS il sempre pi noto clone di Windows reperibile presso www.reactos.org.

Usare bene la RAM


La nostra schedina SD partizionata in tre parti: sda3 dedicata allo swap, sda2 per il lesystem con GNU/Linux, mentre la prima parte (sda1) contiene il rmware della GPU e altri le di congurazione. Indagando, si scopre che il le start.elf contenuto in sda1 il blob binario caricato nella GPU al tempo del boot, ma ci sono altri tre le: arm128_start.elf, arm192_start.elf, arm224_start.elf. Questi tre le hanno come caratteristica principale quella di determinare quanti dei 256 MB presenti sulla RP sono a disposizione del sistema operativo e tale quantit indicata dal numero presente nel nome del le. Il comando cmp ci dice che start.elf identico ad arm192_start.elf, quindi

18

LINUX PRO 116

Raspberry Pi

Tutte le informazioni
Tutto quello che poteste chiedere sulla RP lo trovate sul suo sito, www.raspberrypi.org: forum di discussione, FAQ, lista di distribuzione per gli aggiornamenti, ecc. Il forum unautentica miniera di informazioni: con un po di pazienza, troverete di certo la risposta a tutte le vostre domande perch sicuramente qualcuno le ha poste prima di voi. Recentemente stato attivato anche http://elinux. org/RPi_Community dove potrete trovare, in una forma molto pi strutturata, praticamente di tutto: lista dei mirror, elenco delle periferiche supportate, trucchi condivisi, ecc. Altro sito da tenere tra i preferiti www.cnx-software.com, dategli una controllata che sar sicuramente di aiuto. Oltre ad avere un respiro internazionale, il progetto altres nato in terra dAlbione, per cui la lingua ufciale appunto lInglese per tutti e tre i siti citati: anche se in corso la traduzione in varie lingue (Giapponese, Rumeno, Spagnolo, ecc.) al momento ancora non esiste documentazione nella lingua di Dante Alighieri e questo potrebbe bloccare chi non parla british. Ci si augura di vedere presto delle traduzioni o magari addirittura la nascita di un sito dedicato al supporto della comunit tricolore e perch no, potreste essere proprio voi a dare il via a una sezione italiana per la Raspberry Pi. Tornando alla scheda, i progettisti si sono focalizzati sullhardware, cercando di rilasciare la versione nale entro novembre 2011, ma problemi tecnici e burocratici dellultimo momento hanno ritardato la messa in vendita al 29 febbraio 2012, per cui il pieno supporto alla parte prettamente elettronica stata parzialmente posticipato. Alcuni sperimentatori che lavorano sui prototipi stanno sviluppando librerie software per lutilizzo delle linee I2C, SPI e RS232, si spera che il frutto del loro lavoro sia disponibile per il download al momento della lettura di queste righe. Per i connettori LCD e CSI (il connettore per la webcam), i driver non sono ancora pronti e nonostante leventuale buona volont del lettore, la loro realizzazione a livello amatoriale tendenzialmente da escludersi in quanto necessario conoscere le primitive software della GPU: occorrer quindi attendere la realizzazione dei driver e la vendita del sensore direttamente da parte della Fondazione anche se i pi impazienti possono ricorrere a webcam USB.

Boot da rete?
Sappiamo che tra i nostri lettori c un gruppo, piccolo ma compatto, di convinti sostenitori del boot da rete. Per quelli che non conoscono questa caratteristica dei PC, spieghiamo in un modo grezzo, ma speriamo chiaro, che si tratta di una caratteristica del BIOS che permette di vedere la connessione di rete come se si trattasse di un disco remoto. In tal modo, al momento dellaccensione del PC possibile caricare il sistema operativo da un server, risparmiando cos sullhardware del client che non necessita di lettore CD, disco o altre memorie di massa locali, azzerando quindi le relative richieste energetiche. Purtroppo, nel caso della RP il BIOS non esiste, visto che il boot viene gestito dal blob binario della GPU.

Raspberry 2.0
I primi tentativi di Eben Upton risalgono al 2006, la Raspberry Pi arrivata dopo anni di studi, prove ed errori: abbastanza facile realizzare una scheda dalle dimensioni di una carta di credito oppure dalle prestazioni accettabili oppure a basso costo, ma la Fondazione riuscita a riunire tutte queste caratteristiche in un unico oggetto. Come tutti i prodotti 1.0, anche la RP sar soggetta a prove sul campo, critiche e proposte di modica da parte della comunit: molti potrebbero essere combattuti tra il desiderio di avere subito tra le mani questo gioiellino e la speranza di una versione migliorata tra qualche mese. Cosa ci piacerebbe nella Raspberry Pi versione 2? Sicuramente due porte Ethernet, quattro porte USB, un connettore VGA, 512MB/1GB di RAM, orologio interno... e gi che ci siamo, un unicorno alato con poteri magici :) (NDR: per una volta facciamo uneccezione e lasciamo lo smile). Il problema che siamo troppo abituati a cadere nellerrore del voglio di pi mentre invece dobbiamo reimparare il devo usare al meglio quello che ho. La Raspberry Pi sicuramente buona per un larghissimo uso nei pi disparati campi di impiego, una scheda camaleontica il cui potenziale aspetta solo di svilupparsi nelle mani di chi sapr usarla. Sono state accennate delle idee nel corso dellarticolo, ma lunico limite la fantasia e la voglia di sperimentare: ora tocca a voi. La speranza della Fondazione che le prime 10mila schede vadano in mano ad appassionati che realizzino progetti, tutorial e documentazione, preparando cos la strada per chi

Raspberry, attenta a te!


La Raspberry Pi appena uscita, ma prima o poi delle alternative si affacceranno sul mercato. Oltre la Grande Muraglia, laggi nel cuore del Celeste Impero, stato sviluppato un SoC molto ben carrozzato basato su una CPU CORTEX A8 (ARMv7) quarzato a 1.5GHz, al costo (per volumi) di solo sette dollari: una scheda nale delle dimensioni di una carta di credito costerebbe, tasse escluse, sui 15/20 dollari comprensiva di 1 GB di RAM. Il SoC si chiama Allwinner A10 ed gi usato come propulsore dei tablet a basso costo venduti sul mercato interno cinese. Indagando nel sito http://rhombus-tech.net notiamo che i progettisti dagli occhi a mandorla, oltre a dichiarare la propria creatura una diretta concorrente dei SoC montati su schede come la Beagleboard, la pongono anche al servizio dei sistemi per studenti come la Raspberry Pi con in pi il vantaggio di rendere disponibili sotto licenza GPL tutti i software e tool necessari allo sviluppo. Meglio tenere gli occhi aperti perch molto probabile che nel giro di uno o due anni apparir allorizzonte una scheda per smanettoni potente il doppio e a prezzi concorrenziali rispetto alla RP.

Il sito rhombus-tech. net vi offre tutte le informazioni del caso sul SoC Allwinner A10

LINUX PRO 116

19

Raspberry Pi
entrer in possesso dei successivi lotti di produzione. Giovani studenti che non potevano accedere ad hardware pi costoso e chiuso sono ora in grado di procurarsi questo hardware economico e aperto per poter studiare, sperimentare e imparare. Cos com, la scheda a tutti gli effetti un sistema GNU/Linux pronto alluso: tutto il resto, cose si dice, verr col tempo, adeguatamente condito da passione e impegno. Tutto perfettibile e siamo condenti che con una revisione del circuito stampato si potrebbe migliorare qualcosa: gi si vocifera di una futura versione con un maggior numero di linee di I/O, buchi per le viti e, se ricevessero abbastanza richieste, i progettisti potrebbero prendere in considerazione una versione con alimentazione P.o.E. (Power on Ethernet): scrivete alla Fondazione e fate sentire la vostra opinione. LXP

Buona certo, migliorabile sempre


La scheda piace, ma ci siamo messi nei panni dellutente che non ha mai visto il prodotto e che si pone, giustamente, la domanda che chiunque si porrebbe: perch manca X, perch non hanno messo Y, dove X e Y sono i vostri pezzi hardware preferiti o ritenuti indispensabili. Vediamo pro e contro cercando altres di spiegare il perch dei contro. Gli aspetti negativi Non c una porta VGA: il SoC supporta solo lHDMI, aggiungere un convertitore avrebbe fatto lievitare ingombri e costi. Solo 256 MB di RAM: questo SoC non pu indirizzare pi di 256 MB, quindi ha gi il massimo di memoria disponibile. 700 MHz sono pochi, la CPU lenta: larchitettura ARM presenta un codice macchina pi veloce (servono meno cicli di clock per eseguire la singola operazione), ne consegue che a parit di frequenza gli ARM sono pi prestanti delle CPU x86. Manca lingresso audio: la cosa si risolve con un microfono USB o programmando i piedini GPIO (General Purpose Input Output) come ingresso audio. Niente USB 3.0 n SATA: il BCM2835 gestisce solo il protocollo USB 2.0 e la scheda semplicemente non pensata per supportare nativamente dischi SATA. Solo due porte USB: un economico replicatore di porte ovvia al problema. Mancano i buchi per le viti di ssaggio: uno degli obiettivi era mantenere le dimensioni di una carta di credito, piedini gommosi e/o colla a caldo possono aiutare a mitigare il problema di stabilit e/o ssaggio. Scheda nuda, niente scatoletta: la versione scatolata sar disponibile tra pochi mesi nella versione Educational per studenti, i singoli contenitori saranno disponibili anche da terze parti. I driver video sono un blob binario: anche il BIOS del nostro PC non Open Source, non si capisce perch dovremmo prendercela con il rmware del SoC. Piedini GPIO inutilizzati: 6 pin del bus GPIO non sono connessi al SoC, speriamo in una futura revisione per poter avere ulteriori linee di I/O. Manca la batteria tampone: allaccensione lorologio interno parte dalle 00:00 del primo gennaio 1970, ma se la scheda in Rete con il attivo servizio NTP non ci saranno problemi. I pi intraprendenti possono potenziare la scheda collegandola a un economico chip-orologio come il DS1307 (esistono circuitini di pochi cm2 gi pronti alluso) per avere sempre a disposizione lorario corretto. e quelli positivi La punta di diamante della scheda, che annulla o almeno compensa grandemente i difetti, il prezzo alla portata di tutti: 35 dollari la versione Full, 25 dollari la versione senza porta Ethernet, con la met della RAM e con una sola porta USB. Lingombro della scheda quello di una carta di credito (8,56 x 5,4 cm), anche se vanno aggiunti alcuni millimetri a causa dei connettori che aumentano le dimensioni totali. Assorbimento energetico contenuto entro 700mA. Peso irrisorio, sotto i 50 grammi. Bassa temperatura desercizio: niente noiose ventoline di raffreddamento o dissipatori passivi, a riprova del basso dispendio energetico del SoC. Oltre alle due porte usb, network, HDMI e audio, disponibile una uscita video composito per poter utilizzare un normale televisore in luogo del monitor: la scheda inoltre dotata di due bus a pettine, rispettivamente per una webcam e un display LCD e ovviamente disponibile il connettore JTAG. La parte che per far sognare tutti gli smanettoni il bus GPIO, che oltre a rendere disponibile le tre classiche linee seriali RS232, I2C e SPI, permette luso di 8 linee di I/O, la massa e le due tensioni 5V e 3V3. Le linee dedicate alle 3 seriali sono congurabili come I/O generico e questo porta il totale a 17 linee digitali di I/O. Il fatto che manchino i connettori per GPIO e JTAG va letto come fatto positivo: lutente nale libero di saldarli sopra o sotto la scheda in funzione delle proprie necessit progettuali. Lalimentazione della scheda afdata a un connettore micro-USB: scelta lungimirante, dato che tale formato lo standard europeo per i caricabatterie dei cellulari di nuova generazione, quindi probabilmente ne avete gi uno in casa. Va comunque tenuto presente che la scheda alimentabile anche tramite i due piedini 0V e 5V del bus GPIO, rendendo superuo lalimentatore standard.

20

LINUX PRO 116

Velocit

Abbiamo tanto bisogno di

VELOCIT
Tutti i consigli per rendere i vostri computer pi veloci della luce
inux porta con s diversi beneci e ogni utente ne ha uno preferito. Per alcuni lassenza di virus. Per altri il sapere che nessun agente esterno sar in grado di controllare il modo in cui usate il PC; la libert del software pu sembrare una questione poco pratica ad alcuni, ma come hanno scoperto gli utenti Apple lo scorso anno, se vi ritrovate a essere obbligati a pagare laggiornamento del vostro sistema operativo per poter ascoltare la vostra musica (che avete pagato) sul vostro computer (che avete pagato), la libert del software diventa importante. Per, per chiunque abbia mai fatto doppio click su unicona in Windows e abbia dovuto attendere che il computer capisse cosa doveva fare, la velocit generale di GNU/Linux e la sua reattivit nel desktop sono il vantaggio vincente. E questo vale per tutti: che stiate usando un PC con processore a 8 core o un portatile di 10 anni fa, vi troverete molto meglio con Linux. Se poi volete ancor pi velocit, non vi resta che seguire i nostri consigli.

VirtualBox vostro amico


Alcuni dei trucchi che vi sveliamo in queste pagine richiedono la modica di le di sistema, come root. Quando si agisce su questi le, sempre possibile fare qualche danno, rendendo inutilizzabile la macchina su cui si sta lavorando. Per questo motivo raccomandiamo sempre di fare un backup dei le su cui intervenite, in modo da poter riportare la situazione come in origine con il minimo sforzo, in caso di problemi. Una soluzione migliore di sperimentare i nostri suggerimenti prima in una macchina virtuale. In questo modo potete modicar ci che volete e tornare semplicemente a uno snapshot precedente in caso di guai.

22

LINUX PRO 116

Velocit
1 Far sprintare il bootloader
Se avete un sistema dual boot avete familiarit con il menu davvio di Grub che appare allavvio del PC. Per forse non avete notato il conteggio alla rovescia che si trova sotto le voci del menu, che vi indica quanto tempo aspetta il sistema prima di attivare la voce di default per voi. Di default su Linux Mint, ad esempio, questo tempo di 10 secondi. Potete sempre premere Invio, certo, ma se siete lontani dalla macchina e volete che si avvii pi rapidamente, potete ridurre questo tempo, ad esempio portandolo a 3 secondi, che comunque un tempo sufciente a consentirvi di scegliere una diversa voce di menu. Per fare questo andate in /etc/default e aprite il le grub (come root). Cambiate il valore GRUB_TIMEOUT=10 a 3, poi digitate update-grub per rendere effettivo il cambiamento.

Gli indecisi potrebbero cambiare lattesa di default impostando un valore pi alto, che ne dite di 1.000?

2 Disabilitare servizi
Quando accendete il computer, passa parecchio tempo dal momento in cui il kernel si avvia a quando potete usare il desktop. Durante tutto questo tempo la distro carica freneticamente in background tutti i servizi che gli servono per funzionare correttamente. Per non vi servono tutti questi servizi. In molte distro i servizi si trovano in /etc/init.d e potete fermare quelli che non vi sono utili cliccando con il tasto destro su di essi (nel le manager avviato come root), andando in Propriet D Permessi e togliendo il segno di spunta dalla voce Esecuzione: Consentire lesecuzione... Cosa? Non sapete cosa vi serve e cosa no quindi non sapete cosa spegnere? Un metodo potrebbe essere quello di procedere per tentativi oppure, se usate SUSE o Mandriva, vi conviene aprire YaST o il Centro di Controllo di Mandriva, andare in Sistema D Servizi di sistema. Vedrete il lungo elenco di servizi disponibili. Evidenziatene uno e leggetene la descrizione, in questo modo potrete avere unidea se vi serve oppure no.

3 Alleggerire il login manager


Una delle KDE rispettivamente). In Mint, critiche che gli andate in /etc/X11 e cercate utenti facevano il le default-display-manager; pi spesso in OpenSUSE spostatevi a Linux era legata al suo aspetto in /etc/syscong e individuate poco attraente. Quindi gli displaymanager. In ogni caso sviluppatori hanno trovato il dovreste cambiare la voce che modo di rendere pi accattivante riporta gdm o kdm con xdm. la schermata di login, che la prima facciata di Linux che appare al pubblico quando si accende la macchina. Purtroppo questi gestori del login consumano cos tante risorse da rallentare la macchina, il che male. Per risparmiare tempo al login (e per far apparire la vostra macchina ferma agli anni 90), rimpiazzate il vostro login manager Sappiamo che non bello da vedere, corrente (probabilmente ma XDM pu ridurre di qualche GDM o KDM, per GNOME e secondo il tempo di boot

Non usiamo il supporto al protocollo IPv6, quindi possiamo disabilitare questo servizio

4 Velocizzare Nautilus
Nautilus, il le manager di GNOME, esegue una scansione rapida di tutti i le che incontra in una directory non appena vi entra, cos da mostrarvi le miniature di foto e video e le prime righe per i le di testo. Bene, abbiamo scritto scansione rapida ma in una cartella piena zeppa di le questo processo pu non essere proprio veloce. Per smettere di sprecare cicli macchina con questo compito utile ma non essenziale, andate in Modica D Preferenze D Anteprima in Nautilus e cambiate le opzioni da Sempre, o Solo le locali, a Mai. Dovreste notare che il le manager, ora, vi d una sensazione di maggior velocit.

Niente anteprime, niente lag. Sbrigati, Nautilus!

5 Snellire il carico
Forse avete gi letto il Confronto di questo mese, oppure no perch nella vostra ricerca per lhigh-performance computing considerate inutili le distro per i PC con scarse risorse hardware. Stop. Ripensateci. La ragione per cui Puppy, VectorLinux e le altre sono buone per lhardware vecchio che esse non richiedono risorse enormi. Questo esattamente lattributo che le rende eccezionalmente veloci sullhardware moderno. Se avete un PC costruito nellultimo paio danni, con 2 GB di RAM o pi, potete spingerne le prestazioni con tutti gli altri trucchi di questo articolo, oppure ottenere un risultato simile installando semplicemente VectorLinux. Se vi piace sperimentare nuove distro, questo il passo che vi porta pi velocemente verso lottenimento di un computer super veloce.

VectorLinux ricco di opzioni, non solo per i computer vecchi

LINUX PRO 116

23

Velocit
6 Usare un Window Manager pi veloce
Se non siete dellumore giusto per cambiare completamente distro, potete ottenere comunque grandi miglioramenti integrando alcune delle caratteristiche delle distro leggere nella vostra congurazione corrente. Il Window Manager, ad esempio, di solito si pu trasportare da un desktop a un altro, e se ne state usando uno potente ma pesante come KDE, questo pu darvi un signicativo incremento di velocit. Il compito del Window Manager di guardare quali nestre avete aperto e darvi un sufciente livello di controllo su di esso da poter lavorare in modo produttivo. Per un WM pu anche offrire pi funzioni di quelle che sfruttate realmente. Se fate click destro sulla barra del titolo di una nestra in KDE e contate le opzioni disponibili, capite cosa intendiamo. Ecco perch un WM dovrebbe essere sia veloce sia meno fonte di distrazioni. Forse il pi popolare Openbox, e di solito lo trovate gi pacchettizzato in tutte le distro maggiori e non. Dopo la sua installazione, indipendentemente dal desktop in uso, aprite un terminale e digitate openbox --replace. Questo comando generer un output, e alcune delle applicazioni in esecuzione potrebbero lamentarsi visto che state forzando il sistema a rimpiazzare il Window Manager corrente con quello nuovo. In pochi istanti dovreste vedere mutare lo stile dei

Rendete Openbox il WM di default avviando openbox-gnome-session o openbox-kde-session

bordi delle nestre. Questo Openbox. Usando il menu contestuale che appare con il click destro del mouse sulla barra superiore potete ancora spostare le nestre su un altro desktop o forzarle a stare sopra le altre, ma niente di pi. In questo modo le vostre nestre saranno pi veloci!

7 Migliorare le prestazioni di KDE


KDE abbastanza veloce se avete un computer moderno, ma un insieme di strati software piuttosto complicato. Si pu intervenire su ogni suo componente per aumentare le performance. Il miglior posto da dove iniziare in background, con il processo che governa tutti gli altri. Questo processo si chiama plasma-desktop, in riferimento al nuovo paradigma per lusabilit offerto da KDE. Questo processo pu essere avviato con diverse opzioni, una delle quali pu migliorare le prestazioni sui vecchi PC o su quelli con scarse risorse hardware, specialmente i netbook. Per prima cosa dovete chiudere il vecchio processo gi attivo. Questo causer un po di problemi al sistema, quindi assicuratevi di chiudere tutti i programmi importanti e di salvare tutti i le aperti. Ora aprite un terminale e digitate killall plasma-desktop. Questo far tornare le funzionalit di KDE allet della pietra. Ma ravvivate la speranza con un altro comando, plasma-desktop -graphicssystem raster. Questo comando riavvier il desktop e forzer Qt a usare il sistema di rendering che ha sempre avuto. Potete rendere permanenti le modiche localizzando il le plasma-desktop.desktop usato per avviare il desktop (di solito in /usr/ share/autostart, oppure in ~/.kde4/ share/autostart) e modicando la linea Exec al suo interno, aggiungendo lopzione -graphicssystem raster.

8 Bloccare le pubblicit
Mentre navigate sul Web, spesso vi accorgete che i siti non si aprono immediatamente perch stanno aspettando larrivo dei banner pubblicitari da un server differente. Combinando ci con il numero sempre crescente di pubblicit e animazioni Flash e vi ritroverete con tanti buoni motivi per bloccarli. Sia Firefox che Chrome offrono unestensione chiamata AdBlock che usa un database per fermare i contenuti pubblicitari pi comuni. In Chrome, ad esempio, potete usare il suo Store per cercare e installare AdBlock Plus. Poi assicuratevi che sia abilitata dalla voce Estensioni del menu Strumenti. Cos non dovreste pi essere disturbati dalla pubblicit, ottenendo tempi di caricamento pi rapidi.

Se non volete giocare con la riga di comando, potete cambiare il motore di rendering di default di KDE dal tab Avanzate del pannello sugli effetti desktop

Evitate i lunghi tempi di caricamento e la tentazione di acquistare cose inutili con AdBlock Plus

9 Usare le scorciatoie
Sembrer ovvio, ma spostare la mano dalla tastiera al mouse richiede pi tempo che non fare le stesse operazioni tramite la tastiera. Molti pochi utenti usano il Copia e incolla dal menu Modica, ad esempio. Per questa ragione vale la pena imparare una manciata di scorciatoie per fare cose come passare tra le applicazioni o i desktop. Potete sfruttare questa idea senza adottare Emacs (famoso per le sue innite scorciatoie). Avviare un programma dal menu Esegui che appare premendo Alt+F2 vi evita di dovervi orizzontare allinterno del menu Applicazioni. Anche linterfaccia Esegui comando di KDE pu rivelarsi utilissima. Digitate shutdown per spegnere il vostro computer, oppure lock per bloccare lo schermo. Si possono fare semplici calcoli iniziando linput con un = e ci sono dozzine di altre funzioni basate su una struttura a plug-in. Potete usare il pulsante ? sulla destra per leggere lelenco di ci che disponibile e come usarlo. Per il tool denitivo per le scorciatoie Gnome Do, che una sorta di Esegui comando con gli steroidi. Tramite una serie di plug-in pu farvi accedere a ogni aspetto del desktop, da un normale comando SSH allaccesso ai siti Web pi visitati, il tutto tramite una scorciatoia.

Premete Alt+F2 su qualunque desktop se volete avviare comandi rapidamente

24

LINUX PRO 116

Velocit
10 Applicare patch al kernel
Se cercate laggiornamento denitivo per aumentare le prestazioni del PC, e anche una sda probante, ci sono diverse patch che possono essere applicate al kernel. Se volete potete agire pezzo per pezzo, ma c un modo migliore. Una delle alternative pi popolari al kernel standard uno compilato da Con Koliva e che include un gran numero di patch legate alle performance. Questo set di patch del kernel chiamato -ck ed stato costruito per enfatizzare le prestazioni del desktop. Per installarlo dovete scaricare i sorgenti del kernel della versione a cui si applica la patch (usando il gestore di pacchetti), assieme a tutti gli strumenti per la compilazione del kernel. Poi scaricate la patch da http://users.on. net/~ckolivas/kernel/ e usate il comando patch (patch -p1 < patch-3.*-ck1) nella cartella con i sorgenti del kernel per applicare i cambiamenti. Ora compilate il kernel seguendo le istruzioni della vostra distro. Questultimo passo pi facile da dire che da fare, ma in Rete potete trovare numerose guide.

11 Overclockare le schede Nvidia


Se state usando una vecchia scheda graca Nvidia il trucco che vi stiamo per dire non funziona con i modelli pi recenti con i driver proprietari, avete anche lopzione di spingere al massimo le prestazioni della scheda overclockandola. Invece di ricorrere al BIOS, potete usare il pannello di controllo di Nvidia. Prima, per, che questa opzione appaia, dovete aggiungere una nuova voce a /etc/X11/xorg.conf. In molte distro questo le non viene pi creato, per lutility nvidia-settings ne pu generare uno. Caricate il tool, andate nel tab X Server Conguration e premete Save to X Conguration File. Dopo aver generato il le, apritelo con un editor di testo (dovete avere i privilegi di root) e guardate la sezione Device che elenca la vostra scheda. Al suo interno aggiungete la linea Option Coolbits 5 e riavviate il server graco. Ora, quando avvierete nvidia-settings vedrete una nuova pagina chiamata Clock Frequencies. Premete Enable Overclocking, accettate il disclaimer e cercate di aumentare per piccoli passi i valori di clock e frequenza delle memoria. Potete fare questo sia per il rendering 2D sia per quello 3D, anzi vi consigliamo di cambiare entrambi. Ogni volta che fate una modica, spostatevi nella vista Thermal Settings e assicuratevi che la temperatura rimanga in limiti accettabili. Potete anche modicare a mano la velocit della ventola da questa pagina, in caso di bisogno. Quando avete trovato una congurazione stabile, salvate le impostazioni e assicuratevi che il tool Nvidia le carichi allavvio del sistema.

12 Overclockare il sistema
Per prima cosa, unavvertenza: loverclock, larte di spingere i componenti oltre i loro limiti ufciali di funzionamento, pu costare caro. Lhardware si pu rompere e si possono perdere i dati. Oggigiorno per molti componenti sono progettati per sopportare temperature e velocit di funzionamento maggiori rispetto a quelli di targa, lasciandovi spazio per la sperimentazione. Molte schede madri moderne, ad esempio, includono perno semplici tool per aumentare la velocit del sistema, senza dover conoscere altri dettagli. Il posto principale dove guardare per intervenire velocemente il BIOS. Si accede ad esso allavvio del PC, di solito premendo F2 o Canc. Nel menu del BIOS molto probabilmente troverete lopzione per incrementare la velocit della memoria, congurare automaticamente il sistema per ottenere le massime prestazioni sacricando la stabilit e aggiustare la velocit della CPU, di solito intervenendo su bus e moltiplicatori. Alcune di queste modiche potrebbero non funzionare, ma vi raccomandiamo di fare una modica alla volta e poi provare che effetto ha avuto sul sistema prima di passare a un altro cambiamento. Usate anche LM-sensors per tenere sotto controllo la macchina.

Quando fate loverclock a un dispositivo, dovete sempre guardarne la temperatura per evitare danneggiamenti

13 Aumentare le prestazioni della rete


L Linux supporta I IPv6 da un po d di tempo, m ma se non l lo state usando vi conviene disabilitarlo in modo da velocizzare alcune attivit di rete. Il modo pi facile per fare questa modica alla congurazione tramite il demone network manager. Se usate GNOME, aprite lapplet di Network Manager e modicate la connessione che state usando. Nel tab IPv6, selezionate Ignora come Metodo. Se state usando le versioni recenti di KDE, senza il demone network manager, impostate la variabile dambiente KDE_NO_IPV6 (export KDE_NO_IPV6=1) dalla riga di comando o negli script davvio del vostro desktop. Portando questo allestremo, potete impedire il caricamento del modulo IPv6 del kernel aggiungendo blacklist ipv6 alla ne di /etc/modprobe.d/ blacklist. Comunque non dovete metter mano alla vostra congurazione di rete se non volete. Firefox vi d la possibilit di disabilitare IPv6 dal suo registro di congurazione. Digitate about:cong nella barra degli indirizzi e disabilitate la voce network. dns.disableIPv6. Se usate una piccola rete, potete ridurre un po i ritardi legati alla rete disabilitando le richieste arp

Le distro pi intelligenti disabilitano di default IPv6

nel demone DHCP e impostare degli IP statici. Aggiungete noarp al le di congurazione /etc/dhcpd.conf e riavviate il sistema o il demone. LXP

LINUX PRO 116

25

Sysadmin

Dottor Brown
Dr Chris Brown
Il Dottore si occupa di formazione, scrittura di articoli e consulenze su Linux. Trova che il suo PhD in sica delle particelle non sia di alcun aiuto in questo tipo di lavoro.

Premiata Amministreria
Tecniche esoteriche per i sysadmin direttamente dai recessi pi impenetrabili della sala server

Longevit e dati digitali


Un tempo avevo un hobby: realizzare brani musicali usando sintetizzatori digitali e unapplicazione per la registrazione e la manipolazione dei dati MIDI chiamata Cakewalk. Ci ho dedicato parecchio tempo e ho anche ottenuto qualche risultato notevole. Ho pensato di farli risorgere, dato che ho ancora i le originali in formato Cakewalk, ma sono archiviati su oppy e non ho la possibilit di leggerli. E poi, anche se potessi recuperare i le dal loro supporto, dubito che una qualsiasi applicazione attuale sarebbe in grado di comprenderne il formato. Anche se risalgono a soli 15 anni fa, le informazioni sono sostanzialmente perse. Nel suo articolo Ensuring the Longevity of Digital Information (Garantire la longevit delle informazioni digitali) Jeff Rothenberg elenca tre livelli ai quali le informazioni digitali possono essere perse: (a) semplice corruzione dei bit dovuta al degrado del supporto; (b) obsolescenza del supporto e dei dispositivi necessari per leggerlo; (c) evoluzione dei formati dei documenti in versioni non compatibili allindietro (la versione 5 non in grado di aprire un documento scritto dalla versione 1). Larticolo si trova allURL www.clir.org/pubs/archives/ensuring.pdf.

Addio, mondo!
La notizia della morte di Steve Jobs ha fatto il giro del mondo, ma con Dennis Ritchie che siamo davvero in debito
La settimana del 5 ottobre 2011 non stata una buona settimana. Steve Jobs morto in questa data e Dennis Ritchie tre giorni dopo. La fama di Jobs e il suo essere un personaggio di culto hanno dato luogo a un enorme numero di commemorazioni che lo descrivevano come un visionario, un pioniere e un genio (anche se la sua biogra a uf ciale svela aspetti decisamente pesanti della sua vita). La morte di Ritchie invece non ha ricevuto la stessa attenzione ed stato quasi sempre descritto come riservato e gentile (ma non da LXP che gli ha dedicato una pagina). Eppure come padre del linguaggio C e co-inventore di UNIX i suoi contributi sono molto pi importanti e leredit che ci ha lasciato di gran lunga pi diffusa. Ritchie descrisse il C come strano, pieno di difetti e un enorme successo, ed davvero impossibile sopravvalutarne la pervasivit. Forse il 99,9% del kernel di Linux scritto in C, oltre a una grandissima parte di altri progetti Open Source, per non parlare di unenorme quantit di software embedded. La sintassi e lo stile del C sono stati usati direttamente anche da linguaggi pi moderni come C++, C# e Java. E il suo lavoro con Ken Thompson sullarchitettura di UNIX ha avuto unenorme in uenza su Linux.

Abilit linguistiche
Ritchie e Brian Kernighan sono gli autori del famoso K&R, che stato tradotto in 35 lingue (dovete essere una novella JK Rowling per batterlo: Harry Potter stato tradotto in 70 lingue). Ho letto il K&R originale dallinizio alla ne, non proprio tutto dun ato ma quasi. Mi ha aperto gli occhi non solo su un nuovo linguaggio, ma anche su quella chiarezza nella scrittura di argomenti tecnici cui posso solo aspirare.

Rothenberg si sbagliava
Lipotesi di Rothenberg che i dati archiviati si trovino ofine su supporti removibili non del tutto accettabile ai nostri giorni, visto che tutte le informazioni che vale la pena di conservare sono mantenute online e facilmente copiabili. Ma il suo messaggio ancora mi preoccupa. Shakespeare aveva una visione ottimistica della longevit del suo sonetto Shall I compare thee to a summers day? (Devo paragonarti a un giorno destate?) che si conclude con So long as men can breathe, or eyes can see, So long lives this, and this gives life to thee. (Finch uomo potr respirare o occhio vedere, questo sonetto vivr e ti dar vita). Per quanto riguarda larchiviazione digitale sono pi propenso a seguire Clive James: Non sentirai mai da me che il tuo nome vivr nch il sole sar freddo. Non puoi aspettarti di essere ricordato; non credere che sia cos sciocco.

Dennis Ritchie, in piedi, e Ken Thompson a lavoro su un PDP-11 nel 1972. Alzi la mano chi si ricorda dei DECtape e delle console telescriventi

Una vita di successi


Per fortuna il lavoro di Ritchie fu apprezzato mentre era in vita. Insieme a Ken Thompson ricevette il Turing Award nel 1983, la National Medal of Technology (consegnata

da Bill Clinton) nel 1999 e il Japan Prize for Information and Communication nel 2011. La morte di Jobs ha generato un numero enorme di commenti che la morte di Ritchie non raggiunger mai. Ma quelli tra noi (e non sono pochi) che sono consapevoli dei contributi di Ritchie provano un profondo senso di gratitudine nei suoi confronti. Se lo spirito di Jobs e quello di Ritchie dovessero ritrovarsi su unisola deserta forse Jobs riuscirebbe ad accendere il fuoco, ma sarebbe Ritchie a procurare la legna.

26

LINUX PRO 116

Sysadmin

Etcetera illustrata - parte 2


La directory /etc/ contiene tutti i le di congurazione pi importanti di Linux. Questo mese facciamo la conoscenza del le fstab, fondamentale per l'uso dei dischi
Il le /etc/fstab (abbreviazione di lesystem table, tabella dei lesystem) controlla come il lesystem complessivo di Linux viene assemblato a partire dai vari componenti (partizioni di disco, volumi logici, directory NFS esportate e cos via) per formare una singola gerarchia. Specica i lesystem (tecnicamente dispositivi a blocchi) e i loro punti di montaggio allinterno dellalbero delle directory di Linux. Questo le in circolazione da molti anni. La sua sintassi piuttosto semplice, ma meglio non provare a modicarlo a meno di sapere cosa si sta facendo: un errore qui pu impedire al sistema di partire. Le tre righe di esempio nella prima gura qui a anco mostrano tre differenti modi per identicare il lesystem da montare. Un tradizionale nome di dispositivo a blocchi, come /dev/sda6, il modo pi vecchio e pi semplice, ma pu dare qualche problema se vengono aggiunti nuovi dischi e il nome del dispositivo cambia. Una soluzione pi robusta consiste nellusare unetichetta di testo che stata scritta nel lesystem al momento della creazione. Di solito il testo delletichetta scelto in modo da corrispondere al punto di montaggio. In alternativa possibile specicare un UUID. La riga centrale della gura mostra invece il montaggio di un lesystem NFS da un server di nome foo. Questi le vengono acceduti usando il protocollo NFS: non si tratta di un dispositivo a blocchi e non dobbiamo eseguire fsck su questa parte del lesystem, sar fatto sul server. Il montaggio dei lesystem elencati nella Fig.1 viene eseguito automaticamente da parte di uno script allavvio del sistema, di solito per mezzo del comando mount -a. La Fig.2 illustra un differente utilizzo delle righe di fstab. In questo caso lopzione Noauto indica che la riga deve essere ignorata dal comando mount -a (quindi il lesystem indicato non viene montato allavvio del sistema). Questa riga serve per associare il nome del dispositivo al suo punto di montaggio, in modo che possa essere montato semplicemente con il comando
Il punto di montaggio allinterno del lesystem (di solito una directory vuota). Il nome della partizione (dispositivo a blocchi) da montare. Opzioni di montaggio. Dipendono dal tipo di lesystem (vedere la pagina di manuale di mount). Interpretato dal comando dump quando viene usato per fare un backup (1 = Esegui il backup, 0 = Non eseguirlo).

/dev/sda6 foo: /export LABEL=/boot

/home ext4 /extra nfs /boot ext3

errors=remount-ro 0 3 rsize=42768 00 defaults 12

In alternativa per identicare la partizione pu essere usata letichetta assegnata al lesystem al momento della creazione (mke2fs -L).

Il tipo del lesystem. Tra i tipi supportati ci sono ext2, ext3, ext4, reiserfs, iso9660, nfs e molti altri.

Lordine seguito da fsck per vericare i lesystem allavvio del sistema. Di solito 1 = partizione root, >1 = partizione diversa dalla root, 0 = nessun controllo (per esempio per i supporti removibili o il montaggio NFS).

$ mount /dev/sdc anzich con il comando $ mount /dev/sdc /media/cdrom Inoltre lopzione User indica che gli utenti diversi da root possono montare il dispositivo. Per default solo root pu eseguire operazioni di montaggio e smontaggio. In fstab potrete anche trovare righe che non corrispondono a lesystem sici ma a pseudo lesystem, che sono solo il frutto dellimmaginazione del kernel. Forniscono una vista in forma di lesystem sulle strutture dati del kernel. Esempi di questo genere sono il lesystem proc (di solito montato su /proc) e il lesystem sysfs (montato su /sys).

1 La sintassi di fstab piuttosto semplice, ma un errore in questo le pu impedire al sistema di avviarsi correttamente

Il punto di montaggio. Il nome del dispositivo. Dice al kernel di determinare automaticamente il tipo del lesystem. Non consigliabile eseguire il backup o la verica con fsck di un supporto removibile.

/dev/sdc /media/cdrom auto ro, noauto, user 0 0


ro signica read only (solo lettura) noauto signica da non montare allavvio user signica che anche gli utenti diversi da root possono montarlo. Per quanto riguarda la sicurezza questopzione implica nosuid (non rispetta il bit set-user-id presente sui le) nodev (non considera i le che rappresentano dispositivi) noexec (non tratta i le come eseguibili)

2 Una tipica riga di fstab per un supporto removibile come un CD o un DVD. Permette agli utenti diversi da root di montarlo LINUX PRO 116

27

Sysadmin

Tenere in ordine /etc


Tradizionalmente sufciente un editor di testo e unapprofondita conoscenza dei le in /etc per congurare Linux. Potreste per provare Augeas...
Lunico strumento necessario per congurare Linux un editor di testo. Quanto volte lho detto nei miei corsi di formazione? Ed vero, perch praticamente ogni cosa congurata per mezzo di le di testo presenti sotto /etc. In realt, per, la modica manuale di questi le richiede molta attenzione e una buona comprensione della loro sintassi, che ovviamente varia da le a le. Quando poi si tratta di usare uno script (ad esempio nel caso di una modica alla congurazione richiesta dallinstallazione di un nuovo pacchetto) occorre anche una buona conoscenza della shell e di strumenti come grep, sed, awk e simili. Queste considerazioni mi hanno portato a Augeas. Per citare http://augeas.net/: uno strumento per la modica della congurazione. Analizza i le di congurazione nel loro formato nativo e li trasforma in un albero. Le modiche alla congurazione sono fatte manipolando questo albero e salvandolo nel formato nativo dei le di congurazione. In che modo ladozione di una vista in forma di albero dei le in /etc pu aiutare? Beh, ogni nodo in un albero pu essere identicato in maniera uniforme ed estremamente facile (pensate a un percorso Linux come /home/chris/ LXP/admin46/augeas). Ed facile eseguire ricerche e aggiornare un albero. Per eseguire una modica alla congurazione usando Augeas non avete bisogno di sapere, ad esempio, che un certo le di congurazione usa righe con campi separati da due punti e che dovete modicare il quinto campo: vi basta conoscere il percorso del parametro che desiderate cambiare. Abbiamo installato Augeas su Fedora 15. piccolo pacchetto che contiene solo lo strumento principale a riga di comando (augtool), un paio di strumenti di supporto e le relative pagine di manuale. Ecco un esempio per cominciare. Supponete di voler stampare il percorso della directory home di Maria. Il metodo classico consiste nellestrarlo da /etc/passwd pi o meno cos: $ grep ^maria: /etc/passwd | cut -d: -f 6 /home/maria Per fare questo dovete sapere che il le /etc/passwd contiene campi separati da due punti e che il nome utente e la sua directory home sono nei campi 1 e 6. Dovete anche sapere come usare grep e cut. Ecco come ottenere lo stesso risultato usando invece augtool: $ augtool get /les/etc/passwd/maria/home

Da dove viene il nome?


Secondo la mitologia greca, Augeas (in italiano Augia) era il re di Elide. Non si faceva notare per i suoi standard nellallevamento degli animali, dato che le sue stalle non vennero pulite per pi di 30 anni. Alla ne se ne incaric Ercole e gli fu promesso un decimo della mandria se avesse nito in un giorno. Ercole devi un paio di umi per farli passare allinterno delle stalle, ma non gli and molto bene: Augia lo accus di barare e si riut di pagarlo, cos Ercole lo uccise. Il nome stato scelto per analogia, dato che la pletora di le di congurazione che si trovano in /etc somiglia un po a quello che si era accumulato nelle stalle di Augia. Datemi pure del pedante, ma secondo me hanno scelto la persona sbagliata: Augia era quello che aveva fatto il pasticcio, Ercole quello che lo ha sistemato.

Augeas usa delle lenti per trasformare i tradizionali le di congurazione nella vista ad albero e viceversa

root : x : 0 : 0 : bin : x : 1 : 1 : daemon : x : 2 : 2 : adm : x : 3 : 4 : lp : x : 4 : 7 :

File di congurazione tradizionale

Vista ad albero Lente

/les/etc/passwd/maria/home = /home/maria Usando Augeas vi occorre conoscere il nome del nodo appropriato allinterno dellalbero (quel nome contiene il percorso del sottostante le di congurazione) e sapere che Augeas chiama home lelemento che denisce la directory home, ma non dovete preoccuparvi di due punti, grep o cut. Andiamo un po oltre. Supponete di voler modicare la directory home di Maria in /export/ maria. un risultato abbastanza facile da ottenere modicando direttamente il le passwd, ma farlo da programma (usando uno script di shell) pi difcile: # sed /^maria:/s/\/home\/maria/\/export\/maria/ /etc/passwd >passwd-temp # mv passwd-temp /etc/passwd Anche in questo caso molto pi facile con augtool: # augtool -s set /les/etc/passwd/maria/home /export/maria Lopzione -s dice ad augtool di salvare la versione aggiornata dellalbero nel le di congurazione nativo. Quando esegue questa operazione augtool si preoccupa di lasciare tutto il resto esattamente comera. Ad esempio lordine degli elementi del le, e persino i commenti, sono conservati. Ecco un altro esempio leggermente pi complesso, rubato dal sito Web di Augeas. Vogliamo modicare /etc/grub.conf in modo che per default Grub faccia partire il secondo elemento del le e rimuovere completamente il terzo elemento. Con Augeas semplice: # augtool -s set /les/etc/grub.conf/default 1 # augtool -s rm /les/etc/grub.conf/title[3] La cosa davvero notevole di Augeas che tutti gli elementi della congurazione sono manipolati allo stesso modo, indipendentemente dai differenti formati nativi. A questo punto dobbiamo far notare che c un bug nella versione 0.9 di Augeas (quella presente nel repository di Fedora 15) che impedisce allopzione Autosave (-s) di funzionare. una bella seccatura, ma dovrebbe essere risolto presto. Si pu anche usare interattivamente augtool, lanciandolo senza argomenti. Lesempio precedente si presenterebbe cos:

28

LINUX PRO 116

Sysadmin
# augtool augtool> set /les/etc/grub.conf/default 1 augtool> rm /les/etc/grub.conf/title[3] augtool> save Saved 1 le(s) augtool> quit anche possibile visualizzare un intero sottoalbero specicando il suo nodo di livello massimo. Possiamo stampare tutti i campi della riga relativa a Maria in passwd: augtool print /les/etc/passwd/maria /les/etc/passwd/maria /les/etc/passwd/maria/password = x /les/etc/passwd/maria/uid = 501 /les/etc/passwd/maria/gid = 501 /les/etc/passwd/maria/name /les/etc/passwd/maria/home = /export/maria /les/etc/passwd/maria/shell = /bin/bash Spostandoci in su di un livello possiamo stampare lintero le passwd (in questo caso mostriamo solo il comando): # augtool print /les/etc/passwd e, come caso estremo, possiamo mostrare lintero albero: # augtool print /les Possiamo anche eseguire delle ricerche sullalbero usando dei caratteri jolly allinterno del percorso e opzionalmente una corrispondenza esatta sul valore del nodo. Nellesempio seguente cerchiamo lutente con identicativo 501: $ augtool match /les/etc/passwd/*/uid 501 /les/etc/passwd/maria/uid o, in forma pi succinta: # augtool match /les//uid 501 I caratteri jolly (chiamate pi propriamente path expression, espressioni di percorso) sono ispirate a XPATH, una potente notazione usata per specicare parti di un documento XML. Non cercher di darne una descrizione completa, ma mi accontenter di presentare un paio di esempi. Per prima cosa stampiamo lultimo blocco di istruzioni del le grub.conf: # augtool print /les/etc/grub.conf/title[last()] Un esempio leggermente pi interessante la ricerca dellindirizzo IP dellhost jupiter.example.com: # augtool match /les/etc/hosts/*/ipaddr[../alias = jupiter.example.com] /les/etc/hosts/4/ipaddr = 192.168.81.46 A essere onesti non ci sembra che questo comando costituisca una valida alternativa al metodo tradizionale: # grep jupiter.example.com /etc/hosts 192.168.81.46 jupiter jupiter.example.com Vediamo inne come aggiungere un nuovo nodo allalbero. In questo caso eseguiamo interattivamente augtool per aggiungere un nuovo server di nomi
La radice dellalbero Augeas Il percorso del le La seconda riga

allinterno di /etc/resolv.conf, assicurandoci che venga inserito per primo nella lista: augtool> ins nameserver before /les/etc/resolv.conf/nameserver[1] augtool> set /les/etc/resolv.conf/nameserver[1] 192.168.81.1 augtool> save La differenza tra i le di congurazione nativi e lalbero di Augeas in parte simile alla differenza che passa tra HTML e XML. Ad esempio, se visitate www.nationalrail.co.uk per cercare lorario di un treno lHTML che ottenete come risultato molto piacevole da guardare con un browser, ma molto difcile da analizzare da parte di un programma perch richiede unapprofondita conoscenza della struttura del documento. Al contrario le auto-esplicative risposte XML fornite dai servizi Web (denite formalmente usando WSDL o JSON) sono espressamente progettate per essere analizzate da un programma. Analogamente il nome di percorso di un elemento nellalbero Augeas auto-esplicativo, mentre i campi allinterno di un tipico le di congurazione in /etc non lo sono. Questo ci ricorda anche la gerarchia ad albero delle informazioni di congurazione del kernel che si trova allinterno del lesystem /proc/sys. Ad esempio, lelemento /proc/sys/net/ipv4/ip_forward controlla labilitazione del forwarding dei pacchetti IP. Il comando sysctl pi o meno simile ad augtool: , per esempio, possibile impostare il parametro ip_forward dalla riga di comando in questo modo: # sysctl -w net.ipv4.ip_forward=1 La trasformazione dai formati nativi dei le di congurazione alla vista ad albero non avviene per magia. eseguita usando le lenti (lenses), che sono denite dai le *.aug che si trovano nella directory /usr/share/augeas/lenses/dist (in Fedora questi le fanno parte del pacchetto augeas-lib). Ad esempio /usr/share/augeas/lenses/dist/sshd.aug denisce gli elementi presenti in /etc/ssh/sshd_cong. Questi le sono scritti in un sottoinsieme del linguaggio di programmazione funzionale ML. Lo sviluppo delle lenti non alla portata di tutti, dato che richiede la padronanza delle espressioni regolari e unapprofondita conoscenza degli elementi e della sintassi del le in questione. Una delle cose pi interessanti, per, che le lenti sono sufcienti non solo a controllare la conversione dai le di testo alla vista ad albero, ma anche a trattare la trasformazione inversa. Se siete interessati ad Augeas installatelo e iniziate a giocarci (leggete il box Lavorare in sicurezza per qualche suggerimento). disponibile per tutte le distro basate su Red Hat (RHEL, CentOS, Fedora) e per i derivati di Debian, tra cui Ubuntu. LXP

127.0.0.1 192.168.81.44 192.167.81.45

La posizione di un elemento allinterno dellalbero di Augeas dipende da quello che c nel le e dalla sua posizione allinterno del le

{ {
/files/etc/hosts/2/alias[2]
Il secondo alias del nome della macchina

Lavorare in sicurezza
Se volete provare a usare Augeas senza correre il rischio di danneggiare irreparabilmente la congurazione del vostro sistema potete creare una sandbox (una sorta di mini ambiente chroot) creando una directory temporanea, copiandovi dentro il contenuto di /etc e impostando la variabile di ambiente AUGEAS_ROOT, pi o meno cos: export AUGEAS_ROOT=/tmp/augeas-sandbox mkdir $AUGEAS_ROOT sudo cp -pr /etc $AUGEAS_ROOT sudo chown -R chris:chris $AUGEAS_ROOT Fate attenzione per quando aprite una nuova nestra di terminale: la sua shell non erediter la variabile AUGEAS_ROOT e vi ritroverete a lavora con i le reali in /etc.

local host earth mars

earth.example.com mars.example.com

earth.local mars.local

LINUX PRO 116

29

Langolo di Android

Android senza Google


Per avere uno smartphone Android veramente Open Source devi togliere tutte le app realizzate da Google. Non difficile e alla fine ci guadagnerai in prestazioni

ndroid nasce ormai quattro anni fa come sistema operativo Open Source basato sulla versione 2.6 del kernel Linux e sviluppato dal consorzio di produttori della Open Handset Alliance, di cui Google era il principale componente. Ebbe subito successo proprio in quanto non legato a un solo produttore come Apple con iPhone, Nokia per Symbian o tantomeno Microsoft con Windows Mobile. In tutti questi anni, per, il peso di Google aumentato notevolmente e oggi anche solo per accedere a un dispositivo Android occorre avere un account Google, mentre praticamente tutte le principali app sono realizzate a Mountain View. I tanti appassionati di Software Libero non si sono per rassegnati ad avere un padrone e hanno deciso di approttare della natura parzialmente libera del sistema operativo realizzando delle versioni di Android personalizzate che non contenessero alcun software proprietario. Grazie a comunit di appassionati programmatori di tutto il mondo loperazione ha avuto successo e oggi praticamente per tutti

i terminali Android esistono ROM modicate che in alcuni casi, come quello di CyanogenMod, non solo possono fare a meno delle app di Google ma risultano anche decisamente pi veloci. In realt per avere uno smartphone Google Free non basta disinstallare app come GMail o Google Maps, operazione tra laltro impossibile in quanto si tratta di software di sistema, ma occorre proprio reinstallare il sistema operativo e prima ancora sbloccare il bootloader in modo da avere i privilegi di root. A seconda del vostro dispositivo, lo sblocco pu essere pi o meno facile, in tutti i casi occorre per mettere in conto lannullamento della garanzia da parte del produttore, a meno che, ed possibile, non si ripristini la ROM originale. Per maggiori informazioni sullo sblocco dei dispositivi vi rimandiamo alla community di XDA Developers, www. xdadevelopers. com.

Dalla teoria alla pratica


Una volta ottenuti i privilegi di root, operazione pi facile sui terminali Nexus (Nexus One, Nexus S e Nexus Galaxy) destinati da Google agli sviluppatori, ma comunque possibile anche sulla maggior parte degli altri, si tratta di scegliere quale ROM installare. La Free Software Foundation Europe sta lavorando su Replicant OS,

un sistema operativo totalmente libero da applicazioni Google che per al momento gira solo su un numero limitato di dispositivi come Nexus S, Nexus One e HTC Dream e oltretutto richiede linstallazione via terminale. Molto pi semplice rivolgersi a un gruppo di appassionati indipendenti che hanno messo in piedi CyanogenMod, www.cyanogenmod.com, rendendo disponibili delle ROM Vanilla (senza cio app di Google o comunque commerciali) per 56 dispositivi differenti. Il vantaggio delle ROM CianogenMod che possono essere facilmente installate dalla recovery dello smartphone, senza bisogno perci di passare dal terminale del PC. Oltretutto CyanogenMod gi compatibile per alcuni modelli pi recenti anche con Ice Cream Sandwich, lultima versione di Android. Noi lo abbiamo provato con un vecchio ma sempre valido Nexus One, il primo terminale Android sviluppato direttamente sotto il controllo di Google. Una volta installata la Cyanogen 7.1, che non altro che una versione libera da app Google di Gingerbread, ci siamo ritrovati con un sistema decisamente pi leggero e questo in un dispositivo che ha nella poca memoria disponibile per le app uno dei suoi limiti pi grandi, non niente male. Naturalmente non ci stato richiesto linserimento

dellaccount di Google ma tutte le principali app necessarie per la gestione di uno smartphone evoluto erano comunque presenti, a partire da quelle per la gestione dei contatti, browser, client mail, le manager e persino radio FM. Insieme a GMail, GTalk, GMaps manca naturalmente anche il Market e quindi per trovare altre app dovrete rivolgervi a un market alternativo come FDroid, consigliato direttamente dalla Free Software Foundation Europe.

Repository su misura
FDroid, http://f-droid.org, non altro che un repository di applicazioni con licenza GPL o Apache che viene continuamente aggiornato da una sempre crescente community di appassionati. Lapp FDroid non presente su CyanogenMod, dovrete perci scaricare dal sito il le fdroid.apk e quindi trasferirlo sullo smartphone per poi installarlo con il le manager. Attualmente ci sono quasi 200 app di ogni tipo in grado di coprire senza particolari problemi la maggior parte delle categorie presenti nel Market di Google. Potrete cos, per esempio,

30

LINUX PRO 116

Langolo di Android

installare Text Edit per leggere e modicare documenti Ofce, caricando contemporaneamente un dizionario italiano o di una delle tante lingue disponibili. Se vi piace leggere potrete installare FBReader, un lettore di ebook compatibile con gli standard epub e mobi che tra laltro presente anche nel Market di Google. Mancano invece i giochi 3D o le app social pi trendy del momento come FourSquare o Facebook, ma questo non dovrebbe rappresentare un grande problema per chi ama il Software Libero, anche perch poi ai social si accede benissimo dal browser. La cosa importante che il software veramente utile presente, il caso per esempio dei software di navigazione GPS che sfruttano le mappe libere da diritti OpenStreetMap che hanno ormai raggiunto un grado

di copertura anche in Italia paragonabile a quello di alcune soluzioni commerciali. Anche il problema della sincronizzazione della rubrica o del calendario superato con app come ACal che sfrutta server Cal/DAV, o come Kolab Android che si sincronizza con cartelle Kolab/IMAP.

rmware e driver per la gestione delle varie componenti hardware dello smartphone, a partire da sezione telefonica, Wi-Fi, bluetooth, GPS e in qualche caso anche dallo stesso microfono. Il problema che ogni produttore adotta una politica differente per quanto riguarda driver e rmware e teoricamente potrebbe tenere

Naturalmente restano buchi ancora dei buchi, con app anche importanti la cui controparte libera ancora non esiste, per questo una delle attivit della Free Software Foundation Europe quella di liberare le app, convincendo gli sviluppatori a fornire una versione free dei loro software per il market FDroid. In alternativa viene richiesto agli appassionati di contribuire al progetto realizzando direttamente delle app che potranno poi aggiungere direttamente alla repository di FDroid.

sotto controllo le nostre conversazioni e i nostri movimenti in Rete. Varie comunit di hacker e sviluppatori indipendenti stanno cercando di scrivere driver e rmware liberi da sostituire a quelli preesistenti, ma la strada decisamente lunga, anche perch i terminali hanno una vita media che diventa sempre pi breve e intervenire su di un dispositivo richiede molto tempo e lavoro. Al momento lunica soluzione disponibile per garantirsi la massima libert da eventuali spioni quella di controllare con la massima attenzione le app che inseriamo e provare a installare unapp specica per la cifratura dei le di sistema come APG, che sfrutta il sempre valido protocollo OpenPGP per la protezione dei dati. Inutile sottolineare che APG, come tutte le altre app che trovate nel market FDroid, sono completamente gratuite. LXP

Libera il tuo Android


Ne abbiamo parlato nelleditoriale del mese scorso: la Free Software Foundation Europe sta cercando di diffondere la losoa degli smartphone liberi attraverso il progetto Libera il tuo Android (http://fsfe.org/ campaigns/android/liberate.it.html) in cui si vede il robottino verde rompere le manette che lo tengono legato al software proprietario. Se il progetto di liberazione degli Android ti ha convinto puoi contribuire alle attivit della Free Software Foundation Europe con delle donazioni p oppure lavorando per il sito come tradutto o editor. traduttore Tutte le informazioni necessarie le tro allindirizzo trovi http://fsfe.org/contribute/contribute. http://fsfe.org/contribute/c it.html.

Driver proprietari
Un sistema operativo complesso come Android non si ferma per alle app, ma comprende anche
LINUX PRO 116

31

Langolo di Android Galaxy Nexus

Samsung Galaxy Nexus


Il terzo smartphone a potersi fregiare del marchio Nexus ha un fantastico schermo ma una CPU poco performante

alaxy Nexus stato senza dubbio uno degli smartphone pi attesi ma alla prova dei fatti, come capita spesso con tutto quello che viene desiderato a lungo, ha lasciato molti un po delusi. Eppure i numeri per sfondare li ha tutti, a partire dallo schermo Super Amoled da 4,65 con risoluzione da 1.280x720 pixel che, grazie alla scomparsa dei tasti sici, occupa integralmente la parte anteriore del terminale. E poi naturalmente un sistema operativo nuovo di zecca come Android 4.0 Ice Cream Sandwich che d il meglio di s proprio su schermi di grandi dimensioni come questo e che offre soluzioni innovative come lo Sblocco con un sorriso, Beam, cio il trasferimento dei le che avviene semplicemente avvicinando tra loro dispositivi compatibili, e il chip NFC che prima o poi dovrebbe trasformare lo smartphone in un borsellino elettronico.

La batteria ha una capacit superiore alla media, ma la buona autonomia del Galaxy Nexus dipende anche dallottimizzazione effettuata da Samsung

C sempre un per
E allora cosa c che non va? Si tratta di tanti piccoli particolari che presi singolarmente non costituiscono un gran problema, ma che insieme possono compromettere leffetto di stupore che tutti si aspettano da uno smartphone che a ben vedere costa lequivalente di mezzo stipendio. Il confronto viene naturale prima di tutto con il Galaxy S II della stessa Samsung, che non per niente stato votato da una giuria di esperti al World Mobile Congress come miglior smartphone del 2011. E infatti, nonostante la risoluzione sia inferiore, la qualit del display di Galaxy S II migliore in quanto stata utilizzata

la tecnologia Super Amoled Plus Full RGB, mentre il Galaxy Nexus usa la tecnologia Super Amoled Pentile, cio praticamente interpola i pixel per ottenere una maggiore risoluzione. Il tutto si traduce in una maggiore brillantezza per il modello pi vecchio soprattutto sotto la luce diretta del sole, anche se poi vedere un lm in HD col Galaxy Plus rimane comunque tutta unaltra cosa. Nonostante la presenza in entrambi i modelli del chip dual core, un altro limite del nuovo Nexus costituito dalla sezione graca meno efcace e la dimostrazione facile ottenerla con i classici benchmark che lo vedono soccombere rispetto alla maggior parte dei terminali pi nuovi. E poi ci sono altri particolari non da poco conto come la mancanza dellalloggiamento per le schede di memoria, che alla

lunga comporta il rischio di rimanere senza spazio per larchiviazione dei dati, considerando che la memoria effettiva a vostra disposizione di soli 14 GB. Manca anche la funzione di memoria di massa e se questo un problema relativo per chi ha un PC Windows e riesce perci a vedere ugualmente il contenuto del terminale dal PC, diventa un fastidio per gli utenti Linux. Inne la fotocamera, che pur essendo di buona qualit e in grado di riprendere video Full HD, ha un sensore da soli 5 Megapixel, decisamente sottodimensionato per un modello di fascia alta come il Galaxy Nexus. Pur prendendo nella dovuta considerazione tutti questi limiti, il Nexus Galaxy rimane un ottimo prodotto, la struttura arrotondata simile a quella del Nexus S ma con una plastica

pi resistente ci permette di evitare leffetto saponetta di altri modelli e anche il peso di 135 grammi inferiore a quello delliPhone che pure ha uno schermo da soli 3,5 pollici. La sezione hardware poi particolarmente completa e, oltre a tutti i sensori presenti anche su altri modelli, ha lesclusiva del barometro, che serve per velocizzare il x del GPS e in prospettiva anche per elaborare previsioni del tempo che non siano quelle prese dalla Rete. Inoltre la sezione antenne particolarmente ben costruita sia a livello Wi-Fi che 3G, non abbiamo mai avuto problemi con la linea anche dove modelli altrettanto costosi facevano fatica. Anche la sezione audio durante le telefonare ci ha soddisfatto, meno nellutilizzo come vivavoce visto che laltoparlante letteralmente incassato nella parte posteriore del terminale. Abbiamo inne particolarmente apprezzato lautonomia, notevolmente superiore a quella del Galaxy S II e del Nexus S, ma questo dipende a nostro parere anche un certo abbassamento delle impostazioni di clock studiato da Samsung che ha, giustamente, anteposto lautonomia alle prestazioni. LXP

Giudizio
Galaxy Nexus
Produttore: Samsung Web: www.samsung.it Prezzo: 599,00

Caratteristiche Prestazioni Autonomia Qualit/prezzo

8.5 7.5 9 7.5

Uno smartphone aggiornato e con unottima autonomia, il prezzo decisamente alto.

Il voto di

Linux Pro

34

LINUX PRO 116

Recensioni
Tutte le novit in campo software e hardware testate e valutate ogni mese dai nostri laboratori

Una breve legenda


Ogni test di questa sezione accompagnato da un giudizio che riassume con quattro indici numerici le principali qualit dellapplicazione o del prodotto hardware messo alla prova. I laboratori di Linux Pro assegnano un voto da 1 a 10 alle seguenti categorie: Caratteristiche: fornisce tutte le funzioni di cui abbiamo bisogno? innovativo? Prestazioni: esegue in maniera efficiente le sue funzioni? veloce e affidabile? Facilit duso: dispone di uninterfaccia grafica chiara e facilmente fruibile? La documentazione che lo accompagna sufficientemente completa ed esaustiva? Qualit/prezzo: ha un prezzo competitivo? Vale i soldi richiesti per il suo acquisto? Il nostro giudizio viene poi riassunto da un voto finale, espresso anche graficamente. Ecco la legenda dei voti: Nulla da eccepire. Un prodotto praticamente perfetto. Un buon prodotto. I pochi difetti presenti non sono gravi. Compie il suo lavoro ma necessita di ulteriori sviluppi. Deve migliorare prima di raggiungere un voto sufficiente. Un completo disastro. Gli sviluppatori devono tornare alla fase di progettazione. Ricordiamo infine che i software citati nelle sezioni Confronto e Da non perdere sono spesso presenti nel DVD sotto la voce Rivista sotto forma di codice sorgente o binario.

QUESTO MESE...
Test >> Corel AfterShot Pro
Fotoritocco e gestione delle foto, tutto in un unico tool dallinterfaccia pag. 36 particolare

Gentoo 12 DVD
Una distro complicata pu generare il miglior LiveDVD del pianeta? pag. 37 Scopritelo con noi

Braid
Un gioco di piattaforme e puzzle nel quale avrete il controllo dello spazio/tempo, anche se non sar sufficiente per vincere! pag. 38

Braid

In libreria
WordPress 3 Cookbook Android 3 Guida per lo sviluppatore Cloud Computing pag. 39

Confronto >>
Le migliori distro per i computer dalle scarse prestazioni pag. 40 Puppy Linux WattOS Linux Mint LXDE Bodhi Linux Tiny Core Linux

10 8-9 6-7 5-4 1-3

Puppy Linux

Da non perdere >>


Cinque programmi da provare subito! Tomahawk Revelation NobleApe Summoning Wars Phlipple

pag. pag. pag. pag. pag.

48 49 49 50 50

Phlipple
LINUX PRO 116

35

Test Corel AfterShot Pro

Corel AfterShot Pro


Tempo fa Bibble era una delle poche opzioni per lelaborazione delle foto RAW sotto Linux. Ora Corel lha acquisito, rinominato e migliorato

n passato cera Bibble ed era lunica soluzione stabile per laccesso alle foto in formato RAW delle macchine fotogra che. Da qualche tempo questo progetto stato acquisto da Corel e rinominato in AfterShot Pro. Ora disponibile per tutte le piattaforme (per Linux si trovano gli RPM e i DEB a 32 e 64 bit una volta installato necessario scegliere la lingua italiana nel menu di con gurazione se lo si vuole usare nella nostra lingua), costa meno di quanto non costasse Bibble e Corel ha promesso di continuare a supportare GNU/Linux.

Cosa c di nuovo
Cosmeticamente non ci sono molte differenze tra AfterShot Pro e Bibble. Anche se c stato un aggiornamento con lintroduzione di menu e cursori, il layout di base sempre lo stesso, con i suoi pregi e i suoi difetti. Tutto quello che vi serve si trova nel menu Modi ca in alto a sinistra, potete portare una foto RAW in qualunque altro formato senza lasciare il programma, anche se ora presente unopzione

per avviare un editor esterno se volete fare degli interventi con GIMP. Rimane il vecchio problema, riscontrato da diversi professioni, che il layout terribile per luso con un setup multi schermo. Una bella novit che AfterShot Pro importa le foto in un lampo, cosa che Bibble non faceva con la stessa ef cienza. Accoppiato ci con un disco SSD veloce, abbiamo importato (applicando i preset di default) circa 500 foto RAW Nikon in poco pi di due minuti. Ci sono stati dei miglioramenti anche nel sistema di gestione delle foto, i Cataloghi, che ora pi semplice e comprensibile. A dir la verit si persa la funzione di Bibble che consentiva di guardare delle cartelle importando automaticamente gli scatti, ma questa cosa non ha mai funzionato alla perfezione. Il cambiamento maggiore, per, riguarda il sistema di gestione dei colori, che stato completamente riscritto. Bibble usava una tecnologia con licenza Kodak per elaborare i le RAW e applicare gli effetti: il nuovo motore stato programmato internamente e questo

AfterShot Pro riesce a mantenere alti livelli nei dettagli anche con le foto pi difcili, ad esempio quelle molto scure

ha portato la ripro latura di fotocamere e lenti, oltre al cambiamento di un paio di tool. Rispetto a Bibble sparito il menu Looks per limportazione, ma non una gran perdita. Se non avete mai usato Bibble non ne sentirete la mancanza, godendo invece dei bene ci del nuovo sistema di elaborazione. Far ottenere agli scatti laspetto che volete semplice, e per le ombre e per altri dettagli trovate nuove opzioni non disponibili altrove. Anche il rumore (o disturbo) viene gestito al meglio con una

nuova funzione che offre grandi risultati. Vale la pena passare dal vecchio Bibble a Corel AfterShot Pro? Secondo noi s, forse solo gli utenti contenti dellultima versione di Bibble possono rimanere dove sono. Comunque AfterShot Pro davvero un tool eccellente, forse il migliore sotto Linux. Una critica rispetto a Bibble riguarda i plug-in: quelli del vecchio programma non funzionano in AfterShot Pro, ma Corel sta lavorando per aggiornare i pi famosi tra i plug-in di Bibble. LXP

Passo passo Usare i cataloghi

Giudizio
Corel AfterShot Pro
Produttore: Corel Web: www.corel.com/aftershotpro Prezzo: 89,99

Caratteristiche Prestazioni Facilit duso Documentazione

9.5 10 8 9

1 Importare i folder
La funzione Cataloghi non fondamentale, ma parecchio comoda: vi consente di trovare pi rapidamente gli scatti.

2 Al posto giusto
Indicate una cartella sul disco e selezionate un catalogo in cui importare le foto. AfterShot Pro non sposter i le sul disco.

3 Ricerche
Usando il menu Browser Metadati potete cercare in base alla data, alla lunghezza focale e ad altri dati EXIF.

C qualche problemino, ma AfterShot Pro una delle poche scelte serie sotto Linux per i fotografi.

Il voto di

Linux Pro

36

LINUX PRO 116

Gentoo 12 DVD Test

Gentoo 12 DVD
I Maya devono avere torno. Linux Pro dice che la fine del mondo deve essere rimandata perch tutti devono avere il tempo di provare il miglior LiveDVD di sempre

arlando di Gentoo qualcuno potrebbe spaventarsi: una distro che richiede la compilazione da zero di qualunque software, partendo dal kernel, in effetti, fa un po paura. Se quindi non intuite subito lo scopo di un LiveDVD offerto da tale distro, nessuno pu biasimarvi. Da una parte c una distro che vi consente di controllare tutto quello che succede nel sistema, dallaltra un LiveDVD pieno zeppo di applicazioni, Window Manager, ambienti desktop e molto altro. Eppure Gentoo 12 DVD non un disco Live come tutti gli altri.

Cos e cosa non


Anche se si basa su Gentoo, dovete capire che un LiveDVD e non una distribuzione, e certamente non una versione ridotta di Gentoo. Il DVD non progettato per attrarre nuovi utenti, o per semplicare linstallazione della distro. Diversamente da altre distro, Gentoo 12 non offre tool graci per il suo setup su disco. Eppure nei suoi 3,6 GB di spazio occupato, il DVD contiene pi software di quello che pu servire a un normale utente desktop. Il DVD, comunque,

pensato per mostrare tutta la potenza di GNU/Linux. Include tutti gli strumenti pi popolari di cui potreste aver bisogno, indipendentemente dal tipo di macchina dovete usare. Sia che si tratti di un ambiente desktop con dei fantastici effetti graci, o un desktop leggero che deve girare con soli 128 MB di RAM, il DVD ha tutto. Ad accompagnare il kernel 3.1.5 trovate GNOME 3.2.1, KDE 4.7.4, Xfce 4.8, Fluxbox 1.3.2 e altro ancora. Gentoo 12 si avvia di default con KDE, ma potete scegliere un altro ambiente. Diversamente da quanto capita con altre distro, che sembrano legarsi a un ambiente relegando gli altri desktop al ruolo di gli minori, Gentoo si trova a suo agio con tutti gli ambienti, e questo si riverbera positivamente sullutente. Il nome utente di default gentoo e, stranamente, non c password. Se durante luso vi dovesse poi servire lutente root, seguite quanto detto qui: http://bit.ly/GW9D9m.

Questo LiveDVD offre ottime prestazioni e una valanga di software, cosa volete di pi?

Utenti viziati
Lelenco delle applicazioni incluse troppo lungo per riportarlo qui. Vi basti sapere che il DVD include tutti i tool

In evidenza

Tool extra
Tra gli altri, Gentoo 12 DVD vi mette a disposizione un gran numero di tool di sistema e per la diagnostica.

La scelta buona
Una grande gamma di ambineti desktop e applicazioni. C praticamente di tutto e anche di pi. Provatela subito!

pi popolari di ogni categoria. Quindi potete scegliere tra VLC, Xine, MPlayer e Totem per riprodurre qualunque tipo di le multimediale, poi avete a disposizione praticamente qualunque editor di testo, da Vim, GVim, Emacs, Joe e Nano a Gedit e KWrite. Client e-mail? Scegliete tra KMail, Evolution, Thunderbird, Sylpheed e Claws Mail. E non preoccupatevi, ci sono anche i giochi. Lasciateci dire solo che che la sezione Giochi molto ben popolata, con categorie che coprono gli arcade, i puzzle e i giochi da tavolo. Troverete anche un assortimento di strumenti per il recovery system, il benchmarking e il backup. LISO include anche i driver per un gran numero di dispositivi, ma nel caso aveste una scheda Wi-Fi non supportata, potete installare i driver voi stessi. Fate riferimento a http://bit.ly/ wCC6nT per altre informazioni. Potete usare dd per scrivere lISO su una chiave USB. Se la chiave pi grande di 8 GB, c una guida che vi spiega come abilitare lo storage persistente cos da ritrovare il vostro lavoro al successivo reboot. Quando avviate da DVD, lultima voce del bootloader Extra Boot

Images. Da qui potete accedere a vari strumenti che vi consentono di usare il DVD come strumento di ripristino o per fare benchmark. Questi strumenti vi fanno usare il DVD anche per partizionare i dischi o per modicare/ resettare le password di Windows. C anche un software per eseguire diagnosi sugli hard disk e uno per cancellare in modo sicuro i dati dalle periferiche di memorizzazione. Insomma, un LiveDVD da avere sempre a portata di mano. LXP

Giudizio
Gentoo 12 DVD
Sviluppatore: la comunit di Gentoo Web: www.gentoo.org Prezzo: gratis

Caratteristiche Prestazioni Facilit duso Documentazione

10 9 10 9

Il miglior LiveDVD in circolazione, ideale per mostrare le potenzialit di GNU/Linux.

Il voto di

Linux Pro

9.5
37

LINUX PRO 116

Test Braid

Braid
Linux Pro cerca di non dire troppo su quello che potrebbe rivelarsi uno dei migliori giochi indipendenti mai giunti in redazione. Di certo non vi far annoiare

ecensire Braid ci fa sentire strani. Non sembra una pratica che ci possa portare da qualche parte. Braid un gioco che fa cose cos speciali che parlarne troppo rovinerebbe completamente quella che unesperienza di gioco toccante e superlativa. Quindi non guardate a questa pagina come a una recensione, ma piuttosto come a una serie di superlativi e come una forte raccomandazione: Braid brillante. Forse possiamo dire senza timori che si tratta di un gioco di piattaforme con puzzle cerebrali che si basa sulla capacit del personaggio principale di manipolare il tempo. Visto che ci sono delle schermate in questa pagina, possiamo anche rivelarvi che il mondo di Braid splendidamente colorato e meticolosamente costruito. un mondo tanto aggraziato quanto progressivo, che si arricchisce man mano che si presentano nuove abilit e nuovi ostacoli. La sontuosa graca funzionale ed disegnata in modo chiaro e intelligente come il resto del gioco: non avrete mai dubbi su ci che sta accadendo, n di come funzionano le cose. Questa familiarit non vuol dire che il gioco sia facile, comunque.

I In evidenza

Semplice problema
Un brutto tizio con la chiave che vi serve si trova in fondo a un buco da cui non potete saltare via. Come superare lostacolo?

Diventerete matti nel tentativo di risolvere i puzzle pi ottusi, come capitato a noi, ed richiesto un certo livello di abilit con i giochi di piattaforme, anche se immaginiamo che chiunque possa giocarci. Se potete La graca artistica di Braid ben si sposa con il personaggio e i variegati livelli come questo con il boss di ne livello non vi fanno mai annoiare attivate un joypad Braid Quando affronterete un boss ci stavamo sfregando le mani arriva dallXbox 360, e la sua o un puzzle, sar lingegnosit nellattesa che venisse rilasciato eredit fa s che sia meglio e linsieme di trucchi e singolarmente cos da potervene giocabile con i pollici piuttosto tecniche imparate in precedenza consigliare fortemente lacquisto. che con le dita spiaccicate sulla a farvi andare avanti. Ora fa parte dellUbuntu tastiera. Il fatto che il gioco Software Center, quindi non vi tenga per mano Mondi differenti non avete pi scuse: una delle ragioni per cui Il gioco diviso in diversi mondi, acquistatelo! Ora! Se riuscite procedere tra i livelli di Braid ognuno dei quali svela un altro a dimenticare la sua eredit delle cos soddisfacente, assieme elemento della splendida console e dovreste riuscirci a un altro motivo che non sceneggiatura e presenta e se non vi importa la sua vi sveliamo, sta a voi scoprirlo. un altro intelligente meccanismo relativamente corta durata Ci sono solo due cartelli in tutto per lo slittamento del tempo situazione mediata dal tempo il gioco: uno vi dice come con cui giocare. Il design che spenderete per decifrare scalare, un altro come saltare. dei livelli di Braid che, come i puzzle la cui arguzia migliora Occasionalmente vi verr avrete intuito, la parte critica di livello in livello un gioco che indicato il tasto da premere per di ogni gioco di piattaforme dovete assolutamente aggiungere interagire con un componente davvero eccellente. alla vostra collezione. LXP del livello o per pasticciare Non c un movimento sprecato, con il tempo se qualcosa va terribilmente storto. Ed cos. e siamo rimasti meravigliati dallefcienza, immediatezza e ingegnosit degli schemi. Tutto ha senso, tutto ha un suo Braid posto, e Braid stato ridotto Sviluppatore: Number One al contenuto pi critico, tagliando Web: www.braid-game.com Prezzo: $ 9,99 il superuo. I nemici non sono molto vari, ma non hanno Gameplay 10 bisogno di esserlo: Tim, Grafica 10 il personaggio principale, Longevit 9 non deve abbatterli, ma piuttosto Qualit/prezzo 10 conquistare il gioco. Quindi Anche se non amate ecco la questione: Braid platform o puzzle, il fascino , come gi detto, brillante. Semplice soluzione e la complessit di Braid Saltate nel buco. Uccidete il tizio. Veramente. E visto che faceva vi rapiranno di sicuro. Recuperate la chiave. Fate tornare parte del secondo Humble indietro il tempo al momento Indie Bundle (un insieme in cui non eravate dentro il buco. Linux Pro di giochi indipendenti)

Giudizio

Il voto di

9.5

38

LINUX PRO 116

In libreria Test

Android 3 Guida per lo sviluppatore WordPress 3


Tutto quello che dovete sapere sulla programmazione del robottino verde

Cookbook

opo circa due anni dalla pubblicazione del libro precedente dedicato alla programmazione di Android, Massimo Carli e Apogeo ci offrono una versione aggiornata e rivista del volume, che ora copre la versione 3 (ancora molto diffuso nonostante il rilascio

della versione 4). Si parte dalle basi, spiegando le peculiarit della piattaforma Android e linstallazione dellambiente di programmazione per passare ai vari elementi: View, Activity, widget, menu e tutti gli altri componenti con cui si realizzano le applicazioni. Si parla sia di app per smartphone che quelle per tablet (c un capitolo dedicato a questo aspetto) e il numero di esempi di codice con cui sperimentare pi che buono. Tutto il codice ben commentato e supportato da schermate e schemi che chiariscono e illustrano i vari aspetti. Il lettore viene quindi accompagnato dai primi passi no alla creazione di unapp completa. Per capire e memorizzare a fondo tutti i consigli e le spiegazioni dellautore necessario provare direttamente quanto illustrato, scaricando magari gli esempi

di codice forniti online. Alla ne della lettura (sono ben 600 pagine), con un po di prove e avendo gi una base di conoscenze in fatto di programmazione e di Java, il lettore sar in possesso di tutti i mattoncini necessari alla creazione di app, anche per le versioni future di Android.

La soluzione ai problemi

Giudizio
Android 3 Guida per lo sviluppatore
Autori: Massimo Carli Editore: Apogeo ISBN: 978-88-503-3073-7 Pagine 600 Prezzo: 39,00
Copre tutti gli argomenti del caso, le spiegazioni sono chiare, il livello di difficolt medio.

Il voto di

Linux Pro

8.5

Cloud computing
Una guida alla nuvola per amministratori e manager

ordPress un gran strumento per la creazione di blog. Chi inizia a usarlo, dopo la mera installazione, pu incappare in alcuni problemi. Questo volume di Packt Publishing raccoglie le risposte a un centinaio di dubbi. Ogni ricetta in pratica una guida passo passo che guida il lettore al raggiungimento dellobiettivo. A dir la verit una parte delle istruzioni i primi passi si ripetono di ricetta in ricetta, risultando un po fastidiosi. In generale per, le spiegazioni sono dirette e precise, davvero molto utili. Si va dalla personalizzazione dei temi e dei post pubblicati, allinterfacciamento con i social network e con i circuiti pubblicitari/ di vendita. Lultimo capitolo, dedicato alla sicurezza, poteva essere pi esteso. Non certo un libro da leggersi dalla prima allultima pagina, ma perfetto come riferimento, anche per chi ha gi un po di pratica con WP.

on un ritmo sempre crescente le infrastrutture si stanno spostando dalla sala server locale alla nuvola. Questa trasformazione non per un gioco da ragazzi per amministratori e manager, che devono dotarsi dei giusti strumenti per capire se questa tecnologia compatibile con le proprie esigenze.

In questa ottica il libro di George Reese ci appare davvero ben fatto. Pur basandosi spesso su una cloud specica, quella di Amazon, le spiegazioni valgono in generale. Il libro molto discorsivo, non troverete lunghi le di congurazione, ma vengono coperti tutti i punti chiave, sempre in modo esaustivo. Allinizio lautore spiega il nuovo paradigma, confrontandolo con la vecchia architettura locale e indicando cosa necessario vericare e conoscere prima di fare il passaggio. Poi passa a spiegare come creare le Web App e le immagini delle macchine virtuali da usare nella cloud. I capitoli 5 e 6 sono dedicati, rispettivamente, alla sicurezza e al disaster recovery. Inne, si indica come scalare la propria infrastruttura nella nuvola in caso di bisogno. da chiarire che il libro non una guida per tecnici, forse pi orientata ai manager che

vogliono conoscere tutti gli aspetti della questione. pur vero, per, che anche chi si occupa degli aspetti tecnici pu trovare utili suggerimenti ma non guide passo passo e avere una panoramica sugli aspetti di gestione dal punto di vista strategico. Insomma, unottima lettura, anche per chi solo curioso.

Giudizio
Cloud computing
Autore: George Reese Editore: Tecniche Nuove ISBN: 978-88-481-2493-5 Pagine 224 Prezzo: 24,90
Strategia e opportunit della cloud spiegate per bene, con qualche consiglio pi pratico per i tecnici.

Giudizio
WordPress 3 Cookbook
Autore: Ric Shreves, Jean-Baptiste
Jung

Editore: Packt Publishing ISBN: 978-1-84951-460-6 Pagine 318 Prezzo: 16,14 (ebook)
Chiaro, offre suggerimenti anche ai pi esperti.

Il voto di

Linux Pro

8.5

Il voto di Il voto di

Linux Pro Linux Pro

8
39

LINUX PRO 116

Test Confronto
MODALIT DEL TEST
Per ottenere lhardware pi adatto per questo confronto, invece di prendere roba in prestito dai ragazzi di Computer Magazine, abbiamo preso una torcia per scendere nelloscuro antro del nostro garage e abbiamo rovistato tra i vecchi scatoloni. Quello che abbiamo trovato un computer con un singolo processore Celeron a 1,7 GHz. Abbiamo trovato anche un disco IDE da 20 GB e due banchi di RAM DIMM PC133 da 256 MB. Abbiamo iniziato con 256 MB di RAM e abbiamo messo ulteriori banchi di memoria solo quando siamo stati seriamente irritati dalle prestazioni lente di una distribuzione (cosa che, in realt, accaduta solo due volte). Laltra macchina su cui abbiamo provato le distribuzioni era un portatile con Celeron a 1,3 GHz, che aveva un solo modulo RAM da 1 GB, perci non potevamo sostituirlo con una minore quantit di RAM. Entrambe le macchine erano connesse a Internet con un cavo Ethernet.

Distro per vecchio hardware


Avete macchine che fanno da fermacarte perch non sono allaltezza delle richieste hardware delle moderne distribuzioni? Linux Pro pu esservi daiuto

ome se il ritmo di sviluppo dellhardware non fosse abbastanza alto, i software pi nuovi, affamati di risorse, rendono lhardware obsoleto quasi non appena lo prendete

Recenti sviluppi dellinterfaccia graca, come Unity di Ubuntu, hanno relegato altro hardware in softta, ma ancora possibile usarlo
dallo scaffale. Perci probabile che anche voi abbiate un sacco di hardware che diventato superato solo recentemente, cos come periferiche che non sono pi supportate dalle ultime versioni del kernel. Inoltre, recenti

sviluppi dellinterfaccia graca, come Unity di Ubuntu, hanno relegato altro hardware in softta. Ma ancora possibile fare buon uso di quelle vecchie macchine. In realt non sorprendente che un gran numero di sviluppatori Open Source stiano lavorando per rendere nuovamente utilizzabile lhardware obsoleto. Ci sono alternative leggere per ogni tipo di software. Le applicazioni da ufcio, come AbiWord e Gnumeric, sono ancora sviluppate, nonostante ci siano software dalle funzionalit complete come LibreOfce. Grazie alle crescenti richieste hardware degli ambienti graci, come GNOME 3 e KDE, gli utenti con hardware pi vecchio stanno scegliendo opzioni che

sono pi leggere sulle risorse, come LXDE. In questo confronto, vedremo alcuni dei progetti che raccolgono queste applicazioni leggere e le inseriscono nelle distribuzioni che usano giudiziosamente le risorse hardware scarse.

LA NOSTRA SELEZIONE

Puppy Linux WattOS Mint LXDE Bodhi Linux Tiny Core Linux

40

LINUX PRO 116

Confronto Test

Pacchetti predefiniti
Sono pronti per essere usati subito?

roprio come le versioni pi recenti, anche queste distribuzioni specializzate sono fornite con un gruppo di programmi preinstallati. Ma diversamente dalle nuove distro, che inseriscono lultima versione stabile delle applicazioni pi popolari, quelle per il vecchio hardware devono essere davvero esigenti sul software incluso. Non ha senso incorporare un succhiarisorse come LibreOfce su una distro che deve sofare nuova vita sullhardware abbandonato. Tiny Core Linux incorpora solo un terminale, un elaboratore di testi e un lanciatore di applicazioni sul leggero gestore di nestre FLWM. Avrete un pannello di controllo per gestire i servizi di avvio e congurare il lanciatore, ma qualsiasi altra cosa la dovrete prelevare dal suo gestore di pacchetti, compreso linstallatore se volete installare Tiny Core su disco. Bodhi Linux basato sul bello e ottimo gestore di nestre Enlightenment, e prende in prestito parecchi componenti dallambiente LXDE, come

lelaboratore di testi Leafpad e il gestore di le PCMan. Per qualsiasi altra cosa, avviate il browser Web Midori incluso e andate al centro software online di Bodhi. Parlando di LXDE, sia WattOS che Linux Mint LXDE sono dotati di questa leggera interfaccia. Oltre alle normali utilit di LXDE, come Leafpad e PCMan, WattOS include il gestore di password KeePassX, lo strumento per le copie di sicurezza Remastersys, il visualizzatore di documenti Evince e lelaboratore di foto fotoxx. Ci sono anche il client FTP FileZilla, il browser Chromium, Syhpleed per la posta elettronica, il client per Torrent Transmission, lelaboratore di testi AbiWord, il foglio di calcolo Gnumeric e i riproduttori multimediali Audacious e VLC. Linux Mint LXDE la distro pi pesante del confronto e la sola che include lelaboratore di immagini GIMP in modo predenito. Per Internet, ha Firefox, Pidgin per la messaggistica istantanea, Thunderbird per la posta elettronica, Transmission per Torrent, Xchat per IRC e anche

Puppy ha anche due varianti, SlackoPuppy e LucidPuppy

il client per Dropbox. Si attiene alla scelta popolare di AbiWord e Gnumeric, e per trattare tutti i tipi di le multimediali include i riproduttori Exaile, Mplayer e VLC. Puppy Linux, nonostante le sue piccole dimensioni, pieno zeppo di software. Ha unapplicazione per ogni tipo di utente. Ci sono programmi per la graca, la produttivit e per riprodurre, modicare e creare le di contenuti multimediali. Troverete di tutto, dalle applicazioni di nicchia, come HomeBank per controllare le vostre nanze, a quelle leggere, come AbiWord e a quelle complete come Mplayer. Puppy incorpora una pletora di applicazioni speciali, per bloccare le pubblicit dai siti Web e per telefonare via Internet, un programma per prendere

i podcast, uno per scaricare in modo sicuro, un riproduttore audio, unapplicazione per masterizzare DVD e altro ancora. Questo davvero tanto per una distribuzione della sua dimensione.

Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux

Bodhi Linux Non c nessuno che batte Puppy per funzionalit.

Codec ed estensioni
Flash e altre gingilli per il multimedia

Linux Mint LXDE pu riprodurre tutti i tipi di le multimediali

a un punto di vista puramente pratico, le distribuzioni che richiedono di equipaggiare i browser con estensioni per riprodurre il contenuto Flash, o di installare i codec per trattare i le multimediali in formato proprietario, non sono alla portata di tutti. Se siete un utente cos, non sarete contenti di Tiny Core Linux, che vi richiede di installare tutto dal suo gestore di pacchetti. Bodhi Linux leggermente meglio, sebbene il sul browser Midori non sia equipaggiato con lestensione per Flash, potete installarla senza tanti problemi tramite il centro applicazioni della distro. Puppy Linux ha un punto in pi. Sebbene il suo browser Seamonkey

non sia equipaggiato per riprodurre il contenuto Flash, non appena andate a un sito Web che richiede Flash, per esempio YouTube, Puppy si offre di installare lestensione per voi. Potete anche installare lestensione dal gestore di pacchetti della distribuzione. Inoltre, la distribuzione contiene parecchi riproduttori multimediali, come Mplayer, per riprodurre tutti i tipi di formati multimediali. Daltra parte, il browser Chromium in WattOS ha lestensione per Flash e la distribuzione include anche il nonno di tutti i riproduttori multimediali, VLC, per trattare molti le multimediali. Linux Mint

LXDE supera tutte le altre distribuzioni. Il suo browser Firefox ha una serie di estensioni per trattare contenuti Flash, Java, DivX, RealPlayer, QuickTime e altri formati. Per i contenuti multimediali locali, la distribuzione ha tanto VLC quanto Mplayer, in aggiunta a uninterfaccia graca di Ndiswrapper per installare i driver di Windows per le reti wireless.

Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux

Bodhi Linux Bodhi non ha estensioni proprietarie.

Tiny Core Linux vi richiede di installare tutto dal suo gestore di pacchetti

LINUX PRO 116

41

Test Confronto

Prestazioni e usabilit
Possono funzionare davvero come le distribuzioni di tutti i giorni?

roverete molte distribuzioni con componenti che non mettono a dura prova il vostro hardware datato. Ma adattare tutti quei componenti insieme senza soluzione di continuit e trasformare quel vecchio rottame in un computer che potete usare per i vostri compiti informatici quotidiani richiede un notevole lavoro. In una normale distribuzione per computer da scrivania, il numero di applicazioni che comprende ha uninuenza diretta sulla sua usabilit. Ma una distribuzione

destinata a vecchio hardware pi della somma delle sue applicazioni. Questo spiegherebbe perch alcune delle distro in questo confronto sono stracolme di applicazioni, mentre altre hanno appena quanto basta per farvi iniziare. Invece, gli sviluppatori di queste distribuzioni ottimizzano ogni possibile aspetto del sistema base per massimizzare le prestazioni, un parametro importante per valutare lusabilit di una distribuzione che deve essere idealmente usata con hardware datato.

Puppy Linux
WaryPuppy vi offre due server X, Xorg e Xvesa, per coprire una vasta gamma di hardware graco. Noi abbiamo usato il server Xvesa, poich Xorg non riuscito a individuare lhardware graco sulle nostre macchine. Gli utenti alle prime armi potrebbero essere intimiditi dallinstallatore di Puppy. Non ha un partizionatore automatico e avvia Gparted per formattare il disco. Ma ogni passo dellinstallatore ben documentato allinterno dellinstallatore stesso. Le prestazioni dellavvio e dellinstallazione di Puppy sono seconde solo a quelle di Tiny Core Linux. Lavvio delle applicazioni rapido, anche per le applicazioni pi pesanti come Mplayer e VLC, che abbiamo installato tramite il gestore di pacchetti. Questa stata la sola applicazione a funzionare male e a bloccarsi mentre installavamo le applicazioni, ma ha funzionato normalmente dopo loperazione.

WattOS
La distribuzione usa un installatore di Ubuntu modicato, che affasciner gli utenti principianti. A causa della sua dimensione, ci voluto pi tempo di Puppy Linux per installarla sul disco. Una volta installata, WattOS ha funzionato come annunciato. I tempi di avvio e chiusura sono stati considerevolmente pi rapidi di una tipica installazione di Ubuntu su una macchina multicore con un sacco di RAM. Lavvio delle applicazioni non stato cos rapido come in Puppy Linux, ma nemmeno terribilmente lento. La riproduzione video, sia nel browser che in VLC, stata uida nch non siamo saltati avanti nel le, cosa che ha reso il video spezzettato. La distribuzione non stata in grado di ripristinarsi dopo essere stata in sospensione su entrambe le macchine delle prove. Aumentare la memoria sica della macchina ha migliorato le prestazioni e ha ulteriormente ridotto la riproduzione spezzettata, ma non ha potuto nulla per il ripristino dellinstallazione dalla sospensione.

La dimensione conta?
Leggero non deve per forza signicare povero di funzioni
uando si tratta di hardware vecchio, la dimensione della distribuzione un fattore importante da considerare, specialmente se avete spazio limitato sul disco fisso. Linux Mint LXDE, sebbene pi leggera di una normale distribuzione, ancora piuttosto pesante con i suoi 727 MB, a causa della sua vasta gamma di applicazioni. Per offre meno applicazioni di WattOS, che ha una ISO di poco pi di 550 MB. Sebbene Bodhi Linux sia pi leggero degli altri due, occupando solo un po

pi di 370 MB, offre solo un ambiente grafico molto semplice (ma bello). Tutte e tre le distro sono ritagliate da Ubuntu e usano un kernel alquanto pi recente delle due distribuzioni pi leggere del confronto. Ci sono anche parecchie varianti di Puppy Linux. WaryPuppy quella pi adatta allhardware vecchio ed di soli 130 MB, il che incredibile, considerando il numero di applicazioni pronte alluso che offre. Unaltra variante di Puppy, RacyPuppy, per hardware pi nuovo, di soli 111 MB perch priva dei driver per le periferiche pi vecchie

come i modem a linea commutata. Infine, c Tiny Core Linux dal nome appropriato (Tiny Core significa nucleo minuscolo) che di soli 12 MB! C anche una variante CorePlus, che di 48 MB e include driver aggiuntivi per schede wireless, uno strumento per rimasterizzare e supporto allinternazionalizzazione. Infine, c ledizione Core di 8 MB che solo il sistema base con uninterfaccia a riga di comando per permettere agli utenti pi esperti di costruire il loro sistema da zero.

Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux

Bodhi Linux Tiny Core lideale per lesecuzione da RAM.

42

LINUX PRO 116

Confronto Test
Linux Mint LXDE
Linux Mint LXDE stata lunica distribuzione che si riutata di avviarsi con 256 MB di RAM. Dopo aver messo ulteriori 256 MB di memoria, si avviata e installata, ma i suoi tempi di boot sono stati sempre pi lenti di WattOS. Nonostante i 512 MB, il sistema sembrava lento e lavvio delle applicazioni non era veloce. Linstallazione dei pacchetti dal gestore software personalizzato non ha provocato nessun errore e ha funzionato anche con i pacchetti pi pesanti. Quando stato lanciato, LibreOfce ha rallentato lintero sistema a passo di lumaca, per. Durante le nostre prove, il sistema non ha pi risposto quando abbiamo aperto un video di YouTube a schermo intero, e abbiamo dovuto riavviare forzatamente. A paragone con le altre distribuzioni basate su LXDE nel confronto, le prestazioni di Linux Mint LXDE sono state piuttosto deludenti.

Tiny Core Linux


A causa della sua minuscola dimensione, Tiny Core Linux si avvia in un lampo. Lunico appunto che dobbiamo fare a questa distribuzione riguarda la quantit di tempo che gli utenti principianti devono impiegare per familiarizzare con il suo funzionamento. Per installare la distribuzione sul disco, dovete prima prelevare il suo speciale installatore dagli archivi software. La cosa buona dellinstallatore, per, che diversamente da quello di Puppy Linux, formatter i dischi automaticamente per voi. Tiny Core Linux richiede un po per abituarsi. Per i principianti: passerete un sacco di tempo con il suo gestore di pacchetti, che irritantemente pu installare solo unapplicazione alla volta. Una volta installate, per, il lancio delle applicazioni pi veloce che in ogni altra distribuzione. Ma le sue prestazioni stellari si ottengono a spese dellusabilit, che pu allontanare qualche utente.

Bodhi Linux
Laltra distribuzione che non si accontentata di soli 256 MB di memoria stata Bodhi Linux, che ha avuto prestazioni molto migliori con 512 MB di RAM. Diversamente da Linux Mint LXDE, per, Bodhi Linux ha fatto pieno uso della memoria aggiuntiva, e le sue prestazioni sono state vicine a quelle di Tiny Core e Puppy. Proprio come per Tiny Core, tuttavia, dovete impiegare del tempo con il gestore di pacchetti di Bodhi per preparare il vostro sistema. Ma la buona notizia che Bodhi ha reso il procedimento abbastanza semplice perch i nuovi utenti lo seguano con facilit. La sua essibilit che permette ai pacchetti di essere scaricati su di unaltra macchina , inoltre, un buon vantaggio. Un altro vantaggio di Bodhi il suo gestore di nestre Enlightenment che vi permette di abbellire il vostro vecchio hardware con qualche chicca graca senza gravarlo troppo.

Supporto
Siete bloccati? Dove andate per trovare aiuto?
uesto un fattore importante quando si sceglie una distribuzione, per qualsiasi tipo di uso. Nel caso di queste distro tanto pi importante, giacch alcune di esse sono progettate da zero e possono confondere anche un utente Linux di vecchia data. La distribuzione pi bizzarra del nostro confronto Puppy Linux, ma siamo lieti di riportare che ha unimpressionante struttura di supporto. La distribuzione ha due forum indipendenti e molto attivi ed enormi quantit di documentazione

su come iniziare. La distro include anche documentazione di guida su parecchi argomenti, come lavorare con i documenti di Microsoft Ofce, aggiungere codec, software e altro ancora. Dato il suo progetto innovativo, Tiny Core Linux non sarebbe unopzione valida per la maggior parte, se non fosse per la sua guida allinstallazione. C anche una sezione Domande frequenti, un vasto wiki e un forum attivo. Sfortunatamente, ma prevedibilmente, non fornita di alcuna documentazione. La distro con

la documentazione pi impressionante Bodhi Linux. Ha una guida rapida multilingue, destinata agli utenti alle prime armi, che anche inclusa dentro la distribuzione. Il suo wiki ha un elenco di compatibilit hardware a cui contribuiscono gli utenti, guide sulluso e la personalizzazione di Bodhi e una decina di video HOW-TO. Sia WattOS che Mint LXDE hanno linfrastruttura basilare di supporto. WattOS ha un forum e un canale IRC e Mint LXDE condivide le risorse di supporto con la sua distribuzione madre Linux Mint.

Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux

Bodhi Linux La guida nella distribuzione Bodhi buona per iniziare. LINUX PRO 116

43

Test Confronto

Gestione dei pacchetti


Arricchite la distribuzione in modo facile

e distribuzioni con installazione minima, come Tiny Core e Bodhi, devono usare un sistema di gestione dei pacchetti esteso e impressionante, poich l che gli utenti saranno portati dopo averle installate. Tiny Core Linux ha la sua propria applicazione personalizzata AppBrowser che risolve le dipendenze. uno strumento carino, ma necessaria una rapida occhiata alla documentazione per decifrare le funzioni dei suoi pulsanti dallaspetto per soli informatici. Una volta afferrato, apprezzerete la sua essibilit. Potete installare applicazioni complesse e ambienti graci completi. La fonte primaria di Bodhi per aggiungere

il software il suo AppCenter basato sul Web. Per aiutarvi a setacciare tra centinaia di applicazioni, gli sviluppatori ne hanno raccolte parecchie in due pacchetti: uno con software completo e laltro con applicazioni leggere sulle risorse. Poi ci sono i pacchetti di software, come quello audio e quello educativo. Potete installare qualsiasi applicazione dallinterno di questi pacchetti o dagli archivi. C anche un negozio Bodhi, che vende applicazioni commerciali. La cosa migliore del sistema di gestione dei pacchetti di Bodhi che potete sia installare le applicazioni direttamente dallAppCenter sia scaricare i pacchetti su unaltra macchina e poi spostarli e installarli sullinstallazione di Bodhi.

Inne, poich basato su Ubuntu Linux, potete anche usare il gestore di pacchetti Synaptic incluso per scaricare le applicazioni dagli archivi di Ubuntu. Anche WattOS basato su Ubuntu e usa Synaptic come gestore predenito. precongurato con i suoi propri PPA, ma pu anche installare pacchetti dagli archivi di Ubuntu. I pacchetti degli archivi di WattOS sono supportati dalla distribuzione. Unaltra distribuzione basata su Ubuntu Linux Mint LXDE. In modo predenito, usa il popolare strumento gestore di software di Mint che, come il nuovo Ubuntu Software Center, permette agli utenti di dare una valutazione e recensire i pacchetti. La distribuzione dichiara orgogliosamente di avere pi di 33.000 pacchetti.

C anche Synaptic se avete bisogno di uninterfaccia familiare. I pacchetti per Puppy Linux sono chiamati pet e hanno lestensione .pet. Potete installarli usando lo strumento personalizzato Puppy Package Manager, congurabile per scaricare i pacchetti dagli altri archivi di Puppy.

Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux

Bodhi Linux Nessun problema nellinstallare il software con queste distro.

Frequenza degli aggiornamenti


Ogni quanto rilasciata una nuova versione?

ome qualunque distribuzione di nicchia, tutte queste sono progetti condotti da una sola persona e, perci, non hanno un piano sso di rilascio. Bodhi Linux, per, fa eccezione. Le versioni principali sono basate su ogni nuova versione

LTS di Ubuntu. Perci, ci saranno versioni principali ogni due anni con una versione di aggiornamento ogni tre mesi, e release occasionali per la correzione degli errori, non appena venga risolto un problema con la congurazione predenita. Secondo il suo

WaryPuppy curato direttamente dallo sviluppatore capo di Puppy Linux, Barry Kauler

piano di rilasci, ci saranno cinque versioni nel 2012, inclusa una principale, basata su Ubuntu 12.04, a luglio. Unaltra distribuzione con un ciclo di rilasci a lungo termine WaryPuppy. Gli aggiornamenti importanti per la distro sono rilasciati non appena pronti. Dal rilascio di Wary 5.0 il 29 dicembre 2010, ci sono state sette versioni nora, essendo lultima Wary 5.2.2. Sebbene non abbia un piano di rilasci sso, Tiny Core Linux ha sfornato versioni stabili scrupolosamente dal 2009. Anche WattOS non ha un piano di rilasci, ma coinvolge gli utenti nello sviluppo di nuove versioni, prima chiedendogli una lista dei desideri e poi pubblicando notizie regolarmente sul forum. Mint

LXDE necessita di rilasciare nuove versioni a un ritmo pi veloce. Dovrebbe essere basata sullultima versione di Mint, ma la differenza troppa (anche se pochi giorni prima di andare in stampa, ad articolo ormai scritto, uscita la versione 12).

Verdetto
Puppy Linux WattOS Mint LXDE
Tiny Core Linux

Bodhi Linux Il piano fisso di rilasci di Bodhi davvero tranquillizzante.

44

LINUX PRO 116

Confronto Test
Distro per hardware vecchio

Il verdetto
A
seconda dellet del vostro computer, potete resuscitarlo con una qualsiasi delle distribuzioni di questo confronto. WattOS e Linux Mint LXDE sono buone scelte per macchine che sono vecchie circa mezzo decennio, macchine con un solo core e pi di 512 MB di RAM. Lavvio delle applicazioni non sar il pi veloce da queste parti, ma almeno avrete la soddisfazione di resuscitare il vecchio mulo. Non siamo pienamente sicuri che LibreOfce abbia un posto su una distribuzione dedicata al vecchio hardware, cosa che limita Linux Mint LXDE agli utenti che eseguono la distribuzione completa Linux Mint sulle loro macchine pi nuove e sono abituati ai suoi strumenti personalizzati. Se state cercando una distro dotata di LXDE, WattOS, con la sua ampia gamma di pacchetti supportati, unalternativa migliore. Ha prestazioni anche maggiori e richiede meno risorse di Mint LXDE. Anche Bodhi Linux una meravigliosa distribuzione. La sola distro in questo confronto a usare lambiente Enlightenment, una buona combinazione Vi ricordate delle nostre macchine di prova? Una di esse di orpelli graci e di una ora dotata di Puppy e laltra di Bodhi base stabile, con un sistema di gestione dei pacchetti predenita di Puppy impareggiabile ben progettato. Tiny Core Linux da qualsiasi altra distribuzione. A meno la distribuzione pi brillante di tutte che non vogliate un particolare programma, e, come Bodhi, vi d una base buona e stabile, ci vorr del tempo prima di lanciare ma dovete impiegare del tempo con i loro il suo sistema di gestione dei pacchetti. rispettivi sistemi di gestione dei pacchetti Inoltre, diversamente dalle altre soluzioni, per trasformarli in sistemi utilizzabili. Il che WaryPuppy usa un vecchio kernel ci lascia con Puppy Linux. La distribuzione e include driver aggiuntivi per supportare ancora la numero uno quando si tratta le periferiche datate. Se non avete di riportare in vita lhardware datato e usa nessuna periferica vecchia, allora potete uno dei pi leggeri gestori di nestre. Puppy usare lancor pi leggera RacyPuppy, potrebbe non essere carina da guardare, che usa il kernel pi recente. Per noi, ma trasformer un mulo lento in uno Puppy Linux ha la giusta combinazione stallone galoppante. Aggiungete a questo di prestazioni e usabilit, mentre il fatto che la raccolta di software gli altri compromettono luna per laltra.

Puppy Linux

WattOS

Web: www.puppylinux.org Licenza: GPL e altre La distribuzione installa-e-dimentica per tutti i tipi di hardware datato.

Web: www.planetwatt.com Licenza: GPL e altre Il sistema basato su LXDE pi leggero in circolazione

Tiny Core Linux

Linux Mint LXDE

Web: www.tinycorelinux.com Licenza: GPL v2 La distribuzione pi piccola che potete personalizzare a piacimento.

Web: http://blog.linuxmint.com/?p=1802 Licenza: GPL e altre Porta la bont di Linux Mint sul vecchio hardware.

Bodhi Linux

A voi la parola
Provate una di queste distribuzioni sul vostro vecchio hardware e raccontateci la vostra esperienza scrivendo a redazione@linuxpro.it.

Web: www.bodhilinux.com Licenza: GPL e altre La distribuzione perfetta per una macchina diventata vecchia da poco.

Considerate anche....
Negli anni ci sono state un sacco di distribuzioni su misura per vecchio hardware che sono scomparse per varie ragioni. Due di quelle popolari dallo sviluppo sospeso sono Damn Small Linux basata su Knoppix e Slax basata su Slackware. Unaltra delle nostre favorite, SliTaz, ha avuto la sua ultima versione stabile a marzo 2010. Gli sviluppatori stanno lavorando allultima versione e dovreste tenerla docchio. C anche VectorLinux che disponibile in parecchie varianti. Non stato incluso nel confronto perch la sua Light Edition per hardware vecchio ha visto il suo ultimo rilascio ad aprile 2009. Anche Lubuntu, basato su LXDE, dedicato al vecchio hardware, ma ha un po arrancato sulle nostre macchine di prova. Date unocchiata anche a CrunchBang Linux, basato su Debian, che usa il leggero gestore di nestre Openbox. LXP
LINUX PRO 116

45

Test Da non perdere


FREE SOFTWARE
In questa rubrica recensiamo i programmi pi interessanti che si possono trovare in Rete. Ogni mese navighiamo tra le migliaia di progetti Open Source che nascono o si aggiornano e selezioniamo i pi nuovi, i pi innovativi e quelli che possono tornare pi utili per luso quotidiano di una Linux box. La maggior parte delle applicazioni provate si trovano nel nostro DVD, ma ne forniamo anche gli indirizzi Internet cos che ogni lettore possa scaricare le versioni future. Se volete segnalare un vostro progetto o un programma Open Source che avete trovato in Rete e ritenete interessante per la maggior parte dei lettori, inviate una mail allindirizzo linuxpro@sprea.it QUESTO MESE... Tomahawk Revelation NobleApe Summoning Wars Phlipple 48 49 49 50 50

Player musicale

Tomahawk
VERSIONE 0.4.0 WEB www.tomahawk-player.org

La visualizzazione della classica include le copertine degli album, in modo che possiate vedere le belle facce dei vostri cantanti preferiti

uanti lettori di musica avete installato sul vostro computer? Una dozzina? Volete fare spazio per un altro lettore? Non sembrano esserci molte tipologie di software per il desktop (beh a parte i desktop stessi) con maggior astio tra i contendenti dei player musicali. Ok, non ci sono ancora state rivolte per le strade, ma ci siamo andati vicini qualche volta.

Quindi perch mai dovreste darvi la noia di installare un altro player nel vostro sistema?

promette di essere differente. Si fa una croce sul cuore con il mignolino e promette che vi piacer. Il valore aggiunto che porta con s sono i social media! S, noi tutti abbiamo visto tentativi pi o meno falliti, effettuati da vari progetti software, per saltare sul treno del vincitore (ricordate Flock? Ricordate Rockmelt? No? Bene) ma possibile, forse, che Tomahawk abbia qualche speranza. Laspetto sociale di un player musicale abbastanza chiaro. Tomahawk ovviamente vi permette di connettervi a Last.fm e, praticamente come ogni altro player, consente lo scrobbling. Quello che fa in pi provare a riportare la musica al player. Un sistema di Resolver cercher

Non sorprendetevi se andr in crash, ma neanche se vi piacer


Beh, come ogni altro software di questo tipo, Tomahawk le tracce da varie sorgenti (SoundCloud, Spotify, YouTube) e le riprodurr per voi.

Linterfaccia di Tomahawk
Resolver
Appena installato Tomahawk, andate direttamente in Settings e aggiungete i resolver per trovare nuova musica.

Visualizzazione classiche
Se non siete sicuri di cosa volete ascoltare, a parte guardare le playlist recenti dai vostri amici, e connettervi ai network condivisi e alle altre istanze di Tomahawk, potete sempre dare unocchiata alle classiche sempre aggiornate (suddivise per paese e rilevate da diverse fonti, come iTunes e Spotify). Lunico rischio che con tutta questa carne al fuoco vi dimentichiate di ascoltare la vostra musica preferita! Questa versione ancora a uno stadio abbastanza primitivo, ci sono diversi problemini con Fedora, ad esempio, anche se con Ubuntu sembra funzionare molto pi felicemente. Comunque non sorprendetevi troppo se dovesse crashare, ma non sorprendetevi neppure se dovesse piacervi.

Classiche
Cliccate su charts per vedere la musica pi popolare secondo diverse fonti.

Playlist
Create le vostre playlist o autogeneratele grazie a una variet di tool.

Barra di stato Tracklist


dettagliata e bella ma non sembra esserci un modo per modicare le proprie tracce.

Testata Mostra la copertina e le Mostra la sorgente informazioni della traccia musicale in uso e permette in esecuzione oltre ovviamente ai vari controlli. di effettuare ricerche.

48

LINUX PRO 116

Da non perdere Test


Password manager

Revelation
VERSIONE 0.4.12 WEB http://revelation.olasagasti.info

e password sono funzionali solo se siete lunica persona a conoscerle. E sono efcaci solamente se le ricordate. Probabilmente avrete realizzato che una frase tipo linuxproelamiarivistapreferita facile da ricordare e a conti fatti, molto pi sicura di HgQ#13, ma avrete notato che alcuni siti e servizi, non molto intelligenti, richiedono la presenza di un numero, un simbolo e di altre cose difcili da ricordare (una famosa banca, ad esempio, richiede maiuscole, minuscole e numeri, ma limita il tutto a 12 caratteri!). Se siete stanchi di dover utilizzare le procedure per recuperare le password

ogni volta, giunto il momento di ricorrere a un password manager. Esistono molti contendenti per questo ruolo, che in sostanza sono, dopo tutto, un semplice database. Revelation non cerca di fare nulla di troppo astuto, organizza le cose in cartelle, ha diversi tipi di password per i diversi scopi e ovviamente cripta i le con i dati salvati. Non c una gestione di default e non si apre automaticamente quando fate login per evitare che i dati vengano accidentalmente letti da malintenzionati. Inoltre si blocca automaticamente se lo lasciate aperto per troppo tempo. Nelle preferenze potete denire un comando di default per ogni tipo di password,

Non datevi noia cercando di hackerare il nostro account della banca. Nemmeno noi riusciamo a cavar soldi fuori da l

che potrebbe essere semplice come aprire la pagina Web relativa, o utile come una connessione automatica tramite FTP. Alcuni esempi sono precaricati per facilitare la comprensione dellutilizzo, ma potete modicarli e trasformarli in modo pi creativo se desiderate. Lunica cosa che vorremmo mettere in discussione il generatore di password, che ritorna valori come Qnb4M28c, semplicemente follia.

A meno che non vogliate connettervi alla vostra banca. Allo stesso modo lutility per controllare le password non sembra molto soddisfatta delle nostre password tutte in minuscolo. Sarebbe molto divertente mettere alla prova il pessimo generatore di password in una gara di brute force! Comunque, Revelation ancora giovane, possibile che gli autori correggano i loro errori lungo la strada.

Simulazione

NobleApe
VERSIONE 0.693 WEB www.nobleape.com/sim

obleApe un tool di simulazione. Sicuri? Alcuni commenti degli utenti nella homepage potrebbero convincervi che una sorta di nirvana cognitivo dove i preziosi sogni e le speranze degli utenti possono trovare un sofce cuscino. In ogni caso, sicuramente molto lontano dallidea classica di software.

Scimmiottando qua e l
Lidea che la simulazione generi un terreno, con vette e depressioni, sistema climatico e via cos. In questo idillio compaiono delle scimmie virtuali che vagano e fanno i fatti loro. Le scimmie sono controllate dal loro istinto

basilare, ma possono avere anche un le che funga da cervello creato in un linguaggio speciale chiamato ape script. Eseguendo la versione GUI del software si hanno due viste. Da una parte c la panoramica del mondo con dei puntini rossi che indicano le scimmie. Laltra nestra, che per essere onesti sembra una massa di blob 3D, il mondo visto dagli occhi della scimmia, completato con una visualizzazione delle varie caratteristiche. Caricando un le ape script si potr alterare il comportamento degli strani abitanti di questo mondo. una sorta di linguaggio C semplicato, e ci sono parecchie discussioni che parlano di questo linguaggio nel sito Web del software, in ogni caso non

Ok riesco a vedere molta pioggia, ma dove sono le banane?

molto immediato capire quali cose si possono personalizzare. Questo software pu sembrare molto strano, ci nonostante, si rivela molto intrigante. Se solo la documentazione fosse stata un po pi di aiuto per comprendere meglio NobleApe. Esiste uno script per generare

immagini signicative da usare nel Web, ma nessun le di man o suggerimenti su come utilizzarlo. Compilare il software abbastanza semplice. Nella directory principale lanciate semplicemente linux.sh o lo script per Fedora/Ubuntu se volete creare il pacchetto.
LINUX PRO 116

49

Test Da non perdere


RPG

Summoning Wars
VERSIONE 0.5.6 WEB http://sumwars.org/wiki/Main_Page

n buon RPG difcile da battere. E questo rende le cose pi difcili quando nello stesso campionato gioca Elder Scrolls V, ma Summoning Wars (attenzione a non confonderlo con il gioco di carte dal nome molto simile) ha tutti gli elementi per essere un grande gioco, ci sono delle quest da completare, mostri da uccidere e tesori da collezionare. possibile creare un personaggio scegliendo tra le quattro classi disponibili (ognuna con le proprie abilit e armi) e partire con una storia a volte brillante, a volte stupida e a volte semplicemente normale. I modelli sono tutti ottimi, le animazioni sono buone e anche la colonna sonora simil-Hogwarts abbastanza buona Beh, certo avrebbe potuto essere un pochino

pi variegata, e alcuni passaggi potrebbero proseguire per un tempo un po eccessivo, ma davvero non male. C da dire che comunque non unimpresa facile. Persino il livello Tutorial (che consigliamo di affrontare alla difcolt minore) quasi impossibile. Se il gioco in single player dovesse risultare troppo impegnativo, c sempre lopzione multiplayer gratuita. Probabilmente non vi terr incatenati alla tastiera per ore, ma potrebbe essere pi divertente di quanto immaginiate. Le ultime release hanno migliorato molto linterfaccia e migliorato un po le quest. Gli sviluppatori stanno

A volte ci sono davvero troppe cose da trasportare. Qualcuno pu cortesemente inventare un cavallo?

Quest da completare, mostri da uccidere e tesori da collezionare

sempre cercando collaborazioni per ogni aspetto, quindi se avete un qualche talento che potrebbe rivelarsi utile, siamo sicuri che sareste i benvenuti nel team. Summoning Wars abbastanza facile da installare assumendo che abbiate tutte le dipendenze installate. Comunque uno dei requisiti limmensa libreria Ogre, sembrava un po contrariato dal fatto che noi avessimo installato lultima versione invece della 1.7. In ogni caso, niente di troppo esotico richiesto.

Puzzle game

Phlipple
VERSIONE 0.8.1 WEB http://phuzzboxmedia.com/games/phlipple

vete mai sognato di lavorare in un magazzino di scatole di cartone? Se s, questo il gioco che fa per voi. Lobiettivo di ognuno dei vari livelli di ridurre le forme tridimensionali a un rettangolo piatto, in pratica il contrario di quello che si fa quando si compra qualcosa allIkea. Certo, non sembra una grande sda per quelli di noi che sono abituati al riciclaggio del cartone ma, con lavanzare dei livelli, alcune delle strane forme costruite sono da un lato piacevoli da vedere e complesse ma dallaltro piuttosto difcili da decifrare. Fortunatamente comunque possibile ruotare la visuale. Suona ancora troppo semplice? Bene, abbiamo

gi menzionato il fatto che nessun pezzo pu essere lasciato indietro? Lintera struttura deve ripiegarsi in un unico pezzo, quindi dovrete cercare delle strategie per alcune delle forme tridimensionali proposte. Ah, probabilmente abbiamo dimenticato anche di menzionare le cerniere. Le cerniere sono segnate come linee rosse nellintersezione tra due quadrati e indicano dove il materiale pu essere piegato ma non strappato, quindi le linee normali possono essere strappate ma sulle cerniere possibile solo piegare. Se non si presta molta attenzione, facile rimanere bloccati contro un paio di cerniere senza via di uscita. Se si rimane bloccati o si abbandona un pezzo per la strada, bisogna ricominciare il livello dallinizio. Questo non un grosso problema nella prima dozzina di livelli, ma in

Ripiegare scatole? Sembra un lavoro per lo staff di Linux Pro. Oh chi ripiegher le nostre scatole ora?

quelli pi avanzati, soprattutto quando si supera con lastuzia, ma del tutto inconsapevolmente, una forma particolarmente ostica, potrebbe risultare molto pi difcile di quanto sembri ritornare a dove si commesso lerrore. La graca non molto fantasiosa e le musiche sono, francamente, un po noiose, ma uno di quei giochi di cui si sente lurgente bisogno di tornare a giocare per poterlo nire.

50

LINUX PRO 116

Tutorial
I nostri esperti offrono ogni mese i loro consigli di programmazione e di amministrazione del sistema

LA VOSTRA GUIDA DI RIFERIMENTO


Esiste sempre qualcosa di nuovo da imparare in campo informatico, soprattutto in un mondo dinamico come quello di Linux e dellOpen Source. Ogni numero di Linux Pro presenta una corposa sezione dedicata a tutorial realizzati da esperti in moltissimi settori: programmazione, sicurezza, amministrazione di sistema, networking. Troverete informazioni utili sia che siate dei veterani di Linux sia degli utenti alle prime armi. Studieremo con cura anche le applicazioni pi diffuse sia in ambito lavorativo che desktop. Il nostro scopo quello di fornire in ogni numero il giusto mix di argomenti, ma se avete suggerimenti su temi particolari che vorreste vedere trattati, scriveteci via e-mail allindirizzo linuxpro@sprea.it

TUTORIAL
Primi passi
Tutto quello che dovete fare per recuperare file persi per sbaglio pag. 52

Joomla!
Al via una nuova serie su questo importante CMS. Nella prima puntata vi mostriamo le novit dellultima versione pag. 56

Logical Volume Manager


Il sistema di gestione delle partizioni LVM per molti ancora un mistero... ma non sar pi cos dopo aver letto la nostra guida pag. 60

Arduino
Se una scheda Arduino non vi basta, vi facciamo vedere come metterne in comunicazione due pag. 64

Controllo di versione
Vi mostriamo come usare quotidianamente i sistemi di controllo delle versioni pag. 72

Musica
Tutti i segreti di Bristol, la migliore suite di sintetizzatori audio per Linux pag. 68

Grub 2
I rudimenti del bootloader

pag. 76

COME RAPPRESENTIAMO LE LINEE DI CODICE


Si presenta spesso la necessit di riportare le linee di codice di un programma. Per favorirne la lettura evidenzieremo le singole linee in questo modo: begin mniWordWrap.Checked := not end Quando una riga di codice supera la lunghezza della colonna la riporteremo su pi righe utilizzando la notazione seguente: printf(Vi preghiamo di inserire una password.);

ACCADEMIA DEL CODICE


Concetti di base
Se succede questo, fai quello: in questa puntata vi mostriamo come funzionano le istruzioni condizionali, elementi fondamentali della programmazione in qualunque linguaggio pag. 80

Perl
Passare da un semplice script a una Web App in Perl sfruttando Dancer, il framework ideale per espandere i programmi pag. 82

Python
Ritorniamo a usare le TreeView per costruire un semplice player audio che mostra dei suggerimenti pop-up con le informazioni sulle vostre canzoni pag. 86

OpenCV
Le vostre immagini presentano degli errori? Vi mostriamo come eliminarli grazie alle potenti funzioni della libreria OpenCV pag. 90
LINUX PRO 116

51

Primi passi
Guide pratiche per i nuovi utenti del Pinguino

Ritrovate i vostri file perduti


Pensate che i vostri preziosi le siano andati perduti per sempre? Ripensateci. Linux Pro vi spiega come recuperare i dati smarriti usando due applicazioni indispensabili
In uno dei numeri precedenti abbiamo fatto una panoramica sulle migliori applicazioni per copie di sicurezza per Linux, mostrandovi come mantenere i dati al sicuro in caso di incidenti. Ma anche dopo aver letto quelle parole di saggezza, pochi di noi fanno copie di sicurezza tanto spesso quanto dovrebbero, e questo quasi sempre porta al momento sgradevole quando vi accorgete che una cartella importante andata per sempre. Fortunatamente, per sempre non in tutti i casi deve signicare per sempre e in questo articolo vi mostreremo cosa fare quando accade il disastro. Faremo uso delle eccellenti applicazioni TestDisk e PhotoRec, che possono recuperare quasi ogni le. Prima di immergervi nella lettura, assicuratevi di leggere il riquadro Dov andato?. Vi spiega cosa fare non appena venite a sapere che c stata una perdita di dati, poich non importa quanto siano buoni TestDisk e PhotoRec, se non reagite rapidamente e sensatamente, c poco che potranno fare. Con un po di conoscenze e un po di fortuna, comunque, la vostra prossima perdita di dati non sar un evento cos terribile. archiviati sul vostro stesso computer, la miglior cosa da fare prendere in prestito il sistema di un amico e scaricare un live CD contenente testdisk. Ce ne sono molti elencati sul sito Web di TestDisk, www.cgsecurity.org/wiki/TestDisk_Livecd, ma vi consigliamo il live CD GParted perch fa parte di un progetto afdabile. Questo lideale perch il vostro amico non deve avere un sistema Linux, sufciente ununit per masterizzare i CD o una porta USB libera. Quindi potete usare qualcosa come ISO Recorder o UNetbootin per trasformare il le ISO scaricato in un sistema avviabile. Questo signica anche che non dovrete montare il disco sso per avviare gli strumenti, diminuendo il rischio di sovrascrivere i dati perduti.

PRO
dentro il + TestDisk 3 Rec 6.1 Photo

TestDisk alla riscossa


Bene, ora siete pronti per provare a recuperare qualche le. Cominceremo mostrandovi come usare TestDisk per recuperare alcuni le da una chiavetta USB formattata con FAT32. Non solo questa una situazione comune in cui potreste trovarvi, imparare questa serie di capacit sar anche molto utile per i vostri amici e familiari, quindi un ottimo punto di partenza. Man mano che procediamo, osserveremo attentamente come operare nellinterfaccia di TestDisk, poich tuttaltro che coerente! Con la chiavetta USB inserita nel computer, aprite una nestra del terminale e lanciate il comando TestDisk. Lanciarlo come utente normale vi dar accesso ai dischi esterni e alle partizioni non di sistema, ma se, in seguito, volete usarlo su partizioni di sistema, dovrete avviarlo come root o con sudo. TestDisk funziona in modo molto simile a una procedura guidata che vi accompagna attraverso una serie di passi no a riottenere i vostri le. Dopo aver avviato lapplicazione, il vostro terminale sar preso dalla prima schermata di TestDisk, la schermata del le di registro. Qui vi viene data la possibilit di chiedere a TestDisk di creare un le di registro di tutte le sue attivit, che pu essere utile se avete bisogno di ottenere ulteriore supporto da un forum o da IRC. Per i nostri scopi, tuttavia, selezioneremo semplicemente No Log. Si naviga in questa schermata, come in tutte le schermate di TestDisk, usando i tasti cursore. Premendo Su o Gi si evidenzia unopzione diversa e premendo Invio la si seleziona. La schermata successiva vi chieder di selezionare con quale unit volete lavorare. Alla ne di ogni voce di unit vedrete letichetta dellunit, il nome che mostrato quando la aprite in un gestore di le, questo dovrebbe rendervi pi facile identicare quella corretta. La navigazione in questa schermata funziona in modo leggermente diverso da prima. Potete ancora usare i tasti cursore e in modo predenito il tasto Invio seleziona lunit correntemente selezionata, ma ci sono anche una serie di ulteriori opzioni mostrate in fondo alla schermata.

Gli strumenti adatti


Come con la maggior parte delle attivit in GNU/Linux, il primo ostacolo che dovete superare installare gli strumenti di cui avete bisogno per fare il lavoro. Con TestDisk e PhotoRec vi consigliamo di pensare due volte a quale formato prendere, poich dipende da dove erano memorizzati i vostri le perduti. Se i vostri le perduti erano su un disco esterno, questo non porr molti problemi: potete semplicemente prendere il pacchetto testdisk, che si trova nella maggior parte degli archivi delle distribuzioni. Perci, se usate Ubuntu, sudo apt-get install testdisk dovrebbe funzionare, e se usate Fedora su -c yum install test disk vi far ottenere quello di cui avete bisogno. Se i vostri le erano

Unetbootin vi permette di fare live CD avviabili in Windows, cos anche se la vostra macchina rotta potete usare quella di un amico

52

LINUX PRO 116

Primi passi Tutorial


Quale strumento usare?
Una volta che avrete installato gli strumenti, probabilmente starete fremendo per iniziare e vedere quanti dei vostri dati potete riottenere. Prima, tuttavia, dovete sapere con quale strumento iniziare, TestDisk o PhotoRec. Ognuno pi adatto a una situazione diversa, perci qui daremo unocchiata veloce ai loro punti di forza e di debolezza, cos saprete quale usare e quando. TESTDISK TestDisk stato progettato inizialmente come strumento di recupero delle partizioni, il che signica che meglio usarlo se i vostri problemi sorgono dopo: la cancellazione accidentale di una partizione, probabilmente mentre si installa una nuova distribuzione; la vostra partizione stata corrotta da un virus o da software bacato e resa illeggibile. In queste situazioni, TestDisk sar in grado di riconoscere le partizioni perdute, copiare i dati da esse e qualche volta persino ripristinare la tabella delle partizioni comera prima. anche molto buono nel recuperare i singoli le cancellati dalle unit formattate con FAT, NTFS ed ext2. Questo davvero utile, poich la maggior parte delle chiavette USB saranno formattate o con FAT o con NTFS per la compatibilit con Windows. Poich questo il formato usato da Windows, esso vi d anche la possibilit di salvare la situazione agli amici e ai familiari e dimostrare semplicemente quanto grande Linux. Purtroppo, ci sono poche distribuzioni di Linux che usano il vecchio, ma afdabile, formato ext2 per grandi unit di dati. Invece, usano per lo pi ext3 o ext4, che non sono supportati da TestDisk. PHOTOREC qui che entra in gioco PhotoRec. stato progettato inizialmente per recuperare le fotograe perdute, da qui il suo nome, ma da allora si esteso per includere quasi ogni formato di le di uso comune, compresi: gli archivi: ZIP, TAR, TAR.GZ i le multimediali: FLV, MP3, MP4 e Ogg i documenti da ufcio: ODT, DOC e DOCX Per un elenco completo, guardate www.cgsecurity.org/wiki/File_Formats_ Recovered_By_PhotoRec. La cosa migliore che funziona ignorando il lesystem. Invece, cerca le rme uniche lasciate da certi tipi di le. Il suo sito Web dice che funziona sicuramente con FAT/ext2/ext3, ma in realt dovrebbe funzionare quasi con tutti i lesystem basati sui blocchi. Vale la pena notare che PhotoRec, diversamente da TestDisk, non in grado di riconoscere i nomi dei le, perci se TestDisk funziona, quella dovrebbe essere la vostra prima tappa.

Come potete immaginare, potete spostarvi tra queste usando i tasti freccia Sinistra e Destra. Ricordate che il tasto Invio funziona effettivamente su queste opzioni, non sullunit correntemente evidenziata, perci se vi spostate da Proceed, assicuratevi di ritornarvi prima di premere Invio. Questo schema di interfaccia ripetuto in altri posti nel programma, perci assicuratevi di tenere docchio il fondo della schermata per i tesori nascosti. In seguito vi viene chiesto di scegliere un tipo di partizione e circa il 90% delle volte dovrete selezionare la partizione [Intel] Intel/PC. Questa la base di tutte le unit compatibili con Windows, perci, se siete in dubbio, probabilmente lopzione che state cercando.

che potete eseguire su le e cartelle e si presenta ancora un altro nuovo paradigma di interfaccia. Non pi limitati soltanto ai tasti freccia, sono elencati vari tipi di scorciatoie da tastiera: digitare i due punti selezioner un le o una cartella, C copier tutti i le selezionati, mentre c copier il le corrente. Potreste essere sorpresi

TestDisk funziona come una procedura guidata, che vi porta attraverso una serie di passi
di trovare solo opzioni per la copia, piuttosto che qualcosa per recuperare effettivamente il le, ma questo completamente intenzionale da parte degli sviluppatori di TestDisk. Piuttosto che rischiare di sovrascrivere altri le cancellati, essi copiano sempre soltanto quelli cancellati dal disco su di un altro. Quando premete uno dei tasti di copia, dovrete selezionare una destinazione sulla quale copiare i le. In modo predenito, TestDisk vi porter alla vostra cartella home, da dove potete spostarvi con i tasti freccia come prima. Se volete mettere i le nella cartella home o in qualunque cartella sia mostrata in quel momento, evidenziate la voce il cui nome solo un singolo punto . e premete C. Questo tutto ci che dovete fare. I vostri

Recuperare i le
Sulla schermata successiva, selezionate lopzione Advanced (Invio funziona bene qui) e poi usate il tasto freccia Destra per selezionare Undelete. Vedrete quindi un elenco di tutti i le sullunit. I le cancellati saranno visualizzati in rosso e mostreranno informazioni come lora e la data dellultima modica e il nome del le in fondo alla riga. Se siete sopra una cartella, il tasto freccia Destra vi permetter di entrarci e dare uno sguardo a quello che c dentro e poi il tasto freccia Sinistra vi riporter indietro. Come potete vedere guardando in fondo alla schermata, ci sono varie opzioni

Tip
In TestDisk usate una virgola per aggiungere un le cancellato alla vostra selezione di le da recuperare. Il colore non cambier, ma sar stato selezionato.

Anche se TestDisk testuale, la sua interfaccia basata su procedure guidate rende il suo utilizzo un gioco da ragazzi

TestDisk fa uso di molti metodi di interazione diversi, perci assicuratevi di tenere docchio il fondo della schermata

LINUX PRO 116

53

Tutorial Primi passi


Tip
In entrambe le applicazioni bene controllare di avere il disco giusto guardando la sua dimensione. Ma notate che le dimensioni sono in MB, perci dividete per 1024 per ottenere GB.

le saranno ora al sicuro in qualunque cartella di destinazione abbiate selezionato, pronti per farne una copia di sicurezza o qualunque cosa vogliate.

Recuperare una partizione


Eccellente, ma cosa succede se siete riusciti a cancellare unintera partizione? Bene, TestDisk pu aiutarvi anche in questo. Come prima, per la dimostrazione useremo una chiavetta USB formattata con FAT, ma i principi saranno gli stessi per qualsiasi altro disco. Naturalmente, se il disco sul vostro sistema principale e non pi avviabile, dovrete procurarvi un live CD dal quale eseguire TestDisk. La prima cosa da fare inserire la chiavetta USB e avviare una nuova nestra del terminale in cui eseguire TestDisk. Quindi potete procedere come sopra, facendovi strada tra i menu nch raggiungete lelenco che include Analyse, Advanced, ecc. Qui, invece

Quando recuperate partizioni invece di le, dovrete selezionare lopzione Analyse invece di Advanced

Tutto quello che resta da fare tirare un sospiro di sollievo... e fare una copia di sicurezza dei vostri dati!
di selezionare Advanced, scegliete Analyse e poi Quick Search. TestDisk esaminer quindi il vostro disco, cercando tracce di vecchie partizioni che sono scomparse. Molto velocemente risponder e mostrer un elenco delle partizioni che riuscito a scoprire. Se non siete sicuri di aver trovato la partizione giusta, ci sono alcuni modi con cui potete controllare. Primo, alla ne della voce di ogni partizione nellelenco dovreste vedere

unetichetta. Se la riconoscete, o come qualcosa che avete esplicitamente impostato o come qualcosa che appare quando inserite la vostra chiavetta USB, allora probabilmente la partizione giusta. Laltra cosa che potete fare premere P per vedere un elenco di le che possono essere trovati su quella partizione. Se lo fate e vedete i vostri le, con le date e i nomi appropriati, allora avete sicuramente trovato la partizione giusta.

Fare una copia


Una volta sicuri, vi consigliamo di premere P per elencare i le e poi copiarli tutti dallunit. In questo modo, se qualcosaltro va storto, per esempio se TestDisk non riesce a recuperare la partizione, almeno i vostri le saranno al sicuro (ammesso che TestDisk supporti questo tipo di operazione per il formato della partizione del disco). Con i vostri dati un po pi al sicuro, riportiamo il vostro disco allo stato in cui era prima dellincidente, risparmiando un sacco di copie non necessarie. Dalla stessa schermata nella quale avete premuto P per elencare i le, premete semplicemente Invio per procedere oltre e poi selezionate Write per ripristinare la partizione allo stato in cui era. Non appena fatto questo, dovreste essere in grado di riavviare e vedere il vostro disco apparire esattamente comera prima. Tutto quello che resta da fare tirare un sospiro di sollievo... e fare una copia di sicurezza dei vostri dati! C unaltra opzione che dovremmo portare alla vostra attenzione ed la possibilit di eseguire una ricerca approfondita (Deep Search). Se la ricerca veloce (Quick Search) non ha avuto successo, questopzione pu talvolta trovare partizioni pi vecchie o pi seriamente danneggiate. Potreste non avere molta fortuna nel recuperare i le dai dischi che sono cos danneggiati, ma vale la pena provare. LXP

TestDisk evidenzia in rosso i le cancellati che ha trovato

Dov andato?
Quando un le viene cancellato, anche se lo eliminate dal cestino, non veramente andato via. Quello che accade effettivamente che il sistema operativo lo contrassegna come cancellato e informa le altre applicazioni che lo spazio preso da questo le ora disponibile per altri usi. Finch unaltro software arriva e usa quello spazio, tuttavia, il le e i suoi contenuti sono ancora l. Questo signica che se casomai abbiate cancellato un le accidentalmente, la prima cosa che dovete fare smettere di usare il disco sul quale era archiviato. Se era su una chiavetta USB o su una scheda di memoria SD, per esempio, rimuovetela immediatamente; se era sul vostro disco sso, allora dovrete spegnere il computer e non toccarlo pi nch non siete pronti a fare il recupero del le. Questo minimizzer le possibilit che un altro programma sovrascriva i vecchi dati e aumenta le vostre possibilit di recuperare i dati. Cosa accade se non avete cancellato solo un singolo le, ma corrotto accidentalmente unintera partizione? Bene, i passi sono proprio gli stessi: non appena vi accorgete di quello che successo, smettete di usare lunit. In questa situazione, tuttavia, potreste anche scoprire che, poich i computer non sono affatto in grado di riconoscere i contenuti dellunit, potrebbero chiedervi di riformattarla. Badate di non accettare, perch pu solo complicare le cose.

54

LINUX PRO 116

Primi passi Tutorial


Passo passo Recuperare i file con PhotoRec
Bene, cos vi abbiamo mostrato come recuperare i le da partizioni compatibili con Windows e come recuperare intere partizioni, ma voi siete utenti di Linux: che succede se volete recuperare i le da una partizione ext3 o ext4, o forse persino ReiserFS o Btrfs? Qui vi guideremo in PhotoRec, lo strumento che stato progettato specicamente per questa situazione. Funziona in modo simile a TestDisk, perci dovrebbe esservi familiare.

Avviare PhotoRec

Specicare i tipi di le

Lanciate il comando photorec da un terminale e poi procedete come prima nch raggiungete la schermata di selezione della partizione.

Nella schermata di selezione della partizione, selezionate prima File Opt per specicare quali tipi di le state cercando, se non volete nire con 20.000 le tra cui cercare.

Cercare sullunit

Cominciare il recupero

Tornate alla schermata di selezione della partizione e poi selezionate Search. Sulla schermata che segue siate pi che approfonditi scegliendo di esaminare lintera unit.

Scegliete una destinazione per i le recuperati e premete C per iniziare il recupero. State attenti, pu trovare un sacco di le, perci meglio selezionare una sotto-cartella che non vi dispiace diventi disordinata.

Giratevi i pollici...

Rinominare i le
55

Allontanatevi e fatevi una tazza di t o altro...

Successo! Ora controllate il vostro gestore di le e guardate se ha trovato i le giusti. Assicuratevi di rinominarli, comunque, poich PhotoRec non recupera i nomi dei le.

LINUX PRO 116

Joomla!
Progettazione siti Web con questo potente CMS

Joomla! 2.5 svelato


La nuova versione di Joomla porta alcune importanti novit. loccasione per iniziare un nuovo ciclo di tutorial su questo famoso CMS
Per la realizzazione di siti Web sono sempre pi usati i CMS (Content Management System): questo articolo non unintroduzione ai CMS (anche perch Wikipedia fornisce gi tutte le informazioni necessarie a chi non sa nulla), ma il primo di una serie di tutorial riguardanti Joomla. Questo software uno dei CMS pi diffusi al mondo; per ci che riguarda il mondo libero, fa parte della sacra trinit composta da Joomla, Drupal e WordPress. Lo spunto per linizio di questa serie di tutorial stato il rilascio della versione 2.5 di Joomla. Il fatto di essere una mezza versione, trae in inganno. In effetti, Joomla passato direttamente dalla 1.7.x alla 2.5, saltando a pi pari la 2.0. Questo primo tutorial si limita perci a presentare le novit della versione 2.5, condendole per con alcune indicazioni che speriamo siano utili a chi inizia ora a lavorare con questo CMS. Dal prossimo numero i tutorial verteranno su aspetti specici, con consigli mirati a particolari obiettivi che si vogliono raggiungere.

PRO
dentro il Joomla! 2.5

Lautore
Claudio Romeo Tiene corsi sulluso del software, soprattutto di quello libero. Ha scritto pi di trenta libri di argomento informatico. Il suo sito personale allURL www. claudioromeo.it

Le novit della 2.5


Allapparenza le novit non appaiono enormi, tuttavia ve ne sono di sostanziose e, soprattutto, stato fatto un grande lavoro dietro le quinte, intervenendo sul motore. Si tratta della prima versione LTS (Long Term Support) dalla 1.5, il che vuol dire che la comunit offrir supporto per questa versione almeno per 18 mesi dal rilascio, mentre le versioni intermedie tra una versione LTS e laltra saranno dismesse in fretta. La prima novit che salta allocchio far felici coloro che amministrano il sito ma che non si abbonano al servizio di news di Joomla per essere tempestivamente avvisati delle nuove versioni. Nel pannello di controllo sono infatti ora disponibili due pulsanti che segnalano la presenza di aggiornamenti, rispettivamente di Joomla e di almeno una delle estensioni installate (Fig.1). Premendo i pulsanti si passa alla pagina di gestione delle estensioni relativa agli aggiornamenti e si pu perci usare la funzione di aggiornamento automatico. Unaltra novit di Joomla che salta allocchio ma che potrebbe confondere chi non sa che si tratta di una nuova funzione (potrebbe essere scambiata per un baco) sta nella modalit di visualizzazione degli articoli quando li si ltra per categoria. Scegliendo una categoria, vengono elencati anche gli articoli appartenenti alle sottocategorie. Questo comportamento potrebbe essere comodo, ma anche scomodo: pensate ad esempio al caso di una categoria che contiene solo uno o due articoli generici ma quattro o cinque sottocategorie, ognuna delle quali ha decine o centinaia di articoli. Il rintracciare solo gli articoli generici sarebbe in questo caso unimpresa improba; per fortuna gli sviluppatori

1 In alto, i pulsanti della versione inglese: quello relativo a Joomla segnala la presenza di un aggiornamento. In basso, quelli della versione italiana: tutto aggiornato

INTERMEDIO

hanno dotato la scheda Articoli di Gestione articoli di un ltro aggiuntivo: Seleziona livello massimo. Grazie a questo nuovo ltro potete impostare il livello delle sottocategorie prese in esame: ponendo 1, vengono elencati solo gli articoli propri della categoria indicata. Nella gestione di un articolo dal lato amministrativo non possono sfuggire due nuovi pannelli delle opzioni: Con gura schermata di modica e Immagini e link. Del primo parleremo tra poco, per dare invece la precedenza al secondo. Tra le caratteristiche dellarticolo ora possibile assegnare cinque nuovi elementi: unimmagine che appare solo nel testo introduttivo (se denito), unimmagine che appare allinizio dellarticolo completo e tre collegamenti ipertestuali, destinati ad apparire automaticamente in testa allarticolo. La Fig.2 mostra un esempio sufcientemente esplicativo di queste funzioni. appena il caso di sottolineare che la possibilit data dal pannello Immagini e link di assegnare comodamente allarticolo sia due immagini-copertina (una per il sommario del testo introduttivo e una per larticolo completo) sia un massimo di tre collegamenti ipertestuali fa s che ci si possa concentrare sui contenuti senza dover perdere tempo a lavorare sulla formattazione. Questa possibilit trova la sua massima applicazione nel caso che si usino modelli di articoli, con immagini e link predeniti per ogni categoria di articoli. Uno dei prossimi tutorial tratter proprio delluso dei modelli di articolo. Riguardo a Con gura schermata di modica, si tratta delle impostazioni che riprendono quelle poste in Gestione articoli: Articoli D Opzioni D Layout

56

LINUX PRO 116

Joomla! Tutorial
modica. Tuttavia le impostazioni del pannello vengono sempre scavalcate da quelle delle opzioni, perci sono di fatto inutili. Abbiamo postato questa incongruenza al forum di Joomla.it, che ha provveduto ad aprire una segnalazione di bug. Il bug stato confermato e speriamo sia corretto presto: magari quando leggerete questo articolo tutto sar gi a posto. Ci pare comunque opportuno evidenziare le funzioni delle prime quattro opzioni della scheda Layout modica: (che si ritrovano, anche se con un ordine leggermente diverso) nel pannello Congura schermata di modica: Mostra Opzioni pubblicazione: mostra o nasconde la voce Opzioni pubblicazione nella scheda Gestione articoli: Modica articolo; Mostra Opzioni visualizzazione: mostra o nasconde la voce Opzioni visualizzazione nella scheda Gestione articoli: Modica articolo; Immagini e Link lato pubblico: fa s che, quando lutente che accede al lato pubblico possiede lautorizzazione alla modica dellarticolo e fa click sulla relativa icona, siano disponibili anche i controlli per le voci Immagini e link; Immagini e Link amministrazione: mostra o nasconde la voce Immagini e link nella scheda Gestione articoli: Modica articolo. Unaltra innovazione importante la possibilit di usare i captcha per autenticare come persona (escludendo cos che si tratti di un bot) chi si registra al sito. I captcha sono quelle parole e quei numeri visualizzati spesso in forma distorta che lutente deve inserire prima di poter compiere unoperazione. Sono la croce degli utenti e il salvagente degli amministratori. Sono praticamente indispensabili per opporre una barriera contro lo spam, anche se una recente indagine ha evidenziato come ormai i bot pi moderni riescano a superare anche questa protezione; solo reCaptcha di Google (proprio quello gratuito che Joomla permette di usare) sembra resistere. Al momento, reCaptcha funziona solo per la registrazione degli utenti, ma, visto che il servizio disponibile, pu essere usato anche per altre estensioni che prevedono linvio di dati, se queste estensioni attiveranno tale funzione. Per usare i reCaptcha dovete innanzitutto registrarvi presso lapposito servizio di Google (www.google. com/recaptcha) e ottenere cos la chiave pubblica e la chiave privata. Notate che queste chiavi funzionano con un solo sito (ed eventuali sottodomini), perci se avete pi siti dovete chiedere pi chiavi o usare n dal principio una chiave globale. Ottenute le chiavi dovete inserirle nelle opzioni del plug-in Captcha - ReCaptcha, quindi in Congurazione Globale impostate Captcha predenito su Captcha - reCaptcha. La Fig.3 mostra il modulo di registrazione con il reCapthca attivo. Il captcha cos impostato vale come impostazione globale, ma potete usarne un altro (se lavete installato) specicandolo in Gestione utenti D Utenti D Opzioni D Componenti. La versione 2.5 ha portato novit anche alle funzioni di ricerca interna al sito. Va ricordato che Joomla consente di fare ricerche di tipo full text, cio direttamente nel contenuto degli articoli e non in un indice (con tutti i pro e i contro del caso). Con il nuovo componente

Smart search le possibilit di ricerca si espandono, dando la possibilit di effettuare le ricerche sul tema del termine indicato, grazie alla funzione Stemming. Lo stemming la riduzione della forma essa di una parola alla sua forma radice, detta tema. Il tema non corrisponde necessariamente alla radice morfologica della parola (cio al lemma), perci lo stemming unoperazione diversa dalla lemmatizzazione. Tutto questo discorso teorico si riduce in pratica

2 In alto, le impostazioni del nuovo pannello Immagini e link. Al centro, laspetto dellarticolo quando visualizzato solo il testo introduttivo. In basso, laspetto dellarticolo completo LINUX PRO 116

57

Tutorial Joomla!
di ricerca e assegnatelo a una posizione. Il modulo Motore di ricerca gracamente uguale al modulo di ricerca tradizionale. Per non confondere i visitatori, vi conviene perci eliminare questultimo e lasciare solo quello nuovo. Tornando al lato amministratore, ora pi semplice associare un nuovo menu a un modulo, anche se questultimo non esiste ancora. Quando si crea un nuovo menu, in Gestione menu D Menu compare 3 Oltre ai propri dati, lutente deve indicare le parole che compaiono nel reCaptcha per registrarsi al sito ora un link alla funzione di creazione di un nuovo modulo cui associare il nuovo menu. E, a proposito alla domandina magica Intendevi ? che appare di menu, potete ora associare una nota a ogni se la ricerca su un termine non ha dato risultati singola voce di menu, cos come a ogni utente. soddisfacenti: in questo modo avete la possibilit di espandere la ricerca su parole costruite sullo Altre novit stesso tema. La Fig.4 mostra un esempio. Per Riportate sopra sono le novit pi appariscenti, che impostazione predenita, Smart search non attivo. non sono necessariamente le pi incisive. Non Per attivarlo dovete compiere le operazioni seguenti. potendo analizzarle tutte, ci limitiamo qui a elencare 1 In Gestione Plugin abilitate Content Motore le altre, rimandandovi alla documentazione online di ricerca, Motore di ricerca Categorie, Motore per eventuali approfondimenti. di ricerca Contatti, Motore di ricerca Database Ora Joomla supporta non solo MySQL, Contenuti, Motore di ricerca Newsfeeds ma anch MS SQL. I driver per PostgreSQL, per e Motore di ricerca Link web; 2 Attivate lindicizzazione dei contenuti, facendo click Oracle, per SQLite e per DOP sono in fase di realizzazione. Inoltre in Gestione estensioni sul pulsante Indice in Componenti D Motore D Database presente il pulsante Correggi di ricerca D Contenuti indicizzati. Dopo per riparare un database che ha bisogno la prima indicizzazione, lindice viene aggiornato di essere aggiornato. automaticamente a ogni salvataggio del contenuto. Sito non in linea Al termine dellinstallazione 3 Create un nuovo modulo di tipo Modulo Motore

Le dieci strategie pi stupide


Al momento di corredare larticolo con un box di consigli e suggerimenti, ci siamo accorti che in pratica quello perfetto esisteva gi tra la documentazione in lingua inglese di Joomla. un articolo che si intitola Top 10 Stupidest Administrator Tricks ed raggiungibile allURL http://bit.ly/AjIOUU. Dato a Cesare quel che di Cesare, riproponiamo qui i dieci punti di questo imbarazzante (per gli amministratori) decalogo, integrando tuttavia il testo originale con le nostre osservazioni. Afdarsi allhosting provider pi economico Magari si pensa di essere scrupolosi nellimpiegare ore su Google e tra i forum per individuare lISP che offre la soluzione di hosting al prezzo pi basso, ma si evita per di vericare se il server condiviso con centinaia di altri siti, magari ad altro trafco. Il risultato che il sito, anche se costruito con accuratezza, ballerino e talvolta diviene irraggiungibile. Ci pu dipendere da diverse cause, ma potete comunque pretendere dal provider che venga trasferito su un server pi sicuro. Potete usare Robtex per avere una panoramica sullo stato del server: indirizzate il browser su http://robtex.com/dns/MIODOMINIO.IT.html (sostituendo MIODOMINIO.IT con il nome di dominio che volete vericare) e aprite gli occhi; tenete presente che necessario attendere un po di tempo (e ricaricare la pagina) per avere informazioni complete. Da ci che abbiamo sperimentato sulla nostra pelle, il risparmio di venti euro allanno non giustica il rischio di malfunzionamenti frequenti, soprattutto se il sito strategico. Invece simili soluzioni sono perfette per siti destinati a test (vedi il punto 5). Non sprecare tempo a fare regolarmente i backup Contare solo sui backup dellISP (perch siete stati previdenti e avete acquistato il servizio...) non una buona strategia, perch se il danno colpisce lISP, siete morti. Pianicate i backup e rispettate il piano. Soprattutto, eseguite sempre i backup (sito e database) prima di ogni aggiornamento. Lesperienza del fesso pentito (cio noi): ti accorgi di quanto sia fondamentale un backup solo quando non lhai fatto. Non sprecare tempo con congurazioni ni delle impostazioni di Joomla e di PHP per aumentare il livello di sicurezza Se tutto sembra funzionare, perch preoccuparsi? Il fesso non ancora pentito ha una massima universale: Non mi mai successo niente. Usare lo stesso username e la stessa password per tutto Se avete usato le stesse credenziali per la banca, per i siti che gestite con Joomla, per i forum sportivi, per i giochi di ruolo e via dicendo, non stupitevi se, bucato laccount pi fragile, tutti i vostri account sono stati danneggiati. Massima universale del fesso non ancora pentito: Ma chi ha tempo di star dietro a un le cifrato in cui annotare tutte le credenziali?. Installare Joomla e non pensarci pi Linstallazione di Joomla andata bene e tutto meraviglioso: perch preoccuparsi? Del resto, se non si tocca pi nulla, niente pu andar male... Lesperienza del fesso pentito consiglia: iscrivetevi al servizio Joomla! Security News (http://feeds.joomla.org/JoomlaSecurityNews) e attenetevi scrupolosamente alle sue indicazioni. Installare gli aggiornamenti a testa bassa Bench aggiornare subito Joomla sia unottima abitudine (vedi il punto 3), farlo immediatamente sul sito senza alcuna verica preventiva una pessima strategia. Una delle controindicazioni pi frequenti che una o pi estensioni non funzionino

10

7 6 5

9
58

LINUX PRO 116

Joomla! Tutorial
ora il sito pu essere messo subito of ine. Inoltre possibile usare unimmagine nel messaggio di sito non in linea. Lingua Ora possibile modicare in modo semplice il testo predenito degli elementi di Joomla. Questo argomento sar trattato in modo approfondito in uno dei prossimi tutorial di Joomla; per ora diciamo che dire addio a estenuanti ricerche nei le di congurazione una goduria assoluta. Vi sono inoltre altre novit legate alla lingua: un nuovo plug-in di sistema che permette ai motori di ricerca 4 Abbiamo cercato tutoriali. In alto, il risultato con la ricerca classica. In basso il risultato con Smart search: viene proposto di effettuare di riconoscere il codice la ricerca con tutorial, che in effetti dar esito positivo lingua nei casi di non corrispondenza con la lingua Feed pi personalizzabili Smart Syndication crea usata da Joomla, meta tag alternativi per i siti dei feed nelle pagine dove viene attivato e mostrato multilinga e voci di menu con alias comuni il modulo; ora possibile scegliere se visualizzare in lingue diverse. Filtri La gestione dei ltri per consentire o proibire il testo o specicare quello personalizzato. Debug formattato Ora possibile avere alcuni contenuti stata migliorata e resa pi il debug formattato in modo pi leggibile, razionale. Ora si trova in Congurazione globale con luso dei colori. anzich tra le opzioni degli articoli. Caricamento automatico I le necessari NewsFeed Ora potete invertire lordine dei feed. vengono caricati automaticamente, senza distinzioni Utenti collegati Nella visualizzazione degli utenti collegati ora possibile restringere lelenco agli utenti tra piattaforma o CMS. Prima di terminare, ricordiamo che laggiornamento appartenenti allo stesso gruppo del visitatore. dalla versione 1.7.x alla 2.5.1 pu essere, Uso di Zip Se lhost lo consente, potete come di consueto, effettuata in pi modi. Prima usare ora il supporto Zip nativo durante di procedere, tuttavia consigliabile leggere i consigli linstallazione, riducendo cos il tempo che si trovano allURL http://bit.ly/zeVFth. LXP necessario a decomprimere i le.

pi o funzionino male o che le riniture che con tanta pazienza avete apportato al sito vengano vanicate e scombinate da uninezia (magari solo da una stringa modicata o non tradotta). Per evitare guracce, ansie e crisi di nervi, installate gli aggiornamenti dapprima su un sito di test. buona pratica usare un sottodominio come test.MIODOMINIO.IT per fare gli esperimenti. Condare nelle estensioni di terze parti Le estensioni sono come le ciliegie: una tira laltra. praticamente impossibile resistere alla tentazione di aggiungere funzioni e lustrini al proprio sito. Ma bisogna ricordare che realizzare unestensione per Joomla relativamente facile, scrivere un buon codice pi difcile, mantenerlo aggiornato contro tutti i possibili problemi di sicurezza (anche quelli futuri) davvero duro e richiede molta disponibilit. La buona volont dello sviluppatore non garanzia sufciente per afdargli la solidit del vostro sito: continuer a occuparsi dellestensione tra due anni? Nota dellesperienza: le estensioni che permettono commenti agli articoli sono le prime a compromettere il sito, se non altro perch sono un ricettacolo di spam. ReCaptcha obbligatorio! Trascurare laggiornamento allultima versione di Joomla Questo punto una generalizzazione del punto 6. Molto spesso, le nuove versioni non apportano solo nuove funzioni, ma anche correzioni e innalzamenti del livello di sicurezza.

Quando si scopre che il sito stato forzato, inondare di messaggi pieni di panico i forum di Joomla Il fesso non si attiene a una regola fondamentale: loggetto del post deve contenere informazioni succinte ma precise sullargomento. Un messaggio intitolato Mi hanno forzato il sito suscita pi pernacchie che comprensione. Se (oltre a farvi un esame di coscienza) intitolate il post Assegnazione non autorizzata di livelli daccesso (per esempio) aiutate la comunit ad aiutarvi. Inoltre dovete sempre indicare la versione di Joomla e di PHP usata, nonch le estensioni installate e la loro versione. Quando il sito forzato, limitarsi a correggere il le index. php e dare per scontato che tutto il resto sia a posto Comportamento tipico del fesso non pentito: evitare scrupoli giudicati paranoici come esaminare i log, modicare le password, ricostruire le directory partendo da backup integri e cose del genere. Fare nta di non sapere che ricomporre un le dolosamente modicato solo uno dei tanti passi che occorre compiere per ripristinare un sito forzato. Quando lattacco si ripete, gridare istericamente mi hanno forzato di nuovo il sito! e addossare tutta la colpa a Joomla. Su questo punto per non ce la sentiamo molto di scherzare: un sito forzato vissuto davvero come una violazione personale, alla stregua dei ladri in casa. Ma, proprio per questo, cercate di farvi furbi e, una volta sostituita la serratura forzata, non lasciate la nuova chiave sotto lo zerbino.

LINUX PRO 116

59

Logical Volume Manager


I punti di forza e le debolezze del partizionamento dischi avanzato

Lintelligenza dei dischi


Stanchi di vivere nella paura della schermata delle partizioni di Fedora? Linux Pro vi aiuta ad affrontare i vostri demoni e a scoprire che usare LVM pi semplice di quello che pensate
Forse alcuni utenti, anche dopo anni e anni di installazioni di distribuzioni basate su Fedora, hanno ancora qualche problema con la schermata di partizionamento del disco. Che cosa cavolo stanno a signicare le sigle vg_lvm e lv_root? Perch Fedora non usa i buoni vecchi riferimenti a dispositivi sici e partizioni, come fanno quasi tutte le altre distro? E forse no ad ora hanno preferito non perdere tempo nellimparare il signicato di questi oscuri riferimenti, cancellando semplicemente la congurazione di default e creando uno schema personale di partizionamento. Ma ora questo stato di cose nito perch Linux Pro qui per darvi una mano: e dopo averci seguito, sarete anche voi in grado di apprezzare quanto potente e utile sia questo tipo di tecnologia, e magari vorrete spendere qualche giorno ad approfondirne ulteriormente la conoscenza sui manuali oppure, come successo a noi, vorrete usarlo in ogni nuovo schema di partizioni che creerete (almeno no a quando Btrfs non diventer di uso comune). Inizieremo questo tutorial spiegando cos effettivamente LVM e perch dovreste volerlo usare. Poi diventeremo completamente padroni della schermata dinstallazione di Fedora e vi mostreremo come creare a partire da zero uno schema di partizioni basato completamente su LVM. Useremo anche la linea di comando per mostrarvi gli strumenti con cui potrete trarre vantaggio dalle caratteristiche sue caratteristiche avanzate. Dovete ridimensionare un volume? Nessun problema. Volete aggiungere un nuovo disco e rimuoverne uno vecchio? Nulla di pi semplice. Vi mostreremo persino come prendere uno snapshot del sistema ed eseguire un backup completo con questo meraviglioso strumento. partizione separata dal resto la propria cartella utente, si pu cambiare distribuzione senza dover eseguire il suo backup e relativo ripristino, siccome solo le partizioni che contengono i le di sistema devono essere formattate. Per le imprese, unaltra ragione che in questo modo il lesystem pu essere reso accessibile in sola lettura, e questo conferisce un ulteriore grado di sicurezza e stabilit oltre alla semplicazione del backup. In aggiunta, siccome le cartelle importanti sono mantenute in sezioni diverse del disco, il corrompersi di una di esse non implica la perdita automatica di tutti i dati.

Un paio di occhiali dalle lenti rosa?


Tutto questo pu apparirci come un sistema ben congegnato, ma come al solito in realt ben lungi dallessere esente da problemi. Il pi frustrante di detti problemi che si tratta di un sistema veramente poco essibile; le partizioni sono difcili da ridimensionare, sia nel caso che le si voglia estendere per includere nuovi hard disk o che le si voglia comprimere per fare posto ad altre. Supponiamo ad esempio di disporre di un hard disk da 80 GB che desiderate partizionare. Chiaramente vorrete riservare il massimo spazio possibile alla partizione che contiene la vostra partizione /home, perch disponete ad esempio di una vasta collezione musicale. Dovete allora decidere quale sia lammontare minimo di spazio richiesto dalla partizione /, e assegnare lo spazio rimanente a /home. Alla ne del lavoro, per la partizione / vengono riservati 3 GB mentre la /home occupa i rimanenti 77 GB. Tutto quanto funziona bene n quando non decidete di provare KDE o qualche altro enorme pacchetto software che rende lo spazio disponibile nella root semplicemente insufciente. In un sistema comune, questo comporta una fastidiosa riduzione a 70 GB dello spazio a disposizione per la vostra musica, e la creazione di uno spazio di memoria da 7 GB largamente inutilizzato. Certo, potreste eseguire il backup di tutto il sistema, reinstallare la vostra distribuzione preferita e ripristinare una congurazione ottima ma a patto di quale spreco di tempo! Non sarebbe pi facile se fosse possibile aggiungere un altro hard disk e rendere disponibile il nuovo spazio di memoria alla partizione /, oppure comprimere /home di soli 5 GB, da aggiungere alla partizione root?

Storage 101 in Linux


Tutti i le e le cartelle che appartengono a un sistema Linux, tutto il software, tutti i le utente e di congurazione sono ordinati allinterno di una gerarchia di cartelle strutturata ad albero. Allapice di questo albero c la cartella di root (rappresentata dal simbolo /) e tutto il suo contenuto. Naturalmente tutto questo memorizzato su un disco sico con le informazioni su dove i le sono effettivamente immagazzinati contenute in qualcosa chiamato lesystem. Ora, anche se lesperienza vi pu far pensare al disco sso come a un unico, monolitico archivio per la memorizzazione dei dati, la realt dei fatti raramente questa. La maggior parte delle distribuzioni partiziona il disco sso, suddividendolo in settori che il sistema operativo tratta come dischi sici separati. In questo contesto, a ciascuna delle cartelle importanti del sistema viene assegnata una partizione in cui risiedere, ciascuna con il relativo lesystem: molti sistemi creano di default partizioni dedicate per le cartelle /, ./home e /usr. Osservate che, siccome le partizioni sono logicamente trattate come dischi diversi, queste possono indifferentemente risiedere effettivamente sia su dischi sici separati sia sullo stesso disco sico. certamente possibile che lintero albero delle cartelle sia contenuto dentro una sola partizione, ma ci sono molte buone ragioni che di fatto fanno scegliere questa soluzione solo in casi molto rari. Per gli utenti casalinghi, la prima di esse che partizionando il disco e mettendo in una

INTERMEDIO

Per Linux i dischi ssi sono pi che un grande blocco di memoria: sono Master Boot Record, partizioni, le e inode. Un sacco di roba...

60

LINUX PRO 116

Logical Volume Manager Tutorial


Caratteristiche dei filesystem
Abbiamo accennato al fatto che LVM in grado di variare facilmente le dimensioni delle partizioni senza doverle smontare. Per poter usufruire di questa possibilit per necessario usare un lesystem che supporti le stesse caratteristiche, cosa che quelli pi diffusi fanno con grado differente. Per semplicarvi la vita abbiamo compilato questa semplice tabella che vi mostra quali lesystem supportano questa caratteristica e in quale misura.

Nome ext3 ext4 btrfs xfs jfs reiserfs

CONTRAZIONE DINAMICA

ESPANSIONE DINAMICA

CONTRAZIONE STATICA

ESPANSIONE STATICA

Lui fa tutto
LVM rende tutto questo possibile, nel senso che non dovrete pi preoccuparvi di aver sottostimato gli spazi dedicati a una qualche partizione durante linstallazione del sistema. Usando questo strumento potrete allocare dinamicamente pi spazio alle partizioni preesistenti, espandere una data partizione su pi dischi sici, e ridistribuire lo spazio in memoria gi assegnato. In funzione delle caratteristiche offerte dal lesystem che avete scelto, tutto questo pu essere fatto anche mentre le partizioni interessate sono in uso. La ragione di queste sue capacit risiede nel fatto che LVM si comporta come un ulteriore livello software interposto tra il lesystem e il disco sico, mediando le loro interazioni. Questa mediazione resa possibile grazie alla suddivisione del disco sico in porzioni di dimensioni molto pi piccole delle ordinarie partizioni, chiamate estensioni siche, che pi facile spostare in giro per il disco e su cui pi facile eseguire anche altri tipi di operazione. Oltre a ci, questa struttura rende irrilevante la locazione sica reale delle estensioni siche - LVM suddivide tutti i dischi in estensioni della stessa dimensione e li riunisce creando una risorsa di memorizzazione di massa gigante - come un disco sso virtuale. Anche se molto di quello che LVM fa usa concetti noti, come il lesystem e i dischi sici, necessario introdurre la sua terminologia prima di poter proseguire. Volumi sici. Sono i dischi ssi e/o le partizioni che LVM suddivide in estensioni siche. Gruppi di volumi. Sono linsieme dei volumi sici: la grande raccolta di risorse di memoria costituita da tutte le estensioni siche. Volumi logici. Sono le partizioni logiche create da LVM sul disco virtuale, i gruppi di volume. Queste partizioni possono essere formattate con un dato lesystem, possono esser usate per memorizzare dati e possono essere montate sullalbero delle cartelle principale, esattamente come le partizioni normali. Ciascuna di queste strutture parte della gerarchia di LVM: i volumi sici occupano chiaramente la parte pi in basso di detta gerarchia, i gruppi di volumi occupano la parte intermedia e i volumi logici occupano la parte pi alta. Ognuna di queste parti necessaria al funzionamento di LVM, e ognuna di esse deve essere creata in un preciso ordine: i dischi sici o le partizioni devono essere registrate in LVM come volumi sici disponibili; necessario dire a LVM quali volumi sici volete assegnare a quale gruppi di volumi; inne necessario dire a LVM quali volumi logici desiderate includere allinterno di un dato gruppo di volumi e la percentuale di spazio di memoria che volete assegnare a ciascuno di essi.

La sola limitazione che incontrerete nel creare un nuovo schema di partizioni con LVM che ogni schema di questo tipo non pu contenere una partizione di boot, quindi dovrete creare /boot separatamente. Una volta fatto questo, il gruppo dei volumi e i suoi volumi logici saranno disponibili per essere montati o altrimenti ispezionati nella cartella /dev, come succede per ogni altro disco sico o partizione. Inoltre saranno facilmente identicabili in /dev grazie al loro nome, nella forma /dev/NomeGruppoVolumi/NomeVolumeLogico. Inne, per chiarire completamente la procedura, in uno specchietto descritta passo passo linstallazione di Fedora usando LVM. A questo punto sapete cosa LVM, conoscete la sua terminologia e siete riusciti a creare uno schema di partizioni basato su questo strumento con lo scomodo wizard di Fedora. La prossima cosa su cui ci concentreremo luso della linea di comando: partiremo mostrandovi come potete creare un nuovo sistema basato su LVM e come potrete modicarlo. Il primo passo da compiere registrare i nostri dispositivi hardware e le nostre partizioni come volumi sici disponibili, usando il comando pvcreate: pvcreate /dev/sda1 Con questo comando si registra la prima partizione sul primo disco sico come disponibile. Se desiderate registrare lintero secondo disco sico come disponibile, eseguite pvcreate /dev/sdb Notate che se anche LVM funziona correttamente con dischi interi e con partizioni, altri sistemi operativi potrebbero vedere la memoria che avete riservato come libera, per cui fate attenzione a non cancellare informazioni accidentalmente. Procediamo creando un gruppo di volumi a partire dai volumi sici che abbiamo registrato. Il comando da dare semplice: vgcreate NomeGruppoVolumi /dev/sda1 /dev/sdb NomeGruppoVolumi deve essere ovviamente un nome

Il gergo di LVM oscura un po la comprensione di come lavora questo strumento, ma in realt estremamente logico e descrittivo, come vi mostra questo diagramma, che potete trovare in lingua inglese alla pagina Web http://tldo.org/ HOWTO/LVM-HOWTO/ anatomy.html LINUX PRO 116

sda

sdb1

Volumi fisici

NomeGruppoVolumi

Gruppo di volumi

/home

/usr

Volumi logici

ext4

ext4

ext4

Filesystem

61

Tutorial Logical Volume Manager


Passo passo Alla conquista del wizard di partizione di Fedora o

Creare una partizione

Creare una volume sico

Creare un gruppo di volumi

Partendo da un disco sico vuoto, premete in sequenza i tasti Crea D Partizione standard. Fissate il punto di montaggio a /boot e scegliete in quale disco sico desiderate memorizzare questa partizione: deve avere dimensione ssa ed essere di soli 100 MB. Per terminare loperazione premete OK.

Subito dopo registrate il rimanente spazio disponibile come volume sico. Per farlo, premete la sequenza di tasti Crea D Volume sico LVM, poi impostate il parametro Tipo di le system a physical volume (LVM). Scegliete inoltre lopzione Occupa no alle dimensioni massime consentite. Per terminare loperazione premete OK.

Per creare il gruppo di volumi e i volumi logici premete in sequenza i tasti Crea D Gruppo di volumi LVM. Dategli un nome riconoscibile e poi specicate i volumi sici da usare. La dimensione delle estensioni siche pu essere lasciata al valore di default. Per terminare loperazione premete OK: potete per passare direttamente al prossimo passo senza farlo.

Creare volumi logici

Controllare i cambiamenti

Applicare i cambiamenti

Ora potete creare i volumi logici premendo il tasto Aggiungi nel riquadro Crea gruppo di volumi LVM. Specicate il punto di montaggio a /, /home o a qualsiasi altra cartella che desiderate lo contenga, scegliete il suo lesystem, chiamatelo con un nome semplice e descrittivo, e decidete la sua dimensione.

Prima di procedere al passo nale, controllate le modiche che avete deciso di fare. Controllate che dischi ssi e partizioni siano registrati come volumi sici, che abbiano tutti la dimensione corretta e che non abbiate inavvertitamente cancellato qualcosa che desiderate tenere.

Inne riceverete il solito avvertimento da parte del wizard, che vi avvisa di essere in procinto di creare un nuovo schema di memoria e che ogni vostro dato presente nelle partizioni cancellate o ridimensionate sar perso. Se siete sicuri di aver lavorato bene, premete il tasto Scrivere i cambiamenti su disco.

descrittivo per il gruppo di volumi che si cos creato, specicando quelli che sono i volumi sici che contribuiranno alla risorsa di memoria. Se non vi ricordate quali siano i volumi sici che avete creato, potete eseguire il comando pvscan e ottenere come risposta una lista dei dischi e delle partizioni disponibili. pvdisplay pu invece essere usato per avere una descrizione dettagliata degli attributi di un qualsiasi volume sico, quali possono essere la dimensione, la locazione sul disco, il nome, ecc. necessario creare i volumi logici a partire dal gruppo di volumi appena creato: per farlo digitiamo lvcreate -L10G -nNomeVolumeLogico NomeGruppoVolumi Lopzione -L specica la dimensione desiderata del nuovo volume logico, espressa rispettivamente in Kilobyte, Megabyte e Gigabyte se i sufssi sono K, M e G, lopzione -n ne specica il nome mentre lopzione nale specica da quale gruppo di volumi volete ricavarlo. Questi sono tutti i comandi che dovete conoscere direttamente legati a LVM e, come potete vedere, sono tutti molto semplici e diretti. Giunti a questo punto, necessario creare un lesystem su ogni volume logico e denire come montare ciascuno di essi. Creare

il lesystem unoperazione molto semplice se siete interessati a usare la famiglia ext, molto stabile e quindi diffusa. Dovrete installare il pacchetto e2fsprogs, che vi fornir il comando mke2fs. A questo punto potete decidere quale versione di ext creare (la 4 la pi grande e pi recente) e su quale volume logico crearla: mke2fs -t ext4 /dev/NomeGruppoVolumi/ NomeVolumeLogico Gli altri lesystem dispongono di strumenti analoghi, quindi nessuno di essi risulta molto difcile da creare. Google vi dir volentieri di quali strumenti avete bisogno per creare un dato lesystem, e le pagine del manuale vi aiuteranno con i dettagli sulle opzioni da scegliere. Dopo che avrete creato il lesystem sul volume logico, dovrete solo decidere come montarlo. Per eseguire il montaggio automaticamente ogni volta che eseguirete il boot del computer, aggiungete semplicemente il volume logico nei dispositivi elencati nel le /etc/fstab. La struttura di questo le costituita da un insieme di righe di testo, una per ciascun lesystem che si desidera montare: ciascuna di queste righe composta

62

LINUX PRO 116

Logical Volume Manager Tutorial


da una serie di comandi, tra loro separati da spazi o TAB, che indicano la partizione o il dispositivo da montare, dove montarlo, il suo tipo di lesystem, e numerose altre opzioni. Per una partizione di tipo LVM, la forma tipica la seguente: /dev/NomeGruppoVolumi/NomeVolumeLogico /home ext4 defaults 0 1 Per la spiegazione in dettaglio del signicato delle opzioni da defaults in avanti vi rimandiamo al manuale di /etc/fstab.

Btrfs
Btrfs un nuovo lesystem per Linux, progettato per aiutare il sistema operativo nella gestione di grandi e grandissimi sistemi di memoria quali quelli in uso nei Centri Elaborazione Dati e in altri ambiti industriali. Sua peculiarit fornire un insieme di robusti strumenti di gestione e altre caratteristiche avanzate. Btrfs supporta anche il concetto dei sottovolumi, vale a dire cartelle di root interne separate (ed infatti questa sua caratteristica che rende possibile avere unimmagine dello stato del sistema per il backup). Mentre questo concetto pu sembrare simile a quello di volume logico, in realt se ne differenzia molto perch in questo caso non si tratta di blocchi di memoria ma di cartelle montabili allinterno dellalbero principale dei lesystem. A parte le differenze tecniche, i due concetti forniscono servizi molto simili. Btrfs riduce molto la necessit di usare LVM e, grazie al fatto che queste sue caratteristiche sono date congiuntamente a quelle di un lesystem standard senza la necessit di dover gestire partizioni o volumi logici, il lavoro per la sua amministrazione risulta grandemente ridotto. Inoltre il sistema pi sicuro grazie a caratteristiche come il controllo online del lesystem, i checksum e il mirroring, caratteristiche che ogni altro lesystem che voi potreste usare congiuntamente a LVM non ha. Tutte queste caratteristiche rendono Btrfs molto allettante.

Aggiungere memoria extra


Quello che abbiamo fatto no a questo punto creare uno schema che funzionalmente equivalente a un sistema normalmente partizionato. Ora per che tutto funziona, il momento di provare a usare qualcuna delle caratteristiche avanzate di LVM. Inizieremo con il vedere come aggiungere memoria extra, nella forma di un nuovo volume sico, prima a un gruppo di volumi, poi a un volume logico. Come accade per tutti i volumi sici, la prima cosa da fare inizializzarlo con il comando pvccreate. Una volta che avrete fatto, dovrete usare il comando vgextend e aggiungere il nuovo arrivato a un gruppo di volumi: vgextend NomeGruppoVolumi /dev/sda2 La sintassi del comando autoesplicativa: NomeGruppoVolumi il gruppo di volumi da estendere, mentre /dev/sda2 il volume sico che lo estender (gi inizializzato). Ora che disponibile memoria extra, potete estendere a vostro piacimento anche i volumi logici allinterno del gruppo di volumi. Per procedere usiamo il comando lvextend, di sintassi simile al comando lvcreate (in particolare ha anchesso lopzione -L). lvextend -L8G /dev/NomeGruppoVolumi/ NomeVolumeLogico Facile, vero? Purtroppo questo comando non estende parimenti le dimensioni del lesystem, quindi dovrete provvedere voi a eseguire questa operazione, prima di potervi avvantaggiare del nuovo spazio disponibile. Il seguente comando provvede allo scopo nel caso che il lesystem impiegato sia ext4, espandendolo alla stessa dimensione del volume logico appena modicato: resize2fs /dev/NomeGruppoVolumi/NomeVolumeLogico La cosa realmente sorprendente di tutto questo che potete farlo senza dover far ripartire il sistema. Quindi, per tornare al nostro esempio iniziale, quando il nostro sistema da 80 GB va a corto di spazio, ci basta semplicemente aggiungere un hard disk supplementare e estendere la partizione / usando lo spazio extra disponibile nel sistema. chiaramente un modo di procedere molto meno problematico rispetto alla reinstallazione dellintero sistema. A questo punto potreste chiedervi cosa sarebbe successo se quei famosi 80 GB fossero stati la memoria di massa di un portatile, senza alcuna possibilit di aggiungere un hard disk nuovo: possibile, in casi come questo, comprimere la cartella /home in favore della cartella /? La risposta s, a patto di rispettare alcune avvertenze, la pi importante e ovvia delle quali che non potete ridurre lo spazio di memoria di un lesystem al di sotto della dimensione totale dei dati che contiene. Se forzerete unoperazione di questo tipo, perderete certamente dati e correrete il rischio di corrompere anche quelli che vi rimarranno: quindi assicuratevi che ci sia sufciente spazio libero nel lesystem prima di iniziare. Laltra avvertenza che, nonostante LVM riesca benissimo a ridurre la dimensione di un volume logico quando gi montato, la maggior parte dei lesystem non consente questa operazione. Se state modicando una partizione come / o /home dovrete

fare i reboot del sistema usando un disco live della vostra distribuzione, o comunque un altro sistema di ripristino. A parte queste avvertenze, la procedura semplice, e ve la descriviamo per il solito sistema con lesystem ext4. Per prima cosa eseguite il comando resize2fs specicando la nuova dimensione del sistema, poi eseguite il comando lvreduce per ridurre la dimensione del volume logico. resize2fs /dev/NomeGruppoVolumi/NomeVolumeLogico 2G lvreduce -L2G /dev/NomeGruppoVolumi/ NomeVolumeLogico Il parametro 2G in tutti e due i comandi specica rispettivamente la nuova dimensione del lesystem e del volume logico. lultima cosa che c da dire: come potete vedere, anche una procedura come questa, che pu incutere timore a causa dei possibili effetti disastrosi, si riesce a portare a termine tutto sommato senza troppa fatica.

Spostando in giro i dati


In questa sezione vedremo come rimuovere un vecchio disco sico e sostituirlo con uno nuovo. Per farlo senza rischiare di perdere nulla, opportuno prima copiare i dati contenuti nel disco da sostituire in unaltra parte del gruppo di volumi. Questa operazione pu, a prima vista, sembrarvi complessa: dopotutto, come fate a sapere quali parti del gruppo di volumi ha memorizzato LVM su un dato volume sico? Fortunatamente LVM dispone di un altro utile comando che rende tutto questo incredibilmente semplice: pmove /dev/sda La sua esecuzione causer la ridistribuzione di tutte le estensioni siche memorizzate nel dato hard disk tra gli altri volumi sici del gruppo di volumi se chiaramente rimasto sufciente spazio disponibile. In caso contrario, prima di lanciare il comando e rimuovere il vecchio dispositivo sico dovrete aggiungere il nuovo come abbiamo fatto in una delle sezioni precedenti: per vericare la sufcienza o meno dello spazio rimasto vi baster confrontare i dati in uscita ai comandi pvdisplay e vgdisplay. A questo punto lunica cosa da fare rimuovere il vecchio dispositivo dal gruppo di volumi, usando il comando vgreduce: vgreduce NomeGruppoVolumi /dev/sda Questo comando causer la rimozione del volume /dev/sda/ dal gruppo di volumi NomeGruppoVolumi. Giunti a questo punto potete rimuovere il disco sico e bruciarlo, prenderlo a martellate o semplicemente assicurarvi che nessuno possa metter mano sui vostri dati in esso contenuti. Questo tutorial nisce qui. Speriamo di avervi aperto gli occhi sul potenziale di LVM e che consideriate di usarlo per i vostri sistemi futuri. LXP
LINUX PRO 116

63

Arduino
La piattaforma hardware aperta per il physical computing

Due sono meglio di uno


Collegate tra loro due o pi Arduino via cavo o via radio per aumentare la potenza di calcolo o per fare del telecontrollo. La sempre connessa redazione di Linux Pro vi mostra come si fa...
PRO
dentro il Codice d esempio

1a Collegare due o pi Arduino usando un bus I2C semplice, a volte non sono nemmeno necessari i resistori di pull-up

Cosa vi serve
Due Arduino (di qualsiasi tipo) Per i circuiti con trasmissione via radio avrete bisogno di due schede breakout con chip nRF24L01. Potete trovarle su molti negozio online di materiale elettronico oppure usate su eBay. La libreria RF24 che trovate sul DVD.

Ci sono molti motivi per usare pi di un Arduino nei vostri progetti: potreste avere una serie di sensori remoti oppure potreste avere la necessit di comandare da un Arduino un robot a sua volta controllato da un Arduino. Qualsiasi sia la ragione occorre che le due schede comunichino tra di loro, cosa che per fortuna non molto difcile da ottenere. Ci sono numerosi modi per spedire dei dati avanti e indietro; la scelta dipende solo dalla vostre esigenze, in particolare la distanza tra le due schede.

Con il minor numero di li


Linterfaccia SPI (Serial Peripheral Interface) veloce e ben supportata (con lIDE viene distribuita una libreria che ne rende immediato luso), ma usa un sacco di cavi. Sono necessari almeno quattro piedini (di pi nel caso sia necessario indirizzare molte schede), cosa che pu avere un senso quando si tratta di comunicazione senza li a distanza, ma che sono sprecati per una comunicazione locale tra due schede. In questultimo caso pi che sufciente linterfaccia I2C, che usa due soli li. La libreria Wire (ne abbiamo parlato in LXP 110) ci permette di comunicare tra Arduino risparmiando parecchi piedini, dato che usa i soli piedini analogici 4 e 5. Usa una congurazione master/slave, in cui un dispositivo (il master) controlla il bus e nessuno pu parlare se non dopo di lui. In teoria possibile avere molti Arduino o dispositivi di altro tipo sul medesimo bus, con un unico master che li controlla tutti. In pratica la lunghezza del bus limitata, a meno di utilizzare speciali repeater hardware. Per parlare a un dispositivo presente sul bus occorre seguire questi passi: Wire.begin(); Wire.beginTransmission(indirizzoSlave); Wire.write(0x01); Wire.endTransmission();

DIFFICILE

La prima istruzione inizializza come master il dispositivo su cui viene eseguita. Comincia poi una fase di trasmissione di dati a un dispositivo, il cui indirizzo viene specicato come argomento del metodo beginTransmission(). I dati vengono di solito spediti un byte per volta, ma anche possibile usare un puntatore e la lunghezza dei dati da trasmettere come argomenti del metodo write(). Alla ne conviene terminare educatamente la conversazione con una chiamata al metodo endTransmission(), che in realt avvia la trasmissione vera e propria, dato che i dati sono stati solo accodati in un buffer dal metodo write(). Per leggere dei dati da un dispositivo slave il master deve iniziare la conversazione e richiedere tutti i byte che desidera leggere: char buffer[8]; Wire.requestFrom(indirizzoSlave, 8); int nRicevuti=0; while(Wire.available()) { buffer[nRicevuti] = Wire.read(); nRicevuti++; } Il metodo Wire.available() restituisce il numero di byte ricevuti e disponibili nel buffer, che vengono poi recuperati usando il metodo Wire.read(). Per essere sicuri di ricevere tutti i byte trasmessi pu essere conveniente usare dei caratteri di inizio e ne messaggio. Presenteremo ora un esempio pi signicativo, una specie di ping tra due schede. Useremo lo stesso codice su entrambe le schede e ne congureremo una come master e laltra come slave via hardware: la presenza di una tensione di +5V su di un determinato piedino indicher che quella scheda il master. La scelta di usare un unico programma si riveler molto vantaggiosa in fase di test: molto pi semplice eseguire il debug di un solo sketch seguendo semplicemente percorsi diversi allinterno del codice per slave e master. Inoltre lo slave non ha bisogno di molte istruzioni, quindi un programma tutto

64

LINUX PRO 116

Arduino Tutorial
per lui non sarebbe probabilmente giusticato. Anche per quanto riguarda lhardware le esigenze sono minime, come potete vedere nella Fig.1a (se usate dei buoni cavi di lunghezza non eccessiva potete addirittura fare a meno dei resistori di pull-up). Lo schema della Fig.1b chiarisce meglio i collegamenti tra le due schede. Il bus, costituito dai due cavi che collegano i piedini analogici 4 e 5, pu essere ulteriormente esteso ad altri dispositivi. Esaminiamo ora il codice pezzo per pezzo (la versione completa si trova sul DVD come i2c_ping): #include <Wire.h> const int piedinoCong = 7; const int indirizzoSlave = 8; boolean dispositivoMaster; unsigned char buffer[8]; Questo preambolo esegue linclusione dellheader della libreria Wire, che ci servir in seguito, e denisce due costanti (il numero del piedino di congurazione e lindirizzo del dispositivo slave) e due variabili per i dati. La funzione setup invece determina se il dispositivo deve agire come master o slave in base al valore letto dal piedino di congurazione e imposta di conseguenza la comunicazione: void setup(void) { pinMode(piedinoCong, INPUT); dispositivoMaster = digitalRead(piedinoCong); Serial.begin(9600); Serial.print(Inizializzato come: ); if (dispositivoMaster) { Serial.println(master); Wire.begin(); } else { Serial.println(slave); Wire.begin(indirizzoSlave); Wire.onReceive(slaveRX); Wire.onRequest(slaveTX); } } Il codice piuttosto semplice. La cosa pi interessante succede nella parte relativa allo slave. Vengono chiamati due metodi per impostare due funzioni di callback: la prima sar eseguita quando la libreria Wire si accorger che il master sta spedendo dei dati, mentre la seconda verr eseguita quando il master richieder la spedizione di dati. Entrambe le funzioni saranno denite in seguito. Nel ciclo principale presente solo il codice relativo al dispositivo master pi qualche stampa di messaggi di stato sulla seriale per mostrare cosa sta succedendo. Il master spedisce allo slave un byte e poi gli chiede di rispedirglielo. Usando il timer presente sullArduino (a cui si accede con la chiamata a millis()) possiamo calcolare la durata del viaggio di andata e ritorno del byte: if (dispositivoMaster) { uint32_t inizio = millis(); bool timeout = false; Serial.print(Sto spedendo...); Wire.beginTransmission(indirizzoSlave); Wire.write(0xFF); Wire.endTransmission(); Abbiamo usato i metodi delloggetto Wire descritti sopra. Ora che i dati sono stati inviati possiamo chiedere che ce li rispediscano: Serial.println(In attesa di risposta...); delay(20); Wire.requestFrom(indirizzoSlave,1);

1b Lo schema elettrico del collegamento I2C chiarisce meglio le cose. possibile estenderlo ad altri dispositivi

delay(20); Serial.println(Richiesti i dati...); while (!Wire.available() && !timeout) { timeout = (millis() - inizio) > timeoutTrasmissione; } if (timeout) { Serial.println(Timeout nella ricezione della risposta.); } else { buffer[0]=Wire.read(); Serial.print(Ricevuta la risposta, tempo totale:); Serial.print(millis()-inizio); Serial.println( ms.); } delay(2000); } else { Serial.print(In attesa...); delay(1000); } } Abbiamo aggiunto un ciclo while per vericare che il master abbia ricevuto un carattere di risposta dal dispositivo slave entro lintervallo di tempo denito dalla costante timeoutTrasmissione. Questo ci permette di evitare di restare in attesa di una risposta che non arriver mai a causa di qualche problema di comunicazione tra i due dispositivi. Inne dobbiamo scrivere le funzioni che eseguono le operazioni di lettura e scrittura sul dispositivo slave. La prima viene chiamata con un parametro intero che contiene il numero di byte ricevuti dal dispositivo master; la seconda invece non ha nessun parametro: void slaveRX(int bytes){ buffer[0]=Wire.read(); Serial.print(Valore letto: ); Serial.println(buffer[0],HEX); } void slaveTX(){ Serial.println(Spedizione risposta...); Wire.write(buffer[0]); }

LINUX PRO 116

65

Tutorial Arduino
Tip
E i collegamenti con un solo lo? Esiste un certo numero di sensori che usano una singola connessione per trasmettere (vedere www.arduino.cc/ playground/Learning/ OneWire), ma non sono raccomandati per trasmettere una grande mole di dati tra due Arduino.

Ci sono un po di ritardi qua e l per consentire il trasferimento effettivo dei dati: in un bus perfetto non ce ne sarebbe bisogno. Come non ci sarebbe bisogno dei resistori di pull-up tra le due linee e la tensione di alimentazione a +5V, che invece spesso sono necessari, soprattutto quando i cavi superano una certa lunghezza. Eliminando i ritardi siamo riusciti a ottenere un tempo totale per il viaggio di andata e ritorno di circa 90 microsecondi. Non male! Se scegliete la strada del wireless avete a disposizione un certo numero di opzioni. La soluzione di fascia pi alta costituita dallo standard ZigBee, supportato dai chip e dai moduli XBee, che in grado di fornire tutte le funzionalit che potreste desiderare. La maggior parte delle soluzioni basate su XBee dispone di uninterfaccia seriale facile e molto ben supportata da Arduino, sia per quanto riguarda le librerie che per gli esempi. Il rovescio della medaglia di tutto questo il costo: circa 40 euro al pezzo, non invoglia certo a usarlo molto spesso nei nostri progetti. Allaltro estremo della gamma delle tecnologie senza li troviamo schede radio progettate sulla base del principio di rigenerazione (in passato noto come audodyne), che sono abbastanza economiche e facili da costruire o modicare. Sono piuttosto spartane: ad esempio necessario implementare il proprio protocollo di comunicazione. Inoltre possono interferire tra di loro, rendendo problematico luso di numerosi di questi dispositivi in unarea limitata. La via di mezzo costituita dalle schede che usano i chip nRF24XX, realizzati da Nordic Semiconductors. Queste piccole meraviglie lavorano nella banda dei 2,4 GHz e, pur non mettendo a disposizione un protocollo di rete, dispongono di funzionalit interessanti come la selezione del canale, la conferma della ricezione dei pacchetti, varie velocit di comunicazione (per spremere il segnale no alla massima distanza possibile) e costano circa la met di un XBee. Di solito sono venduti gi montati su una scheda breakout, cosa che risulta un po fastidiosa perch occorre fare qualche saldatura per poterla usare con una breadboard. I chip nRF24XX sono half duplex, possono cio inviare o ricevere i dati, ma non fare entrambe le cose contemporaneamente. Questo rende leggermente pi complessa la scrittura del software, ma un problema che si presenta anche con i sistemi di collegamento con li. In ogni caso poi i chip ATmega non permettono di implementare il multitasking a prelazione e quindi di sfruttare appieno i dispositivi full duplex. Ci sono un paio di librerie che permettono di usare questi chip da Arduino. Quella scritta da James Colitz Jr., RF24, la pi ricca di funzionalit, anche se pi difcile da usare. Supporta molte delle funzionalit dei chip senza essere troppo complicata. Per usare la libreria occorre includere alcuni le: #include <SPI.h> #include nRF24L01.h
Vantaggi Semplice, veloce, molti dispositivi possono condividere il bus. Funziona a distanze molto maggiori dellI2C, facile da usare con la libreria SPI. Semplice, funziona fino a una distanza ragionevole. Buoni risultati e velocit su cavi lunghi. Niente fili! Non costoso come pensate, di moda! Svantaggi

2 Non tutte le schede RF sono pensate per essere usate con una breadboard

#include RF24.h RF24 fa uso della libreria SPI, quindi va inclusa anchessa. Gli altri due le inclusi deniscono la classe principale RF24, che permette di congurare una radio RF sul bus SPI: RF24 radio(8,9); Questa istruzione crea un oggetto radio che usa i piedini 8 e 9 di Arduino per i segnali CE (Chip Enable) e CSN (Chip Select Not). Il CSN pu sembrare un po ridicolo, ma si tratta semplicemente di un Chip Select che funziona in modalit invertita: attivo quando basso, quindi il chip viene selezionato quando il piedino di Arduino in stato LOW. proprio il modo di funzionamento normale delle interfacce SPI, anche se spesso il corrispondente piedino viene indicato come CS o SS nei diagrammi. Gli altri piedini richiesti per la comunicazione SPI sono quelli usati di solito dalla libreria SPI di Arduino: 11, 12 e 13. I chip nRF24 hanno un certo numero di pipeline (o pipe o FIFO) interne per la ricezione e la trasmissione dei dati. Una di esse pu essere usata per ascoltare o trasmettere, mentre le rimanenti cinque sono disponibili per la ricezione. Ognuna di esse dotata di un indirizzo, potete pensarlo come qualcosa di simile allindirizzo MAC di una scheda di rete. un numero di 64 bit che va assegnato nella maniera pi casuale possibile per evitare collisioni. Quindi un dispositivo RF pu trasmettere su un indirizzo specico e ricevere su cinque indirizzi. Lunica limitazione consiste nel fatto che i primi quattro byte dellindirizzo devono essere identici per tutte le pipe in ricezione. Nel codice per specicare un numero di 64 bit dobbiamo usare un intero senza segno di 64 bit e aggiungere LL alla ne della costante esadecimale che lo inizializza: const uint64_t txpipe = 0x818181818101LL; const uint64_t rxpipe1 = 0xFFFFFFFF01LL; const uint64_t rxpipe2 = 0xFFFFFFFF02LL; Nella funzione setup() dobbiamo inizializzare la radio: radio.begin(); E anche aprire le pipe che intendiamo usare:
Portata (realistica) Una scrivania. La stanza accanto. Tutto il corridoio. Tutta la casa. Tutto il giardino e oltre.

Metodo Due fili (I2C) Tre fili (SPI) Porta Seriale (UART) RS485 Senza fili

Problemi allaumentare della lunghezza del bus. Pi lento di SPI su Arduino Un filo in pi, pi uno per ogni dispositivo slave. Lenta, pu interferire con il caricamento degli sketch, una sola connessione. Ha bisogno di hardware extra e di buoni cavi, blocca il bus seriale. Pi complicato da configurare, pu essere meno affidabile.

66

LINUX PRO 116

Arduino Tutorial
radio.openWritingPipe(txpipe); radio.openReadingPipe(1,rxpipe1); radio.openReadingPipe(2,rxpipe2); Il metodo openReadingPipe() accetta due argomenti: il primo il numero della pipe da usare, il secondo il suo indirizzo. La pipe di lettura 0 coincide con lunica pipe su cui possibile scrivere, quindi, a meno che abbiate davvero bisogno di sei pipe, conviene evitare di usarla. Ora abbiamo congurato gli indirizzi delle pipe, ma la radio non sta ancora eseguendo nessuna operazione. Abbiamo bisogno di un altro comando per metterla in ascolto: radio.startListening(); Quando la radio riceve dei dati viene riempito un buffer allinterno del chip. Per acquisire i dati nel nostro programma dobbiamo vericare periodicamente se sono presenti nel chip e leggerli in un buffer allocato allinterno del codice. Ovviamente un compito per il ciclo principale: uint32_t dati; if (radio.available()) { radio.read(&dati, sizeof(dati)); } radio.stopListening(); In questo frammento di codice abbiamo creato un intero di 32 bit per ricevere i dati (che sono spediti in pacchetti di 32 bit) e poi usato il metodo available() per vericare se sono arrivati dei dati che vanno letti. In caso positivo li acquisiamo con il metodo read(), che ha come primo argomento lindirizzo di memoria in cui copiare i dati e come secondo la lunghezza dei dati da leggere (specicata in numero di byte da 8 bit). Nel nostro caso avremmo potuto tranquillamente mettere 4, ma luso della macro sizeof() rende pi difcile commettere errori. Il metodo restituisce un valore booleano che indica se sono disponibili altri dati nel buffer del chip. possibile usare questo valore per creare un loop che legge tutti i dati disponibili. Quando abbiamo completato la lettura dei dati chiamiamo il metodo stopListening() che pone la radio in modalit dormiente. Dato che il chip consente solo comunicazioni half duplex, dobbiamo interrompere la ricezione per iniziare la trasmissione: uint8_t output = 128; bool ok = radio.write(&output, sizeof(output)); if (ok) { Serial.println(ok...); } else { Serial.println(tramissione fallita.); } Il metodo write() molto simile al metodo read() e si aspetta come argomenti lindirizzo dei dati da spedire e la loro lunghezza in byte, in questo caso 1. Anchesso restituisce un valore booleano che indica se la trasmissione andata a buon ne oppure no. In maniera del tutto trasparente per il nostro programma lunit nRF attender la ricezione dei pacchetti di acknowledgment (ACK) per vericare che i dati siano stati ricevuti. C anche una funzionalit di ritrasmissione automatica che riprover a spedire ogni pacchetto dopo una breve pausa. possibile congurare questa funzionalit usando il metodo setRetries(): radio.setRetries(15,15); il cui primo argomento indica il ritardo nella ritrasmissione, misurato in multipli di 250us no ad un massimo di 15 (250 + 15x250 = 4000us), mentre il secondo indica il numero di tentativi da fare, no a un massimo di 15. Se avete difcolt nella trasmissione o nella ricezione e avete gi vericato la correttezza dei collegamenti tra Arduino e nRF24,
3 La maggior parte delle schede RF24 dotata di una qualche forma di antenna a bordo della scheda. Questo non garantisce una portata ottimale: esistono perci schede dotate di connettori per antenne stile Wi-Fi

potrebbe trattarsi di un problema di interferenza. I chip hanno a disposizione 127 canali e alcuni dei valori pi bassi vanno in conitto con le frequenze usate dal Wi-Fi. Conviene quindi scegliere i canali pi alti congurando su entrambi i dispositivi quello da usare con la seguente istruzione: radio.setChannel(111); Abbiamo riscritto il programma di ping per lRF24 (lo trovate nel DVD) e abbiamo ottenuto delle ottime prestazioni: un tempo totale di andata e ritorno di circa 25s con un payload (la quantit di dati trasmessa) quattro volte maggiore di quello usato nel test dellI2C. Qualsiasi modo scegliate per collegare due o pi schede Arduino, ricordatevi che le connessioni non sono mai perfette. A volte i dati andranno persi, i pacchetti non arriveranno o i topi rosicchieranno i cavi. Dovrete tener conto di questi problemi per progettare il vostro codice in modo che non si blocchi. Cercate di scrivere il codice al meglio e ricordatevi che gli imprevisti succedono (quasi) sempre. LXP

Tip
Non sono sempre necessari due Arduino! Altri membri (pi a buon mercato) della famiglia Atmel possono fornire funzionalit analoghe e possono essere sufcienti per inviare attraverso una connessione seriale i dati raccolti da un sensore. Per programmarli occorre per addentrarsi nel mondo di avr-gcc e AVRdude.

Pacchetti ACK
I geni che hanno progettato il chip nRF2401 ci hanno permesso un uso particolare dei pacchetti di acknowledgment (ACK). Dato che la radio deve spedire un pacchetto per dire che i dati sono stati ricevuti (a meno che questa funzionalit non sia stata disabilitata dal programma), perch non metterci dentro qualcosa? Se i dati da spedire possono stare in un singolo pacchetto possibile usare gli ACK per spedirli al trasmittente, che li decodicher al solito modo. Questa tecnica pu essere comoda, per esempio, per leggere i dati di un sensore remoto. Invece di preoccuparci di spedire indietro dei dati ogni volta che ci viene richiesto, possiamo semplicemente scrivere il valore del sensore nel pacchetto ACK che viene rispedito. I dati saranno trasmessi automaticamente, evitandoci cos, tra laltro, di uscire dalla modalit di ricezione per spedirli. Basta questa istruzione: radio.writeAckPayload( 1, &dati, sizeof(dati)); Occorrer per ricordarsi di vuotare il buffer FIFO del chip leggendo i pacchetti ricevuti, altrimenti quando questo buffer si riempie non verr pi spedito alcun pacchetto di ACK.

LINUX PRO 116

67

Musica
Scatena sul tuo PC gli autentici suoni di 30 sintetizzatori

Un completo studio synth con Bristol


Linux Pro ha risparmiato una fortuna in apparecchi vintage grazie agli strumenti virtuali messi a disposizione dalla migliore suite di sintetizzatori per Linux
Le librerie di applicazioni per smartphone e tablet sono piene di strumenti utili per la produzione dei suoni: da semplici generatori di Theremin a perfetti emulatori di Moog, no ad arrivare ai campionatori. Questa disponibilit di applicazioni la causa del rinnovato interesse che stanno attualmente riscuotendo i generatori per la sintesi ma da anni che Linux dispone di applicazioni simili, nascoste nel gestore di pacchetti della vostra distribuzione preferita. Tra queste, Bristol sottovalutata ma probabilmente, la migliore. Bristol non un sintetizzatore singolo ma uno studio completo che ne comprende pi di 30; un numero in continuo aumento. Tra i vari sintetizzatori ci sono sia i classici organi Hammond, a una e due tastiere, sia le repliche dei sintetizzatori analogici vintage degli anni settanta e ottanta. Non mancano anche gli strumenti digitali pi recenti, come la DX7. Ciascun modulo riprende linterfaccia degli strumenti originali e produce suoni, se possibile, pure migliori. Si possono trovare pacchetti dinstallazione disponibili per la maggior parte delle distribuzioni. Noi abbiamo usato Mint e durante linstallazione abbiamo aggiunto Bristol. Le distribuzioni derivate di Ubuntu, come Mint, installano e congurano Jack, un framework audio a bassa latenza. Installare una di queste distribuzioni, quindi, rappresenta uno fra i modi migliori per avere Jack perfettamente congurato e funzionante. Bristol, comunque, lavora altrettanto bene con il solo driver ALSA a patto che PulseAudio non venga avviato, oppure che il vostro pi alto desiderio non sia quello di perdervi nei meandri della congurazione manuale del sistema audio del computer. Dopo aver installato il pacchetto pi semplice avviare Bristol da terminale, cos da avere maggiore controllo sullinterfaccia del generatore sonoro e sulla scelta dei moduli da caricare allavvio. Lo script startBristol gestisce il lancio dellapplicazione e come default, utilizza Jack. Se volete provare ALSA assicuratevi che non sia gi impiegato da qualche altro processo. Come detto, chiudete PulseAudio e aggiungete lopzione -alsa allo script di avvio.

Potete sempre accedere ai parametri di Bristol grazie al pulsante presente nel display

Organo Hammond (-b3)


Per iniziare, basta scrivere startBristol -b3. Questo comando avvier il sintetizzatore con lemulatore Hammond B3. Se come driver audio avete scelto Jack dovrete anche lanciare lapplicazione QJackCtl, premere il pulsante Connect e, nella nestra che apparir, selezionare Bristol sul pannello sinistro e System su quello destro.

DIFFICILE

Inne, dovrete premere Connect. La sequenza di operazioni descritta condurr il suono generato da Bristol verso luscita della vostra scheda audio. Purtroppo, dovrete ripetere questa sequenza a ogni nuovo avvio di Bristol. Appena avviato, Bristol visualizza un organo con struttura in legno, completo di pedali e di due tastiere per i vostri arti virtuali. Al di sopra delle tastiere sono dislocati i drawbar. Facendoli scorrere verso lalto o verso il basso si inuenzer il suono nelle regioni dei bassi (pedali), dei medi (tastiera centrale) e degli alti (tastiera superiore). Ciascun drawbar rappresenta una differente armonica del suono: i drawbar bianchi corrispondono alle armoniche pari; quelli neri, alle armoniche dispari. Inoltre, possibile aggiungere elementi percussivi tramite i pulsanti sulla destra. Il modello B3 comprende molti preset, che si possono selezionare direttamente dai tasti neri posti sulle tastiere o dalla vista Parameter, che pu essere abilitata dal secondo interruttore a sinistra, partendo dal fondo. Non c bisogno di fare click sui tasti virtuali per generare i suoni: la vostra tastiera QWERTY gi impostata come dispositivo di input predenito. Il modulo comprende anche tre effetti audio aggiuntivi: il Leslie e il Reverb, entrambi attivabili dai pulsanti posizionati in alto, alla sinistra del display, e il chorus, regolato dalla manopola posizionata alla destra dei due precedenti. Leffetto Leslie simula un altoparlante che ruota dentro un mobile: un effetto comune per questi vecchi organi, che aiuta a rafforzarne il suono. La velocit di rotazione si modica con linterruttore posto in basso a sinistra mentre la manopola del Chorus pu essere utilizzata per dare ancora pi corposit al suono.

68

LINUX PRO 116

Musica Tutorial
Minimoog (-mini)
Il pi famoso tra i sintetizzatori monofonici il Minimoog. Da quando stato distribuito, nel 1970, il suo design e la sua struttura hanno ispirato ogni sintetizzatore dimpostazione tradizionale che sia stato prodotto in seguito. Se imparate a creare e a sviluppare suoni con il Mini sarete in grado di farlo su ogni altro sintetizzatore, usando tecniche simili per generare analoghe sonorit. Nonostante non sia pi cos originale come allora, ancora oggi il Mini lavora il suono in maniera unica. Lemulazione Minimoog di Bristol ne una buona approssimazione; se da una parte non pu essere duttile come un vero e proprio sintetizzatore analogico, dallaltra comunque un ottimo strumento per imparare le basi della sintesi sonora. Il modulo si avvia implementando largomento -mini e si apre con uninterfaccia graca molto simile al pannello di controllo del sintetizzatore originale. Il Mini composto da tre oscillatori, posti allinizio della catena del segnale, che si occupano della generazione sonora. Il tipo di suono emesso dipende dalla forma donda prodotta da ciascun oscillatore. Sulla sinistra del banco degli oscillatori sono posizionate le tre manopole Waveform Type. Ognuna di esse pu essere impostata su una forma donda sinusoidale, quadra, a impulso, a dente di sega, triangolare o a doppio dente di sega; ogni forma donda rappresentata dalla rispettiva, piccola, icona. Per generare molti dei tipici suoni di sintesi sufciente la sola forma donda a dente di sega; pertanto, come punto di partenza suggeriamo di utilizzare proprio questa. Le manopole posizionate alla sinistra dei selettori delle forme donda agiscono sulla tonalit: prima modicano le ottave e poi, tramite la manopola centrale, aggiungono quel po di stonatura che viene impiegata per controllare lemissione del primo oscillatore. sintetizzatori chiama Resonance. Piuttosto che leggerne la descrizione, si comprende meglio leffetto ascoltandolo. Per modicare lampiezza e la frequenza del ltro nel dominio del tempo, cio da quando premete a quando rilasciate un tasto, avrete bisogno di usare le manopole Attack, Decay e Sustain. Sotto di esse, il gruppo di manopole riguarda lampiezza, cio il loudness, mentre il gruppo al di sopra riguarda il ltro. Nella sezione Filter, la manopola Contour determina quanto linsieme delle regolazioni inuenzi il ltro. Attack imposta la durata, in secondi, del tempo necessario per variare lintensit del suono da zero, silenzio, al valore denito dalla manopola Sustain. Il Decay, invece, il tempo che impiega il suono per tornare al livello zero. Per esempio, se volete una timbrica pop impostate Attack e Sustain a zero, quindi usate Delay per regolare lampiezza sonora. La Modulation lultima sezione del Mini la cui logica risulta applicabile a molti altri sintetizzatori. La modulazione consiste nella modica del valore di una fonte sonora per mezzo di unaltra fonte, in maniera simile a come abbiamo usato le regolazioni di ampiezza e di frequenza per modellare il suono nel tempo. Per modicare il ltro pu essere usata sia la tastiera sia il terzo oscillatore, in base allimpostazione del banco di interruttori posto sotto letichetta MOD. Ad ampiezza maggiore dei tasti premuti sulla tastiera, corrisponde maggiore frequenza di taglio; cos, anzich usarlo come componente udibile del suono, loscillatore 3 pu essere impiegato come oscillatore di bassa frequenza. Per farlo occorre: attivare il pulsante LFO posizionato sulla destra delletichetta Controllers, in modo da spostare la frequenza degli oscillatori dalla gamma audio alla gamma della bassa frequenza; disattivare linterruttore OSC 3 nel mixer; assicurarsi che la manopola MOD posizionata sulla sinistra sia completamente ruotata verso OSC; abilitare linterruttore MOD nel mixer. Cos facendo, sentirete delle variazioni di frequenza periodica agganciate alla frequenza stessa delloscillatore. Provate a cambiare la forma donda e le diverse regolazioni, no a trovare un suono soddisfacente. Tramite linterruttore di colore rosso, quello posizionato pi in alto nella sezione Controllers, potete anche modulare la frequenza degli oscillatori.

Il mixaggio
Proseguendo la catena sonora, il segnale passa dalla sezione degli oscillatori al mixer. Questultimo viene usato sia per il mixaggio nale, abilitando ciascuna sorgente e regolando il volume di ogni oscillatore, sia per lintroduzione del rumore articiale. Nei sintetizzatori classici il rumore una parte signicativa del suono e serve non solo per generare effetti speciali (come il vento) ma anche per aggiungere una certa granulosit a timbriche altrimenti ordinarie. Per capire di cosa stiamo parlando, provate ad accenderlo e alzate un po il relativo volume. Il rumore e le forme donda a dente di sega hanno un forte contenuto armonico, il che le rende sorgenti ideali per la fase successiva del motore di sintesi: il ltro. La funzione del ltro consiste nel rimuovere una parte del segnale audio, lasciando inalterato tutto il resto. Il modo in cui un ltro viene integrato lelemento che caratterizza maggiormente il sintetizzatore stesso. Per far transitare il segnale audio attraverso il ltro, assicuratevi di aver attivato il pulsante di colore rosso posizionato al centro nella sezione del mixer. Con la manopola Frequency potrete quindi cambiare la frequenza del ltro passa-basso del Mini. In quanto passa-basso, blocca le frequenza del segnale superiori a quella impostata. Le informazioni sonore presenti attorno alla frequenza di ltro possono venire enfatizzate dalla manopola Emphasis: una funzione che la maggior parte degli altri

Se confrontate questa immagine con quella del pannello frontale reale del Minimoog, troverete poche differenze

LINUX PRO 116

69

Tutorial Musica
Prophet 5 (-pro5)
Come avrete notato, introducendo le funzionalit base di Bristol, abbiamo anche denito le fondamenta della sintesi sonora. Ora possiamo permetterci di andare oltre: potete avviare quasi tutti gli altri sintetizzatori presenti nel pacchetto di Bristol, comprendendo immediatamente le loro potenzialit. Noi, per, facciamo un salto di alcuni anni dalla presentazione del Minimoog per conoscere un sintetizzatore analogico polifonico chiamato Prophet 5. Grazie allimpiego ibrido di un computer per la gestione delle connessioni e alla possibilit di suonare pi di una nota alla volta, il Prophet 5 suona in maniera completamente diversa dal Minimoog E questo, nonostante utilizzi lo stesso usso di segnale e abbia una struttura simile. Ecco perch il Prophet 5 risulta perfetto per riprodurre i movimenti darchi, lunghi e lenti, e persino i suoni pi sperimentali. dopo aver rilasciato un tasto. Amplicato, un valore elevato di Release suona in maniera simile al degradarsi di una campana tubolare.

Sid Synth (-sidney)


Rispetto agli altri moduli disponibili nella libreria di Bristol, Sidney qualcosa di diverso: si tratta di un sintetizzatore basato sul famoso circuito audio SID che si trovava in molti home computer Commodore degli anni ottanta. Il SID aveva un suono cos particolare da essere molto ricercato ancora oggi. Non a caso risulta attualmente installato sia allinterno di moduli commerciali sia di sintetizzatori artigianali. Il motivo della sua popolarit dato dallunione di due diversi fattori: un suono molto particolare e linnegabile nostalgia che provoca in chi lo ascolta e ne ricorda liniziale contesto. Se s stati giovani negli anni ottanta del secolo scorso, impossibile rimanere insensibili al suono prodotto dal semplice generatore a dente di sega del SID! Oltre a stimolare ricordi, comunque, il SID anche molto essibile. I suoi tre oscillatori possono generare contemporaneamente tutte le forme donda standard e il ltro pu essere usato per tagliare le frequenze basse, medie e alte. Inoltre, lemulazione di Bristol aggiunge una modalit passa-basso ripida (LP24), utile per creare grazie al ltro effetti ancor pi pronunciati. Altre caratteristiche uniche del SID erano la disponibilit di un inviluppo di ampiezza per ogni oscillatore, la modulazione ad anello e la sincronizzazione: tutti elementi utili per la creazione di timbriche pungenti. Lemulazione di Bristol mantiene inalterate queste capacit e le unisce a un eccellente arpeggiatore: anche questultimo, associato spesso al suono del SID. Potete attivare larpeggiatore tramite gli interruttori mode, posizionati a sinistra del pannello, il pulsante Trigger e la manopola Rate, posti nella sezione ARPEG. Dalla sezione Modulation possibile aggiungere un singolo LFO al mix sonoro. Questultima sezione raggruppa i pulsanti necessari per impostare quanto il suono venga modulato dallo LFO e dallinviluppo globale. Per esempio, per regolare la frequenza di taglio sufciente attivare il pulsante posto in basso, sul lato sinistro; per regolare la frequenza, invece, necessario usare i pulsanti Voice. Combinando le diverse impostazioni possibile riprodurre alcune sonorit tipiche che solo il SID pu realizzare.

Circuiti sequenziali
Anche se a prima vista pu non sembrare, il Pro 5 genera suoni in modo simile al Mini. Anzich tre oscillatori per voce, per, ne utilizza solo due e, come sempre, i relativi pulsanti vengono impiegati per selezionare le diverse forme donda (shape, nel gergo di Prophet). Tramite la manopola Pulse, inoltre, possibile regolare anche lampiezza dellonda quadra. Se avete modo di vedere londa in un oscilloscopio noterete la forma quadra modicarsi da un blocco stretto (o impulso) a un rettangolo allungato. Ma la pi grande differenza rispetto al Mini che il Prophet 5 pu generare contemporaneamente tutte le forme donda descritte; fatto, questo, che lo rende perfetto per creare suoni ricchi e molto pi complessi di quelli prodotti da un singolo oscillatore. Per il resto, lanalogia con il Mini completa. Le sezioni Mixer e Filter svolgono compiti equivalenti alle rispettive sezioni del Minimoog ed stato aggiunto uno specico LFO per modulare il ltro o le frequenze degli oscillatori, in relazione allattivazione dei pulsanti LFO in ciascuna sezione. Qui, le regolazioni lavorano su quattro fasi anzich tre, ricreando cos il classico inviluppo ADSR impiegato attualmente dalla stragrande maggioranza dei sintetizzatori. ADSR sta per Attack, Decay, Sustain, Release; il valore aggiuntivo Release rappresenta la velocit con la quale il segnale si afevolisce

Se il Commodore 64 fosse stato trasformato in un sintetizzatore, avrebbe avuto un aspetto simile a questo

70

LINUX PRO 116

Musica Tutorial
Arp 2600 (-arp)
arrivato il momento di scoprire il modulo pi complesso di Bristol: lArp 2600. Esso differente dagli altri per molte ragioni. A prima vista, la differenza pi evidente che manca la tastiera, come avveniva per il sintetizzatore originale che aveva bisogno di essere collegato a una tastiera esterna tramite cavi di controllo. In Bristol possibile usare la tastiera del computer risparmiandoci, cos, il fastidio di trovarne una virtuale. Ma non solo! LArp 2600 noto per essere un sintetizzatore semi-modulare. Ci signica che invece di fornire pronti i vari elementi di un sintetizzatore (oltre che averli pre-congurati come nel Minimoog) lascia lutente libero di riassegnarli in qualsiasi maniera desideri. La riassegnazione avviene tramite cavi che trasportano il segnale grezzo di tensione (virtuale) dalluscita di un elemento allingresso di un altro. Per esempio, se volete modicare la frequenza del ltro tramite uno LFO potete usare un cavo, collegando luscita dello LFO allingresso del ltro. NellArp 2600, per, diversamente da un sintetizzatore completamente modulare, non avete bisogno di collegare alcun cavo per ottenere un suono. Luscita dei tre oscillatori, infatti, passa attraverso il ltro (VCF) e linviluppo di ampiezza (ADSR) nello stesso modo in cui avviene nei sintetizzatori descritti in precedenza. Inoltre, proprio come succede nel Minimoog, potete regolare i cursori per modicare il suono. Provare le diverse regolazioni un ottimo metodo per comprendere alcune caratteristiche dellArp 2600 ma inizierete a divertirvi davvero quando personalizzerete i controlli usando i cavi di connessione. In Bristol, un alone rosso attorno ai connettori identica le uscite mentre i connettori degli ingressi hanno un alone verde. Per effettuare una connessione basta selezionare con un primo click luscita da utilizzare e con un secondo click lingresso al quale connettere il cavo. Sopra molti ingressi, poi, vi sono dei cursori che stabiliscono la quantit di effetto da applicare al segnale. Nel caso in cui lingresso non sia collegato, i cursori controllano il percorso di default del segnale.
LArp 2600 il modello pi complesso di Bristol

Percorsi di default
Prendiamo come esempio la sezione VCF: sopra gli ingressi audio sono posti dei cursori. Sprovvisti di un cavo di connessione, gli in ingressi sono usati per il modulatore ad anello,

per i tre oscillatori e per il generatore di rumore, cos come illustrano i piccoli simboli posti al di sotto degli ingressi stessi. Per aggiungere al ltro il suono delloscillatore 1 sufciente spostare il cursore posto sopra il relativo simbolo. Tutte le connessioni predenite sono illustrate alla stessa maniera e differiscono di poco. Per esempio, per modulare laltezza delloscillatore 2 con londa quadra prodotta dalloscillatore 1, bisogna spostare in avanti il terzo cursore. Se volete collegare lingresso a unaltra fonte, come pu essere linviluppo ADSR, usate un cavo di collegamento dalluscita dellADSR verso un ingresso delloscillatore, quindi spostate verso lalto il cursore associato. Rimanendo sulloscillatore 2, se invece dellonda quadra voleste collegare al ltro londa a dente di sega, tracciate un cavo dalluscita Sin verso lingresso VCO2 del ltro. Il Program 1 un buon punto di partenza per iniziare a sperimentare. Per caricare il Program 1 usate il tastierino numerico o i tasti cursore, nch sul display LCD comparir la scritta PRG:1. Quindi, premete il pulsante L per caricare il preset. LArp 2600 senza alcun cavo collegato produce il classico, vagamente inquietante, suono da sintetizzatore. Questa sonorit, di retroazione, generata dallauto-oscillazione del ltro: in altri termini, la risonanza assume il valore massimo. Nella spiegazione passo passo che segue viene mostrato come variare lentit della risonanza per mezzo del terzo oscillatore che, noterete, non ha il proprio ingresso miscelato nel ltro e quindi, inutilizzato. In pratica, si utilizza il VCO3 come un LFO, cos da modulare lingresso del ltro con unonda sinusoidale. LXP

Passo passo Trasforma Program 1 in una battaglia a colpi di laser!

Da OSC3 a LFO

Collegate il cavo

Utilizzate i controlli

Nella sezione VCO3 dovete impostare il cursore della frequenza audio sul valore LFO e poi fare click sulluscita SIN. Utilizzate il pitch control per regolare la velocit.

Fate click sul controllo VCO2 in ingresso sul ltro e alzate il relativo livello tramite lapposto cursore. Adesso luscita dellLFO risulta utilizzata per impostare la frequenza di taglio del ltro stesso.

Allingresso del mixer arrivano sia il segnale proveniente dal ltro che quello derivante dalluscita dellinviluppo della forma donda, amplicato. Per ottenere una sonorit laser pi pura, muovete il cursore sulla sinistra.

LINUX PRO 116

71

Controllo di versione
Lasciate al passato la perdita di lavoro vitale

Tenete traccia dei vostri le


Ecco alcuni dei pi popolari sistemi per il controllo di versione e come potete usarli nella vita di tutti i giorni per mettere al sicuro i vostri le sorgente e non solo

Il controllo di versione non usato solo dai programmatori: anche Wikipedia lo usa in modo estensivo

Ci siete passati tutti: si sta lavorando a un progetto - che sia scrivere codice, un articolo o un saggio - e si decide di fare una modi ca radicale che non funziona come sperato. Purtroppo, la modi ca non facile da annullare, e si nisce per perdere unora di tempo prezioso solo per riportare il progetto al suo stato originale. I programmatori, essendo il geek uno degli esseri pi pigri del pianeta, hanno deciso che avrebbero potuto creare uno strumento che li avrebbe aiutati a evitare questa situazione. Questo strumento - o classe di strumenti - stato de nito sistema di controllo versione (VCS). Lidea che ogni volta che il progetto raggiunge un punto che abbia progressi signi cativi, o appena prima di fare un cambiamento radicale, indicate al VCS di registrare lo stato attuale del progetto. quindi possibile andare avanti, e modi care tranquillamente i le; se le cose non funzionano non un problema. Potrete sempre sfogliare lo storico del progetto, come registrato dal VCS, e ripristinare in un lampo i le comerano nello stato precedente.

Questo tipo di tecnologia diventata fondamentale nel Software Libero

e poi unirli di nuovo insieme, permettendo a molti collaboratori diversi di lavorare sullo stesso progetto, senza paura di modi che contrastanti. Questo tipo di tecnologia diventata fondamentale nel Software Libero e Open Source e ha contribuito al suo successo. Si trova anche al centro di progetti come Wikipedia, dove la capacit di monitorare e ripristinare le modi che fondamentale per trattare atti di vandalismo e permettere agli utenti di confrontarsi criticamente con fonti legittime. Per vederlo in azione, date unocchiata alla scheda Cronologia nella parte superiore di ogni pagina di Wikipedia, potrete vedere i dettagli di ci che ha fatto modi che e i momenti in cui alcune modi che sono state annullate. In questo tutorial conoscerete il sistema di controllo versione Git. Originariamente stato scritto da Linus Torvalds per rendere pi facile mantenere il kernel Linux, ma diventato una delle scelte pi popolari tra i VCS. Darete uno sguardo al suo utilizzo di base e ad alcuni ussi di lavoro di esempio, in modo da poter avere unidea di come usarlo nel mondo reale. La prima cosa che dovrete fare installare Git. Dal momento che uno strumento Open Source estremamente popolare, disponibile nei repository di default di quasi tutte le distribuzioni. In Ubuntu, vi baster un rapido apt-get install git-core, mentre in Fedora yum install git-core. Notate che in alcune distribuzioni il pacchetto sar semplicemente chiamato git.

VCS: la chiave del successo


DIFFICILE
I VCS moderni possono fare molto di pi, oltre che tenere traccia delle modi che linearmente. Permettono di tenere traccia di pi rami (branch)

Avviare il vostro primo repository


Dopo linstallazione di Git, la prossima cosa da fare avviare un repository per memorizzare tutte le informazioni sul progetto. Ci sono due modi per farlo, a seconda se si desidera creare un nuovo

72

LINUX PRO 116

Perl
<div id=content> <div id=header> <h1>BookWeb</h1> <h2>Heres your reading list</h2> </div> </div> </div>

I framework Web in Perl


Scrivere unapplicazione Web da zero pu essere unesperienza decisamente complessa ma avvalendosi dellaiuto di uno dei framework specializzati il mondo vi sorrider. Esistono numerosi framework Web e sono tutti disponibili via CPAN. In questa serie di tutorial verr utilizzato Dancer che basato sugli stessi concetti di Sinatra per Ruby. Come gi accennato, tutta larchitettura di simili framework ruota attorno al concetto di rotte (routes) e delle richieste HTTP che lapplicazione deve gestire. Grazie a questi concetti relativamente semplice progettare e creare da zero una Web App. Nel caso vogliate approfondire maggiormente troverete altre informazioni allindirizzo http://perldancer.org. Probabilmente il framework Web pi conosciuto per Perl Catalyst, un software potente, diffuso e essibile. Per maggiori informazioni: www.catalystframework.org. Uninteressante alternativa sicuramente Mojolicious, volto principalmente a rendere il lavoro dello sviluppatore pi semplice possibile mantenendo comunque un grado accettabile di essibilit. Per maggiori dettagli consultate http://mojolicio.us.

Un po di buon Perl
Non si era detto che questo sarebbe stato un tutorial Perl? tempo di tornare al tema scrivendo un po di codice Perl. Si gi accennato che il le bin/app.pl quello che guida lesecuzione principale del programma, ma modicandolo vedrete che abbastanza semplice: #!/usr/bin/env perl use Dancer; use BookWeb; dance; In sostanza viene caricata la libreria Dancer e quella BookWeb, chiamando poi la funzione dance per avviare il tutto. Il punto in cui si concentra il lavoro vero per la libreria BookWeb, che risiede nel le lib/BookWeb.pm. Al momento quello che ci troverete package BookWeb; use Dancer :syntax; our $VERSION = 0.1; get / => sub { template index; }; true; Ancora una volta non c molto da vedere, ma n dora facile capire quale sar lo scheletro dellapplicazione. Infatti in un progetto Dancer vengono denite alcune rotte ed il software stesso che si occupa di individuare la corrispondenza tra la richiesta effettuata e le risorse denite, instradando il usso verso la prima corrispondenza trovata. Una rotta denita dalla combinazione di una tipologia di richiesta HTTP (GET, POST, ecc.) e un percorso (path). Al momento ne stata denita solo una che serve a gestire le richieste GET verso la home dellapplicazione (/). Qualsiasi richiesta che non trover nessuna corrispondenza verr trattata dal gestore resource not found (letteralmente risorsa non trovata) di default di Dancer, inviando un bel 404 al browser dellutente. Se al contrario viene trovata la voce corrispondente a quanto richiesto, il codice a esso associato verr eseguito. Nel caso in oggetto verr generata la pagina iniziale della Web App grazie alluso dei template. In effetti gran parte della potenza di Dancer sta proprio nelluso delle nuove istruzioni che offre alla vostra applicazione, proprio come i template. Questa parola chiave nasconde in realt molto pi lavoro di quanto sembri, dato che per ottenere il risultato deve cercare nel lesystem, leggere il contenuto del le trovato, interpretare ed espandere luso delle variabili e integrare il contenuto della pagina nel layout del template. Secondo alcuni detti delle migliori arti marziali e linguaggi di programmazione, bisogna sempre cercare di ottenere il massimo risultato con il minimo sforzo; proprio per questo se si vuole arrivare al risultato nale sfruttando al massimo le potenzialit di Dancer si dovr spremere i template il pi possibile. Nello specico sar bene iniziare chiamando listruzione template passando le liste dei letti, da leggere e in fase di lettura.

template index,{ reading => \@reading, read => \@read, to_read => \@to_read, }; In sostanza si aggiunto un nuovo parametro alla chiamata al template, nello specico un hash che contiene tutti i dettagli di cui si avr bisogno durante lesecuzione del template. Le chiavi dellhash (reading, read e to_read) sono tutti nomi che possono essere usati allinterno del template per richiamare le variabili corrispondenti, mentre i valori assegnati sono dei reference agli array interessati. Per essere pi precisi si dovuto operare in questo modo dato che in Perl si pu memorizzare allinterno di un hash solo un riferimento e non larray intero. Se volete approfondire il discorso potete consultare il manuale alla voce perlreftut per una spiegazione pi esaustiva.

Tip
Uno dei modi di dire della comunit Perl c sempre pi di un modo di farlo. Non stupitevi troppo se quindi troverete online dei tutorial completamente diversi da come vengono affrontati alcuni temi in questi tutorial.

Usare i dati del DB


Il passo successivo da eseguire di riempire gli array con dati utili. Come gi fatto nella scorsa puntata i dati verranno prelevati direttamente da un DB e ancora una volta si user la classe ORM DBI::Class. Fortunatamente Dancer ha moltissimi plug-in su CPAN pronti a essere installati e usati. In particolare esiste Dancer::Plugin::DBIC che fornir la parola chiave schema della classe DBIx::Class utile ad accedere allomonimo strumento di cui si molto parlato nella puntata precedente. Una volta installato Dancer::Plugin::DBIC si dovr congurare Dancer per usare questo nuovo plug-in. Per farlo si dovr modicare il le cong.yml sito nella directory BookWeb aggiungendo le seguenti linee: plugins: DBIC: book: schema_class: Book dsn: dbi:mysql:database=books user: books pass: README Come avrete gi notato questi dati corrispondono a quelli esemplicativi usati nello scorso tutorial, fatta eccezione per la variabile schema_class che indica la libreria Book.pm creata appositamente come interfaccia verso il database. Lapplicazione attuale avr quindi bisogno di accedere al le Book.pm e il modo pi veloce per adempiere a tale dipendenza copiare il le Book.pm nella nuova directory utilizzata. anche necessaria la sottocartella Book utile a contenere altre librerie per accedere a classi diverse del DB
LINUX PRO 116

83

Perl
Tip
Se state cercando critiche e consigli su come migliorare il vostro codice, ricordatevi di riferirvi a perlcritic, solitamente gi pacchettizzato e pronto alluso nel vostro package manager preferito.

(Book/Result/Author.pm e Book/Result/Book.pm). Dato che state modicando il le cong.yml dovreste approttarne per cambiare il motore di templating; Dancer viene infatti fornito di default con due engine di templating diversi e quello impostato di default troppo semplice per soddisfare i bisogni del progetto che si sta realizzando, quindi bisogner passare allutilizzo di Template Toolkit. Per operare questa scelta modicate il le cong.yml in modo che risulti come segue # template: simple template: template_toolkit engines: template_toolkit: encoding: utf8 start_tag: <% end_tag: %> Da notare il cambiamento delle opzioni start_tag ed end_tag per cambiare rispettivamente dal vecchio valore [% e %] ai nuovi <% e %>, cos da essere compatibile con il codice di default gi scritto in Template Toolkit. Ora che tutte le librerie sono al proprio posto il momento di scrivere il codice per accedere al DB. Cambiate il le Book.pm in modo da renderlo simile alle righe seguenti: get / => sub { my $books_rs = schema->resultset(Book); my @reading = $books_rs->search({ started => { !=, undef }, ended => undef, }); my (@read, @to_read); template index, { reading => \@reading, read => \@read, to_read => \@to_read, }; }; A parte usare la parola schema per accedere allomonimo costrutto, il resto del codice praticamente identico a quello usato nella scorsa puntata per accedere al DB. Viene creato un oggetto resultset e su questo si usa il metodo search per trovare la lista dei libri interessati; per esempio i libri in fase di lettura avranno la colonna started non nulla e quella ended invece nulla. Al momento verranno ignorate le altre due liste.

Applicare i template alloutput


Ecco come apparir il le index.tt dopo aver aggiunto il codice per gestire larray dei libri in fase di lettura: <div id=page> <div id=sidebar> </div>

Il Template Toolkit
Durante il tutorial si usato il Template Toolkit per gestire la creazione dellHTML in maniera dinamica. Un motore di templating essenziale per la costruzione di qualsiasi applicazione Web di qualsivoglia complessit. Un buon motore di template vi aiuter a tenere separate le logiche di visualizzazione da quelle insite nella vostra specica applicazione. Template Toolkit viene generalmente accettato come il prodotto pi potente nel suo genere per Perl 2. Nonostante offra un linguaggio semplicato, grazie al sistema di plug-in disponibili su CPAN le possibilit sono praticamente innite. La versione 2 di TT ormai stata pubblicata da diversi anni (http://tt2.org) ma si sta avvicinando il rilascio della versione 3. Nel caso siate pi affezionati alla carta stampata potrete trovare anche un libro pubblicato da OReilly chiamato Template Toolkit.

<div id=content> <div id=header> <h1>BookWeb</h1> <h2>Heres your reading list</h2> </div> <h3>Reading</h3> <% IF reading.size %> <ul> <% FOREACH book IN reading %> <div class=book><p> <img src=<% book.image_url %> /> <a href=http://amazon.co.uk/dp/<% book.isbn %>> <% book.title %></a> <br />By <% book.author.name %></p> <p><% IF book.started %>Began reading: <% book.started.strftime(%d %b %Y) %>.<% END %> <% IF book.ended %>Finished reading: <% book.ended. strftime(%d %b %Y) %>.<% END %></p> </div> <% END %> </ul> <% ELSE %> <p>No books found.</p> <% END %> </div> </div> Le parti pi interessanti riguardano luso dei tag <% e %>. Potete notare infatti un costrutto IF/ELSE e un ciclo FOREACH, entrambi celebri strumenti di programmazione che funzioneranno esattamente come vi aspettereste. Allinterno dellhash passato come argomento cera una chiave denominata reading e proprio questa diventa la variabile di riferimento allinterno del ciclo del template. Essendo la variabile un array, si pu controllarne la dimensione vericando cos quanti elementi contiene. Se larray vuoto, la condizione dellif sar falsa (Perl considera falso il numero 0) eseguendo cos il blocco dellelse che mostra un messaggio indicante che non sono stati trovati libri. Se al contrario viene trovato almeno un libro comincer il ciclo FOR/EACH, memorizzando temporaneamente lelemento analizzato nella variabile book. In realt ognuno di questi oggetti corrisponde a una oggetto prelevato dalla classe DBIx::Class denita nella puntata precedente; questo in particolare signica che ogni oggetto avr un metodo per ogni colonna della tabella e che questi potranno essere usati per recuperarne il valore. Ad esempio, si potranno ricavare titolo, nome dellautore e anche il codice ISBN, utile a generare il link informativo verso gli archivi di Amazon. Da notare anche come la colonna started ritorni un oggetto Perl DateTime, da poter usare direttamente senza conversioni con il metodo strftime per ottenere una data ben formattata. Per migliorare laspetto puramente estetico della pagina potrete effettuare qualche piccola modica al le CSS public/css/style.css come segue: img { oat: left; margin: 0 5px 5px 0; clear: both; } .book, h3 { clear: both; } Tutto ci che rimane da fare ora scrivere il codice per gestire le altre due componenti dellhash, ovvero to_read e read. Siccome i bravi programmatori sono diligenti e quelli

84

LINUX PRO 116

Perl
Scegliere la rotta giusta con Dancer
Nellarticolo si afferma che Dancer basato sul concetto di rotte (routes), ma di cosa si tratta esattamente? Una rotta la combinazione di tre elementi: un metodo HTTP, un path e una sezione di codice. Molto semplicemente quando Dancer verica che il contenuto di una richiesta HTTP corrisponda gli elementi deniti (metodo e path), cerca il codice associato e lo esegue. Nellesempio questo era il codice dellunica rotta iniziale: get / => sub { ... }; In questo esempio il metodo HTTP get, il path / e il codice denito allinterno della subroutine. In sostanza quando Dancer vedr una richiesta HTTP(GET) fatta verso il path / (ovvero la home della Web App) verr eseguito il codice specicato. Tutte le componenti della rotta possono essere decisamente pi complesse; ad esempio si potrebbero matchare le richieste POST con la parola chiave post oppure quelle di qualsiasi tipo con any. anche possibile eventualmente accedere ai dati passati dalla richiesta come segue: get /hello/:name => sub { return Hello . params->{name}; };

Una volta che vi sarete impegnati un po nella lettura dei classici pi importanti la vostra libreria dovrebbe somigliare molto allimmagine

ottimi invece sono davvero pigri e furbi, il caso di modicare lievemente il le index.tt evitando cos di duplicare il codice copiando nuovamente (e inutilmente) quello che gi stato scritto, semplicando il risultato nale e la vostra vita. Infatti Template Toolkit offre il concetto di macro, pi o meno lo stesso concetto delle funzioni nei linguaggi di scripting: lobiettivo di rendere portabile e facilmente riutilizzabile un blocco di codice. Ad esempio si potrebbe denire una macro che mostra i dettagli del libro in esame tutte le volte senza dover ripetere il codice. Ecco come sarebbe indicativamente il risultato nale <% MACRO showbook(book) BLOCK %> <div class=book><p> <img src=<% book.image_url %> /> <a href=http://amazon.co.uk/dp/<% book.isbn %>> <% book.title %></a> <br />By <% book.author.name %></p> <p><% IF book.started %>Began reading: <% book.started.strftime(%d %b %Y) %>.<% END %> <% IF book.ended %>Finished reading: <% book.ended.strftime(%d %b %Y) %>.<% END %></p> <% END %>

<h3>To Read</h3> <% IF to_read.size %> <% FOREACH book IN to_read %> <% showbook(book) %> <% END %> <% ELSE %> <p>No books found.</p> <% END %>

Tip
Il progetto Dancer produce annualmente un calendario per lavvento con nuovi contenuti nascosti sotto le caselline al posto dei cioccolatini. Non perdetevelo, lo trovate allindirizzo http://advent. perldancer.org.

La luce in fondo allarray


In questo modo ogni sezione sar identica alle altre, distinguendosi semplicemente per il fatto di lavorare su un diverso array. Uno scheletro simile gi stato utilizzato durante la puntata precedente, andr solo adattato alla situazione attuale replicandolo nelle rotte specicate nel le BookWeb.pm. Una volta nito il codice risultante dovrebbe essere pi o meno cos: get / => sub { my $books_rs = schema->resultset(Book); my @reading = $books_rs->search({ started => { !=, undef }, ended => undef, }); my @read = $books_rs->search({ ended => { !=, undef }, }); my @to_read = $books_rs->search({ started => undef, }); template index, { reading => \@reading, read => \@read, to_read => \@to_read, }; }; Mancano ancora le funzionalit base per la gestione dei record da memorizzare, modicare e cancellare nel DB ma gi a questo punto possibile vedere le potenzialit di una simile soluzione, gustandosi via Web la lista dei libri gi memorizzati. LXP

Macro su macro
A dirla tutta non che sia cambiato granch; lo stesso identico codice con i tag MACRO, BLOCK ed END messi nei punti giusti in modo da renderlo riutilizzabile. Una volta inserita la macro si potrebbe riscrivere la parte di visualizzazione dei dettagli sul libro come segue: <h3>Reading</h3> <% IF reading.size %> <% FOREACH book IN reading %> <% showbook(book) %> <% END %> <% ELSE %> <p>No books found.</p> <% END %> <h3>Read</h3> <% IF read.size %> <% FOREACH book IN read %> <% showbook(book) %> <% END %> <% ELSE %> <p>No books found.</p> <% END %>

Nella prossima puntata


Nel prossimo articolo della serie verranno aggiunte pi funzionalit alla parte Web dellapplicazione realizzata.

LINUX PRO 116

85

Python

Suggerimenti ad hoc
Vi mostriamo come costruire un semplice player musicale e come aggiungere dei tooltip personalizzati allelenco dei le
Codice d

PRO
dentro il
esempio

Cosa ci serve
Il codice completo ben commentato su DVD. Oltre a Python 2.7+, vi servono i moduli seguenti: gtk (PyGTK per linterfaccia); Mutagen (per gestire i tag ID3); gst (pythongstreamer per la riproduzione). Inoltre vi servono i codec MP3 installati per GStreamer.

Nelle puntate precedenti vi abbiamo mostrato la potenza della libreria Cairo per la creazione di aree personalizzate di disegno allinterno delle vostre applicazioni e abbiamo fatto anche un fantastico giro allinterno del mondo della matematica. Dopo una breve pausa in questa puntata torniamo a personalizzare elementi del tookit GTK, in questo caso si tratta dei tooltip. Essi sono quelle piccole informazioni che appaiono nello schermo quando spostate il mouse su qualcosa. Sono spesso trascurati e molte persone pensano che non siano necessari quando le applicazioni sono ben progettate. Questo vero, visto che poco utile mostrare un suggerimento che dice Pulsante Stop per un pulsante che riporta gi la scritta STOP. Per ci sono casi in cui questi suggerimenti a comparsa possono fornire informazioni aggiuntive e utili su un oggetto. Per iniziare aprite un terminale e provate i comandi base: >>> import gtk >>> w=gtk.Window() >>> w.set_size_request(200,200) >>> i=gtk.Image() >>> i.set_from_stock(gtk.STOCK_DIALOG_INFO, gtk.ICON_SIZE_DIALOG) >>> w.add(i) >>> w.show_all() Questo brano di codice crea una nestra e un oggetto immagine. Visto che siamo troppo pigri per disegnare qualcosa, abbiamo fatto uso di unimmagine che fa parte del set di oggetti di GTK. Poi labbiamo semplicemente aggiunta come unico oggetto della nestra, per poi richiamare il metodo show_all() per mostrare la nestra sullo schermo. Ora aggiungiamo il tooltip: >>> i.set_tooltip_text(questa non una lampadina) Ora, se provate a spostare il cursore sopra licona che appare, vedrete il semplice suggerimento. Incredibile, vero? Beh, forse pi semplice di quanto pensavate. Per non nita qui, ci sono altre cose che potete fare. Il prossimo passo di applicare uno stile al testo. PyGTK supporta il sistema di markup Pango, che un modo

semplice per applicare stili al testo, simile allHTML. Come regola generale, cose semplici come grassetti e corsivi sono controllati da normali tag da inserire nel testo: <b> grassetto <i> grassetto corsivo </b> corsivo </i>. Altre cose, come i colori e i tipi di font, devono essere indicati come attributi di un oggetto span: <span foreground=red font=Monospace 14> pippiripettenusa</span>: >>> ptext=<span font=Sans 15 font_style=italic> Questa <b>non</b> una lampadina</span> >>> i.set_tooltip_markup(ptext) Molto pi accattivante, non vero? Ora potete aggiungere delle spiegazioni a qualunque widget nelle vostre applicazioni. Sappiamo cosa state pensando: se cos semplice, cosa vi diremo nelle prossime tre pagine? Non vi preoccupate, abbiamo dei piani per voi

Vai con la musica


Ora che avete scoperto le basi, i nostri piani sono di inoltrarci in un simpatico esempio reale. Non abbiamo tra le mani unapplicazione reale da modicare, quindi vi mostreremo come crearne una. Useremo una TreeView (ne abbiamo gi parlato su LXP114 quando abbiamo realizzato un reader di feed RSS). Sarebbe troppo facile riesumare il lettore RSS, quindi costruiremo un altro programma. Siete stanchi di Amarok? Stu della banalit di Banshee? Allora costruite un vostro player audio! (NB: Amarok e Banshee sono programmi fantastici, non insultateci per quello che abbiamo scritto, stavamo solo cercando di motivarvi). Il bello di un riproduttore audio che vi bastano poche righe per crearlo in Python, questo grazie al modulo gstreamer: >>> import gst >>> p=gst.element_factory_make(playbin,trackplay) >>> uri=le:///home/ninjak/Musica/01_ground_control.mp3 >>> p.set_property(uri,uri) >>> p.set_state(gst.STATE_PLAYING) <enum GST_STATE_CHANGE_ASYNC of type GstStateChangeReturn> >>> p.set_state(gst.STATE_NULL)

Il nostro primo tooltip in azione. Il suggerimento vi ricorda che quella visualizzata non una lampadina

Ora abbiamo aggiunto un pizzico di stile Pango, quindi dovete essere doppiamente sicuri che non si tratta di una lampadina

86

LINUX PRO 116

Python
<enum GST_STATE_CHANGE_SUCCESS of type GstStateChangeReturn> Ok, per ora non un gran player musicale, ma con un po di fantasia potete intuirne le potenzialit. Il metodo element_factory crea un oggetto generico che pu riprodurre qualunque sorgente compatibile con GStreamer (funziona anche con i video, per la cronaca). Per farlo puntare a qualcosa, si crea una stringa con il riferimento al le (ovviamente dovete personalizzare la stringa che abbiamo usato noi nellesempio) e poi si richiama set_state() per avviare la riproduzione. Lultima chiamata nel codice precedente ferma la riproduzione per voi (potete usare anche gst.STATE_PAUSED per mettere in pausa la traccia). Questo tutto ci che vi serve per riprodurre della musica. Tutto quello che dobbiamo fare fornirvi unapplicazione che passi il percorso degli MP3 al riproduttore. Inoltre potrebbe essere daiuto riuscire a organizzare i le in qualche modo.

Voglio il mio ID3


Le speciche ID3 originali erano assurde, incredibile che abbiano preso piede. Ora, invece, c una documentazione relativa alle speciche pi chiara e utile, il problema che dovete avere a che fare anche con persone che usano le versioni precedenti dei tag ID3. Ecco perch avere a che fare con questi tag qualcosa di non sempre piacevole e perch librerie ben fatte come Mutagen sono proprio necessarie. Dovreste sapere che esiste anche Stagger, un altro modulo di ottima qualit, ma che funziona solo con Python 3 (http://code.google.com/p/stagger).

Mutagen
Fortunatamente il mondo della musica ha capito tempo fa che era una buona idea inserire alcune informazioni nei le audio, in modo simile a quanto capita con i dati EXIF integrati nelle immagini. Tristemente, per, limplementazione nel caso della musica non altrettanto perfezionata. Il metodo pi popolare prevede luso dei tag ID3 pezzi di dati inglobati nellheader di ogni le. Anche in questo caso, per, ci sono alcune variazioni tra le versioni e non c modo di garantire la presenza di un certo dato in tutti i le. In breve, un macello. Per cercare di dare un senso alla situazione, useremo la libreria Mutagen. Si tratta di un insieme robusto e utile di funzioni che offrono tutte le funzionalit del caso, e nel caso deciderete di estendere la nostra applicazione desempio, supporta anche formati come quelli usati per i le Ogg e FLAC. Ecco come funziona: >>> from mutagen.mp3 import MP3 >>> mdata=MP3(/home/ninjak/Musica/ 02_rollerblades.mp3) >>> mdata.keys() [TPOS, TDRC, TIT2, uAPIC:Cover (front), TRCK, TPE1, TALB, TCON, TCOM] >>> mdata[TIT2] TIT2(encoding=0, text=[uRollerblades]) >>> mdata[TIT2].text [uRollerblades] >>> mdata[TIT2].text[0] uRollerblades Abbiamo intenzione di usare solamente il subset mp3, quindi abbiamo importato solo la parte del modulo che ci interessava. Tutto quello che bisogna fare creare un oggetto MP3 partendo dal nome le. Loggetto memorizza le informazioni ID3 in un dizionario, quindi usando il metodo keys() si scoprono i tag presenti nel le. Se niente di tutto ci ha senso per voi, perch il tutto sembra essere stato progettato per confondere e frustrare gli utenti. Leggete il box qui in alto per qualche altro dettaglio sullo standard ID3, ma per ora vi diciamo che il nome della traccia TIT2, il nome dellalbum TALB mentre TPE1 contiene il nome dellartista. Ha senso, no? Nellesempio precedente, al termine del brano di codice, si ha una stringa che serve per muoversi nella gerarchia delloggetto. Il testo memorizzato in una lista, ma potete
Il sito id3.org vi pu illuminare sullo scopo dei differenti tag ID3, ma non vi dice nulla se qualcosa va storto nei vostri programmi in Python

ottenerla anche usando il metodo pprint(): >>> mdata[TCOM].pprint() UTCOM=Craigie Dodds Quindi tutto quello che dovete veramente fare caricare una lista di nomi di le e poi esaminare i le MP3 per raccogliere i loro dati. Si pu inserire il tutto in una TreeView.

Tip
Per evitare gli errori pi comuni potete far vericare il vostro codice Python da PyChecker, http://pychecker. sourceforge.net.

Il ritorno degli alberi


Non ci ostineremo a spiegare le parti noiose dellapplicazione il codice funzionante lo trovate nel lato A del DVD, nella sezione Rivista, con tanto di commenti. Quindi saltiamo le basi dei programmi GTK, come abbiamo creato i menu e le basi delle TreeView, tutti argomenti trattati negli ultimi quattro numeri. Qui vediamo solo qualche dettaglio sulle viste ad albero perch le useremo in modo diverso da quanto fatto in passato, unendo varie informazioni. Ci sono due parti nelle TreeView. C il widget stesso e loggetto che memorizza i dati da mostrare. Nel nostro caso, si tratta di un oggetto gtk.ListStore e lo riempiremo con i valori recuperati dai le audio. Non tutte le informazioni devono essere mostrate, e questo vuol dire che si possono collegare i dati utili alle righe senza gestire una struttura dati separata. Il path completo dei le musicali, ad esempio, pu nire nella ListStore, assieme alle informazioni che si vuole mostrare, come il nome della traccia, lartista e altri dettagli. Il codice seguente parte del metodo principale __init__: self.liststore=gtk.ListStore(str, str, str,str, str, str, str) self.treeview=gtk.TreeView(self.liststore) self.txtrenderer=gtk.CellRendererText() column = gtk.TreeViewColumn(Nome traccia, self.txtrenderer,text=1) self.treeview.append_column(column) column = gtk.TreeViewColumn(Artista, self.txtrenderer,text=0) ...

LINUX PRO 116

87

Python
Qui abbiamo creato gli oggetti ListStore e TreeView e poi abbiamo generato le colonne che verranno mostrate dal widget. Le celle vengono renderizzate da un diverso oggetto GTK, il CellRenderer. Se state usando solo del testo, potete crearne uno che pu essere usato per tutte le voci. Quando create la colonna, il parametro text= punta alla colonna dei dati che contiene il valore da mostrare. Una volta che avete aggiunto tutte le colonne, potete impostare i comportamenti della TreeView: self.treeview.columns_autosize() self.treeview.set_reorderable(True) self.treeview.connect(row-activated, self.tree_doubleclick) Autosize vuol dire che le dimensioni delle colonne si aggiustano da sole in modo da adattarsi ai dati che contengono. Impostando poi la propriet reorderable lutente pu trascinare le righe nella vista per riordinarle non una cosa molto importante per la nostra applicazione, ma si pu usare questa funzione come parte di un sistema di playlist, ad esempio. Lultima linea collega i segnali rilevanti dal widget al metodo che si user per avviare la riproduzione della musica. Pi avanti vi forniremo altri dettagli, ma ora necessario pensare al tooltip. Se si volesse usare del testo semplice si potrebbe memorizzare il suggerimento in una nuova colonna di dati attivandola in questo modo: self.treeview.set_tooltip_column(6) Questo sarebbe molto semplice e immediato, ma vi impedisce linclusione di immagini. Invece di fare cos vi mostriamo come impostare manualmente la propriet del tooltip a True e poi fornire un metodo callback per trattarla: self.treeview.props.has_tooltip = True self.treeview.connect(query-tooltip, self.custom_tooltip) Ora quando il mouse passa sulla tabella, questo segnale crea una chiamata al metodo custom_tooltip passandogli le speciche dellevento che ha causato il segnale. Si vogliono creare dei tooltip e lo si potrebbe fare con alcune delle informazioni gi recuperate dal le, ma sarebbe carino avere anche unimmagine come parte del tooltip. Da dove si pu recuperare questa immagine?

Dai dati APIC allimmagine


Uno dei campi magici dei tag ID3 APIC, che memorizza, ehm, unimmagine. un container per i dati immagine di solito una JPEG della copertina dellalbum, per se esistono anche altri tipi. Sarebbe molto bello mostrare questa immagine come parte del suggerimento, ma ci sono alcuni problemi da superare: 1 il tag APIC inconsistente - spesso ha uno nome scritto in modo errato; 2 il dato un le - dovrete trovare un modo per decodicarlo; 3 alcuni le non contengono i dati APIC - quindi si dovr gestire questa situazione. Per una risposta seria al punto 1 potreste voler sviluppare un algoritmo per la ricerca dei dati allinterno delle chiavi, ma per i nostri scopi controlleremo solo le varianti pi comuni. Potete anche semplicemente controllare la presenza di termini particolari e poi assegnare una variabile a quella chiave per recuperarla successivamente. Se si procede in modo intelligente, si riesce a risolvere al contempo anche il terzo problema se non si trova una chiave valida, non c limmagine, quindi se ne pu creare una ttizzia (oppure usarne una di quelle presenti in GTK). Questa prima parte della funzione ha il seguente aspetto: def image_from_APIC(self, lename): image=gtk.Image() tags=MP3(lename) if APIC: in tags.keys(): k=APIC: elif APIC:Cover in tags.keys(): k=APIC:Cover elif APIC:Cover (front) in tags.keys(): k=APIC:Cover (front) else: image.set_from_stock(gtk.STOCK_DIALOG_INFO, gtk.ICON_SIZE_DND) return image data=tags[k].data Ora che avete (si spera) recuperate con successo i dati corretti, come si ottiene limmagine? I dati sono organizzati come le, non come dati immagine grezzi. Devono essere letti e decodicati come se si trattasse un le dal disco. Ci sono metodi per caricare una GTK.Image da un le, ma questi si aspettano in input un nome di le, non i dati stessi. Una soluzione potrebbe essere fare il dump dei dati su un le temporaneo e usare questo usando il metodo per il caricamento dei le. Funzionerebbe, ma sembra poco elegante, no? C un modo migliore. La parte Gdk del modulo GTK ha un gran numero di strumenti per il trattamento delle immagini e dei buffer. Uno di questi loggetto loader, che era stato progettato per stream di dati che potevano metterci un po di tempo per essere caricati. Esso accetta i dati divisi in porzioni e cerca di dar loro un senso. Avremo un solo blocco di dati da inviare, ma possiamo usare questa funzionalit per mettere limmagine dentro a un oggetto gtk.pixbuf. I passi necessari sono: creare loggetto loader; impostare la dimensione del pixbuf risultante (esso

Anche se non vi serve un IDE per scrivere in Python, uno strumento simile pu essere utile per fare un po di debug in caso di strani comportamenti

Cos GTK?
GTK+, per indicare il nome completo, semplicemente un toolkit graco che denisce un intero set di elementi graci nestre, menu, pulsanti e cos via con i quali potete realizzare le vostre applicazioni. uno degli elementi fondamentali del desktop GNOME e viene usato pesantemente da moltissimi programmi reali. La cosa pi interessante, per, che facile usarlo anche con Python.

88

LINUX PRO 116

Python
accetta altezza e lunghezza e scala proporzionalmente limmagine). Poi si scrivono i dati nel loader, lo si chiude e gli si chiede il pixbuf. Poi potete usare i dati del pixbuf per impostare una normale gtk.Image(). loader= gdk.pixbuf_loader_new() loader.set_size(120, 120) try: loader.write(data) loader.close() except: print no image image.set_from_stock(gtk.STOCK_DIALOG_INFO, gtk.ICON_SIZE_DND) return image pb=loader.get_pixbuf() image.set_from_pixbuf(pb) return image La parte relativa al caricamento del le racchiusa in una clausola tryexcept. Questo perch, anche se sappiamo che i dati ci sono, non sappiamo se sono corrotti o in un formato leggibile, quindi piuttosto che mandare tutto il programma in crash se il caricamento fallisce, preferibile approntare unimmagine di default. Alla ne della funzione restituiamo un oggetto gtk.Image, di un tipo o dellaltro.

Ed ecco il tooltip
Avete visto come estrarre unimmagine da un le MP3 compatibile, ma come combinarla con le altre informazioni del suggerimento? Avete bisogno di creare dalle basi il tooltip. Iniziate con def custom_tooltip(self, widget, x, y, keyboard, tooltip): Questa linformazione che vi viene passata quando lapplicazione riceve un evento di tipo mostra un tooltip: widget - il widget che d inizio allevento, nel nostro caso loggetto TreeView; x,y - le coordinate x e y della posizione del mouse relative alla nestra genitrice del widget; keyboard - questo true se il suggerimento attivato dalla tastiera; tooltip - questo loggetto gtk.ToolTip da visualizzare. Non avete bisogno di generare il tooltip ne stato fatto uno per voi e passato come argomento. Tutto quello che dovete fare impostare questo tooltip usando le informazioni che avete. La prima cosa che dovete fare trovare in che punto della TreeView si trova il mouse. Abbiamo visto esempi di codice terribilmente complicati che calcolano la riga partendo dalle coordinate x e y, ma non necessario. Esiste una pratica scorciatoia nella forma di un metodo del widget originale, che prende i valori x, y e keyboard come input e restituisce, tra le altre cose, il numero di riga della posizione del mouse sulla TreeView: result=widget.get_tooltip_context(x, y, keyboard) if (result == None): return row=result[1][0] Ora che sapete la riga, potete generare i dati da inserire nel tooltip. Potete partire recuperando il nome del le e poi passandolo al metodo APIC: lename = self.liststore[row][5] image=self.image_from_APIC(lename) Il passo nale consiste nel creare un widget da impostare come tooltip. A questo scopo potete usare praticamente

qualunque classe di widget, ma di solito un container di qualche tipo riempito con diversi elementi la soluzione migliore: hbox = gtk.HBox() hbox.pack_start(image, False, False, 0) vbox=gtk.VBox() Qui avete creato un container Hbox inserendo limmagine da una parte e un VBox dallaltra. Su questo lato potete inserire delle label che rappresentano gli altri dati: label1=gtk.Label() Name=xml.sax.saxutils.escape(self.liststore[row][1]) label1.set_markup( <span font=Sans 15 color=red> <b><i>+Name+</i></b></span>) vbox.pack_start(label1, False, False, 0) e cos via. Noterete che si usato del markup per mostrare le label, il che vuol dire che potete giocare con vari font e stili per migliorare laspetto della visualizzazione. Lunica cosa a cui dovete fare attenzione che si vericano degli errori se nel testo da mostrare si usano caratteri non sicuri come & o <. Visto che molto probabile che caratteri di questo tipo niscano nei tag ID3, meglio fare la sanitizzazione del testo prima di mostrarlo. Il modulo xml.sax che viene rilasciato con Python contiene alcuni metodi che possono aiutarvi con questa operazione e noi li abbiamo usati nel codice desempio. Inne dovete impacchettare tutto nellaltro lato del container HBox e poi usare il metodo set_custom() per rendere visualizzabili questi elementi. anche vitale restituire True in questo metodo callback, altrimenti il tooltip non verr mostrato! hbox.pack_start(vbox, False, False, 0) hbox.show_all() tooltip.set_custom(hbox) return True Provate voi stessi: il codice completo, sul DVD allegato, abbastanza facile da comprendere ed pieno di commenti. Abbiamo congurato lapplicazione per mostrare una nestra di dialogo per richiedere la directory che contiene i le musicali, e una volta selezionata dovrebbe essere facile capire cosa succede. Fate doppio click per riprodurre un le, e assicuratevi di passarci sopra il cursore del mouse! LXP

Anche voi potete realizzare suggerimenti dallaspetto accattivante. Oppure, se vi annoiate, prendete semplicemente il nostro codice e usatelo con i vostri le

Tip
La documentazione di PyGTK buona (www.pygtk.org/ docs/pygtk) ma quella di GTK (http:// developer.gnome. org/gtk/stable) spesso ha esempi pi chiaricatori, quindi se vi bloccate controllate anche questultima.

Nella prossima puntata


Vi spiegheremo la meccanica del drag&drop con PyGTK.

LINUX PRO 116

89

OpenCV

Smonta, ripara, ricostruisci!


E se la nostra immagine risultasse affetta da errori? Niente paura: OpenCV ci viene in soccorso! Lautore
Maurizio Russo Laureato in Informatica presso lUniversit La Sapienza di Roma, con una tesi sperimentale sullo stack TCP/IP del kernel Linux, un utente del Pinguino dal 2001. Nella sua carriera si occupato di formazione, sicurezza, networking, progettazione e sviluppo di software.

PRO
dentro il Codice d esempio

Le puntate precedenti ci hanno consentito di apprendere i rudimenti della disciplina detta image processing: abbiamo imparato a manipolare le immagini in vari modi, sottoponendole a trasformazioni come la riessione, la rotazione, la conversione in bianco e nero e in toni di grigio. Si tratta di algoritmi che, oltre a costituire un ottimo esercizio per familiarizzare con le principali funzioni di OpenCV, rappresentano alcuni dei task pi diffusi dellimage processing, spesso impiegati nella fase di preparazione dellimmagine con lo scopo di esaltarne le caratteristiche salienti e renderne pi immediato lutilizzo. Come pi volte ricordato, infatti, la computer vision si avvale spesso di algoritmi di image processing per modellare opportunamente le immagini da elaborare, scartando le informazioni ritenute non interessanti, e rendendo in tal modo la computazione meno onerosa e/o pi accurata. Se da un lato gi conosciamo, perch trattato in precedenza, uno dei modi pi comuni per rendere meno onerosa la computazione (ovvero leliminazione delle informazioni sul colore, attraverso la conversione in bianco e nero o in grayscale), dallaltro non abbiamo ancora dimostrato come rendere il processo pi accurato: lacuna che colmeremo proprio in questa puntata, illustrando alcuni metodi per lattenuazione (e laddove possibile, leliminazione) del rumore.

o nel corso del trasferimento di questultima a un PC, o pi semplicemente un deterioramento del supporto di memoria su cui il le conservato, possono determinare la variazione di porzioni pi o meno signicative dellimmagine, no a impedirne la visualizzazione. Traducendo quanto appena enunciato in termini pi formali, possibile affermare che il rumore (inteso come fattore di degrado dellimmagine, che ne determina uno scostamento indesiderato dalloriginale) pu presentarsi in varie forme, tra le quali tratteremo in questa sede: il rumore di tipo impulsivo, o sale e pepe, che determina un forte scostamento, rispetto alloriginale, del valore di uno o pi pixel. Generalmente, tale tipo di rumore si presenta in una porzione ridotta dellimmagine, come accade, ad esempio, in alcune alterazioni dovute a errori di trasferimento del relativo le, oppure al deterioramento del supporto di memoria su cui questo risiede; il rumore di tipo additivo, caratterizzato dallaggiunta, al valore dei pixel, di un piccolo valore k variabile. Si tratta di un rumore generalmente distribuito sullintera immagine: un tipico esempio delle conseguenze che possono scaturire da un errore sistematico del dispositivo di acquisizione.

Rumore impulsivo
Prima di gettarci nello studio delle soluzioni offerte da OpenCV per leliminazione del rumore, necessario riprodurre due tipi di rumore oggetto della nostra indagine. In altre parole, dobbiamo scrivere due programmi in grado di inserire, nella nostra immagine di prova (Fig.1), rumore di tipo additivo e rumore di tipo impulsivo. Una volta raggiunto lo scopo, potremo dare in pasto le immagini affette da rumore alle apposite funzioni di OpenCV, vericandone le capacit. Compatibilmente con la denizione, laggiunta di rumore impulsivo a una data immagine richiede di: 1 aprire limmagine e crearne un duplicato da modicare; 2 scandire i pixel dellimmagine e, avvalendosi di un generatore di numeri pseudo casuali, modicare una porzione di questi, determinando un sensibile scostamento dal valore iniziale; 3 chiudere le due immagini, avendo cura di salvare quella affetta da rumore. Come al solito, il ricorso a OpenCV rende immediata limplementazione degli step numero 1 e 3. La stessa operazione descritta dal secondo step, sebbene pi complessa, pu essere risolta in modo semplice ed elegante, sfruttando il metodo daccesso ai pixel offerto dalla libreria: /* scansione dei pixel dellimmagine, introducendo, al massimo ogni range pixel, un pixel bianco che simula il rumore */ for(i=0;i<h;i++) { next=rand()%range; for(j=0;j<l;j++) { if(j==next) {

Rumore

La possibilit di dover trattare unimmagine affetta da rumore insita nella stessa procedura di acquisizione e gestione delle immagini: 1 un apposito dispositivo di acquisizione (una fotocamera o una telecamera nel caso in cui si lavori con il frame di un video) ritrae una scena, convertendola in formato digitale; 2 limmagine cos ottenuta viene immagazzinata in una memoria accessibile al dispositivo (generalmente la memoria interna dellapparecchio, o un supporto rimovibile come una scheda SD); 3 successivamente limmagine viene prelevata dal supporto ove risiede, per essere elaborata utilizzando un PC esterno, o conservata su unapposita memoria di massa. Ognuno di questi step esposto a errori di varia natura: un errore sistematico, in fase dacquisizione, da parte del dispositivo pu alterare il contenuto dellintera immagine; un errore accidentale nel processo di salvataggio 1 Eccoci, ancora una volta, alle prese con la nostra immagine di prova dellimmagine,

90

LINUX PRO 116

OpenCV
pixel.val[0]=pixel.val[1]=pixel.val[2]=255; next = j+1+rand()%range; } else pixel=cvGet2D(img,i,j); cvSet2D(new_img,i,j,pixel); } } Il ciclo annidato scandisce tutti i pixel dellimmagine, attribuendo un colore differente a quelli selezionati attraverso la funzione pseudocasuale rand(). Nel corso della scansione, che avviene per righe, la variabile next contiene lindice del prossimo pixel selezionato da rand(): a questo sar attribuito un colore differente rispetto alloriginale (nella fattispecie, il bianco), per poi procedere a rinnovare lindice rappresentato da next (al ne di consentire la selezione di altri pixel nellambito della medesima riga). Lintervallo massimo di pixel consecutivi non corrotti pari a (range - 1): loperazione (rand() % range), infatti, restituisce un valore compreso tra 0 e (range - 1). Come mostrato dal listato 1 (che trovate nel DVD assieme agli altri listati), il valore di range scelto dallutente, che lo passa da riga di comando unitamente al nome dellimmagine su cui operare. Per ottenere unimmagine corrotta da rumore impulsivo, dunque sufciente compilare il programma, con il comando g++ `pkg-cong opencv --cags --libs` -Wall listato1.c -o listato1 per poi mandarlo in esecuzione, con gli argomenti richiesti: ./listato1 lxp.png 10 Finalmente possiamo vedere premiati i nostri sforzi: la Fig.2 mostra la nostra immagine di prova corrotta da rumore impulsivo, iniettato attraverso il codice appena sviluppato. Limmagine cos ottenuta salvata, al termine del programma, nella directory corrente, con il nome di impulsivo.png.
2 Il primo programma di questa puntata ci consente di innestare rumore di tipo impulsivo allinterno dellimmagine di Fig.1: ecco il risultato!

./listato2 lxp.png 30 Il risultato del programma, mostrato dalla Fig.3, mostra leffetto dellapplicazione di rumore additivo alla nostra immagine di prova. Anche in questo caso, limmagine prodotta sar salvata in un apposito le, con il nome di additivo.png.

Il ltro di smooth
Il ltro di smooth costituisce il primo esempio di operatore locale trattato nel corso della serie. Come gi ribadito, gli operatori illustrati in precedenza sono tutti di tipo puntuale, in quanto ogni pixel dellimmagine trasformata dipende, in via esclusiva, dal valore del corrispondente pixel dellimmagine originale (Fig.4). Al contrario, negli operatori locali ogni pixel (i,j) dellimmagine trasformata risulta correlato, oltre al corrispondente pixel (i,j) dellimmagine originale, anche
3 Ecco il risultato del secondo programma illustrato in questo articolo: la nostra immagine di prova corrotta da rumore additivo

Rumore additivo
Laggiunta di rumore additivo in luogo di quello impulsivo non comporta modiche rilevanti al programma appena presentato: le uniche integrazioni, infatti, riguardano il ciclo di scansione dei pixel. Anzich modicare il valore dei soli elementi selezionati randomicamente, il ciclo di scansione deve aggiungere, al valore di ogni pixel dellimmagine originale, un valore variabile next stabilito di volta in volta dal generatore di numeri pseudocasuali: /* Ad ogni pixel dellimmagine originale aggiungiamo un piccolo valore next, variabile da 0 a (range-1)*/ for(i=0;i<h;i++) { for(j=0;j<l;j++) { next=rand()%range; pixel=cvGet2D(img,i,j); pixel.val[0]+=next; pixel.val[1]+=next; pixel.val[2]+=next; cvSet2D(new_img,i,j,pixel); } } Il codice completo del programma, illustrato dal listato 2, pu essere compilato con il comando g++ `pkg-cong opencv --cags --libs` -Wall listato2.c -o listato2 e quindi lanciato, passandogli come argomento il nome dellimmagine di prova e il valore limite della variabile next (ovvero il valore da dare a range, che determina lintervallo di variazione di ogni pixel, compreso tra 0 e [next - 1]):

4 In un operatore puntuale, ogni pixel dellimmagine trasformata dipende, in via esclusiva, dal valore del corrispondente pixel dellimmagine originale LINUX PRO 116

91

OpenCV
il metodo della media gaussiana produce nuovi livelli di colore non necessariamente presenti nellimmagine originale (risultanti proprio dal calcolo della media dei valori dei pixel di ogni intorno A) comportando, al contempo, un appiattimento dei livelli esistenti, con lattenuazione dei valori pi elevati (penalizzati, nel calcolo della media, dallapporto al ribasso della maggioranza dei pixel, di valore inferiore); il metodo della mediana, al contrario, non modica la gamma di colori dellimmagine originale, n determina lattenuazione di questi ultimi, che vengono semplicemente armonizzati e ridistribuiti allinterno dellimmagine, con leliminazione dei soli picchi difformi, verosimilmente imputabili al rumore. Ne deriva che leffetto di sfocatura, conseguenza naturale del metodo della media gaussiana (e particolarmente marcato allaumentare delle dimensioni della maschera), non risulta apprezzabile se si opta per il metodo della mediana. Per vericare quanto appena asserito, necessario introdurre la funzione cvSmooth(), offerta da OpenCV proprio per il calcolo del ltro. Il prototipo della funzione il seguente: void cvSmooth(const Arr *src, Arr *dst, int smooth_type, int size1, int size2); dove smooth_type indica il metodo scelto per il calcolo del valore sintetico S (CV_GAUSSIAN per la media gaussiana, CV_MEDIAN per la mediana), mentre size1xsize2 corrisponde alla dimensione della maschera da applicare (entrambi devono essere dispari, per consentire a ogni pixel P di posizionarsi al centro della maschera, e calcolare correttamente il relativo intorno). Finalmente possiamo dedicarci alla stesura del programma per lapplicazione del ltro, che necessita di ben tre argomenti da riga di comando: il nome dellimmagine su cui operare; il tipo di metodo da utilizzare (opzione -mg per la media gaussiana, opzione -md per la mediana); il nome con cui salvare limmagine prodotta. Una volta vericate le preferenze dellutente circa il metodo da utilizzare (tracciate tramite unapposita variabile di nome lter), il programma consiste semplicemente nellinvocazione di cvSmooth(): switch(lter) { case MEDIAN_CHOICE: cvSmooth( img, new_img, CV_MEDIAN, 5, 5 );

5 Negli operatori locali ogni pixel dellimmagine trasformata risulta correlato, oltre al corrispondente pixel dellimmagine originale, anche allinsieme di pixel che ne costituisce lintorno

allinsieme di pixel che ne costituisce lintorno (Fig.5). Tra gli operatori locali, i ltri di smooth si distinguono per la peculiarit di eliminare picchi e increspature: sono, in altri termini, dei ltri passa basso, e come tali possono essere impiegati procuamente nel processo di attenuazione e rimozione del rumore. Spesso, infatti, la brusca variazione del valore di un pixel, rispetto ai valori del relativo intorno, imputabile proprio al rumore. Eliminando, o quanto meno attenuando, i picchi costituiti da valori difformi rispetto a quelli circostanti, il ltro di smooth consente di trattare in maniera soddisfacente immagini affette da rumore additivo e impulsivo. Ma come opera, nel dettaglio, questo ltro? Denita una maschera che descrive le dimensioni dellintorno da considerare, il ltro: scandisce ogni pixel P dellimmagine, identicandone, sulla base della dimensione mxn della maschera, il relativo intorno A (possiamo individuare lintorno immaginando di sovrapporre ai pixel una matrice mxn, in modo che ogni elemento di tale matrice contenga un solo pixel, e che il centro coincida con P, come illustrato in Fig.6; esamina i pixel dellintorno A, sintetizzandone i valori in un indice S; sostituisce P con S contribuendo, di conseguenza, a uniformare (ovvero a rendere pi liscia, o smooth in inglese) i valori dei pixel dellarea. Esistono diversi metodi per calcolare il valore sintetico S: la stessa libreria OpenCV mette a disposizione alcune valide alternative basate su funzioni lineari e non. In questa sede, tuttavia, ci soffermeremo in particolare su due metodi: 1 il metodo della media gaussiana, in cui il valore di S pari alla media dei valori dei pixel dellintorno A, pesati secondo una funzione gaussiana (con il risultato di attribuire unimportanza maggiore ai pixel pi vicini a P, a scapito di quelli pi lontani); 2 il metodo della mediana, in cui S coincide con il valore mediano dei pixel dellintorno A, ottenuto ordinando in ordine crescente i valori dellintorno, e selezionando lelemento centrale (ovvero quello che bipartisce linsieme ordinato in due parti della medesima dimensione). I due metodi si distinguono notevolmente nelle modalit di calcolo del valore S da sostituire a ogni pixel P: non a caso, a partire da una medesima immagine, essi producono risultati che differiscono visibilmente. Sebbene infatti entrambi determinino una modica dellimmagine, contribuendo a uniformare il valore dei relativi pixel:

6 Lintorno del pixel P (evidenziato in verde), ottenuto applicando una maschera 3x3

7 Applicando il metodo della media gaussiana allimmagine di Fig.2, si ottiene questo (magro) risultato...

92

LINUX PRO 116

OpenCV
break; case GAUSSIAN_CHOICE: cvSmooth( img, new_img, CV_GAUSSIAN, 5, 5); break; default: printf(Errore: scegliere uno dei due metodi disponibili!\n); return ERRORE; } e nel salvataggio, con il nome richiesto dallutente, dellimmagine prodotta. Il listato 3 riporta nella sua interezza il codice, che pu essere compilato con: g++ `pkg-cong opencv --cags --libs` -Wall listato3.c -o listato3 ottenendo leseguibile listato3. Per confrontare la resa dei due metodi di fronte a immagini affette da rumore impulsivo e rumore additivo, occorre ancora qualche piccola fatica: recuperare il le impulsivo.png (Fig.2), ottenuto iniettando rumore impulsivo allinterno della nostra immagine di prova, tramite il programma di cui al listato1; recuperare il le additivo.png (Fig.3), prodotto dallesecuzione del programma illustrato dal listato2; vericare, tramite il programma listato3, il comportamento in presenza di rumore impulsivo del metodo: 1 della media gaussiana (Fig.7): ./listato3 impulsivo.png -mg impulsivo-gaussiana.png 2 della mediana (Fig.8): ./listato3 impulsivo.png -md impulsivo-mediana.png constatare il comportamento dei due metodi in presenza di rumore additivo: 1 metodo della media gaussiana (Fig.9): ./listato3 additivo.png -mg additivo-gaussiana.png 2 metodo della mediana (Fig.10): ./listato3 additivo.png -md additivo-mediana.png tutto pronto per il confronto: aprendo le immagini prodotte possiamo toccare con mano le differenze tra i due metodi. Rispetto al rumore impulsivo introdotto in Fig.2, lapplicazione del metodo della media gaussiana risulta quasi inutile: la Fig.7, a fronte di una certa sfocatura nei dettagli, non mostra infatti unattenuazione apprezzabile del rumore. interessante notare, in particolare, come lapplicazione del ltro non abbia inuito, se non in minima parte, sul manto del nostro amato pinguino, che continua a essere maculato, facendolo assomigliare pi a un leopardo che a un pennuto! Al contrario, il metodo della mediana risulta molto efcace: come mostrato dalla Fig.8, questo metodo consente leliminazione pressoch totale del rumore, restituendoci unimmagine molto vicina a quella di partenza (Fig.1): in questo caso, il manto del pinguino torna a essere del bel colore nero cui ci ha abituati! In presenza di rumore additivo, tuttavia, le cose si complicano: i le additivo-gaussiana.png (Fig.9) e additivo-mediana.png (Fig.10) mostrano due immagini molto simili tra loro. In entrambe evidente una certa attenuazione del rumore (Fig.3), per quanto i risultanti non siano paragonabili a quelli ottenuti in precedenza. In questo specico caso, anzi, il metodo della gaussiana (Fig.9) appare preferibile a quello della mediana, in quanto pur comportando una certa sfocatura sembra preservare un numero maggiore di dettagli (come laspetto della lisca di pesce accanto alla tastiera, o i blocchi che compongono il diagramma sul monitor, che in Fig.9 appaiono discernibili in tutti i tratti principali, al contrario di quanto avviene in Fig.10). Tirando le somme, il ltro di smoothing costituisce un utile strumento per il trattamento delle immagini affette da rumore: uno strumento non a caso disponibile in tutti i software di graca pi diffusi.
8 Il metodo della mediana, applicato allimmagine di Fig.2, consente di ottenere risultati invidiabili!

9 Il metodo della media gaussiana alle prese con rumore additivo (Fig.3)

10 In presenza di rumore additivo, il metodo della mediana non si dimostra efcace come nel caso precedente!

Imparare a utilizzare questo ltro in OpenCV costituisce un buon passo in avanti nella nostra battaglia al rumore, ma non ci basta: nella prossima puntata, scopriremo la funzione cvInpaint(), in grado di garantire, sotto certe condizioni, risultati inarrivabili persino da cvSmooth()! LXP
LINUX PRO 116

93

Guida

Software
Ogni mese Linux Pro vi offre i programmi e le distribuzioni pi recenti su DVD

Tool per DJ
PRO
dentro il
Ogni volta che troverete questo simbolo in un articolo, vorr dire che i file citati si trovano nel DVD allegato alla rivista.

Mixxx

a magia e lalta tecnologia sono praticamente indistinguibili. O meglio, come diceva il nostro docente di telecomunicazioni, la tecnologia la magia delluomo bianco. E questo vale anche per i programmatori di Mixxx che sono stati in grado di trasformare le loro doti magiche in eccellente codice. Perch siamo convinti che in Mixxx ci siano delle forze arcane allopera? Perch Mixxx

Anche se forse nessuno baller mai con la musica che state creando, la soddisfazione rimane

pu trasformare praticamente chiunque in un DJ. Caricate le vostre tracce e un insieme di strumenti per laggiustamento dei ritmi vi aiuter a sincronizzarle (il software mostra anche la loro forma donda per semplicarvi il lavoro). E se qualcosa va fuori sincronia, vi bastano un paio di interventi sui pulsanti per rimediare. Mixxx non fornisce solo un completo sistema per DJ, ma vi dona anche dei superpoteri che vi consentono di creare dellottima musica. Se poi avete dei componenti extra, come dellhardware MIDI, scoprirete che Mixxx li supporta, oppure pu imparare come funzionano tramite un wizard. Se non avete un piatto MIDI per fare dello scratching, facile simulare loperazione via software. Di solito il tallone dAchille dei programmi di questo tipo limpossibilit di lavorare in tempo reale. Un lieve ritardo di qualche millisecondo pu non venire avvertito quando si fa qualcosa a schermo, ma in genere un orecchio allenato molto bravo a individuare anche il pi piccolo errore. Gli sviluppatori di Mixxx hanno lavorato a lungo e duramente per rinire il loro software e farlo funzionare in real time (anche se Linux non un sistema operativo in tempo reale), sfruttando le CPU multi-core e laccelerazione hardware quando possibile. atti a questo scopo, in grado di leggere i vari formati RAW delle diverse fotocamere. Per ci vuole un tool pi che valido per trasformare questi RAW in qualcosa di pi delle semplici JPEG che otterreste dalla fotocamera stessa. Provando Darktable le prime volte, si ha un po di difcolt nel comprenderne linterfaccia, seppur sia piacevole da vedere. Di certo non come le normali applicazioni desktop. La grande area per la visualizzazione delle foto nel mezzo della schermata essenziale, mentre i due pannelli possono essere nascosti. La sezione Collect Images funziona come un pratico gestore di foto, che vi consente di visualizzare gli scatti usando vari ltri e metodi in base a data, tipo di fotocamera, tag, eccetera. sufciente un doppio click su una miniatura per aprirla in dimensioni maggiori e attivare i vari tool del programma. Avete, ad esempio, a disposizione un set di funzioni per agire sulle curve base delle foto; inoltre ci sono decine di plug-in per gli effetti. Darktable non pensato per interventi a livello di pixel, ma ha comunque un gran numero di opzioni di correzione, il suo scopo, come gi detto, quello di consentirvi di tirare fuori il massimo dai dati grezzi forniti dalla vostra macchina fotograca digitale. Le ultime versioni del programma hanno portato un aumento della velocit di funzionamento e diverse altre migliorie, tanto che vale la pena provarlo se non lo conoscete. Compilare Darktable dai sorgenti molto probabilmente non necessario, si trova nei repository di molte distro, in genere in versione aggiornata. Per ulteriori informazioni: www.darktable.org. LXP

Tool di fotograa

Darktable Q
Fate risaltare i dettagli degli scatti delle feste con lenorme collezione di plug-in di Darktable

ual stato uno dei primi strumenti per gestire le foto sotto Linux? Darktable! Anche se la longevit non sempre garanzia di qualit, questo progetto ha beneciato di una costante opera di miglioramento negli anni e si guadagnato un discreto seguito. Forse vi divertite gi cercando di tirar fuori il meglio dalla vostra fotocamera digitale reex: esiste un gran numero di software

94

LINUX PRO 116

Leco dei LUG

Hacklab Catanzaro
Una biblioteca multimediale realizzata con strumenti Open Source
Questo mese (ma ripeteremo lesperimento in futuro) abbiamo deciso di spostare la mappa dei LUG italiani su DVD (in formato PDF, lato A del DVD, sezione Rivista) e lasciare un po di spazio a uninteressante esperienza di uso e diffusione del software Open Source da parte di un gruppo di utenti Linux, in particolare lHacking Laboratory CatanZaro. In particolare abbiamo utilizzato la recente versione 8, che offre tra laltro la possibilit di Thin Provisioning (allocazione di pi spazio di quello esistente sul sistema) e File Sharing (condivisione di cartelle ). LISO disponibile sul sito http://sourceforge.net/projects/ freenas/les/. Abbiamo installato il sistema sul disco pi piccolo, mentre gli altri due e la scheda di rete erano scollegati. Nel primo passo dinstallazione abbiamo scelto lopzione full che impianta FreeNAS sul disco e permette eventualmente di aggiornare il sistema con ulteriori package. Abbiamo completato poi linstallazione seguendo i passaggi suggeriti. Al riavvio della macchina abbiamo congurato linterfaccia di rete assegnando un IP statico appartenente alla classe degli indirizzi della intranet. Poich sul router attivo il DHCP, ne abbiamo cambiato le impostazioni riservando un indirizzo IP per il NAS. Dalla pagina Web di congurazione di FreeNAS abbiamo modicato la password di amministrazione e abbiamo aggiunto due utenze, ftp e writer. La prima stata denita per la gestione dello spazio condiviso, mentre la seconda per la manutenzione dellintero sistema. Abbiamo poi congurato lo spazio sugli hard disk in modo da garantire la persistenza dei dati anche in caso di rottura, perci abbiamo denito il volume di default come formato dai due dischi in RAID 1. Abbiamo impostato i permessi su di esso per gli account creati: a ftp sono stati assegnati quelli in lettura ed esecuzione per aprire le sottocartelle. Abbiamo poi impostato la condivisione del NFS (Network File System), in modo da rendere disponibili in rete le cartelle con i documenti multimediali. Inne abbiamo abilitato e congurato il servizio FTP sul volume creato. A questo punto linfrastruttura della biblioteca era pronta, perci abbiamo pensato ai contenuti; li abbiamo suddivisi in sezioni (studio, aggiornamento professionale, svago eccetera), in modo che lutente fosse agevolato nel trovare ci di cui avesse bisogno, secondo larea di interesse. Individuate le aree, abbiamo organizzato lo spazio FTP in cartelle in modo che ognuna contenga una sezione. Inne abbiamo inserito il link allFTP sulla pagina Web che appare a chi si connette alla nostra sottorete, cosicch chiunque possa accedervi con lutenza ftp senza inserire alcuna password. Domenico Procopio HLCZ - Hacking Laboratory CatanZaro (http://hacklab.cz/)

La parola allhacklab
Nel laboratorio era nata la necessit di rendere usufruibili documenti di carattere divulgativo nonch il software utilizzato nelle sperimentazioni. Cera bisogno, in poche parole, di una biblioteca multimediale che fosse disponibile allinterno del locale. Per realizzarla occorreva una grande quantit di memoria di massa accessibile da qualsiasi dispositivo elettronico dotato di una scheda di rete Ethernet o di unantenna Wi-Fi. Una soluzione al problema era un server NAS collegato al router wireless dellintranet del laboratorio. Tuttavia le risorse a nostra disposizione non ci consentivano di acquistarne uno professionale: abbiamo cos pensato di costruirlo. Abbiamo dotato un vecchio PC di tre hard disk (uno di 16 GB e due di 500 GB) e di una scheda di rete che abbiamo collegato con un cavo Ethernet al router. Abbiamo installato sulla macchina il sistema operativo FreeNAS (www.freenas.org), una nota soluzione Open Source che ingloba tutti i servizi forniti dai principali NAS in commercio: uninterfaccia Web per interagire con il sistema, i protocolli FTP e CIFS/SMB per scambiare contenuti tra diversi sistemi operativi, gli strumenti di sicurezza e di backup.
Sul sito dellHacking Laboratory CatanZaro potete scoprire tutte le altre iniziative di questi appassionati di Open Source

Scriveteci!
Avete realizzato un progetto particolare con GNU/Linux e il Free Software contribuendo alla sua diffusione? Scrivete a redazione@linuxpro.it e daremo voce al vostro impegno!

96

LINUX PRO 116

In edicola il 15 maggio

NEL PROSSIMO NUMERO

DART
Il nuovo linguaggio di programmazione proposto e sviluppato da Google laraldo di una nuova era

E inoltre:
OpenSSH
Avviare script automatici passando per un canale SSH pu essere complesso. I nostri esperti vi mostreranno come superare gli ostacoli con un pratico workaround

Zina
Vi dilettate nella composizione e nella registrazione di canzoni? Linux Pro vi mostra come condividere la musica sul vostro sito Web usando un media streamer totalmente libero

Primi passi
Tra i vantaggi di Internet c la possibilit di effettuare chiamate a costo zero o quasi. Il mese prossimo vi facciamo entrare nel mondo della telefonia SIP

LINUX
Mensile - 5,90 euro

PRO

Direttore Responsabile: Luca Sprea - direttore@linuxpro.it Direttore Editoriale: Stefano Spagnolo Redazione: redazione@linuxpro.it Mario Bosisio (coordinatore di redazione) Massimiliano Zagaglia (responsabile di redazione) Davide Pistritto (realizzazione DVD) Brunetta Pieraccini (segreteria) Digital media coordinator: Massimo Allievi Impaginazione: Sara Benecino Hanno collaborato: Adam Oxford, Andrew Gregory, Aurelio Bignoli, Chris Brown, Ciro Mattia Gonano, Claudio Romeo, Daniele Belletti, Daniele Tampieri, Emanuele Cal, Fabio Fracas, Francesca Beatrice Cice, Graham Morrison, Jim Hitch, Jonathan Roberts, Juliet Kemp, Marco Fioretti, Maria Vitiello, Matteo Chiarion, Maurizio Russo, Mayank Sharma, Mike Saunders, Nick Veitch, Roberto Premoli, Shashank Sharma Iconografia e fotografie: Marco Coppola Contenuti su licenza: Linux Format - Future P.ce - London (UK)

Pubblicit: Luigi De Re - pubblicit@linuxpro.it Tel. 339 4546500 Abbonamenti (disponibili solo in versione con DVD) Si sottoscrivono in 2 minuti con 2 click via Web. Trova lofferta speciale di questo mese allindirizzo www.abbonamenti.it/linuxpro oppure abbonamenti@ sprea.it; puoi anche abbonarti via fax 030 3198412, per telefono 199 111 999 dal luned al venerd dalle ore 8,30 alle ore 18,30. Costo massimo della chiamata da tutta Italia per telefoni fissi 0,12 + iva al minuto senza scatto alla risposta. Per cellulari costo in funzione delloperatore. Per chi volesse abbonarsi dallestero +39 041 5099049. Arretrati Si sottoscrivono online allindirizzo: www.linuxpro.it/arretrati Per informazioni: arretrati@linuxpro.it oppure fax al numero 02.70.05.37.67.2 Stampa: Arti Grafiche Boccia S.p.A. - Salerno Carta: Valpaco Paper Supply Chain Optimizer

Consiglio di amministrazione: Luca Sprea (Presidente), Stefano Spagnolo (Vice Presidente - amministratore delegato), Mario Sprea (consigliere) Collegio sindacale: Roberto Bosa (Presidente), Maria Luisa Capuzzoni, Ugo Besso Amministrazione: Anna Nese - amministrazione@sprea.it Foreign rights: Gabriella Re - international@sprea.it Marketing & pubblicit: Walter Longo marketing@sprea.it Distributore per lItalia e per lEstero: Press-Di Distribuzione Stampa e Multimedia S.r.l. - 20090 Segrate (MI) LINUX PRO Pubblicazione mensile registrata al Tribunale di Milano il 08.02.2003 con il n. 74 - Tariffa R.O.C. - Poste Italiane Spa - Sped. In Abb. Post. - D.L. 353/2003 (conv. In L. 27/02/2004 n. 46) art. 1, comma 1, DCB Milano Copyright Sprea Editori S.p.a La Sprea Editori titolare esclusiva della testata Linux Pro e di tutti i diritti di pubblicazione e diffusione in Italia. I contenuti sono adattati e tradotti su licenza della pubblicazione: Linux Format Future P.ce London (UK). Lutilizzo da parte di terzi di testi, fotografie e disegni, anche parziale, vietato. LEditore si dichiara pienamente disponibile a valutare - e se del caso regolare - le eventuali spettanze di terzi per la

Sprea Editori S.p.A. Socio unico Medi & Son S.r.L.


Via Torino, 51 20063 Cernusco Sul Naviglio (MI) Tel (+39) 02.92432.1 Fax (+39) 02.92.43.22.36 info@sprea.it - www.sprea.it

pubblicazione di immagini di cui non sia stato eventualmente possibile reperire la fonte. Informativa e Consenso in materia di trattamento dei dati personali (Codice Privacy d.lgs. 196/03). Nel vigore del D.Lgs 196/03 il Titolare del trattamento dei dati personali, ex art. 28 D.Lgs. 196/03, Sprea Editori S.p.A. (di seguito anche Sprea), con sede in Cernusco sul Naviglio (MI), via Torino, 51. La stessa La informa che i Suoi dati, eventualmente da Lei trasmessi alla Sprea, verranno raccolti, trattati e conservati nel rispetto del decreto legislativo ora enunciato anche per attivit connesse allazienda. La avvisiamo, inoltre, che i Suoi dati potranno essere comunicati e/o trattati (sempre nel rispetto della legge), anche allestero, da societ e/o persone che prestano servizi in favore della Sprea. In ogni momento Lei potr chiedere la modifica, la correzione e/o la cancellazione dei Suoi dati ovvero esercitare tutti i diritti previsti dagli artt. 7 e ss. del D. Lgs. 196/03 mediante comunicazione scritta alla Sprea e/o direttamente al personale Incaricato preposto al trattamento dei dati. La lettura della presente informativa deve intendersi quale presa visione dellInformativa ex art. 13 D.Lgs. 196/03 e linvio dei Suoi dati personali alla Sprea varr quale consenso espresso al trattamento dei dati personali secondo quanto sopra specificato. Linvio di materiale (testi, fotografie, disegni, etc.) alla Sprea Editori S.p.A. deve intendersi quale espressa autorizzazione alla loro libera utilizzazione da parte di Sprea Editori S.p.A. per qualsiasi fine e a titolo gratuito, e comunque, a titolo di esempio, alla pubblicazione gratuita su qualsiasi supporto cartaceo e non, su qualsiasi pubblicazione (anche non della Sprea Editori S.p.A.), in qualsiasi canale di vendita e Paese del mondo. Il materiale inviato alla redazione non potr essere restituito.

VA

La rivista pi venduta al mondo per web designer

N
.NET, la rivista numero uno al mondo per chi ama larte del Web design e vuole farne il proprio mestiere, finalmente arrivata in Italia. Ogni mese i tutorial e gli approfondimenti per diventare dei veri esperti con le soluzioni pi innovative ideate dai maestri del Web.

ANCHE SU IPAD

CORRI IN EDICOLA

You might also like