Sei sulla pagina 1di 100

RIDARE VITA AI VECCHI COMPUTER INKSCAPE IL NUOVO FILESYSTEM ZFS

N. 125 - RIVISTA + DVD 5,90

COOLPIX
S800C

Diventa protagonista nel mondo Linux

PRO

La fotocamera
animata
da Android

RASPBERRY PI

SUPER
TARIFFA R.O.C. - POSTE ITALIANE SPA - ABB. POST. - D.L. 353/2003 (CONV. IN L. 27/02/2004 N. 46) ART. 1, COMMA 1, DCB MILANO

POTENTE
Con un PC piccolo come
una carta di credito puoi:

Creare un Media Center


Controllare la tua fotocamera
Usarlo in remoto senza schermo

Razor-qt
Scopri lalternativa
snella al pesante KDE

I migliori trucchi
degli esperti
per sopravvivere
alla rottura
dei dischi
e alla sparizione
dei file

Sicurezza

Controlla gli accessi alla LAN e respingi


fieramente gli attacchi con PacketFence

IL 2013 IN PILLOLE

Abbiamo chiesto ai maggiori protagonisti dellOpen Source quali sono stati


gli avvenimenti pi importanti dello scorso anno e cosa ci aspetta in questo

Mensile N125 5,90

Distributore: Press-Di, Segrate (MI)

Oggi essere Root


la mia professione

/dedicated-server

Server Dedicati
per necessit crescenti

SP 32G SSD

69,99

al mese - IVA esclusa

EG 64G Hybrid

139,99
al mese - IVA esclusa

HG XL

299,00
al mese - IVA esclusa

Spese di installazione gratuite

Spese di installazione gratuite

Spese di installazione gratuite

Processore
Intel Xeon E3 (IVY BRIDGE)
4 Cores (8 THREADS)
3,4 GHz

Processore
Intel Xeon E5 (SANDY BRIDGE-E)
4 Cores (8 THREADS)
3,6 GHz

Processore
2x Intel Xeon E5630 (WESTMERE)
2x 4 Cores (2x 8 THREADS)
2x 2,53 GHz

RAM
32 GB DDR3 ECC RAM

RAM
64 GB DDR3 ECC RAM

RAM
48 GB DDR3 ECC RAM

Hard disk
2x 120 GB Intel SSD 320
RAID SOFT (0/1)

Hard disk
2x 120 GB Intel SSD 320 + 2x 2 TB SATA3
RAID SOFT (0/1)

Hard disk
12x 3 TB SATA3
RAID HARD 6 Gbps (0/1/5/6/10/50/60)

Banda passante garantita


100 Mbps
Traffico illimitato

Banda passante garantita


200 Mbps (IN OPZIONE FINO A 1Gbps)
Traffico illimitato

Banda passante garantita


300 Mbps (IN OPZIONE FINO A 3Gbps)
Traffico illimitato

Editoriale

La forza della comunit


Scriviamo queste parole la mattina del 21 dicembre
se ci state leggendo i Maya avevano torto sulla fine
del mondo. Altrimenti, amen. Ma sarebbe un peccato che
finisse tutto, perch ci perderemmo il piacere di dare spazio
alle tante comunit che promuovono sul campo GNU/Linux,
il Free Software e lidea di uninformatica diversa da quella
che va per la maggiore. E che sono sempre pronte a dare
una mano a chi ha bisogno. Vi raccontiamo un episodio:
cercando i programmi e le distribuzioni da mettere nel DVD,
ci ha incuriosito Siduction, distro che non conoscevamo
e che offre out-of-the-box il nuovo ambiente desktop
Razor-qt. Visto che parliamo proprio di questo ambiente
in uno degli articoli di questo numero, ci siamo collegati
al canale IRC della distro e abbiamo chiesto se per loro
andava bene di comparire nel nostro DVD. In breve tempo
ci hanno dato lok e noi siamo andati avanti scaricando
lISO per provarla lindomani. Il giorno dopo, poco dopo
essere arrivati in ufficio, riceviamo una telefonata
da un gentilissimo professore italiano (ci scusiamo,
ma non ne ricordiamo il nome) che cortesemente
ci chiedeva di scrivere a uno dei creatori della distro
perch aveva bisogno di dirci qualcosa. Ebbene, Ferdinand
Thommes, responsabile del progetto, dopo la nostra
richiesta, si era messo a provare linstallazione in italiano
e aveva notato un errore che impediva loperazione. Con
estrema gentilezza e disponibilit Ferdinand, non sapendo
come contattarci direttamente, si preoccupato di chiamare
il docente italiano che fa parte della comunit di Siduction,
che a sua volta ci ha telefonato, e in giornata si messo
allopera per sistemare il bug e poterci permettere di offrirvi
Razor-qt pronto alluso. Il tutto senza che noi gli chiedessimo

nulla e senza ricevere alcun compenso se non il piacere


di vedere distribuita la propria distro. In un mondo che
sembra andare sempre pi verso i personalismi, lindifferenza
e il faccio qualcosa solo se mi porta denaro, le comunit
Open Source continuano a offrire questi splendidi esempi
di disponibilit e impegno. vero, a volte, quando si fanno
delle richieste nei forum o nelle mailing list, qualcuno
risponde un po bruscamente, ma poi un aiuto arriva sempre.
Passando invece ai contenuti del numero, in tema di disastri,
ci siamo preoccupati di darvi un po di indicazioni qualora
arrivasse lapocalisse per i vostri dati memorizzati su hard
disk, chiavi USB o schede SD. Trovate tutto a partire
da pagina 10 ma attenti agli zombie! Un altro articolo
che ci piaciuto molto quello di copertina. Vi mostriamo
alcuni usi, utili o solo curiosi, del piccolo computer Raspberry
Pi che sembra aver creato una moda aprendo un nuovo
modo per diffondere GNU/Linux. Dopo Arduino (un esempio
grandioso di Open Source) e la Raspberry Pi, infatti,
hanno iniziato a diffondersi altre piccole schede animate
dal sistema del Pinguino e, di conseguenza, nuove
opportunit per principianti e non di provare Linux.
Il mese prossimo, salvo disguidi dellultimo istante,
ve ne presenteremo un altro esempio. Non ci rimane
che augurarvi buona lettura e un Felice 2013!!!

Massimiliano
Zagaglia
Responsabile
di redazione

LINUX
PRO
PRO

CONTATTI
Domande alla redazione: redazione@linuxpro.it
Abbonamenti: abbonamenti@linuxpro.it
Arretrati: arretrati@linuxpro.it

ORA TROVI
LINUX PRO
ANCHE
SU ANDROID

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 125

Sommario

Sommario
LINUX PRO 125

LINUX

PRO

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

In primo piano

Super

Raspberry Pi
Il successo
di Raspberry Pi,
il computer piccolo
quanto una carta
di credito ma
terribilmente versatile,
non sembra arrestarsi.
Noi vi mostriamo come
usarlo in modo utile

26

08 GNOME OS
2

LINUX PRO 125

10 Apocalisse dei dati

18 2013

Sommario
04 Newsdesk
Le novit del mondo Open Source

06 Mailserver
Filo diretto con la redazione

08 FAQ: GNOME OS

O
IL PROOSESSICM
E IL
NUMER

Tutorial
58 Inkscape
Con i potenti e versatili strumenti
di questo software potete realizzare
illustrazioni dalto impatto

Un nuovo modo di intendere GNOME

62 Sistemi multiposto

Approfondimenti
10 Perdere i dati

Ecco come si crea un sistema utilizzabile


da pi persone in contemporanea
avendo a disposizione un computer
molto potente

Recuperare file e partizioni scomparse

18 2013

Bastano Debian e qualche piccolo


trucco per ridare vita al vecchio PC
abbandonato in cantina

22 Razor-qt

74 Sicurezza

La versione snella di KDE

Grazie a PacketFence riuscirete


a controllare gli accessi alla vostra LAN
e a tenere fuori gli intrusi

Distro e progetti per la piccola scheda

78 Hardcore Linux

34 Trucchi per sysadmin


Seconda parte del corso per sysadmin

ZFS un nuovo filesystem


per GNU/Linux che presente particolarit
davvero entusiasmanti

Android
38 News

Accademia
82 Concetti di base

Tutte le novit sul sistema di Google

Tutto quello che dovete fare per evitare


i messaggi derrore del compilatore

39 I test
Nikon Coolpix S800c

Recensioni
42 I test del mese

ROSA Server 2012 Faster Than Light

Ultima puntata della serie: facciamo


simulare il Teorema di Pitagora
alla nostra rete neurale

88 Python

Social Network Open Source

54 Da non perdere

94 Guida software

Cinque programmi da provare subito!

LATO B
DISTRIBUZIONI
ArchBang 2012.12.03
Chakra 2012.12
PoliArch 12.12
Puppy Linux 5.4 Slacko

84 Reti neurali

Imparate larte dellelaborazione


multiprocesso, cos da sfruttare tutti
i core del vostro nuovo processore

48 Confronto

LATO A
DISTRIBUZIONI
Siduction 12.2.0
con Razor-qt
Slax 7.0
Snowlinux 3 Cinnamon
DESKTOP
Diagnil 3.0
Quamachi 0.7.0
Veusz 1.16
INTERNET
Lightread 1.2.2
RIVISTA
Fbcmd
Gmsh 2.6.1
Nuvola 2.0.1
QXMLEdit 0.8.3.1
Toycars 1.0.6
Esempi di codice Python
Esempi di codice Reti Neurali
SISTEMA
Atop 2.0.2
UFFICIO
LibreOffice 3.6.4

66 Trashware

Cosa ci aspetta questanno dalle parole


dei maggiori esperti di Open Source

26 Raspberry Pi

IL DVD IN BREVE

Guida al software presente nel DVD

Quando trovi
questo bollo
negli articoli,
cerca
il software
nel DVD

PRO
dentro il

ABBONATI ALLA

VERSIONE DIGITALE
E
SOLO PER PC E MAC

A SOLI

14,90

DURATA ABBONAMENTO 1 ANNO

22 Razor-qt

www.sprea.it/digital
LINUX PRO 125

Newsdesk

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

Embedded

Lapp store di Raspberry Pi


coder che stanno cercando
un nuovo modo per entrare
nel meraviglioso mondo
dellhacking su Linux ora hanno
unaltra possibilit: il Raspberry Pi
app store. Inteso come una vetrina
per i lavori dei programmatori
attuali e futuri sulla RP, lo store
sar il luogo dal quale scaricare,
condividere e trovare ispirazione
dai progetti creati per la piccola RP.
Nel giorno del lancio erano presenti
25 applicazioni nel Pi Store, tutte
gratuite tranne una. Eben Upton,
fondatore della Raspberry Pi
Foundation, aveva gi anticipato
in luglio che era in programma
la creazione di uno store:
Speriamo prima o poi di offrire
una funzionalit in stile App Store
per consentire alle persone
di guadagnare dalla vendita del
software che essi scrivono. Dopo
lapertura dello store, lo stesso
Upton ha detto che fornir ai
giovani un modo per condividere
le proprie creazioni con unaudience

Dora in poi
potrete acquistare
o vendere
applicazioni per
la Raspberry Pi
direttamente
nel suo store,
datevi da fare!

pi vasta, magari facendoci anche


qualche soldo lungo la strada.
Anche se la stragrande maggioranza
dei progetti gratuita, lo store offre
la possibilit di effettuare delle
donazioni ai programmatori dei vari
progetti gratis. Interessante anche
la possibilit di assegnare un voto
ai vari progetti, cos la comunit avr
modo di isolare quelli di scarsa

qualit ed evidenziare invece quelli


migliori. Visto che, nonostante
le previsioni di vendita di 10.000
pezzi, la RP Foundation ne ha
venduti oltre 750.000, questo store
ha buone chance di prendere piede.
Lo store integrato nella distro
Raspbian, oppure accessibile
via Web allindirizzo http://store.
raspberrypi.com/.

Kernel

386: il supporto finito


partire dal kernel 3.8
larchitettura dei chip
386 non sar pi
supportata. Questa
la decisione presa da Linus
Torvalds, il pap del kernel
Linux, e resa pubblica in un
post nella mailing list degli
sviluppatori del kernel dal titolo
Merge branch x86-nuke386for-linus. Con questo ramo

A
4

LINUX PRO 125

si rimuove il supporto allantica


architettura dei chip 386
eliminando quindi un po
di complessit, che per anni
ci ha costretto a fare del lavoro
extra quando volevamo fare
cambiamenti alle primitive
SMP. Linux era stato scritto
in origine proprio per i chip
386, quindi si poteva pensare
che avrebbero avuto un posto

www.kernel.org,
la casa del
kernel Linux

di riguardo. Ma sembra
che Linus sia pi felice
guardando in avanti piuttosto
che rimanendo ancorato

al passato e ha consegnato
al cestino della storia
il supporto a questa architettura
vecchia di 25 anni.

Newsdesk
Compatibilit

Samba 4, si balla!
li eroi poco celebrati
meritano maggior
attenzione di tanto
in tanto, quindi ecco
una notizia che magari non tutti
hanno saputo: avvenuto
il rilascio di Samba 4! Questo
un progetto chiave per lOpen
Source, perch si tratta
dellunica implementazione
libera di Active Directory,
il servizio di directory creato
da Microsoft per fornire
un unico punto centrale per
lamministrazione di rete,
lautenticazione e la sicurezza.
Se la vostra macchina Linux
deve lavorare in una rete che
include computer Windows,
molto probabile che essa possa
lavorare proprio grazie a
Samba. Le versioni precedenti
di questo software forniscono
solo le funzionalit per lavorare
con i protocolli del Domain
Controller di Windows NT.
Thomas Pfenning, General

Manager di Microsoft, ha parole


positive per quel che riguarda
limportanza di Samba: Active
Directory un componente
chiave degli ambienti IT
enterprise e Microsoft
spinge molto per il supporto
allinteroperabilit tra le
piattaforme, ha detto. Siamo
felici che la documentazione
e i laboratori che Microsoft
ha messo a disposizione siano
stati fondamentali nello sviluppo
delle funzionalit di Active
Directory di Samba 4.

Invito aperto
Nonostante lapproccio aperto
di Microsoft verso il nuovo
Samba, la release 4 di questo
software fornisce una ragione
in meno per rimanere con
Microsoft, aprendo le porte
a pezzi da novanta come
RedHat per il controllo delle
infrastrutture che si basano
su Active Directory e che prima

Compatibilit

Nel 2007 il team Samba pag 10.000 Euro per avere la licenza
di usare i protocolli di Microsoft

erano incastrate con lazienda


di Redmond. A dir la verit
Samba riesce a lavorare su
Active Directory solo per merito
di una regola antitrust della
Commissione Europea del
2004 che obblig Microsoft
a condividere informazioni su
Windows ai suoi rivali. Questo
port a un accordo nel 2007,
con il quale il team di Samba
ricevette informazioni sui
protocolli di Microsoft, assieme
al diritto di usarli. Il Samba 4

Active Directly Compatible


Server supporta policy
di gruppo, roaming prole
e gli strumenti Windows
Administration. Samba 4
ha uninterfaccia di
programmazione in Python ed
in grado di scalare dai poco
potenti dispositivi embedded
ai cluster di supercomputer.
Il team calcola che questa
versione il frutto di dieci anni
di lavoro, ma i suoi effetti
dureranno molto pi tempo.

Librerie

La mela nel pinguino Qt fa cinquina


a anni possiamo trarre
benecio dal progetto
WINE, che consente
agli utenti di installare
programmi scritti per Windows su
una macchina con Linux, riducendo
o eliminando del tutto la necessit
del dual-boot. Ora il Progetto
Darling mira a fornire la stessa
funzionalit agli utenti Linux che
vogliono usare software inteso
in origine per Mac OS X di Apple.

Si tratta di un progetto accademico


ancora alle prime fasi di sviluppo,
ma si pensa che questo progetto
fornir un layer di compatibilit tale
da far pensare ad applicazioni come
Adobe Photoshop e InDesign di star
girando sotto un kernel Darwin.
Darwin usa del codice preso da
GNUStep, unimplementazione
Open Source delle librerie Cocoa
per Objective C di Apple, assieme
ai suoi widget e ai suoi tool.

Se tutto va bene sar possibile usare iTunes sotto Linux


ma perch mai dovremmo farlo?

n anticipo rispetto al previsto,


averlo acquisito da Nokia, nel lancio
sono state rilasciate le librerie Qt ufciale di Qt 5.0 ha affermato
5.0, su cui si baser la prossima
anche che nel corso dellanno
versione dellambiente desktop
arriver anche il supporto di Qt
KDE. Le nuove funzionalit di Qt 5.0
per Android e iOS. La versione
sono molto interessanti per gli
Open Source di Qt 5.0 pu essere
sviluppatori. Giusto per citarne alcune: scaricata dalle pagine del progetto
portabilit migliorata da Qt 4;
Qt, http://qt-project.org/, mentre
nuove API e migliorie
di quella commerciale possibile
per il motore QML;
scaricare una trial a 30 giorni
supporto a C++11;
da http://qt.digia.com/. LXP
supporto
ad HTML5 con
QtWebKit 2;
miglior qualit
graca;
maggiori
prestazioni
su hardware
poco potente.
Inoltre Digia,
Un solo framework per dominarli tutti:
che ora gestisce
riusciranno i ragazzi del progetto Qt
il toolkit Qt dopo
a raggiungere lobiettivo?

LINUX PRO 125

Scriveteci!
Se avete dei dubbi di natura tecnica
o dei commenti 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.

L'invio alla redazione di qualsiasi materiale


editoriale (testi, fotografie, disegni, etc.),
su qualsiasi supporto e tramite qualunque
canale (es. posta ordinaria, e-mail,
facebook, sito web, etc.) deve intendersi
- sia quale presa visione, nel colophon
della rivista, dell'Informativa
ex art. 13 d.lgs. 196/03, nonch quale
consenso espresso al trattamento dei dati
personali ai sensi dell'art. 23 d.lgs. 196/03
da parte della Sprea Editori S.p.A.;
- sia quale espressa autorizzazione in qualit di titolare dei diritti d'autore
e di utilizzazione economica, nonch
eventualmente di immagine (se del caso
anche in qualit di esercente la patria
potest sul minore raffigurato
e/o ripreso nelle immagini) -, a titolo
gratuito e in via definitiva, alla libera
utilizzazione del predetto materiale da
parte di Sprea Editori S.p.A., per qualsiasi
fine e con qualsiasi mezzo, e comunque, a
titolo di mero esempio, alla pubblicazione
gratuita su qualsiasi supporto (cartaceo e
non) di titolarit della stessa Sprea Editori
S.p.A. e/o delle altre societ in qualunque
modo ad essa collegate, nonch per
qualsivoglia altro fine, con autorizzazione
altres all'elaborazione, all'adattamento,
alla trasformazione e a ogni altra
modificazione considerati opportuni
a discrezione della redazione.
Resta inteso che il materiale inviato
alla redazione non potr essere restituito
ed entrer a far parte dell'archivio
della redazione a titolo definitivo.

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

Un nuovo LUG
Gentile redazione, dopo anni dattesa (2004)
il LUG a Pordenone, stato costituito formalmente,
come associazione culturale a promozione sociale.
Potr trovare tutte le informazioni di riferimento
all indirizzo http://pordenone.linux.it/ e in
particolare per la parte costitutiva allindirizzo
http://pordenone.linux.it/wiki/Statuto. Non
pretendiamo un richiamo nella sua prestigiosa
rivista anche se graditissimo e propedeutico
a catturare l attenzione della provincia.
Anche se non pienamente costituiti nel 2012
abbiamo svolto alcune attivit. In particolare
le segnalo il LinuxArena che ripeteremo
a primavera (http://pordenone.linux.it/wiki/Linux_
arena) e gli OpenTalk (http://pordenone.linux.it/
wiki/OpenTalk). La ringrazio per lattenzione.
Un gruppo di fedelissimi lettori pordenonesi.
Roberto
Buongiorno Roberto, pubblichiamo molto
volentieri la tua mail. Visto che siete voi LUG
che fate il lavoro sporco sul campo per
diffondere luso di GNU/Linux e del Free Software,
meritate tutta la visibilit possibile.

Videosorveglianza
Buongiorno, ho letto con interesse il vostro
articolo sulla videosorveglianza ma vorrei qualche
delucidazione dal punto legale. Credo che ci siano
delle leggi che regolano luso delle webcam
in luoghi pubblici o in ambienti privati, potete
darmi qualche indicazione?
Massimiliano

Diamo il benvenuto al LUGPN (Pordenone) che si costituito formalmente


come associazione culturale a promozione sociale

LINUX PRO 125

Ciao, in effetti larticolo che citi piaciuto molto


anche a noi, ma purtroppo in redazione, dal punto
di vista legale, non ne sappiamo moltissimo.
Per questo ci siamo rivolti allavvocato Francesco Paolo
Micozzi (www.micozzi.it), uno dei nostri pi validi
collaboratori, a cui abbiamo chiesto di farci un quadro
generale della questione. Quindi lasciamo a lui la parola.

Avete mai osservato il comportamento delle persone


riprese da una telecamera? Pensate che
la consapevolezza di essere ripresi alteri
il comportamento? Una volta nel campo dazione di una
telecamera di sorveglianza avete mai pensato chiss chi
vedr il lmato?. La videosorveglianza assume rilevanza
giuridica in tutti quei casi in cui le informazioni captate
dagli occhi delle telecamere consistano in dati personali.
Un dato personale qualunque informazione relativa
a persona sica, identicata o identicabile, anche
indirettamente, mediante riferimento a qualsiasi altra
informazione, ivi compreso un numero di identicazione
personale. Ovviamente e senza addentrarci nella
distinzione tra dati comuni e dati sensibili il volto di una
persona un dato personale, e perci la predisposizione
di una telecamera in grado di captare i tratti somatici
di una persona o i suoi spostamenti o le sue attivit ,
comunque, soggetta a determinate regole. Gli interessati
al trattamento (ossia i soggetti che potenzialmente
saranno ripresi dalle telecamere di videosorveglianza)
dovranno essere preventivamente informati che stanno
accedendo a unarea sottoposta a videosorveglianza,
e ci a prescindere dal fatto che le telecamere siano o
meno in funzione. Un esempio di informativa la troviamo
su www.garanteprivacy.it/Garante-Home-theme/
images/original/Allegato1.JPG. Oltre a ricevere
linformativa, linteressato al trattamento potr sempre
rivolgersi al titolare del trattamento al ne di esercitare
i diritti (art. 7 Codice privacy) che gli vengono conferiti
dal Codice e, in particolare, il diritto di accedere ai dati
che lo riguardano, di vericare le nalit, le modalit
e la logica del trattamento. Altri accorgimenti sono stati
predisposti dal Garante della privacy nel provvedimento
generale sulla videosorveglianza del 8 aprile 2010
(doc. Web n. 1712680). Nel caso in cui, ad esempio,
lapparato di videosorveglianza consenta laccesso
via Web ai dati raccolti dalle videocamere, allora
si dovranno approntare adeguate misure di protezione
contro gli eventuali accessi abusivi al sistema informatico
o telematico che consenta laccesso da remoto. Se, poi,
il sistema di videosorveglianza trasmette le immagini
o le rende disponibili attraverso una rete pubblica di
comunicazioni, si dovranno adottare i sistemi di cifratura
idonei a impedire ai soggetti non abilitati dal prendere
visione dei contenuti captati dalle videocamere. Anche
la conservazione dei dati eventualmente registrati dal

sistema di videosorveglianza soggetta ad alcuni limiti.


Questi limiti sono dettati fondamentalmente dal
principio di proporzionalit, in base al quale le modalit
del trattamento dei dati personali devono essere
proporzionate alle nalit che si intendono perseguire
con il trattamento stesso. In genere non si dovrebbero
conservare le registrazioni oltre le 24 ore dalla
captazione. In casi eccezionali, quando si ritenga
necessario conservare le registrazioni per un periodo
di tempo superiore a una settimana si potr rivolgere
una specica richiesta di autorizzazione al Garante per
la privacy che dovr valutare che nel caso in questione
sia rispettato il principio di proporzionalit. Talvolta
possiamo scorgere delle telecamere per promozione
turistica o informazione meteorologica. Si pensi, per
esempio, a uno stabilimento balneare che posizioni delle
telecamere per nalit pubblicitarie o per consentire
ai clienti di vericare da remoto le condizioni climatiche
del giorno. In questi casi considerate le differenti
nalit perseguite si dovr fare in modo che i soggetti
eventualmente ripresi non siano identicabili. Ma la
videosorveglianza non attiene esclusivamente ai proli
disciplinati dal codice della privacy. Esistono, infatti,
particolari situazioni in cui la captazione mediante
telecamere pu rappresentare una situazione
penalmente rilevante. Esiste, infatti, nel nostro
Ordinamento il reato di interferenza illecita nella vita
privata (art. 615-bis c.p.) in base al quale viene punito
chi, mediante luso di strumenti di ripresa visiva
o sonora, si procuri indebitamente notizie o immagini
attinenti alla vita privata svolgentesi nei luoghi indicati
nellarticolo 614. Altro e differente reato quello
previsto dallart. 38 dello Statuto dei lavoratori
in base al quale punito con arresto o con ammenda
chiunque faccia uso di impianti audiovisivi e di altre
apparecchiature per nalit di controllo a distanza
dellattivit dei lavoratori fuori dai casi previsti dalla
legge (in cui, ad esempio, vi sia un previo accordo
con i lavoratori). Per venire, inne, alle situazioni che
normalmente potremmo denire di videosorveglianza

domestica bene evidenziare che il nostro Codice


della privacy (d.lgs. 196/03) prevede lesclusione
dallapplicazione delle norme del medesimo codice
quei trattamenti che siano effettuati da persone siche
per ni esclusivamente personali se i dati trattati
non siano destinati alla diffusione (ad esempio attraverso
la rete Internet) o a una comunicazione sistematica.
In ogni caso, si badi, si applicano le norme in tema
di responsabilit (art. 15 Codice privacy) e di sicurezza
dei dati trattati (art. 31 Codice privacy). Ci signica
che anche il privato che appresti il sistema di
videosorveglianza per ni esclusivamente privati
(per esempio al ne di proteggere la sua propriet
privata) non dovr cagionare danni ai soggetti ripresi
e dovr adottare misure di sicurezza tali da ridurre
al minimo i rischi di distruzione o perdita dei dati,
di accesso non autorizzato o di trattamento non
consentito o difforme rispetto alle nalit per le quali
sono stati raccolti. Le situazioni ipotizzabili sono tanto
numerose che dato lo spazio a disposizione
non sarebbe possibile esaurire, per ciascuna di esse,
unapprofondita disamina. Ci che conta comprendere
che anche lattivit di videosorveglianza soggetta
a particolari regole, la cui violazione potrebbe
comportare conseguenze anche spiacevoli. LXP

Se volete saperne
di pi sulla
videosorveglianza
e la privacy, date
unocchiata al sito del
Garante della privacy,
www.garanteprivacy.it

GIOCATI UN SUDOKU,
TE LO OFFRE:
A S O LO

1,00

A
OLLA
CO
ED
DIIC
NE
D IIN
ER
ED
NV
GIO
T TI I VE
TU
TUTT
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.

Difcolt semplice
LINUX PRO 125

FAQ GNOME OS

Alcune domande su...

GNOME OS
Allorizzonte si prolano nuove discussioni attorno al controverso ambiente GNOME
com che tutti i progetti
Argh,
vogliono diventare dei sistemi
operativi ultimamente? Qualche
tempo fa mi hai parlato di Firefox OS
e ora questo!
Questo non solo un fenomeno recente,
comunque. Emacs agisce come un sistema
operativo sin dagli anni 80 comunque
s, la parola dordine di questo periodo
piattaforma e il team GNOME
non si accontenta di scrivere un insieme
di librerie e programmi che stanno sopra
un sistema di base di cui non hanno
il controllo. In particolare, stanno
cercando di avere un maggior potere
sullesperienza utente di chi usa GNOME.
loro lo fanno gi progettano
Ma
interamente linterfaccia di GNOME.
Esatto, ma la parte che vediamo solo una
componente di ci che realizza lesperienza
totale. Facciamo un attimo un passo

il provider deve rilasciare un componente


a basso livello (un driver) assieme
al componente di alto livello (il software
per il dial-up). Per come stanno le cose ora,
lazienda deve lottare con diverse distro
Linux, diversi gestori di pacchetti, differenti
posizioni nel lesystem dei le di sistema
e di congurazione, varie versioni delle
librerie, diverse interfacce e cos via.
un lavoro spaventoso.
ma quella la vita per
Certo,
i programmatori! Non dovrebbero
fare tutto il lavoro sporco per noi?
Probabilmente cos. Ma prova a pensare
con la prospettiva dellutente. Mister
Principiante ha appena installato Linux
ed consapevole di stare usando il desktop
GNOME. Mentre sta navigando in Internet
scopre un nuovo programma per GNOME.
Lo vuole provare ma i pacchetti disponibili
sono per una distro differente. Ma io sto

GNOME OS sar una distro


Linux, ma non sostituir
le distribuzioni tradizionali
indietro e consideriamo come funzionano
le cose in una tipica distribuzione Linux.
Alla base hai il kernel, che parla allhardware,
esegue i programmi e gestisce le risorse.
Poi hai X Window System, un livello graco
sviluppato da un gruppo differente. Oltre
a questo ci sono i toolkit graci, sviluppati
a loro volta da altre persone. Dopo questo
hai lambiente desktop e cos via. Questo
approccio un po mescolato ha funzionato
molto bene negli ultimi dieci anni ma, con
tutti questi team che lavorano in modo
indipendente uno dallaltro, molto difcile
creare unesperienza utente veramente
integrata e piacevole. Alcune volte Linux
necessita di una funzionalit che deve
essere implementata sia a livello dei driver
hardware sia in quello dellinterfaccia
utente, e far lavorare assieme i gruppi
che si occupano di queste parti un po
complicato. Immagina questo scenario: un
provider mobile a banda larga vuole iniziare
a supportare Linux. Oltre ai modem USB,

LINUX PRO 125

usando GNOME, fa notare. Perch non


posso semplicemente installare programmi
per GNOME in GNOME?. Quindi, alla ne,
gli sviluppatori non posso avere GNOME
come obiettivo. Devono pensare a cos
tante differenti implementazioni di questo
ambiente desktop, a cos tante diverse
versioni con le loro differenze sotto
il cofano che il lavoro diventa poco
allettante. Allan Day, un designer
dellinterfaccia GNOME, dice: Al momento
troppo difcile per gli sviluppatori creare
e distribuire applicazioni per GNOME.
Le nostre API sono un target in costante
spostamento e la distribuzione delle
applicazioni lenta e frammentata.
unaltra distribuzione Linux come
Ma
far a sistemare le cose? Penso
che ci siano gi abbastanza distro
GNOME OS sar una distro Linux, ma non
sostituir le distribuzioni tradizionali, n
vuole divenire lunica casa per lambiente

desktop. Piuttosto, progettato come una


piattaforma per il testing e lo sviluppo
come unimplementazione di riferimento
di un sistema GNOME ideale. Teoricamente
GNOME OS introdurr funzionalit, idee
e tecnologie che verranno poi assorbite
dalle distribuzioni principali, rendendo
GNOME pi consistente su di esse. Con il
passare del tempo i programmatori saranno
in grado di testare i propri programmi su
GNOME OS e questi dovrebbero funzionare
molto facilmente su altre distro basate
su GNOME. Confronta questo con la
situazione attuale, dove uno sviluppatore
non pu semplicemente scrivere unapp
per GNOME e condividerla con gli altri
utenti di questo ambiente sparsi per
il mondo. Quello che deve fare, invece,
pacchettizzare il programma per tutte
le differenti distro che usano GNOME,
tenere in considerazione le loro differenze
e poi preparare un repository per
i pacchetti, trattando con tutte le questioni
tecniche che questo comporta.
qualcosa di simile
Quindi
a un gestore di pacchetti? Anche
di questi ne abbiamo abbastanza
Una specie. Il team GNOME non ha ancora
detto nulla di specico in merito,
ma possiamo capire il loro obiettivo. Far
arrivare le applicazioni agli utenti Linux
notoriamente complicato, a meno che essi
non stiano usando una distro rolling-release
(come Arch Linux) e tu sviluppatore abbia
un buon rapporto con i gestori dei suoi
repository di pacchetti. Cercare di
distribuire app da soli allo stesso modo
complesso, per le ragioni viste prima. Gli
hacker GNOME vorrebbero una situazione
in cui gli utenti GNOME, indipendentemente
dalla distro sottostante, potessero provare
le nuove app GNOME non appena queste
sono rilasciate. In modo simile GNOME
dovrebbe avere delle API e un SDK stabili.
Al momento, per sviluppare un programma
GNOME devi leggere vari pezzi di
documentazione provenienti da fonti
diverse, abbonarti a svariate mailing list
per tenere traccia dei cambiamenti e in
generale destreggiarti con varie cose tutte
assieme. Con API e un SDK ben gestiti
che hanno un preciso ciclo di vita, il lavoro
sar molto pi semplice per gli sviluppatori

GNOME OS FAQ
GNOME. In particolare, ci far avvicinare
a Linux i programmatori di app proprietarie,
perch potranno focalizzarsi sul porting del
codice e non battagliare con un milione di
combinazioni di distro e gestori di pacchetti.
vuol dire che nir
Questo
lossessione di GNOME di diventare
uninterfaccia per tablet?
S e no. Anche se GNOME 3 stato
un ambiente molto controverso, con un
gran numero di fan che si sono sentiti
frustrati dai cambiamenti radicali avvenuti,
gli sviluppatori sono ancora consapevoli
che il desktop importante. Ecco
il pensiero di Mr. Day: I dispositivi esistenti
in primis portatili e desktop devono
rimanere lobiettivo primario di GNOME.
Allo stesso tempo sta proseguendo il lavoro
per rendere GNOME adatto ai dispositivi
touch, quindi siamo curiosi di vedere cosa
succeder. Comunque andranno le cose,
interessante la tempistica di questo
importante annuncio da parte degli hacker
GNOME, un momento in cui gli utenti

stanno supplicando gli sviluppatori


di sistemare alcuni dei problemi maggiori
di GNOME 3. Certo, ci sono molte persone
che apprezzano il nuovo design,
ma GNOME 3 ancora argomento
di discussione nella comunit Linux,
con uninnit di opinioni che inondano
forum, blog e mailing list. La gran parte
degli utenti GNOME di lunga data pensa di
essere stata ignorata, quindi la situazione si
semplicherebbe se la soluzione ai problemi
che sono stati evidenziati entrasse
a far parte dei progetti futuri.
mi hai quasi convinto. Forse.
Ok,
Quando vedremo i risultati i primi
frutti del lavoro del team GNOME?
Essi sperano di effettuare il primo rilascio
nel marzo del 2014. Questa previsione
realistica, secondo noi, e vuol dire che non
dovranno dedicare il loro tempo a GNOME OS,
potendo quindi lavorare anche per sistemare
GNOME 3 nel frattempo. Poi tenere sotto
controllo i progressi visitando lURL http://live.
gnome.org/GnomeOS/Design/Whiteboards,

che mostra le varie idee esistenti per


limplementazione del sistema operativo e dei
cambiamenti allinterfaccia utente. Ovviamente,
non appena i ragazzi di GNOME produrranno
qualcosa, noi saremo in prima la per provarlo.
succeder se tutto andr
Eincosa
fumo?
Non essere negativo. Diamo una chance
al team GNOME. Laspetto pi importante
della faccenda che otterremo nuove
tecnologie e idee per migliorare
lintegrazione del desktop. Linux senza
ombra di dubbio la pi grande raccolta
di codice e talento nel mondo
dellinformatica, ma ci sono ancora
problemi nel far stare tutto allinterno
di un desktop coeso. Se gli sforzi
del team GNOME renderanno Linux
pi facile da usare, miglioreranno
la cooperazione tra le distro e ridurranno
il lavoro duplicato, sar una vittoria
netta per tutti. Chi lo sa, anche
se ora sei infastidito da GNOME 3,
magari in futuro li perdonerai LXP

LINUX PRO 125

Zombie!

e
r
e
v
i
v
v
a
r
Sop
i
t
a
d
i
e
d
e
s
s
i
allapocalpitare mollte cose brutte:

ca
i chi possono ta di elettricit, campi
Ai dis
in
etta
perdita inasp ti e i dati si trasformano geremo
magnetici for nete vicini a LXP, vi proteg
ZOMBIE! Rima

on importa da quanto tempo state


usando i computer, nonostante
la vostra esperienza prima
o poi capiter anche a voi di perdere
dei dati importanti. Quando succede, si cerca
disperatamente di riportare in vita quei dati
che si sono trasformati in zombie, spesso senza
successo. Se siete dei principianti, probabile
che almeno una volta abbiate fallito la pulizia
di un disco cancellando accidentalmente dei le
o distruggendo del tutto il contenuto di una
scheda di memoria senza aver prima trasferito
le preziose immagini su un altro supporto pi

10

LINUX PRO 125

sicuro. Non prendetevela con la vostra


inesperienza: succede anche ai migliori. Difatti
sono gli utenti pi esperti che a volte fanno
gli errori pi gravi, come far confusione con
la tabella delle partizioni, spazzare via il MBR
o peggio ancora, formattando la partizione
o il disco sbagliati. C una semplice soluzione:
il backup! Anche se le distro pi diffuse forniscono
strumenti che semplicano lesecuzione di backup
regolari, per molti di noi fare il backup vuol dire
cancellare i dati che non sono stati backuppati.
Detto questo, ci sono ancora diversi tool che
possono farvi uscire da queste spiacevoli situazioni.

In questo articolo scoprirete dei software Open


Source in grado di tirar fuori i dati da dischi
morti, riparare un bootloader rotto, ripristinare
le cancellati e perno intere partizioni.
Se avete un sistema dual-boot con Windows,
vi mostreremo anche come resettare
la password di Windows dimenticata e tenere
la vostra installazione al sicuro da virus e altre
minacce. Il successo di questi tool di recovery
dipende da vari fattori ma non sicuro al 100%,
per cui il backup sempre indispensabile,
per cui parleremo anche di questa operazione,
il modo pi semplice per ridare vita agli zombie!

Zombie!

Prima fsck
A
nche se i lesystem sono notevolmente
migliorati nellultima decade, a volte per
mettere a soqquadro il disco sufciente
unapplicazione che compia unoperazione errata
sul disco per non lasciarvi altra scelta che riavviare
il PC (questo succede anche quando vi ritrovate
a dover fuggire dagli zombie e dovete staccare
repentinamente il computer dalla corrente).
Al riavvio, quando Linux individua
una chiusura non pulita, automaticamente
avvia lutility fsck che verica la consistenza
del lesystem. Quasi sempre questo basta
per sistemare eventuali problemini
del disco. A volte, per, in base a fattori
come lanzianit del disco, il tipo
di lesystem e il task che stato interrotto,
questo controllo automatico pu fallire.

se possibile usarlo in modalit recovery con


il disco montato in sola lettura,
noi preferiamo partire da un disco Live
e usare fsck senza montare la partizione
incriminata. Trovate fsck in qualunque
distro Live, come Redo Backup
and Recovery o PoliArch (che trovate
nel DVD allegato). Per vericare un lesystem
specico, per ipotesi /dev/sda6, aprite un
terminale e digitate sudo fsck /dev/sda6.
Fsck internamente usa il corretto sistema
di check del disco a seconda del lesystem
e vi mostra un errore se non riesce
a riconoscere la formattazione. Quando
richiamate questo comando senza parametri,
fsck controlla il lesystem e vi chiede
se volete sistemare gli eventuali problemi
riscontrati. Se volete che si proceda
in automatico potete usare lo switch
-y, per fate attenzione: lintervento
automatico di fsck potrebbe rendere
irrecuperabili dei dati, a seconda
di che tipo di errore si vericato.
Uno dei problemi pi comuni
che bloccano fsck un superblocco corrotto.
Visto che un lesystem

Conviene usare fsck


da una distro Live senza
montare la partizione
In questi casi il sistema vi chieder
di eseguire fsck manualmente. Anche

La maggior parte delle distro include il tool memtest86+, quindi potete controllare
facilmente se i problemi del vostro PC dipendono da un banco di RAM difettoso

Potete usare TestDisk per recuperare le


da certi lesystem, come NTFS, usando
lopzione [Undelete], sotto [Advanced]

non pu essere usato senza un superblocco


in salute, ci sono diverse sue copie
di sicurezza disseminate in diverse posizioni
del disco. Digitate sudo mke2fs
-n /dev/sda6 per trovare dove stato
salvato il superblocco (attenti, se omettete
il -n spazzerete via il vostro disco sso),
che dovrebbe essere elencato alla ne
delloutput, in modo simile al seguente:
Superblock backups stored on blocks:
32768, 98304, 163840, 229376,
294912, 819200, 884736, 1605632,
2654208
Ora usate uno di questi indirizzi per
rimpiazzare il superblocco su quella partizione,
per esempio con sudo e2fsck -b
32768 /dev/sda6, e sarete pronti
a riavviare. Se il lesystem rovinato
una partizione NTFS e non potete
avviare in Windows, potete provare
a sistemarla usando lutility ntfsx.
Assicuratevi che la partizione
non sia montata e poi digitate
ntfsx /dev/sda1, dove /dev/sda1
la partizione formattata in NTFS.
Questa utility in grado
di controllare e correggere
alcuni problemi di base
di NTFS ma, cosa pi importante,
programmer un profondo
controllo sulla consistenza di NTFS
al primo riavvio in Windows.

Fare chroot dentro un sistema non funzionante


A volte capita che tutto quello che vi
servirebbe per riparare Linux si trova proprio
dentro il sistema, ma non potete accedervi.
Forse avete danneggiato in qualche modo
GRUB, oppure avete rimosso per errore
qualche pacchetto importante la cui
mancanza impedisce lavvio di Linux. In questi
casi potete ricorrere a chroot. un tool ben

fatto, presente in tutte le distro, e vi d


accesso come root a un sistema che non si
avvia. Usando chroot potete fare il boot da un
LiveCD e poi eseguire i programmi come se
aveste fatto il boot del sistema malfunzionante
un po come fa un virus geneticamente
modicato che arriva dallo spazio e prende
il controllo della mente umana. Per usare

chroot fate il boot da qualunque distro Live,


aprite un terminale e diventate lutente root.
Poi, ipotizzando che la vostra distro Linux
che non si avvia sia su / # mkdir /rotto
# mount /dev/sda1 /rotto
# chroot /rotto
A questo punto qualunque comando
impartiate avr effetto sulla vostra installazione

di Linux, non sul LiveCD, qualunque le


modichiate, sar un le della vostra Linux
box. Quindi, per esempio, potrete reinstallare
GRUB nel MBR dopo aver installato Windows
usando update-grub, oppure potete
rimuovere eventuali pacchetti instabili
o comunque annullare quei cambiamenti
che impediscono al sistema di ripartire.

LINUX PRO 125 11

Zombie!

Copia bit a bit


A
nche se fsck dovrebbe correggere
diversi problemi dei dischi che non
si vogliono montare, qualche volta
il difetto pi serio. Dei dischi morenti
non sono una bella cosa da vedere.
Ancor di pi se contengono dati
per voi preziosi come la posizione
di un centro di ricerca top-secret
che dovete raggiungere per recuperare
lantidoto contro linfezione da zombie.
In questi casi la miglior cosa che potete
fare per recuperare i dati minimizzare
luso del disco in difcolt. Quindi, invece
di sottoporre a stress il disco per tirare
fuori i dati, dovreste subito farne una copia
fedele. Potrete poi operare con i tool
di recupero direttamente sulla copia.
Normalmente vi suggeriremmo di ricorrere
al venerabile comando dd per copiare
il disco. Per dd progettato per arrestarsi
non appena viene rilevato un errore,
quindi non di molto aiuto con un disco
non funzionante. in queste situazioni

Anche se TestDisk e PhotoRec non hanno


una GUI, la loro interfaccia basata su un
wizard rende semplice il recupero dei dati

che torna utile il tool GNU ddrescue. Funziona


come dd e fa copie a livello di blocco di un disco.
Diversamente da dd, per, GNU ddrescue salta i
blocchi rovinati e copia quelli validi. Vi serve un
drive in salute per copiare
i dati recuperati. Potrebbe essere ununit
esterna USB oppure un secondo disco
interno. Inoltre, accertatevi che mentre
il disco destinazione montato, quello
difettoso non lo sia. Poi digitate
sudo ddrescue /dev/sda1 /media/backupdrive/
sda1.image /media/backupdrive/logle
Questo comando far il backup della partizione
sda1 del disco fallato e lo metter nel le
sda1.image nel disco montato in /media/
backupdrive. Il logle registra tutte le attivit
del comando in un le di testo, utile per capire
a che punto si fermata loperazione in caso
di uninterruzione inattesa. Una volta che avete
una buona copia del disco, potete chiedere
a ddrescue di rileggere le porzioni di disco
che non riuscito a leggere al primo giro:
sudo ddrescue -r 3 -C /dev/sda1
/media/backupdrive/sda1.image
/media/backupdrive/logle
Con lopzione -r dite a ddrescue il numero
di tentativi di lettura dei dati quando si incontra
un errore. Questo causa un forte stress al disco
rovinato, ed ecco perch dovreste provare
questa operazione solo dopo aver fatto
una copia del lesystem. Grazie al le di log,
ddrescue cercher solo di riempire i vuoti senza
rileggere le parti gi lette correttamente in
precedenza. Ricordate anche che, nonostante
ddrescue possa fare il backup di un intero
disco con partizioni multiple in un unico le,
vi risparmierete un po di problemi salvando
le singole partizioni in le immagine diversi.
Una volta che avete fatto tutte le immagini
delle partizioni del disco, potete provare

a recuperare i dati da esse. In base allefcienza


raggiunta da ddrescue, il tool pu essere
in grado di ripristinare interi lesystem.
Quindi, partendo da unimmagine,
prima controllatela con fsck, cos:
sudo fsck /media/backupdrive/sda1.image
Quando fsck ha terminato il suo lavoro, montate
limmagine come dispositivo di loopback:
sudo mount -o loop /media/backupdrive/
sda1.image /media/sda1image
Ora date unocchiata dentro /media/sda1image
e dovreste vedere tutti i vostri le. Se il comando
non funziona, il momento di chiamare in causa
gli esperti. Foremost e Scalpel sono delle utility
di le carving che possono estrarre i le dalle
immagini dei dischi. Entrambe le utility vanno
a caccia dei le usando gli header e i footer
di differenti formati di le, ma il secondo
in genere si dimostra pi efciente. Trovate
di sicuro entrambi nei repository della
vostra distro. Foremost il pi semplice
dei due da usare:
sudo foremost -t all -i sda1.image -o rescued-le
Questo comando tutti i tipi di le riconosciuti da
Foremost nellimmagine sda1.image e li salver
nella directory rescued-le. Prima di poter usare
Scalpel, invece, dovete modicare il suo le
di congurazione, /etc/scalpel/scalpel.conf,
e decommentare tutti i tipi di le che volete
far recuperare. Salvate il le e digitate
sudo scalpel sda1.image -o rescued-le

Ripristinare le cancellati
Gli strumenti che abbiamo visto nora sono usati
per recuperare le da dischi rovinati. Ma non
sempre si pu incolpare una rottura hardware
per la perdita dei dati. Un utente goffo
(per esempio uno ai primi stadi dellinfezione
da zombie che sta perdendo il controllo dei
movimenti) pu essere altrettanto pericoloso.

Capire le partizioni
Per usare con successo TestDisk
dovete prima capire come sono
partizionati i dischi. Una tabella delle
partizioni contiene quattro slot di 16
byte luno, che limitano a quattro
il numero di partizioni primarie
per ogni hard disk. Di solito una
di queste quattro partizioni viene
marcata come estesa e contiene
un certo numero di partizioni
logiche. Potete avere tre partizioni
primarie (sda1, sda2 e sda3)
e una quarta partizione estesa che
contiene diverse partizioni logiche
(sda5, sda6 e cos via). Quando
vi metterete a cercare partizioni
con TestDisk ne troverete alcune
sovrapposte e altre che superano

12

LINUX PRO 125

i limiti della tabella delle partizioni.


Qualche volta TestDisk si lamenter
perch trover una partizione
primaria in mezzo alle partizioni
logiche, cosa impossibile. Quando
TestDisk non riesce a piazzare una
partizione, non solo dovrete trovare
voi quella corretta, ma dovrete
anche capire se logica o primaria.
Tenete questo in mente: la prima
partizione primaria, in genere inizia
al cilindro 0, testina 1, settore 1. Se
avete pi partizioni primarie, esse
inizieranno in un cilindro diverso da
zero (come 625), testina 0, settore
1. Daltra parte, le partizioni logiche
iniziano in un cilindro diverso
da 0, testina 1 e settore 1.

Eseguite fdisk -l su un disco in salute e salvate in un le il suo output. Queste


informazioni vi aiuteranno nel trovare con TestDisk eventuali partizioni cancellate

Zombie!

Quindi diamo unocchiata agli strumenti in grado


di recuperare le cancellati accidentalmente
da dischi altrimenti ben funzionanti. Prima
di iniziare, dovreste capire come vengono gestiti
i le dal lesystem. Quando cancellate un le,
esso non viene spazzato via dallesistenza.
Piuttosto, il lesystem lo marca come cancellato
e rende disponibile alla scrittura di altri le
lo spazio che occupava. Questo vuol dire che
nch unaltra applicazione non usa questo
spazio, il le originale si trova ancora l e pu
essere ripristinato da un tool di le recovery.
Per questa ragione, se vi accorgete di aver
cancellato per errore qualcosa, importante
che riduciate il pi possibile linterazione con
il disco. Forse il tool Open Source pi completo
in questo ambito PhotoRec. Esso pu andare
a caccia dei formati di le immagine pi comuni
e inoltre pu ripristinare le in molti altri formati,
come ODF, PDF, 7ZIP, ZIP, TAR, RPM, DEB
e anche dischi virtuali. Questo tool funziona su
ogni sorte di disco, inclusi hard disk e dispositivi
rimovibili come dischi o chiavi USB e schede SD.
Oltre a leggere i dischi che non fanno
il boot, PhotoRec recuperer le da partizioni che
sono state formattate. Viene distribuito assieme
a TestDisk, di cui abbiamo gi parlato e che

In molti casi, Boot-Repair pu ripristinare GRUB con un solo click

in salute. Un tasto premuto per errore (questo


capita, ad esempio, se vi capita di trovarvi
un dito mezzo mangiato da un
corpo appena rianimatosi mentre
eravate distratti nel tentativo
di far funzionare PulseAudio)
in fdisk o Gparted pu spazzar
via il MBR o condannare alloblio
una partizione. Per, come
con i le, la situazione ancora rimediabile,
sempre che smettiate di pasticciare con il disco.

PhotoRec funziona
su ogni tipo di disco,
compresi quelli rimovibili
useremo anche successivamente, ed presente
in tutte le distro pensate per il recovery, inclusa
quella presente nel nostro DVD. Anche se
PhotoRec un tool da riga di comando, esso
divide loperazione di salvataggio in passi,
proprio come fanno i wizard graci. Quando
avviate lo strumento, esso per prima cosa vi
chiede di selezionare il disco e la partizione che
ospita i le cancellati, e anche di specicarne
il tipo di lesystem. Poi vi chiede se volete
che faccia la ricerca solo nello spazio libero,
non allocato o sullintera partizione. Dovete
anche indicargli una directory in cui
memorizzare i le recuperati. In base alla
dimensione della partizione, PhotoRec
impiegher pi o meno tempo per fare
il suo lavoro. Di default cerca tutti i le
che in grado di riconoscere, ma se
volete potete limitare il numero di
formati da cercare usando lopzione
File Opt. Quando PhotoRec nisce
di cercare, troverete unenormit di le
dai nomi strani e di tutti i formati nella cartella
che avete indicato. PhotoRec nomina i le
man mano che li trova, lasciando allutente
lonere di ordinarli. Come per i le, non serve
un grande sforzo per rovinare un disco

Usare TestDisk
TestDisk il miglior tool in circolazione per
sistemare tabelle delle partizioni e far tornare
in servizio dischi che non fanno pi il boot.
Luso di TestDisk simile a quello di PhotoRec.
Quando lo avviate prima vi chiede di creare
un le di log (che torna utile per una successiva
analisi qualora il recovery dovesse fallire) e poi
mostra tutti i dischi collegati al computer. Dopo
che avete selezionato il disco in cui sparita
la partizione, vi chieder di selezionarne il tipo,
per esempio Intel, Mac, Sun e cos via. Subito
dopo potete vedere le varie opzioni di recovery.
Selezionate quella di default, Analyse,
che legge la struttura delle partizioni e cerca
quelle disperse; alla ne della ricerca TestDisk
visualizza la struttura delle partizioni corrente.
Ora selezionate lopzione Quick Search
per chiedere a TestDisk di cercare le partizioni
cancellate. In base allet del vostro disco,
TestDisk visualizzer un diverso numero
di partizioni. Per capire qual quella corretta,
da recuperare, guardate le label delle partizioni
mostrate alla ne di ogni voce, tra parentesi

quadre. Se questo non vi aiuta, premete P


su una partizione selezionata per vedere
un elenco dei le che TestDisk ha trovato in
essa. Ripetete loperazione nch non trovate
ci che vi interessa. Quando avete trovato
la partizione, conviene copiarne i dati giusto
nel caso che TestDisk fallisca nel suo ripristino.
Per fare questo, premete P e poi con il tasto a
selezionate tutti i le. A questo punto premete
C per copiarli e il tool vi chieder dove volete
salvarli. Quando la copia terminata, premete
q per tornare allelenco delle partizioni e
premete E per continuare al prossimo passo
delloperazione di ripristino. TestDisk mostrer
ancora la struttura delle partizioni, questa
volta con quella scomparsa. Selezionate
Write per salvare la tabella delle partizioni
sul disco e uscite dal programma. Se tutto
andato bene, al prossimo riavvio la partizione
sar di nuovo al suo posto.

Con uno scanner antivirus come ClamAv


potete disinfestare la partizione Windows
dallinterno di Linux
LINUX PRO 125 13

Zombie!

Scavare a fondo
Salvare la tabella delle partizioni
A
nche se si spera che TestDisk
sia servito allo scopo come
mostrato nelle pagine precedenti,
ci sono volte in cui anchesso fallisce.
In questo caso bisogna ricorrere
alle opzioni avanzate. A volte TestDisk
individua partizioni cancellate, senza
per riuscirne a capire il tipo. Quando
trova una partizione, TestDisk ne mostra
il tipo nella prima colonna, dove trovate
un * se si tratta di una partizione avviabile,
una P per le partizioni primarie, una L
per quelle logiche e una E per quelle
estese. Potete usare i tasti cursore a destra
e a sinistra su una partizione evidenziata
per cambiarne il tipo. C un altro paio
di opzioni per le partizioni disponibili
allinizio delloperazione di recovery,
giusto dopo che avete selezionato
il tipo di tabella delle partizioni del disco.
Subito sotto lopzione Analyse c il tab
Advanced, che elenca alcuni
trucchi avanzati per
i lesystem. Con lopzione
Type potete cambiare
il formato della partizione,
cosa utile quando la partizione
che volete ripristinare stata formattata.
Poi ci saranno delle volte in cui
lopzione Quick Search di TestDisk
non sar in grado di trovare tutte
le partizioni sparite. In questi casi
vi serve la voce Deeper Search,
che scansiona ogni cilindro
e interroga anche la copia
di backup del settore di boot
e del superblocco per trovare altre
partizioni. Non sorprendetevi

Anche se TestDisk vi aiuta a ripristinare eventuali


partizioni perse, una tabella delle partizioni sottosopra
pu richiedere tempo per essere sistemata. Almeno
se non ne avete salvata una in ordine. una buona
idea usare sfdisk ogni volta che installate o rimuovete
una distro, o comunque quando fate delle modiche
alle partizioni. Sfdisk una piccola utility da riga
di comando inclusa in tutte le distro, e fa il backup
e il ripristino delle tabelle delle partizioni, oltre
a poterle modicare. Questi pochi byte potrebbero

se verranno trovate pi partizioni di quelle


che avevate sul disco. Molte di esse sono
solo immagini fantasma di partizioni esistite
in passato non tutte saranno ripristinabili
e molte occuperanno lo stesso spazio.
Nellelenco delle partizioni trovate, quelle
evidenziate in verde sono recuperabili
perch si trovano nel backup del settore
di boot e dei superblocchi. Il problema
c se ci sono partizioni che occupano
lo stesso spazio. Come con Quick Search,
una volta che TestDisk ha trovato delle
partizioni, con il tasto P potete leggere
lelenco dei le presenti. Uno o pi
dei duplicati non ne mostreranno e il tool
vi dir che il lesystem rovinato.
Marcate questi lesystem come Deleted (D)
e continuate no a quando non trovate
tutte le partizioni cancellate.

Boot camp
Ci sono diversi modi per perdere il bootloader
GRUB. Forse il vostro PC caduto vittima
alla peggior infezione di zombie possibile:
linstallazione di Windows! Anche se installare

fare la differenza con un sistema operativo su cui


si pasticciato. Il comando sfdisk -d /dev/sda >
sda_tabella.txt far una copia di sicurezza della
tabella delle partizioni del disco sda in un le di testo
che dovreste tenere in un posto sicuro. Al contrario,
il comando sfdisk /dev/sda < sda_tabella.txt
legger il le e ripristiner la tabella delle partizioni
nel MBR di sda. Se avete un sistema RAID, potete fare
il mirror di una tabella delle partizioni da un disco
allaltro usando sfdisk -d /dev/sda | sfdisk /dev/sdb.

Windows dopo aver installato Linux spazza


via di sicuro il MBR (che sar quindi da
ripristinare), qualche volta capita anche
di ritrovarsi con qualche esoterica distro Linux
che allo stesso modo si sbarazza del vecchio
MBR impedendovi di avviare altri sistemi
operativi. Ci sono vari modi per riparare
un MBR danneggiato, il pi semplice dei quali
prevede luso di Boot-Repair. Come
con gli altri tool di questo articolo, lo trovate
nella maggior parte delle distro progettate
per il recovery. Boot-Repair pensato
per sistemare in automatico i problemi pi
comuni che possono capitare a GRUB. Inoltre,
pu essere utile agli utenti pi esperti che
vogliono controllare gli aspetti pi sottili di
GRUB, come il passaggio di opzioni addizionali
al kernel, il cambiamento dellordine di boot
o del timeout, o la scelta del sistema operativo
di default. Quando avviate questo strumento,
esso cercher gli eventuali suoi aggiornamenti
se disponibile una connessione a Internet.
Poi passer a esaminare i vostri dischi
e le partizioni presenti. Alla ne vi mostrer
una chiara interfaccia graca con un paio di
pulsanti. Nella maggior parte dei casi il pulsante
Recommended Repair sar sufciente a
sistemare tutto. Eventualmente potete ricorrere
alle opzioni Advanced e modicare i vari aspetti
dellinstallazione di GRUB. Poi ricordatevi di
cliccare su Apply. In entrambi i casi, dopo aver
sistemato GRUB, il tool vi mostrer un URL che
vi porta a un report diagnostico sul vostro PC.
Esso sar utile nel caso in cui Boot-Repair
ha fallito nel suo compito e vi ritrovate a dover
chiedere aiuto a qualcuno pi esperto, ad
esempio nel forum della vostra distro. Potete
anche usare il pulsante Create a BootInfo
summary per generare questo report prima
di far operare il tool. Alla ne del report,
il programma mostrer le azioni che
intraprender per riparare il vostro GRUB.

Resettare la password
di Linux

Se non amate GRUB, potete usare un bootloader alternativo come GAG

14

LINUX PRO 125

A meno che non usiate la stessa password per


tutti i vostri account online e ofine (cosa che
non raccomandiamo) possibile che prima
o poi vi dimentichiate quella oscura, intricata

Zombie!

password del PC che avviate una volta ogni


tanto. Oppure siete arrivati al centro
di ricerca e i computer che contengono
la procedura per sintetizzare lantidoto sono
protetti da password, con gli scienziati
che non sono pi in grado di dirvela.
Per crisi come queste avete bisogno della
distro Rescatux (www.supergrubdisk.org/
rescatux). Questa distro possiede i soliti
tool di recovery per riparare lesystem
e bootloader in difcolt. Ma ci che
la distingue dalle altre distro di questo tipo
la sua abilit di cambiare la password
di uninstallazione Linux e di rigenerare
un le sudoers corrotto. Quando avviate
questa distro Live viene lanciato
automaticamente lapplicazione di ripristino,
chiamata Rescapp. Questo programma ha
vari pulsanti. Quando cliccate su Password
(+), il tool vi chiede se volete cambiare
una password o rigenerare il le sudoers.
Entrambe le opzioni attiveranno la ricerca
di una installazione di Linux sul disco
e poi mostreranno lelenco degli utenti della
distro che selezionate. Se state cambiando
la password, il tool vi chiede quella nuova

Ophcrack usa tabelle rainbow preelaborate per recuperare le password

Ophcrack (http://ophcrack.sourceforge.
net). Il modo migliore di usare Ophcrack
di ricorrere al suo LiveCD basato su SliTaz.
Questo LiveCD esiste in due versioni:
una ha delle tabelle che vi aiutano
a recuperare le password da Windows XP
e versioni precedenti, mentre
laltro fa la stessa cosa con
Vista e 7. Quando avviate uno
dei due dischi, viene lanciato
in automatico Ophcrack.
Esso scoprir ed elencher
tutti gli account utente presenti
nel computer e cercher di recuperare
le rispettive password. A meno che queste
password non siano incredibilmente
complicate, con tanti caratteri, o che
voi abbiate una macchina molto vecchia,
loperazione di crack delle password non
dovrebbe durare molto a lungo. Una volta
nito, le password verranno elencate
nella colonna NT Pwd. Questo dovrebbe
funzionare nella maggior parte dei casi, ma
se cos non potete aumentare le chance
di crackare le password scaricando
e installando delle tabelle addizionali dal sito

Quando le opzioni base


di TestDisk falliscono,
ricorrete a quelle avanzate
da assegnare allutente indicato. Se state
ricreando il le sudoers, lutente selezionato
verr aggiunto in /etc/sudoers.

Ora quella di Windows


Se gli scienziati stavano usando copie
del vecchio Windows Vista sul loro hardware
nanziato dal governo (cosa molto
probabilmente legata in modo stretto
a ci che capitato con gli zombie), ci sono
diversi tool che possono aiutarvi a recuperare
o resettare la password dellinstallazione
di Windows. Uno dei pi semplici

Tool di recovery dedicati


Mentre TestDisk e Photorec sono in grado di trovare
qualunque le, a volte sono un po sovrabbondanti.
Se tutto quello che dovete fare recuperare
dei le JPG o MOV da una scheda SD che stata
formattata potete usare il tool recoverjpeg. Potete
installarlo dai repository di tutte le maggiori distro.
Per usare questo tool allo scopo di recuperare le foto da
una scheda SD in /dev/sdc, aprite un terminale e scrivete
sudo recoverjpeg /dev/sdc
Questo software ripristiner tutte le foto che trova
salvandole nella directory in cui lo avete lanciato.
Un altro utile strumento ntfsundelete che
progettato per ripristinare le da un lesystem
NTFS. Come prima, dovreste trovarlo negli archivi

di pacchetti della vostra distro. Ipotizzando


che il disco NTFS sia in /dev/sda5, digitate
il comando seguente in un terminale:
sudo ntfsundelete /dev/sda5
Questo comando mostrer una lista dei le
che ha trovato. Potete usare lo switch -t
per cercare i le modicati in uno specico
periodo di tempo. Per esempio, il comando
sudo ntfsundelete /dev/sda5 -t 2d
cercher i le modicati negli ultimi due giorni. Questo
tool ha anche una essibile opzione di recovery.
Il comando seguente ripristiner tutti i le PDF e li salver
nella directory ripristinati/ sotto la directory home:
sudo ntfsundelete /dev/sda5 -u -m *.pdf -d ~/ripristinati

di Ophcrack. In base a quale LiveCD avete


scaricato, avrete rispettivamente la tabella
XP Free Small o Vista Free. Oltre a queste,
solo la tabella XP Free Fast (703 MB)
disponibile gratuitamente. Le altre possono
essere scaricate ma bisogna pagare una
quota e possono essere usate per crackare
password che non sono basate su parole del
dizionario, che includono caratteri speciali,
caratteri germanici o numeri e che sono
di varie lunghezze. Se Ophcrack non
in grado di trovare le password usando
le tabelle gratuite, e non volete procedere
con quelle a pagamento, potete usare
Ofine NT Password and Registry Editor
(http://pogostick.net/~pnh/ntpasswd/)
per resettare le password. Prima di
procedere, comunque, sappiate che il reset
delle password ha qualche svantaggio
rispetto al loro recupero. Se avete detto a
Windows di cifrare i le con la vostra
password, resettare la parola chiave non vi
consentir di decifrarli. Ecco perch prima
dovreste cercare di ritrovarla. LOfine NT
Password and Registry Editor disponibile
sottoforma di unimmagine ISO Live da 4
MB. Quando avviate questa Live dovete
selezionare la partizione che ospita il
Windows di cui dovete resettare le
password. Poi il tool vi chiede la posizione
del registro delle password. Dopo averlo
letto, lo strumento stampa un
elenco degli account e vi da la
possibilit di impostare una
nuova password, cancellare
quella vecchia, abilitare o
disabilitare un utente o far scalare
i suoi privilegi no a farlo
diventare
amministratore.
Assicuratevi di
scrivere i cambiamenti
nel registro prima di chiudere.
LINUX PRO 125 15

Zombie!

Il backup una virt


N
onostante tutti gli eccellenti strumenti
Open Source per il recovery dei dati,
c solo un modo sicuro per
recuperare tutti i propri le: fare un backup.
Anche se non porta via molto tempo, fare
una copia di sicurezza dei dati richiede
un po di attenzione e di preparazione.
Per iniziare, dove vanno memorizzati i dati?
Tenerli nella stessa partizione o nello stesso
disco non serve a nulla come rimediare
se si rompe lintero disco? La soluzione
usare un disco diverso. Anche il tipo
di dati da salvare e luso che se ne vuol fare
pu inuenzare la scelta dello storage.
Gli hard disk offrono il miglior rapporto
prezzo/spazio e sono anche una soluzione
facile da mettere in opera. I dischi Flash
o quelli esterni USB offrono la massima
portabilit, i CD/DVD sono distribuibili
con maggior facilit mentre lo storage
online consente di accedere ai dati
da qualunque PC.

Cosa salvare?
Alcuni di noi sono pi organizzati di altri.
Quindi anche se la miglior strategia sarebbe
quella di tenere tutti i dati in un disco
o partizione dedicata lontano dai le
della distro, molti di noi hanno i dati sparsi
un po ovunque. Quasi tutte le distro
offrono particolari cartelle in cui memorizzare
i vari tipi di le, come scaricamenti, immagini,
video e documenti. Inoltre, sempre le distro,
si preoccupano di dire ai programmi
quali cartelle usare, in modo da non
mescolare tutto. Se state usando queste

directory in modo ordinato, potete copiare


esse invece dellintera /home. Inoltre,
la maggior parte dei programmi creano
una loro posizione per memorizzare le cose:
in genere vi chiedono dove farlo, ma non
sempre. In questo secondo caso, controllate
nel menu delle preferenze per vedere
dove mettono i dati.

Backup punta e clicca


I programmi di backup in GNU/Linux
non mancano di certo, ma quello che
preferiamo Dj Dup. Si tratta
di un front-end graco per duplicity
che facile da impostare e ha tutte
le funzionalit che ci si aspetta da un tool
di backup. In alcune distro, come Ubuntu,
Dj Dup preinstallato, nelle altre presente
nei repository. Linterfaccia di questo
programma davvero minimale, in modo

Linterfaccia minimale
di Dj Dup creata per
non confondere lutente
da non confondere gli utenti. Prima di metterlo
in funzione, per, dovete impostarlo. Iniziate
indicandogli dove volete salvare i le.
La destinazione pu essere un disco locale,
un disco remoto accessibile via FTP o SSH,
oppure un servizio di storage accessibile via
Web, come Amazon S3 o Ubuntu One. Poi
dovete specicare lelenco delle directory
da includere o escludere dal backup.

Usate il versatile Redo Backup and Recovery se dovete sostituire un disco vecchio
con uno nuovo e pi grande e non volete reinstallare Linux da zero

16

LINUX PRO 125

Separando le due, Dj Dup vi consente


di includere una directory pi grande
nel backup, tipo la vostra home, dandovi
per la essibilit di non copiare alcune parti,
come la directory .cache/. Inne dovete
programmare la frequenza dei backup
in modo da automatizzare il processo.
Di default questo strumento terr per
sempre i vecchi backup, se avete abbastanza
spazio nella destinazione, ma potete
specicare un diverso periodo di tempo
a seconda di quanto critici siano i dati salvati.
Quando avete fatto, premete licona Backup
per iniziare il processo. Il tool vi chieder
di inserire una password per cifrare la copia.
Questo backup iniziale pu richiedere
parecchio tempo, ma quelli successivi saranno
pi rapidi perch sono di tipo incrementale,
quindi verranno copiati solo i dati che sono
stati modicati. Quando si ripristina una copia
di backup, Dj Dup consente
di rimetterli nella loro posizione
originaria o in unaltra locazione.
Per prima cosa vi verr chiesta
la password per la decifrazione
e poi verr mostrato un elenco
ordinato in base al tempo
di creazione dei backup da ripristinare.

Copia totale
Anche se Dj Dup lideale per fare delle
copie mirate, qualche volta c la necessit
di clonare lintero disco. Per situazioni in cui,
per esempio, dovete rimpiazzare il vecchio
disco con uno nuovo, vi serve uno strumento
che sia in grado di fare una copia perfetta
di tutto quanto il sistema. Il pi popolare
tra i tool di questo tipo CloneZilla. A fronte
di una grande versatilit, per, linterfaccia
di CloneZilla pu intimidire lutente meno
smaliziato. Se tutto quello che vi serve
qualcosa che faccia una copia totale del
vecchio disco da mettere poi in quello nuovo,
sullo stesso computer, allora Redo Backup
and Recovery pu rappresentare una
soluzione pi semplice. Questo tool
disponibile come LiveCD. Quando fate il boot
vi trovate di fronte solo due pulsanti: potete

Dj Dup di gran lunga il tool di backup


pi facile da usare

Zombie!

fare il backup del disco o ripristinare una copia


gi fatta. Il processo di backup inizia con una
scansione del computer a caccia dei dischi.
Poi vi verr chiesto di selezionare quale volete
copiare. Fatta la scelta, vedrete le partizioni
presenti: assicuratevi di selezionarle tutte.
Poi vi viene chiesto di indicare una
destinazione dove salvare limmagine clonata
del disco. Questa pu essere un secondo disco
sso del computer, ununit USB o un folder
condiviso in rete. Nella destinazione dovrete
creare una directory e poi scegliere un nome
che verr aggiunto ai vari le creati dal
programma. Questo tutto. In base alla
dimensione del disco da copiare e alla
posizione della destinazione, ci possono volere
anche delle ore per terminare. Quando tutto
stato fatto, rimuovete il vecchio disco sso
e piazzate quello nuovo al suo posto. Ora
riavviate nuovamente dal LiveCD ma questa
volta premete il pulsante Restore. Ora
muovetevi dove si trova il le .backup
che volete ripristinare, ovunque esso si trovi
(disco locale o in rete). Il passo cruciale della
fase di ripristino quella in cui si seleziona
il disco target in cui scrivere limmagine.
Fate attenzione quando lo scegliete perch
il programma canceller tutto quello che
presente nel disco, incluso il MBR. Alla ne
delle operazioni il contenuto del nuovo disco

Se un vostro vecchio CD o DVD non presenta


errori, ringraziate la fortuna e fate subito
un le ECC per sicurezza

Browser come Firefox hanno delle opzioni


per sincronizzare preferiti e password
tra diversi dispositivi

sar esattamente identico a quello vecchio.


Se il disco precedente aveva sistemi operativi
multipli, e il bootloader funzionava a dovere,
lo stesso sar per il nuovo disco. Se il disco
nuovo pi grande di quello vecchio, dovrete
ricorrere a Gparted per reclamare lo spazio
aggiuntivo, che si trova non partizionato
alla ne del disco.

A prova di crash
I dischi ottici una volta erano il mezzo preferito
per fare il backup, e forse lo sono ancora
adesso. Il loro problema, per, che anche se
li si tratta con cura, molto spesso dopo un po
di tempo diventano illeggibili (alla faccia della
garanzia a vita di alcuni produttori). Farne di
tanto in tanto una nuova copia ci sembra una
soluzione inefciente. Unopzione migliore
ricorrere a DVDisaster. Questo software crea
un le con un codice di correzione derrore
(ECC) di un disco in buono stato di salute, le
che potr essere usato in futuro qualora
il CD/DVD risultasse difettoso. DVDisaster agisce
su immagini ISO. Per creare limmagine del
vostro disco, inseritelo nel lettore ottico e avviate
DVDisaster. Poi selezionate licona Image File
Selection, digitate un nome per limmagine

ISO e selezionate una


directory in cui memorizzare
questa ISO. Inne premete
il pulsante Read. Ora
il momento di creare il le
ECC. DVDisaster supporta
due tipi di le: RS01
e RS02. Noi vi suggeriamo
di scegliere RS01,
il metodo di default, e di
memorizzare il le ECC in un disco separato.
Cliccate su Create per generare e salvare
il le ECC. Usando le impostazioni di default,
il le ECC grande circa il 15% della
dimensione dellimmagine ISO. Per una
protezione maggiore, andate in Preferences
D Error Correction e selezionate lopzione
High. Questo porter le dimensioni del le
ECC al 35% della dimensione della ISO,
ma vi dar anche una maggior possibilit
di ripristinare i dati nel caso il CD/DVD
risultasse gravemente danneggiato. Di tanto
in tanto, poi, fate una scansione dei dischi
di backup con DVDisaster usando il pulsante
Scan, dopo aver inserito il disco, ovviamente.
Se la scansione dovesse rivelare dei settori
danneggiati, il momento di recuperare
i dati. Per fare questo, create per prima
cosa unimmagine ISO del CD/DVD
danneggiato come fatto prima. Poi
recuperate il le ECC di quel disco
e caricatelo in DVDisaster. Con limmagine
e il le ECC pronti, premete il pulsante Fix,
che legger e riparer limmagine. LXP

Se dovete clonare uninstallazione Linux


su computer diversi, scegliete CloneZilla

Curiosit
I residenti della simpatica citt di Bristol, in Inghilterra,
possono dormire sonni tranquilli nei loro letti sapendo

che i loro rappresentanti in comune hanno realizzato


un piano demergenza in caso di attacco da parte
degli zombie. Il documento, che venuto alla luce
nel 2011, sottolinea quattro livelli di attacchi degli
zombie, da livello ambientale no a una pandemia
di zombie (con tasso di infezione superiore al 30%).
Il documento evidenzia anche le zone pi pericolose
(i distretti di Shirehampton, Totterdown e Whitchurch
Park) e conferma che lordine del consiglio per
trattare con i zombie di disconnettere il tronco
cerebrale dal corpo attraverso un corpo contundente
o la totale rimozione della testa. Una richiesta fatta
al consiglio comunale di Leichester nello stesso
periodo ha rivelato che non c un riferimento
agli zombie nei piani demergenza della citt.

Ecco la gente di Bristol: incredibilmente


amichevoli. www.bristolzombiewalk.com

LINUX PRO 125 17

2013

Cosa ci aspetta
nel

2013

La redazione di Linux Pro ha sentito alcune delle stelle


pi importanti del firmamento del Software Libero
per chiedere loro cosa si aspettano dallanno che verr.
Ecco quello che ci hanno risposto
Chi abbiamo sentito

18

Richard Stallman

Damien Conway

Clement Lefebvre

Il padre di GNU ha realizzato


la licenza GPL che consente
di mantenere libero il Free
Software. Ha anche scritto GCC,
che ci permette di compilare
il software per il kernel Linux.

Uno dei fondatori della community


Perl, ha realizzato Perl 6
ed quindi responsabile
del collante che tiene insieme
Internet. I blog dei gattini
non esisterebbero senza di lui.

In quanto creatore di Linux Mint,


probabilmente la persona che
pi in sintonia con le richieste
degli utenti del Software Libero.
Si occupa anche di Mate
e Cinnamon.

Gal Duval

Ciarn ORiordan

Stefano Zacchiroli

Ha realizzato Mandrake Linux,


la prima distro GNU/Linux
che considera la facilit duso
una caratteristica fondamentale.
Con Ulteo sta portando il sistema
operativo in una nuova direzione.

Ha combattuto contro i brevetti


a Bruxelles con il suo progetto
Fermate i brevetti sul software.
Anche se vivete fuori dallUnione
Europea sta cercando di rendere
migliore la vostra vita.

In quanto project leader


di Debian GNU/Linux guida
la distro pi libera di tutte.
Di certo non rinuncer mai
ai suoi principi e soprattutto
sar sempre disponibile.

LINUX PRO 125

2013

Quali sono le cose migliori capitate


al Software Libero nel corso del 2012?
Damien Conway:

Secondo me il successo
e la continua crescita
di Git e GitHub. Sia
la tecnologia che il sito
Web sono attivi ormai
da pi di cinque anni,
ma lultimo anno stato decisivo come
diffusione, utilizzo e consapevolezza da parte
dellintera community. Git non solamente
uno dei migliori esempi di Software Libero,
soprattutto uno stimolo allo sviluppo
collaborativo dei programmi.
Clement Lefebvre:

Senza dubbio
il progetto Mate.
GNOME 2 stato
lambiente desktop
pi utilizzato per la sua
solidit e maturit,
inoltre integra i migliori strumenti per la stampa,
la comunicazione di rete e la comunicazione
online. la degna conclusione di anni di lavoro,
di miglioramenti e di integrazione di componenti
di terze parti, applet e temi. Essere riusciti
a non farlo sparire e portarlo avanti sotto
un nuovo nome rappresenta il migliore successo
del 2012. Dobbiamo riconoscere al team
Mate il merito di essere riusciti a gestirne con
successo il mantenimento. Io personalmente
sono coinvolto con Cinnamon, uno dei progetti
pi interessanti e che stanno riscuotendo
un buon successo di pubblico, come stanno
facendo Canonical con Unity e GNOME con
Shell. Ci stiamo divertendo molto a realizzare
nuove e grandi tecnologie. Si parla molto
sui forum, su IRC e sui giornali di questi nuovi

ambienti desktop che si rivolgono per a una


minoranza di entusiasti di GNU/Linux che amano
provare le novit anche quando non sono
ancora a punto. Dallaltra parte ci sono molti
utenti che non vogliono aggiornare il loro
sistema in continuazione, non seguono i blog
con le novit e non capiscono perch qualcosa
che funzionava bene come GNOME 2 non deve
essere pi disponibile. Mate la testimonianza
di cosa signichi veramente Software Libero:
ci siamo trovati nella situazione in cui il pi
popolare tra gli ambienti desktop GNU/Linux
non veniva pi supportato dagli stessi
sviluppatori. Essendo per distribuito con licenza
GPL, altri sviluppatori della community
GNU/Linux hanno formato un gruppo in grado
di continuarne lo sviluppo. Si tratta del miglior
riconoscimento a un sistema che non solo
libero, ma che pu venire modicato
e ridistribuito liberamente, permettendogli
cos di continuare a vivere anche senza
gli sviluppatori originali.
Gal Duval: Nel 2012

sono successe cose


molto importanti
e probabilmente
una delle pi
importanti la
denitiva accettazione
del modello Open Source da parte delle
aziende IT. LOpen Source ormai presente
ovunque e non ci sono pi le paure,
le incertezze e i dubbi che erano normali
solo qualche anno fa. Comunque un fatto
importante sicuramente la riorganizzazione
di Mandriva Linux e la creazione della
OpenMandriva Foundation. Stanno
succedendo molte cose, cambiamenti
profondi che meritano una presenza
ancora maggiore nel mondo IT.
Stefano Zacchiroli:

Mate una zattera di salvataggio per tutti


quegli utenti GNOME che non vogliono
perdere il loro ambiente desktop preferito

Citer qualcosa
di sicuramente
controverso come
la guerra sui brevetti
tra Apple e Samsung.
I brevetti sul software continuano a essere
una minaccia al Software Libero, specialmente
in nazioni come gli USA ma anche altrove,
pur se in maniera minore. Sono convinto che
quello che dobbiamo assolutamente impedire
una guerra senza ne tra i maggiori

Damien Conway
LXP Perch pensi che Perl abbia tanti
ardenti sostenitori?
DC Credo che ci siano diversi motivi. Prima
di tutto il particolare design del linguaggio
di programmazione: se sei uno sviluppatore
in sintonia con il modo in cui Perl funziona,
allora Perl funzioner al massimo per te.
Questa potrebbe sembrare unaffermazione
scontata, ma molto importante. Gli altri
linguaggi di programmazione ti richiedono
di adeguarti al loro modo di funzionare, Perl
funziona nel modo in cui molti sviluppatori
pensano. Inoltre, ancora pi importante,
Perl un linguaggio di programmazione
nato per le community. La migliore
caratteristica di Perl non riguarda eventuali
vantaggi tecnici, ma il modo in cui la
comunit mondiale interviene mettendo
a disposizione degli sviluppatori risorse
importanti. Il CPAN (Comprehensive
Perl Archive Network), offre un enorme
repository di Software Libero gi testato
su decine di piattaforme, e con molte parti
gi sperimentate e commentate da chi
le ha usate in prima persona. Il sistema
di controllo universale dei bug delle
distribuzioni da parte del CPAN offre
ulteriori strumenti per gestire la qualit
di questa importante risorsa. Esistono
poi siti Web di tipo collaborativo gestiti
direttamente dalla community come
perlmongs.org e learn.perl.org, canali IRC,
mailing list e movimenti di base come YAPC
e OSDC che offrono un network di supporto
liberamente disponibile per ogni
sviluppatore Perl del pianeta.

protagonisti dellIT sui brevetti. Alla ne


tutti si renderanno conto (e qualcuno
gi lo ha fatto) che una guerra sui
brevetti controproducente per tutti
e chiederanno una riforma. Lescalation
provocata dalla guerra Apple-Samsung
rappresenta probabilmente un punto
di non ritorno, dobbiamo solo sperare
che la riforma dei brevetti non sia peggio
di quello che abbiamo oggi. Sempre
a questo riguardo, mi piaciuto leggere
i pareri di molti importanti economisti
che affermano che i brevetti non
promuovono linnovazione e che sono
stati ripresi dai media negli USA
e praticamente in tutto il mondo.
LINUX PRO 125 19

2013

Qual stato il principale fail del 2012?


DC: Java, senza dubbio.

Anche se ne apprezzo
il linguaggio
e lecosistema, odio
la politica, il passaggio
di denaro e la
mancanza dei controlli
di qualit e sicurezza che lo stanno rendendo
incompatibile con molte piattaforme.
CL: Per me il maggior

fail stato SCO.


Vorrei poi commentare
gli interventi di Miguel
de Icaza su Linus
Torvalds, il desktop
di Linux e Mac OS X:
ho molto rispetto per quello che ha fatto Miguel,
ma ogni volta che il mio iPhone non si sincronizza
con il mio sistema operativo perch Apple ha
fatto in modo che si sincronizzasse solo con
iTunes, allora non penso che sia il PC a essere
fatto male ma liPhone. Non sono daccordo
nemmeno con il pensiero che Linux dovrebbe
ispirarsi per le interfacce desktop a Mac OS e iOS.
A me non piacerebbe lavorare con questi sistemi
e non penso nemmeno che stiano facendo un
buon lavoro, almeno non per la nostra community.
Laltro grande fail risale allannuncio di Flash
come protocollo esclusivo per Chromium. Spero
che YouTube diventi pienamente compatibile con
HTML5 prima che Google riesca a fare sparire
Firefox dai nostri desktop.
Richard Stallman:

A mio parere il termine


fail non riesce
a rendere linsieme di
controlli e pubblicit che
lultima distro di Ubuntu
GNU/Linux ci obbliga
a subire. E non si tratta di un errore, ma di una
scelta deliberata: ogni volta che allinterno
di Ubuntu fate una ricerca i vostri dati vengono
trasferiti a Canonical, la quale, senza tenere
in considerazione la vostra privacy, vi fa mandare
pubblicit mirate da parte di Amazon. Per
conoscere i motivi che non dovrebbero spingervi
ad acquistare da Amazon potrete leggere qui:
http://stallman.org/amazon.html.
Gli sviluppatori del Software Libero normalmente
non inseriscono funzioni di controllo nei loro
programmi. Sanno che nel momento in cui
lo facessero gli utenti li abbandonerebbero per
passare ad altro software pulito. Il fatto che
Canonical ci abbia provato signica che si da
talmente della propria inuenza da non prendere
in considerazione questo rischio. Ed proprio
per questo motivo che dovremmo dimostrarle
che sta sbagliando a sottovalutare lOpen Source.

20

LINUX PRO 125

Laccordo tra Canonical e Ubuntu per inviare pubblicit agli utenti non piaciuto per niente
a Richard Stallman. Temete la sua ira e tremate, o abitanti di Ubuntulandia

GD: Non sono molto


soddisfatto di come sia
diventato Android/Linux
per molte ragioni. Mi
sembra che sia ormai
legato solo ai protti,
non allinnovazione e che
la parte Linux resti sempre pi in secondo piano.
COR: Si tratta pi di una

battuta darresto che


di un fail vero e proprio,
ma ritengo che
il Restricted boot
di Microsoft sia lelemento
pi negativo del 2012.
Smartphone e PC non sbloccabili rappresentano
la principale minaccia per lOpen Source.
SZ: Secure Boot

di Microsoft. Si tratta
di una scelta che ha colto
di sorpresa il mondo del
Software Libero e che
si sta trasformando in una
situazione che, comunque
la si veda, far dei danni molto seri. Da una parte
non si pu negare che il rischio dellinserimento
di un malware prima del boot esiste. Dallaltra
si tratta di una mossa che riette la forza dei
produttori di hardware. O si una delle poche
software house in grado di convincere i produttori
a fornire le chiavi necessarie allinserimento del
proprio codice, oppure sar necessario richiedere
il permesso per abilitare le immagini di boot
o ancora chiedere ai propri utenti di farsi carico
di una scomoda procedura di rma del software.

Clement Lefebvre
LXP Tutti questi cambiamenti nelle release
dei desktop ti hanno fatto cambiare idea
sulla direzione presa dal Software Libero?
Pensi, per esempio, che ci sia troppa scelta?
CL Non c mai troppa scelta. Chi pensa che
Mate, Xfce, LXDE, KDE, Canonical, GNOME
e Linux Mint possano convivere allinterno di uno
stesso desktop non ha capito niente di sviluppo
del software. Questi progetti sono resi possibili
da sviluppatori appassionati a cui piace quello
che stanno facendo e hanno una propria visione
in testa. Se lavorassero insieme su un progetto,
che nessuno considera veramente suo, alla ne
non ne uscirebbe niente di buono. Non un
segreto per nessuno che il gruppo di GNOME
considera Mate una piattaforma obsoleta e poco
interessante. Come anche chiaro che Canonical
e Linux Mint non condividono lidea di GNOME
di come dovrebbe essere uninterfaccia graca.
Se provate a guardarvi intorno scoprirete che gli
utenti Cinnamon amano Cinnamon, quelli Unity
amano Unity, quelli Mate preferiscono Mate, quelli
KDE scelgono KDE e cos via Ma proprio questo
il vantaggio del Software Libero e di tutti
i progetti in corso in questo momento. Nessuno
di voi si metterebbe in testa di convincere i propri
vicini di casa ad acquistare una stessa automobile
o di scrivere a tutti i produttori di auto pregandoli
di accordarsi in modo da evitare sprechi con
la realizzazione di modelli troppo simili tra loro.
In realt gli sviluppatori non sono macchine che
possono essere guidate a nostro piacimento.
Questo non sviluppo. Per realizzare un progetto
che funziona serve la passione, ci si deve
appassionare a quello che si sta facendo e quindi
trasferire il proprio piacere anche agli utenti.

2013

Quale sar il pi importante sviluppo


del 2013 per il Software Libero?
GD: Ritengo che nel
2013 assisteremo
a molte interessanti
novit. Ogni secondo
che passa ci sono
sempre pi persone
sul pianeta e vediamo
passare davanti ai nostri occhi avvenimenti sempre
nuovi, buoni o cattivi che siano. Nel settore
dellIT stanno accadendo cose incredibili
come lInternet veloce, larchiviazione online,
PC che costano pochi euro come Raspberry Pi
e sono in grado di far girare molte e importanti
applicazioni. Per non parlare dellimportanza
dei tag RFID e delle stampanti 3D: il mondo
si sta affollando sempre pi di oggetti connessi
e intelligenti.
RS: Gi sappiamo

che c un disastro
incombente: arriveranno
infatti computer in grado
di funzionare solo
con Windows
e che non
vi permetteranno di installare distro GNU/Linux.
A mio parere dovreste impegnarvi per far
passare negli USA e nel resto del mondo
una legge che lo impedisca. Non c alcuna
ragione per cui a delle aziende dovrebbe
essere consentito di avere il monopolio
in una questione cos delicata.

Gli esperti sono tutti daccordo: la funzione Secure Boot di Windows 8 pessima per Linux,
per gli utenti e pi in generale per il Software Libero. Speriamo che il 2013 ci porti
una soluzione denitiva a questo pesante problema

a crescere sia in termini di diffusione che di usabilit,


con miglioramenti nella performance e sempre
nuove funzioni nei compiler. Allo stesso tempo
saranno disponibili nuovi software e librerie.
CL: Nel 2013 avremo

obiettivo, ma dico Perl.


Ci aspetta un anno
importante con
signicativi aggiornamenti
a Perl 5 e 6. Perl 5
avr un protocollo
meta-object, liste di parametri per le subroutine
(nalmente!) e signicativi miglioramenti sia
allinterprete che al debugger integrato. Senza
dimenticare che nuovi moduli, librerie e framework
Perl continuano ad apparire su CPAN a un ritmo
sempre sostenuto. Anche Perl 6 continuer

un sacco di novit
interessanti e anche noi
offriremo la nostra quota
di innovazione, anche
se il mio auspicio per
lanno nuovo rimane
fondamentalmente quello di crescere e di evitare
passi indietro. Se ci voltiamo a guardare quello che
successo negli ultimi anni ci accorgiamo che tutto
ha funzionato al meglio e che noi abbiamo potuto
costruire sopra lesistente. Oggi una nuova release
il risultato di molto lavoro di integrazione in modo
da assicurarci che i vari componenti lavorino bene
insieme. La diversit e la popolarit di molti nuovi
desktop sicuramente positiva per Linux, ma rende
pi difcile evitare regressioni. In questo momento
ci sono sicuramente molte innovazioni nei desktop
di Linux e non solo per quello che riguarda
lambiente, ma anche con le app di terze parti.

Greg Kroah-Hartman

Gal Duval

DC: Non sar certamente

LXP Cosa ci aspetta nello sviluppo del kernel


nell'immediato futuro?
GKH Un miglioramento costante, nuove caratteristiche
e la compatibilit con tutto lhardware prodotto
nel 2013. Linux potr cos ulteriormente diffondersi
in tutto il mondo. In pratica quello che sta succedendo
ormai da 21 anni.

LXP Avresti potuto sviluppare Ulteo usando altri


modelli? Cosa ne pensano gli investitori su di un
possibile impiego di denaro sul Software Libero?
GD Ulteo riceve indubbi vantaggi dal mondo dellOpen
Source, anche nel mercato corporate con cui siamo in
trattative. E il mondo dellOpen Source generalmente
un impulso per chi investe, specialmente in Europa.

Si tratta di un aspetto importante ma


ugualmente fondamentale non buttare via quello
che funziona non appena arriva qualcosa di nuovo
e magari gracamente pi interessante. Possiamo
goderci entrambi gli aspetti evitando che il nuovo
entri in conitto con il vecchio, ma facendo
in modo che si integrino con successo.
SZ: Ancora non posso

sapere se assisteremo
a qualcosa di
straordinario nel corso
del 2013, ho solo
qualche preoccupazione
per quanto riguarda
luso del cloud che sar sempre pi diffuso e sul
quale avremo ancora meno controllo. Penso per
che qualcosa stia cambiando per il meglio grazie
alle sempre crescenti preoccupazioni per la
privacy che nel corso del 2012 hanno avuto
una forte eco anche nei mass media. Sempre
pi persone, anche non geek, iniziano a chiedersi
che cosa ne dei loro dati e anche che tipo
di codice viene usato per gestirli. Si tratta di un
cambiamento culturale che dobbiamo cavalcare
anche allinterno dellambiente del Software
Libero, altrimenti rischiamo di conquistare il settore
dei desktop per poi accorgerci che la maggior
parte delle persone si spostata sulla nuvola dove
il software non libero e dove i dati non sono pi
controllabili dalle persone. Il 2013 sar un anno
decisivo da questo punto di vista. O riusciremo
a convincere gli utenti dei rischi che corrono
e a fornire delle alternative reali o saremo
condannati. E per quanto riguarda Debian?
Beh, mi aspetto grandi cose da Wheezy! LXP
LINUX PRO 125 21

Razor-qt

Circola un nuovo ambiente amico


della memoria e sta dando al team
di KDE qualcosa su cui riflettere.
Linux Pro vi spiega tutto...

Razor-qt
Lalternativa leggera a KDE
li appassionati di GNOME hanno avuto
vita facile ultimamente. Cosa?
griderete. Gli utenti di GNOME hanno
avuto un periodo terribile ultimamente.
Gli appassionati del vecchio ambiente sono stati
sconcertati dalla radicale revisione dellinterfaccia
e i sostenitori di GNOME 3 sono stati oggetto
di continui insulti. Queste parole sono vere.
Ma, vedete, questi utenti di GNOME che
amavano la vecchia graca 2.x e odiano
quella nuova hanno avuto una via
di fuga quando GNOME 3 uscito:
potevano passare a Xfce.
L, trovavano un ambiente maturo, pieno
di funzioni, basato su Gtk, simile allo
GNOME 2 che conoscevano e amavano,
sebbene con qualche differenza. Oppure
potevano provare LXDE, un altro ambiente
basato su Gtk. Perci la (incredibilmente
fantastica/estremamente ridicola, cancellate
quello che credete) decisione del team GNOME
non ha causato la ne del mondo. Pensate agli
appassionati di KDE che si sentivano a proprio

agio con la serie 3.x. Quando arrivata la 4.x,


che ha stracciato molto del codice di base e ha
implementato alcune funzioni chiave, questi
utenti di KDE non avevano dove andare. Non
cera alcuna soluzione omologa di ripiego, nessun
ambiente simile basato su Qt dove potessero
eseguire tutte e loro applicazioni Qt e KDE
preferite senza usare lambiente stesso (certo,
si pu eseguire quasi ogni programma Linux su

e VLC ma vogliono qualcosa un po pi leggero


e semplice della imponente bestia che KDE.
Fino a oggi: ora pronto a entrare in scena
Razor-qt (www.razor-qt.org). Autodescritto
come ambiente graco avanzato, facile da usare
e veloce basato su tecnologie Qt, Razor-qt
ancora in fase di sviluppo, essendo lultima
versione, nel momento in cui scriviamo, la 0.5.1.
Ciononostante, gi pieno di funzioni
e abbastanza solido
da essere usato come
ambiente a tempo pieno.
Soprattutto, rispetto a KDE,
molto pi leggero sui
banchi RAM. Guardate
queste statistiche dellutilizzo
della RAM in Kubuntu 11.10 dopo lavvio:
Con KDE caricato: 315 MB
Con Razor-qt caricato: 126 MB
Quindi, solo cambiando lambiente graco
si risparmiano circa 200 MB di RAM.
Razor-qt anche pi semplice e facile
da utilizzare di KDE.

pieno di funzioni e abbastanza


solido da essere usato come
ambiente a tempo pieno

22

LINUX PRO 125

qualsiasi ambiente o gestore di nestre, ma ci


siamo capiti. Le applicazioni Gtk appaiono e sono
eseguite meglio in un ambiente Gtk/GNOME e le
applicazioni Qt si sentono pi a casa in Qt/KDE).
Quindi c stato un grande vuoto nella sequenza
di ambienti Linux per quelli che amano
le applicazioni Qt di alto livello come Scribus

Razor-qt

Approntare Razor-qt nel vostro PC non dovrebbe essere difficile


oich Razor-qt un progetto piuttosto
nuovo, molte distribuzioni non lo hanno
ancora nei loro archivi di pacchetti.
Tuttavia, vale la pena dare prima unocchiata,
poich usare i pacchetti nativi della vostra
distribuzione sempre il modo pi facile
di iniziare. Come per altri ambienti graci,
Razor-qt comprende diversi pacchetti, ma ci
dovrebbe essere un singolo razor-qt base o meta
pacchetto che richiama il resto. Se state usando
Ubuntu potete installare linterfaccia tramite
un PPA, cio un Personal Package Archive
(archivio di pacchetti personalizzato) separato
dagli archivi ufciali, ma che tuttavia una
buona fonte di pacchetti afdabili e ben provati.
Ci sono pacchetti per molte versioni recenti
di Ubuntu, che vanno indietro no alla 10.04.
Perci, se avete una vecchia macchina che
esegue una versione di Ubuntu depoca del
2010 e volete dargli unaccelerazione, potete

equipaggiarla con Razor-qt molto facilmente.


Per installare su Ubuntu, inserite questi comandi
in una nestra del terminale:
sudo add-apt-repository ppa:razor-qt sudo
apt-get update sudo apt-get install razorqt
Il primo comando indica a Ubuntu che vokete
usare i pacchetti dallarchivio proprio di Razor-qt.
Poi aggiornate lelenco di pacchetti archiviato
localmente e scaricate i le di Razor-qt. Se state
eseguendo Kubuntu, per esempio, avete gi
installate la maggior parte delle dipendenze
come Qt, quindi scaricherete circa 15 MB.
Se state usando, invece, una distribuzione
non Qt, come Ubuntu di base, vi sar chiesto
di scaricare ulteriori dipendenze. Se avete
installato Fedora, CentOS o OpenSUSE, invece,
potete trovare gli archivi qui: http://download.
opensuse.org/repositories/X11:/QtDesktop.
Per ulteriori istruzioni e informazioni
relativamente alle altre distribuzioni, leggete

www.razor-qt.org/install. Se non avete


fortuna nel farlo funzionare sulla distribuzione
che avete scelto, potete provare una delle distro
Live scaricabili dallURL http://razor-qt.org/
install/live.php. Poi, naturalmente, c la strada
che prevede la compilazione dei sorgenti come
assolutamente ultima risorsa (o un po
di divertimento se vi piace fare queste cose).
Il wiki Razor-qt GitHub su http://tinyurl.com/
cd4lgrc ha molte informazioni, compreso
un utile collegamento allelenco delle
dipendenze. Una volta che avete installato
linterfaccia, disconnettetevi dalla sessione
corrente e dovreste essere in grado di scegliere
Razor-qt dalla schermata di accesso. Dopo pochi
secondi (si avvia in maniera
estremamente veloce in
confronto a KDE e GNOME)
vedrete lo spazio di lavoro,
perci esploriamolo...

Esplorare l'interfaccia
Desktop
In modo predefinito, potreste
non vedere niente qui (se non
avete niente nella vostra
cartella ~/Desktop), perch
Razor-qt ha un modo piuttosto
insolito di dividere lo spazio di
lavoro. Potete dedicare delle
aree alla visualizzazione dei
widget, uno dei quali pu
essere una vista di una cartella,
in questa schermata la nostra
cartella home. Vi mostreremo
come personalizzarla pi avanti.

Pannello
La disposizione del pannello
piuttosto tipica: all'estrema
sinistra avete il menu principale
per lanciare le applicazioni,
seguito da un commutatore
di spazi di lavoro virtuali. Poi
c' un'area destinata all'avvio
rapido delle applicazioni usate
pi di frequente, seguita
da un'area per passare tra le
app in esecuzione All'estrema
destra, vedrete un vassoio di
sistema e un orologio. Potete
cambiare la dimensione
e la lunghezza del pannello
cliccando con il tasto destro su
di un punto vuoto e scegliendo
Configura; per spostarla
cliccate con il destro e andate
nel sottomenu Posizione.

Configurazione
Sono incluse una manciata di piccole
utilit, che potete trovare tramite
il menu principale in Preferenze
D Razor-qt settings. Per esempio,

potete scegliere se le cartelle


si devono aprire con un click singolo
o doppio e permettere al gestore
di finestre di avere il controllo
completo dello spazio di lavoro.

Razor-qt non comprende


un suo gestore di finestre,
ma funziona bene
con KWin e Openbox.

LINUX PRO 125

23

Razor-qt

Leggero s, ma comunque configurabile

nche se le impostazioni predefinite di Razor-qt


sono abbastanza buone per il lavoro di tutti
i giorni, vi consigliamo senza dubbio
di ottimizzarlo alla perfezione. Iniziamo con lo spazio
di lavoro: come gi detto, diviso in aree, nelle quali
potete mettere widget (o plug-in come sono chiamati
qui). Fate click con il tasto destro su di un punto vuoto
dello spazio di lavoro e selezionate Unlock Desktop
dal menu a comparsa. Questo commuta tutto alla
modalit modifica, come reso evidente dalla grande
scritta che appare sullo sfondo (guardate la schermata).
Nella configurazione predefinita Razor-qt ha due
pannelli: quello a sinistra una vista dellorganizzazione
dei file che punta alla cartella ~/Desktop, mentre
quello a destra un orologio. Questi sono entrambi
configurabili tramite menu contestuali da tasto destro.
Fate click destro sulla vista dei file, per esempio,
e poi su Configure Plugin. Ora sarete in grado
di scegliere la cartella il cui contenuto deve essere
mostrato nel pannello. Questa piccola funzione
splendidamente utile, perch se avete molto spazio
sullo schermo potete destinarne una parte ai vostri file
musicali, una alla vostra raccolta di foto, una ai vostri file
di lavoro importanti e cos via. Questa flessibilit nello
spazio di lavoro, in un primo stadio di sviluppo, ci rende
veramente impazienti di vedere cosa verr dopo.
Al di fuori della vista dei file e dellorologio, non ci sono
molte altre estensioni di cui parlare al momento,
ma ci aspettiamo di vederne di pi nelle future versioni.
Una volta che avete finito di configurare, fate click
destro di nuovo in una parte vuota dello spazio di lavoro
e disattivate la casella Lock Desktop. Notate
che tramite questo menu contestuale potete anche
cambiare lo sfondo dello spazio di lavoro.

Attivando la modalit Modica potete ridimensionare a volont le aree sullo spazio di lavoro
che sono associate ai widget presenti nella scrivania

richiamare una casella per congurare com mostrata


(cio con Icone e testo o Solo icone). Aggiungere nuovi
elementi al pannello semplice. Fate click destro in uno
spazio vuoto e andate in Aggiungi plugin. L vedrete
un elenco di estensioni disponibili con le loro descrizioni.
Aggiungere un pulsante di Avvio rapido un po pi
complicato, per, perch non appena fate click su
Aggiungi pulsante, probabilmente non vedrete alcuna
modica al pannello. Potreste anche essere perdonati
Giocare con il pannello
Tutti gli elementi del pannello possono essere risistemati. per aver pensato che questa funzione non sia attiva in
questa versione... Ma quello che accade veramente
Premete il tasto destro del mouse in unarea vuota
che viene aggiunto un minuscolo spazio di tre pixel
del pannello e nel menu a comparsa andate
in Aggiungi plugin. L vedrete un elenco degli elementi alla parte sinistra del pannello vicino al pulsante
del Menu principale (che si ora spostato un po
del pannello e potrete spostare o cancellare ciascuno
a destra). Questo il vostro nuovo pulsante di Avvio
di essi. Per molte delle estensioni vedrete anche delle
rapido, ma ci sar da divertirsi se provate a fare click
ulteriori opzioni di congurazione, per esempio, nel
destro su di esso. Per trasformarlo in un pulsante
menu dellestensione Gestore dei processi potete
utilizzabile, aprite il menu principale, trovate
lapplicazione che volete e poi trascinate la sua icona
in quel minuscolo spazio che avete appena creato.
Allora, magicamente diventer pi grande e funzionale.
Ci piace laspetto trascina-e-rilascia di questo, ma
sarebbe molto meglio se il pulsante Avvio rapido vuoto
avesse un punto interrogativo o qualcosaltro per attirare
lattenzione. Sotto Menu principale D Preferenze D
Razor-qt settings D Strumento di congurazione
della sessione di Razor troverete un pannello di
congurazione che vi permette di selezionare un gestore
di nestre diverso (se ne avete uno installato) e scegliere
quali moduli saranno lanciati allavvio del sistema. Potete
Volete cambiare gestore delle nestre? Guardate anche ridenire le applicazioni predenite da usare per
il pannello Congurazione della sessione
navigare il Web e il terminale. Al momento, Razor-qt

24

LINUX PRO 125

non ha molte applicazioni proprie (sebbene possano


essere in arrivo, guardate il riquadro sugli sviluppatori),
perci dovrete prelevarne alcune. Ci sono due modi
di farlo. Se la vostra macchina ha un sacco di memoria,
le prestazioni non sono un problema e state
semplicemente eseguendo Razor-qt perch non
vi piace KDE, allora potete selezionare le applicazioni
di KDE come insieme di strumenti predenito.
Cio, potete usare KWrite come elaboratore di testi
principale, Konsole come emulatore di terminale e cos
via. In questo modo avete un gruppo di applicazioni
dallaspetto simile, senza il vasto insieme di funzioni
di KDE a complicare le cose. Tuttavia, se state
eseguendo Razor-qt per allontanarvi completamente
dalle bizzarrie succhia-memoria, vi consigliamo anche
di evitare i programmi di KDE, perch perno il pi
leggero di essi pu avviare dietro le quinte un gruppo
di servizi collegati a KDE. Un approccio migliore
in questo caso trovare applicazioni solo Qt,
cio programmi che si basano solo sul toolkit
e non sullintero pacchetto dellambiente graco.
Qui ci sono le nostre raccomandazioni:
Gestore di le: qtFM (www.qtfm.org)
Terminale: qterminal
(https://github.com/qterminal)
Elaboratore di testi: JuffEd
(http://www.juffed.com)
Browser: QupZilla (www.qupzilla.com)
Messaggistica istantanea: qutIM
(www.qutim.org)
Riproduttore musicale: Qmmp
(http://qmmp.ylosftware.com).

Razor-qt

Il duo dietro Razor-qt presenta la propria visione

eter Vanek (PV) e Alexander Sokoloff (AS) sono


i due sviluppatori principali dellambiente grafico.
Noi li abbiamo raggiunti per scoprire com nato
il progetto e quali sorprese ci dobbiamo aspettare.
LXP: Da dov venuta lidea di Razor-qt?
Eravate scontenti della direzione che stava
prendendo KDE o del suo utilizzo della
memoria o stato semplicemente
per togliersi uno szio?
PV: Io prima usavo solo Openbox sulla mia
macchina in ufcio (KDE a casa) ed ero alquanto
soddisfatto. Ma ho dovuto espandere Openbox
con vari componenti di terze parti. Inoltre, lavoro
solo con un piccolo insieme di strumenti nel mio
lavoro e la maggior parte di queste applicazioni
sono basate su Qt, perci ero interessato
a trovare una soluzione basata su questo toolkit.
Ho provato vari approcci storici (il gestore
di nestre Antico, Antico-deluxe e altri derivati)
ma erano tutti poco utilizzabili o non compilabili.
Poi ho trovato il vecchio codice di Razor-qt.
Era rudimentale ma non gonato dalla graca.
Sembra che pi persone stiano cercando
qualcosa di simile. Non mi piace paragonare
Razor-qt a KDE. Penso ancora che KDE sia
il miglior ambiente graco. Suggerisco alle
persone di usarlo. Ma, tuttavia, vedo alcune aree
in cui non adatto. Razor-qt unalternativa.
AS: Gli utenti nel mondo Gtk hanno parecchie
alternative a GNOME. Gli utenti di KDE non ne
avevano. Abbiamo deciso di mettere le cose a posto.
LXP: State progettando di creare
componenti internamente, come un gestore
di nestre e un gestore di le?
PV: Io sono pigro e penso che sia una delle
mie migliori caratteristiche. Sono daccordo,
inoltre, con la strategia dividi e conquista, perci
quando posso trovare qualche soluzione esterna
per qualsiasi problema vorrei usarla. Oggi siamo
in stretto contatto con vari progetti esterni
e discutiamo funzioni e soluzioni. sempre
meglio avere un gruppo o uno sviluppatore
dedicato a unapplicazione specializzata
per le nostre risorse limitate. Alcune applicazioni
di base come Andromeda, JuffEd, Qterminal,
Qupzilla sono esaminate con Razor-qt
e i problemi sono sistemati nei posti appropriati
(compresi Qt, X11, strumenti XDG ecc.).

La prossima Razor-qt 0.5 includer il supporto a LightDM (come vedete


nell'immagine, in Ubuntu), una schermata di accesso leggera
LXP: Quanto lontano pensate di spingervi
con le librerie di Razor-qt? Sono indirizzate
solo alle persone che scrivono estensioni
e componenti o prevedete applicazioni
di Razor-qt complete?
PV: Ne abbiamo parlato molte volte. Al momento
non vogliamo sviluppare applicazioni per Razor
eccetto gli strumenti relativi allambiente. Per
esempio, per me non ha molto senso sviluppare
un elaboratore di testo con grandi dipendenze
da Razor perch Qt multipiattaforma
per natura. Daltra parte, posso immaginare
uninterfaccia del gestore della rete che
usi le librerie di Razor, perch risolverebbe
i problemi del solo Razor. Comunque, qualsiasi
roba potenzialmente utile per luso pubblico che
facciamo distribuita come libreria o pacchetto
separato, per esempio la libreria QtXDG.
AS: I toolkit dividono il mondo Linux. Abbiamo
molte applicazioni che sono come gemelli. Sono
simili e al contempo differenti solo a causa del
toolkit che usano. Noi non vogliamo aumentare

lentropia, perci le librerie di Razor-qt


non sono un toolkit per le applicazioni
di terze parti ora.
LXP: Quali sono i progetti per le prossime
versioni e avete delle scadenze per la 1.0?
PV: Quando sar pronta. un progetto ancora
molto giovane. Modichiamo ancora alcune parti
interne fondamentali. Daltra parte, Razor-qt
soddisfa i miei bisogni personali ora. Ma capisco
che altre persone abbiano aspettative pi grandi.
LXP: Di quale aiuto avete pi bisogno
in questo momento, cosa possono fare
i nostri lettori per essere coinvolti?
PV: Qualsiasi aiuto sarebbe gradito. Sembra
che stiamo affrontando una situazione
pi insolita di quella degli altri progetti Open
Source. Abbiamo molti traduttori, molti creatori
di pacchetti, utenti. Ma ci manca la potenzasviluppo. Certo, abbiamo gli sviluppatori principali
e grandi contributori, ma qualsiasi nuova mano
daiuto sarebbe gradita. Ricordate: programmare
per un progetto giovane divertente. LXP

Sviluppatori, sviluppatori, sviluppatori


Se scrivete software in Qt, non dovrete fare molto
per assicurarvi che i vostri programmi si adattino
bene allambiente graco. Comunque, c una libreria
disponibile per aggiungere alcune funzioni speciche
di Razor-qt alla vostra applicazione, migliorandone
lintegrazione. Potete trovare un elenco delle classi

API su http://razor-qt.org/develop/docs/classes.html,
la maggior parte delle funzioni sono per gli sviluppatori
che scrivono estensioni del pannello. Guardate
http://tinyurl.com/92bsa58 per una breve guida
che mostra come implementare una semplice estensione
Hello world. Non c molta attivit in termini

di estensioni del pannello di terze parti al momento,


ma speriamo che pi sviluppatori saliranno a bordo
e avremo presto il meglio di entrambi i mondi:
un ambiente graco minimalista con bassi sovraccarichi
nel pacchetto fondamentale, con molte funzionalit
disponibili da altre fonti.

LINUX PRO 125

25

tua Raspberry Pi

Potenzia la

Raspberry Pi

bbiamo gi dedicato un paio di lunghi


articoli a Raspberry Pi, il computer
grande come una carta di credito
di cui tanto si parla in Rete, ma viste
le richieste che ci sono giunte in redazione
abbiamo realizzato questo articolo
con lo scopo di aiutare chi ha ricevuto
da poco la scheda o chi sta pensando
se acquistarla o meno. Raspberry Pi ha fatto
impazzire gli hobbisti di tutto il mondo come
non accadeva da tempo. La produzione
iniziale di 10.000 pezzi andata esaurita
cos velocemente che solo i pi fortunati
e i fan pi accaniti sono riusciti ad
aggiudicarsene un esemplare e anche ora le
schede vengono vendute non appena escono
dalla fabbrica. Questo non ci sorprende, visto
che per circa 33 Euro ottenete un computer
Linux completo con un processore ARM

26

LINUX PRO 125

Con il suo fidato saldatore, Linux


Pro vi mostra come ottenere
il massimo dalla piccola scheda
e 512 MB di RAM (per le schede prodotto
dopo il 15 ottobre). Lo scopo del progetto
quello di rivoluzionare il mondo delleducazione
nelle scuole, ma troppo presto per capire
se tale obiettivo verr raggiunto. Ma una cosa
sicura: il mondo dellhacking hardware
amatoriale non sar mai pi lo stesso. Questi
piccoli ma funzionali sistemi sono perfetti per
portare un po di capacit elaborativa in posti
inusuali dove lo spazio e lelettricit sono

un plus. Sono andati nello spazio e sono stati


attrezzati per attraversare loceano, ma sono
stati usati anche per progetti casalinghi o per
pilotare macchine in remoto. In queste pagine
vi mostriamo alcuni dei possibili usi della
Raspberry Pi (RP dora in poi per brevit).
Grazie alla versatilit di GNU/Linux facile
trasformare la RP in qualunque cosa,
da un desktop a un media center
o un controller per lhardware.

Raspberry Pi

Guida alle distro


C

ome ci si pu aspettare, esiste una


discreta variet di distro per la RP
e ogni tanto sembra spuntarne una
nuova. In queste pagine vi illustreremo alcune
delle pi popolari, assieme a qualche novit.
In un computer normale linstallazione
di GNU/Linux avviene in modo diverso da
quanto si fa con la RP. Visto che il sistema
operativo per la RP funziona su una scheda
SD, dovete scrivere il sistema operativo su
questo tipo di dispositivo. Il modo pi semplice
di farlo da Linux tramite il comando dd.
Questo tool fa una copia bit-a-bit dei dati

tra un dispositivo e un le (o anche tra due le


o due dispositivi). Le distro sono fornite come
le immagine (simili alle ISO per i CD) che
possono essere scritte sulla SD, dopo essere
state decompresse se necessario, cos:
sudo dd if=<le-immagine> of=<dispositivo-sd>
bs=4k
sudo sync
Il secondo comando assicura lesecuzione
della scrittura dei dati sulla SD (viene svuotato
il buffer di scrittura). Quindi, per esempio,
nel nostro computer di test, con due hard disk
(sda e sdb), il lettore SD si trova in /dev/sdc.

Raspbian

Questa la distribuzione
raccomandata dalla Fondazione
Raspberry Pi. A meno che
non abbiate una buona ragione
per usare altro, probabilmente
lopzione migliore. basata
su Debian Wheezy, quindi potete
installare qualunque cosa
si trovi negli enormi repository
di Debian. Lambiente desktop
di default LXDE, molto leggero,
ma un po troppo semplice per
alcuni. Per chi vuole qualcosa
in pi consigliamo Xfce.

In Raspbian trovate il tool


raspi-cong che probabilmente
il modo pi semplice
per congurare la vostra RP.
Visto che la RP stata pensata
per avvicinare i pi giovani
alla programmazione, anche
Raspbian ha la stessa cosa
in mente. Troverete Idle
(un IDE per Python) e Scratch
(un ambiente di programmazione
per i pi piccoli) sul desktop.
disponibile allURL
www.raspberrypi.org.

RaspBMC
La RP stata progettata a scopo
educativo, ma gli hobbisti
sono stati velocissimi nel trovarle
nuove funzioni. RaspBMC
pensata per trasformare
la RP in un media center
da collegare alla TV e da
controllare con il telecomando
del televisore. Si basa su XBMC,
che vi consente di riprodurre
musica e video che avete
in locale, oppure di fare
streaming da Internet.
Limmagine del sistema

pu essere scaricata
da www.raspbmc.com.
Per i dettagli sullinstallazione
e il setup, continuate a leggere
questo articolo. Se avete
pronto un back-end MythTV,
potete usare XBMC come
front-end. A seconda
di cosa vorrete riprodurre,
potreste dover acquistare
dei pacchetti di codec che
forniscono accesso a formati
audio/video che si appoggiano
ad algoritmi protetti da brevetti.

Se non siete sicuri di quale sia il dispositivo


usato dalla vostra scheda SD, digitate df -h nel
terminale e vedrete un elenco dei dispositivi.
Dovreste riconoscere qual lSD. Per fare
il backup della congurazione della RP, potete
successivamente creare una nuova immagine
invertendo lorigine (if) e la destinazione (of)
nel comando dd. Per esempio
sudo dd if=<dispositivo-sd>
of=<nuovo-le-immagine> bs=4k
Questa immagine potr poi essere compressa
con gzip o bzip, quindi non occuper
molto spazio di disco.

Arch Linux
Mentre Raspbian stata creata
cercando di nascondere
agli utenti il setup interno
del sistema operativo, Arch
Linux progettata per aiutare
gli utenti a capire come funziona
il sistema. Limmagine iniziale,
disponibile su www.
raspberrypi.org, include
solo il sistema base per far
funzionare la RP e farla
connettere alla rete.
Manca la maggior parte
dei programmi che di solito

si vogliono usare, ad esempio


un ambiente desktop.
Trovate tutte le informazioni
che vi servono all'indirizzo
Web http://bit.ly/9APmgA.
Partendo dallo stato iniziale
ci vuole un po di tempo
per ottenere un sistema pronto
alluso, ma strada facendo
imparerete per bene
il funzionamento interno
di una distro. Se lo sforzo
ne valga la pena, dipende
solo dalla vostra volont.

Android
Una versione ufciale di Android
per la RP in fase di lavorazione
(ufciale nel senso che
approvata dalla Raspberry
Pi Foundation). La fondazione
ha fornito dei video di Android
in esecuzione ma al momento
in cui scriviamo non disponibile
per il download. Per eventuali
news tenete sotto controllo
www.raspberrypi.org.
La comunit sta lavorando
a una versione non ufciale,
per. Le prestazioni non sono

eccelse come
promettono
di essere
quelle
della versione
ufciale, ma
gi disponibile
(anche se gli
sviluppatori
la descrivono
come scarsamente usabile).
Controllate http://androidpi.
wikia.com/wiki/Android_
Pi_Wiki.

LINUX PRO 125

27

Raspberry Pi

Raspbian
Per la maggior parte degli utenti di RP,
Raspbian sar linterfaccia graca di questo
computer. Potete ottenere limmagine
e installarla su scheda SD come spiegato
nella pagina precedente. Una volta pronta,
una buona idea aggiornare il software
presente collegando la RP a Internet,
aprendo un terminale e digitando
sudo apt-get update
sudo apt-get upgrade
Il tool chiave di Raspbian raspi-cong.
Partir automaticamente al primo avvio,
ma potete anche richiamarlo in qualunque
momento da terminale digitando sudo
raspi-cong. Presenta un buon numero
di opzioni, le pi importanti delle quali sono:
expand_rootfs Visto come si installa
su SD Raspbian, viene creato solo un
lesystem da 2 GB indipendentemente
dalla dimensione della scheda SD che usate.
Quindi, con una scheda pi grande di 2 GB,
lo spazio rimanente non sarebbe utilizzabile.

Potete usare questa opzione per espandere


il lesystem in modo che occupi tutto
lo spazio disponibile.
memory_split La RP usa lo stesso blocco
di memoria sia per il processore principale
sia per il chip graco. Usando questa opzione
potete cambiare la quantit di memoria
allocata ai due elementi.
overscan Questa opzione pu essere
usata con alcuni display per fare in modo
che la graca occupi lintero schermo.
Potete tranquillamente ignorarla
se non avete problemi.
overclock Ottenete il 50% di prestazioni
extra senza costi aggiuntivi! Guardate il box
in basso per maggiori dettagli.
boot_behaviour Questa opzione dal
nome un po criptico cambia la modalit

+
di boot, graca o testuale.
La quantit di software presente in Raspbian
stata mantenuta al minimo indispensabile
o poco pi. Questa unottima idea,
ma usando la distro potreste sentire
la mancanza di qualcosa. Fortunatamente,
visto che Raspbian legata ai repository
ARM di Debian, avete accesso a pi
programmi di quanti possiate desiderare.
Se state usando un mouse, potreste voler
installare un gestore di pacchetti graco:
vi raccomandiamo Synaptic. Per installarlo
digitate in un terminale
sudo apt-get install synaptic
Potete aprirlo dal menu di LXDE D
Preferences D Synaptic Package Manager.
Ovviamente potete installare anche tutti
gli altri programmi che volete.

14 hack strabilianti
Trasformare una RP in un portatile: http://rpidock.blogspot.it
Usare un Kindle come schermo: www.ponnuki.net/2012/09/kindleberry-pi
3 Trasformare RP in una sorta di supercomputer: http://bit.ly/OGBGfD
4 Controllare il vostro Arduino via Web: http://bit.ly/Xyjsld
5 Costruire un sintetizzatore: www.raspberrypi.org/archives/1878
6 Vagare nella notte remotamente: www.aonsquared.co.uk/the_dark_pi_rises
7 Controllare dei pannelli solari: http://bit.ly/MHwCHF
8 Conversare con uno straniero: www.willpowell.co.uk/blog/?p=219
9 Inviare un carico nello spazio: www.daveakerman.com/?p=592
10 Controllare una casa dal Web: http://bit.ly/WK1YCR
11 Birra fatta in casa: http://bit.ly/PSfdzr
12 Giocare con vecchi giochi: http://petrockblog.wordpress.com/retropie
13 Imparare a costruire un SO: www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os
14 Stampare foto: http://bit.ly/PvmWjF
1
2

Come tutte le buone distro, Raspbian include


una selezione di programmi per i "perditempo".
Nell'immagine vedete Squirrels dei Pygames

Overclocking
Il processore al cuore della Raspberry Pi progettato
per funzionare a 700 MHz. Questo vuol dire che
esegue 700.000.000 di operazioni al secondo.
Certo, progettato per funzionare non vuol dire
deve funzionare: potete incrementare quella
velocit. Facendolo, per, aumenterete i consumi
energetici e di conseguenza il calore generato. Se
la scheda si scalda troppo, rischiate di ritrovarvi con
un grumo di silicio piuttosto che con un processore
funzionante. Fortunatamente lultima versione di
Raspbian include un tool che vi aiuta ad aumentare
la velocit tenendo sotto controllo le temperature.
Visto che si tratta di uno strumento ufciale, usandolo
non invaliderete la garanzia (diversamente da altri
metodi sorti in precedenza). Per overcloccare

28

LINUX PRO 125

la vostra RP non dovete fare altro che digitare sudo


raspi-cong e selezionare Overclocking. Ci sono
alcune opzioni tra cui scegliere, in base a quanto
coraggiosi vi sentite. Se trovate che la vostra RP
diventa instabile, riavviate il sistema tenendo premuto
il tasto Shift per disabilitare loverclocking e poi
cambiate le opzioni in raspi-cong. Limpostazione
pi estrema dovrebbe darvi il 50% in pi di
prestazioni: nelle nostre prove questo ha fatto
la differenza per quel che riguarda lesperienza
desktop, soprattutto con la navigazione Web. Se
volete tenere sotto controllo la temperatura del core
potete aggiungere il relativo widget nel pannello
di LXDE. Comunque RP spegner automaticamente
loverclock al raggiungimento degli 85 gradi.

Loverclocking aumenter la quantit


denergia consumata dalla RP, quindi
diventer meno stabile se collegate diversi
dispositivi USB

Raspberry Pi

RaspBMC
Potete installare un player multimediale
come VLC in Raspbian e usarlo per
riprodurre musica e lmati. Questa soluzione
pu andare bene se usate RP come un
normale computer e ricorrete alle funzioni
multimediali di tanto in tanto. Per, viste
le ridotte dimensioni dellhardware e il fatto
di essere silenziosa, la RP lo strumento
ideale per costruire un centro
dintrattenimento multimediale. Potreste
partire da Raspbian e personalizzarla
in base alle vostre necessit, e ci va bene
se avete in mente un utilizzo poco
tradizionale. Altrimenti, visto che come
noi di LXP probabilmente sarete un po pigri,
sarebbe preferibile sfruttare il lavoro altrui
piuttosto che fare uno sforzo in prima
persona. Fortunatamente per noi e per voi,
un gruppo di hacker si sono accollati
le difcolt legate alla costruzione
di un media center per la RP, creando
unimmagine scaricabile da tutti. Potete
recuperare linstaller da http://bit.ly/
PSFGIe, copiatelo nella RP (presumiamo
che abbiate gi installato Raspbian
in alternativa su www.raspbmc.com
trovate altri modi per procurarvi RaspBMC)
e poi avviatelo con
sudo python install.py
per scaricare e impostare la distro.
Il contenuto attuale della scheda SD verr
rimpiazzato, quindi assicuratevi di aver
copiato eventuali le utili prima di dare
il comando. Quando linstaller ha terminato,
riavviate il sistema. Noterete subito delle
differenze non appena partir lambiente
graco. Questa distro usa come desktop
il popolare media center XBMC, decisamente
diverso da LXDE di Raspbian. Potete
riprodurre le multimediali locali, in rete,

Basta poco per ottenere un media center


eccellente che si pu comandare anche
con il telecomando del televisore

Questo il telecomando remoto di default, ma ci sono altre interfacce pi carine


se provate a guardare tra le impostazioni di RaspBMC

su Internet (installando svariati add-on).


Potete aggiungere musica e lmati a XBMC
collegando un dispositivo USB, oppure
mettendoli direttamente nella scheda SD via
FTP (nome utente pi, password raspberry).
Pi avanti vi diciamo come trovare lindirizzo
IP della RP. Forse le uniche congurazioni
necessarie sono quelle relative alla lingua
(se volete lambiente in italiano) e allaudio,
per vericare che sia inviato nel posto giusto.
Per impostare litaliano andate in System
D Settings D Appearance D
International. Per laudio andate in Sistema
D Impostazioni D Sistema D Uscita
audio e impostate analogico o HDMI in base
a ci che state usando. Tutto questo va bene,
ma un po scomodo da usare con mouse
e tastiera. La buona notizia che a XBMC
stato aggiunto il supporto per il controllo
remoto, oppure tramite il telecomando
del televisore. Nel secondo caso dovete
vericare le impostazioni del televisore
cercando la funzione HDMI-CEC (chiamata
in modi diversi nei vari televisori). Per
laccesso remoto, invece, c una pratica
interfaccia Web. Usando un qualunque
dispositivo dotato di browser potrete cos
controllare la riproduzione in XBMC. Questa
interfaccia abilitata di default, quindi dovete
solo scoprire lindirizzo IP della RP andando
in Sistema D Info sistema D Rete.

A questo punto vi basta inserire questo


indirizzo IP in un browser e il gioco fatto.
Se poi avete a disposizione uno smartphone
Android o iOS, potete trovare alcune app
nei vari store che vi consentono di controllare
in remoto XBMC. Nelle nostre prove
abbiamo notato che Raspbian porta
al limite i consumi energetici. Se collegate
alcune periferiche USB e notate che
la distro diventa un po instabile, potrebbe
essere questo il motivo. Il modo per mitigare
il problema potrebbe essere utilizzare
un hub USB alimentato.

Andando oltre
possibile ottenere il controllo completo
del vostro televisore usando Linux, inclusa
la visione in diretta della TV e la registrazione
delle trasmissioni. Potete fare questo
usando MythTV (www.mythtv.org).
Vi servir un secondo computer collegato
allantenna che agisce come server.
Attenti per: congurare MythTV
complesso. Per recuperare i le video
da visualizzare con RaspBMC, poi, potete
memorizzarli in un altro computer connesso
in rete oppure in un NAS. Il modo in cui farlo
dipende da come condividete i le, ma tutto
parte da Aggiungi video. Per altre
informazioni leggete le pagine del wiki
allURL http://bit.ly/OOvXb6.

LINUX PRO 125

29

Raspberry Pi

Controlla la fotocamera
Fate il backup delle vostre foto con Raspberry Pi
Le dimensioni della RP consentono
di usare questo computer per controllare
altri dispositivi embedded. Questo
potrebbe sembrare un po ridondante
i dispositivi embedded hanno gi
una qualche forma di controllo ma vuol
dire che possibile usare degli script
ed estenderli in modi altrimenti impossibili
(o almeno molto difcili) senza
un dispositivo extra. Quasi tutto quello
che potete collegare a un PC pu essere
gestito dalla RP; in queste pagine daremo
uno sguardo alle fotocamere per un paio
di ragioni. Per prima cosa, Linux ne
supporta molte, e secondariamente esiste
un discreto range di progetti che potete
portare avanti una volta apprese le basi.
Il miglior tool da riga di comando
per la manipolazione delle fotocamere
da Linux Gphoto2. Installatelo con
sudo apt-get install gphoto2
Ora diamo unocchiata agli utili tool
che questo progetto ci offre. Lambiente
desktop potrebbe cercare di montare la
fotocamera e questo potrebbe dare noia
a Gphoto2, quindi meglio procedere
senza ambiente graco. Aprite un
terminale e digitate sudo raspi-cong
e sotto Boot Behaviour selezionate
la voce che non fa avviare il desktop,
poi riavviate. Nel nostro sistema di test

Alimentare la RP
La Raspberry Pi trae lalimentazione dalla porta
micro USB. Questa fornisce 5V, e la Raspberry
Pi Foundation consiglia una corrente di almeno
700mA. Questo si pu ottenere con un
alimentatore da rete, oppure collegando un
cavo USB al computer o ai televisori dotati di
porta USB. Se volete rendere portabile la RP, ci

abbiamo visto che lenergia elettrica fornita


alla RP sufciente, ma volendo usare
un mouse preferibile adottare un hub
USB alimentato. Ovviamente questo
dipende da che dispositivi collegate e dalla
fonte di corrente. Nellambiente testuale
collegate la fotocamera ed eseguite
gphoto2 --auto-detect
Il comando cercher di trovare
la macchina collegata alla RP. Molto

LINUX PRO 125

ampio, ma non include tutti gli esemplari


esistenti. Se la vostra non tra quelle
compatibili, non vi rimane che cambiare
macchina. Non tutte le fotocamere sono
uguali e il prossimo passo vi serve
per capire cosa pu fare la vostra.
Per elencare le azioni possibili digitate
gphoto2 --auto-detect --abilities
Ci sono, in linea generale, due classi
di azioni: cattura e upload/download.
La prima
classe
vi consente
di scattare
le foto
dai vostri
script
ed presente nei modelli superiori.
La seconda classe vi permette
di manipolare le foto memorizzate nella
scheda di memoria ed attiva per la
maggior parte delle fotocamere. In queste
pagine usiamo questa seconda classe
di funzioni. Il comando pi semplice
che potete inviare alla fotocamera quello
che vi fa ottenere tutte le foto presenti
nella memoria del dispositivo:
gphoto2 --auto-detect --get-all-les
Avviando questo comando scaricherete
tutti i le dalla fotocamera nella directory
corrente. Questo andrebbe bene su un
computer normale, ma sulla RP non pu
andare perch si rischia di riempire
in breve tempo la scheda SD. Conviene
copiarle su una chiave USB. Per fare
questo in una sessione interattiva potreste
semplicemente usare un tool graco per
montare la chiave USB, usare df -h per
vedere dov montata la chiave e spostarvi
al suo interno con cd. Per, volendo fare
le cose in automatico tramite script,
bisogna trovare un modo per capire dove
viene montata la chiave. Ci sono alcuni
modi per farlo, ma faremo la scelta pi
semplice: monteremo la prima partizione

Le dimensioni della RP consentono


di usarla per controllare altri
dispositivi embedded
probabilmente individuer la vostra il
numero di fotocamere supportate molto

In questa forma, il tutto non molto portabile, ma con un po di giudizioso fai-da-te


dovreste essere in grado di assemblare il tutto in modo corretto

30

sono alcune opzioni. Quattro batteria AA


dovrebbero fornire abbastanza potenza,
supponendo che abbiate le conoscenze e i cavi
per collegare il tutto. Per noi troviamo che la
soluzione migliore sia usare una di quelle
batterie di riserva per gli smartphone dotata di
cavo micro USB.

Raspberry Pi
del primo disco e memorizzeremo
l le foto. Ipotizziamo che stiate usando
lutente standard, pi. Se non cos dovete
modicare lo script che stiamo
per presentarvi. Per prima cosa bisogna
creare un punto di montaggio per il drive.
Serve quindi una cartella e pu essere
messa ovunque nello script tralasceremo
le convenzioni e la metteremo nella home.
Quindi, prima di eseguire lo script, digitate
mkdir /home/pi/pic_mount
Fatto questo siete pronti a proseguire.
Ecco lo script per montare il drive
e recuperare le foto:
#!/bin/bash
if mount /dev/sda1 /home/pi/pic_mount ;
then
echo Partition mounted
cd /home/pi/pic_mount
yes n | gphoto2 -- auto-detect
--get-all-les
umount /dev/sda1
else
echo /dev/sda1 could not be mounted

yes n un comando che emette


semplicemente uno stream di caratteri n.
Questo vuol dire che quando Gphoto2
chiede se si vuole sovrascrivere qualche
immagine, la richiesta verr declinata.
Il comando umount essenziale,
perch assicura che la chiave USB
sia opportunamente sincronizzata
prima di essere rimossa. Abbiamo
chiamato lo script get-pics.sh
e lo abbiamo salvato nella home directory
della RP. Per renderlo eseguibile si usa
chmod +x /home/pi/get-pics.sh
Ora dovreste essere in grado di eseguirlo
a mano. Dovrete usare sudo perch
bisogna montare ununit esterna.
Il pezzo nale del puzzle lesecuzione
automatica di questo script. Per fare
questo lo aggiungiamo a /etc/rc.local.
Lo script viene eseguito al boot,
con i privilegi di root, quindi non
c bisogno di preoccuparsi dei permessi.
Vi basta aprire il le con un editor
con privilegi di root. Ad esempio,
con sudo nano /etc/rc.local,

aggiungete la linea seguente:


/home/pi/get-pics.sh
appena prima della linea exit 0. Ora
tutto quello che dovete fare collegare
la fotocamera (assicuratevi che sia accesa)
e la chiave USB: lo script far il backup
di tutte le foto.

Evoluzione
Se volete usare la RP senza uno schermo,
e molti lo vorranno, potreste collegare
dei LED ai pin GPIO, come mostrato
pi avanti, e usarli per indicare lo stato.
Cos come avete salvato le foto su chiave
USB, potreste caricarle su un servizio
ondine, come Flickr. Leggete il box
qui in basso per vedere come collegare
alla rete la vostra RP tramite
lo smartphone. Potete includere una sorta
di switch per dire alla RP quali foto
caricare, e quali invece mettere su chiave
USB, ad esempio caricare online quelle
in bassa risoluzione e salvare su USB
quelle in alta. Oppure potreste far creare
allo script le versioni in bassa risoluzione

da mettere online. Certo, non dovete


fermarvi a questo punto. Se avete
una chiave USB Wi-Fi, potete usarla per
trasformare la RP in un server Web. Con
un po di scripting PHP (o in qualche altro
linguaggio per il Web) potreste creare
uninterfaccia graca per Gphoto2 che
vi consenta di collegarvi dallo smartphone.
Prendendo invece una direzione diversa,
se la vostra fotocamera supporta lopzione
di cattura, potreste usare la vostra RP
per scattare foto, oltre che per copiarle.

Gphoto2 ha molte pi funzionalit di quelle che abbiamo usato in queste pagine, inclusi i binding
per Python e Java. Per tutti i dettagli del caso visitate il sito Web del progetto, www.gphoto.org

Networking
La Raspberry Pi ha di serie una porta di rete
Ethernet, comoda in molte occasioni, ma non
sempre il cavo di rete arriva ovunque. possibile
usare una chiave USB wireless (sul wiki di RP trovate
un elenco di chiavi compatibili). Comunque, se avete
uno smartphone Android e il vostro provider non ha
disattivato questa feature (il tethering), potete usarlo
come dispositivo di rete. Questo ha il vantaggio
di non consumare energia dalla RP e quindi una
buona soluzione quando state usando delle batterie
per alimentare la RP. Dovreste essere in grado

di condividere sia la connessione Wi-Fi sia il 3G.


Ovviamente conviene controllare quale delle due
connessioni si sta usando prima di scaricare le
di grandi dimensioni. Per fare ci, collegate
il vostro telefono alla RP, poi abilitate il tethering
in Impostazioni D Wireless e rete D Tethering.
Tornando alla RP, se digitate sudo ifcong, dovreste
vedere linterfaccia usb0, priva di indirizzo IP, per.
Le interfacce di rete sono controllate dal le /etc/
network/interfaces. Di default non c una voce
per il networking USB, quindi dovete aggiungerlo voi.

Aprite il le con il vostro editor di testo preferito


(con sudo). Per esempio, con sudo nano
/etc/network/interfaces e aggiungete le linee
iface usb0 inet dhcp
nameserver 208.67.220.220
nameserver 208.67.222.222
Qui abbiamo usato i nameserver di OpenDNS,
ma potete usare quelli che volete. Ora potete
riavviare le interfacce di rete oppure la RP
per attivare i cambiamenti. A questo punto
la connessione Internet dovrebbe essere attiva.

LINUX PRO 125

31

Raspberry Pi

Inviare output
Usate i pin GPIO per illuminare alcuni LED
Prima abbiamo detto che le ridotte
dimensioni della RP la rendono perfetta
per controllare altri dispositivi embedded,
ma lo stesso vale se si vuole creare un
proprio dispositivo embedded. Si potrebbe
creare un piccolo computer che risolva un
particolare problema, come il controller per
la fotocamera visto nelle pagine precedenti.
Il guaio che potrebbe essere un po
difcile capire cosa sta succedendo nella RP
se non si usa uno schermo. Fortunatamente
i progettisti del piccolo computer hanno
pensato a questo problema e hanno
aggiunto la possibilit di ottenere
informazioni (o inviare degli input) senza
usare le usuali periferiche per PC (schermo,
tastiera e mouse). Questo si pu fare

GND

Pin 7

tramite il General Purpose Input and Output


(GPIO). Vi sareste chiesti a cosa servono
tutti quei pin posti vicino alla scheda SD
bene, state per scoprirlo. Questo circuito
pu essere usato per mostrare informazioni

ma non potete congurargli un indirizzo IP


statico perch, per esempio, dovete
spostarla in diverse reti. Di solito potete
individuare i primi tre byte dalla netmask,
ma quello nale pu essere elusivo
se non si ha un monitor. Useremo
il programma gpio, che
fa parte di WiringPi. Potete trovare
altre informazioni allURL
http://bit.ly/RP8UKJ. Potete
scaricare il codice sorgente
compresso, per cui
decomprimetelo e compilatelo:
tar xvf wiringPi.tgz
cd wiringPi/wiringPi
make
sudo make install
cd ../gpio
make
sudo make install
Bisogner usare anche bc, quindi digitate
sudo apt-get install bc
Ora basta con il software, si passa
allhardware. Una breve nota, per, prima
di iniziare: possibile rompere la RP
collegando in modo errato i li, quindi
controllate tutto due volte prima
di alimentare la RP. Il circuito che vi serve
molto semplice: sufciente collegare
ogni output al terminale positivo di un LED
(in genere quello pi lungo), e poi il
terminale negativo (quello pi corto) a una
resistenza da 10K Omh. Inne collegate
laltro lato della resistenza a massa.
Guardate le gure 1, 2 e 3 per i dettagli.
Una volta preparata la basetta da
connettere alla RP, il momento di dare
il via allesperimento. Per iniziare si usa
il pin nale. Questo il pin 7 (il layout dei
pin non segue un percorso ordinato). Aprite
il terminale e preparate un output con
gpio -g mode 7 out

possibile rompere
la RP collegando in modo
errato i fili elettrici
da qualunque sorgente, ma in queste
pagine lo useremo per risolvere un
problema in cui incappiamo spesso: trovare
il byte nale di un indirizzo IP. Ci utile se
volete accedere in remoto alla vostra RP,

Pin 8

Pin 25

Pin 23

10

15

20

25

30

10

15

20

25

30

A
B
C
D
E

F
G
H
I
J

1 Qui vedete come sono collegati la met dei LED. Gli altri si collegano allo stesso modo

Legge di Ohm
Ci sono due modi per misurare lelettricit:
tensione e corrente. La tensione (misurata in Volt)
la quantit denergia posseduta da una certa
quantit di elettroni, mentre la corrente (misurata
in Ampere) la quantit di carica elettrica che
attraversa una determinata supercie nellunit
di tempo. Le due grandezze sono intimamente
legate dalla legge di Ohm che dice: Tensione
= Corrente * Resistenza, o V=IR. Potete usare
questa legge per assicurarvi di non friggere

32

LINUX PRO 125

la vostra RP fornendole troppa corrente. Il setup


esatto della RP un po complesso. Se volete
entrare nei dettagli, Gert van Loo (uno dei
progettisti) ha messo assieme delle spiegazioni
che potete trovare allindirizzo Web http://bit.ly/
Qp4PMl. A spanne, potete aspettarvi di avere
in uscita 3,3V da un pin GPIO e non dovreste
ottenere pi di 16mA, oppure fornire pi di questo
valore a un pin di input. Questa la corrente
massima, dovreste cercare di usarne meno.

Quindi, con la legge di Ohm V=IR, potete calcolare


R=V/I. Usando i dati forniti per la RP, e non
volendo danneggiare il piccolo computer,
si trova che R deve essere almeno di 3,3/0,016
Ohm, cio 206,25 Ohm. Ricordate, questa
la resistenza minima da usare in modo sicuro con
un output GPIO. Dovreste usare una resistenza
diverse volte maggiore per avere un margine di
sicurezza. Nei nostri circuiti abbiamo usato 1000
Ohm, con un fattore di sicurezza di circa 5.

Raspberry Pi
Ora attivatelo con
gpio -g write 7 1
e spegnetelo con
gpio -g write 7 0
Fatto? Funziona tutto? Ok, ora procedete
con lo script che vi mostriamo ora.
Esso contiene quattro parti. La prima
imposta i pin nella modalit corretta
e si assicura che siano spenti:
pins=7 8 25 24 23 18 15 14
for x in $pins
do
gpio -g mode $x out
gpio -g write $x 0
done
La seconda parte recupera lindirizzo IP
da ifcong, lo converte in binario e lo
prepara per loutput:
ipaddress=`ifcong eth0 | grep inet | awk
{print $2} | cut -f4 -d.`
binary=`echo
ibase=10;obase=2;$ipaddress | bc`
paddedBinary=`printf %08d $binary`
La parte successiva usa cut per estrarre
la parte che ci serve dalla stringa binaria
e la invia ai pin corretti:
bit=1
for x in $pins
do
out=`echo $paddedBinary | cut -b$bit`
gpio -g write $x $out
bit=$((bit+1))
done
Inne diciamo allo script di addormentarsi
per cinque minuti per poi spegnere i LED.
sleep 5m
for x in $pins
do
gpio -g write $x 0
done
Trovate questo script (assieme agli altri le
di cui abbiamo parlato nellarticolo) allURL
http://bit.ly/12zC9HU; recuperatelo
e rendetelo eseguibile con:
chmod a+x showIP.sh

Pin 7 Pin 8 Pin 25

Pin 24 Pin 23

Gertboard e Arduino
Collegandovi direttamente ai pin GPIO
della RP avete un controllo di base di input
e output, ma ci sono delle limitazioni.
Ci sono due dispositivi che potete usare
per interagire in modo pi preciso con
il mondo circostante. La Gertboard una
scheda despansione piuttosto complessa
per collegare la RP al mondo reale e include
un micro controllore e un set di opzioni
di input e output. Viene venduta in un kit

Pin 7

Pin 8

Pin 25

Pin 24

da assemblare, quindi vi servir un saldatore


per mettere tutto assieme. In alternativa
potete usare la nostra amata Arduino,
un micro controllore che potete collegare
alla RP (o a ogni altro computer) via USB.
Potete acquistare Arduino da sola, oppure
in vari kit. Nella sua forma base ha qualche
feature in meno rispetto alla Gertboard
(che include un controller Arduino),
ma potete espanderla con diversi shield.

Pin 23

Pin 18

Pin 15

Pin 14

GND
3 Il semplice circuito in tutta la sua gloria

Poi digitate sudo ./showIP per visualizzare


il vostro IP. Per fare in modo che lo script
parta automaticamente al boot vi basta
aggiungere la linea
/home/pi/showIP.sh &
al le rc.local. Nelle pagine precedenti
vi abbiamo spiegato come fare. Avete visto
come inviare un output tramite GPIO
ma, come suggerisce il nome, anche
possibile inviare un input. Come prima,
anche in questo caso bisogna fare
attenzione ai li che si collegano e a non

Pin 18 Pin 15 Pin 14


GND

2 Collegate la breadboard a questi pin. Noi abbiamo usato dei normali connettori a singolo
pin, ma potete anche ricorrere al saldatore o usare un vecchio cavo IDE

inviare troppa corrente alla scheda. Per


accettare linput bisogna impostare questa
modalit con gpio -g mode <numero_
pin> in e poi leggere il valore con gpio -g
read <numero_pin>. Lhardware pu
visualizzare ogni informazione a otto bit,
quindi non siete limitati a mostrare indirizzi
IP. Ad esempio si potrebbe fare una
versione modicata dello script della
fotocamera per usare i LED in modo
che indicano lo stato davanzamento
della copia. Potete trovare ulteriori
informazioni sui pin GPIO allURL
http://bit.ly/JTlFE3. I pin che abbiamo
usato sono gli stessi sia che abbiate
la RP revisione 1 sia la revisione 2,
ma altri sono cambiati tra le due versioni.
Se progettate dei circuiti vostri, o usate
quelli trovati sul Web, assicuratevi
di collegarvi ai corretti pin sulla scheda.
Non dovete limitarvi a spegnere
e accendere i pin. La RP supporta
alcuni metodi per passare maggiori
quantit di dati attraverso GPIO.
I due metodi pi comuni sono il bus
Serial Peripheral Interface (SPI)
e Inter-Integrated Circuit (I2C).
Esistono diversi dispositivi da usare
con questi strumenti, una ricerca sul Web
vi dir tutto. Cosa aspettate?
Tirate fuori il saldatore e preparatevi
a costruire la vostra armata robotica! LXP
LINUX PRO 125

33

Sysadmin

Premiata Amministreria

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.

Nuovi corsi
di formazione
Gi da qualche tempo la Linux Foundation
offre corsi di formazione (in inglese), ma nora
si trattava quasi esclusivamente di proposte
per autentici guru del kernel, con titoli come
Linux Kernel Internals and Debugging
oppure Developing Linux Device Drivers.
Recentemente, per, il portafoglio dei corsi
si allargato no a comprendere corsi
per utenti e amministratori, con titoli come
Linux Administration o Cloud Architecture
and Deployment. Vengono proposti anche
corsi pi brevi, dalle due ore ai due giorni,
che trattano il delicato argomento della
conformit allOpen Source: una materia
su cui io sono cos profondamente ignorante
da non sapere nemmeno con cosa si possa
desiderare di essere conformi o (pi
appropriatamente) perch debba essere
pi difcile essere conformi con lOpen Source
di quanto non lo sia esserlo con il closed source.
Ci sono poi corsi sullo sviluppo su Android
e Dominic Duval (che a capo del dipartimento
di formazione aziendale della Linux Foundation)
mi ha detto il prossimo anno ne verranno lanciati
di nuovi. Le proposte della fondazione sono
rivolte principalmente al mercato dei corsi
aziendali on site, ma spesso vengono offerti corsi
aperti a tutti durante lo svolgimento dei loro
eventi, come il recente LinuxConf di Barcellona
allinizio di novembre. Cambiando completamente
discorso, ho appena sostituito il mio iPhone con
un telefono Android e ora posso collegarmi
al mio laptop e copiare i le musicali direttamente
dal prompt di comandi Linux. Evviva! Perch
sia rimasto cos a lungo legato a iTunes rimane
un mistero. Apple rimane maestra nel progettare
interfacce, ma i suoi metodi per legare
a s lutente e la sua tendenza a scatenare
dispute legali milionarie mi stanno stancando.
Ho in mente un certo gesto, da fare con
due dita, ma non sono sicuro di poterlo usare.
Probabilmente Apple lha brevettato.

34

LINUX PRO 125

Tecniche esoteriche per i sysadmin direttamente


dai recessi pi impenetrabili della sala server

Costi nebulosi
Scegliere un servizio cloud su AWS sta diventando complicato quanto
ordinare un caff da Starbucks
Quando fu lanciato Amazon Web
Services le cose erano
Free Usage Tier
piacevolmente semplici. Si creava
qualche istanza di macchina, gli si
facile (e gratuito) iniziare con Amazon Web
assegnava un po di memoria di massa
Services, specialmente se avete gi
e si poteva calcolare in pochi istanti il costo
un account. Amazon offre il suo free usage tier
gratuitamente per 12 mesi, per permettere
orario. Le cose sono cambiate da allora.
agli utenti di sperimentare numerosi dei servizi
Attualmente, a meno che per caso abbiate
chiave di AWS. Attenzione per che si paga
discusso una tesi di dottorato su,
quando si eccedono i limiti dellofferta
ad esempio, la completezza geodetica
e che comunque dopo 12 mesi nita.
delle variet riemanniane innitamente
differenziabili, il calcolo del costo totale pu
risultare piuttosto complicato. Niente paura,
cloud-hosting/learn-more/calculator/)
c lhelp. Amazon ha un Simple Monthly
che pi semplice, anche se la principale
Calculator (semplice calcolatore mensile)
ragione di questa semplicit sta nel pi
che si trova allURL http://calculator.s3.
ridotto portafoglio di servizi offerti. Ora,
amazonaws.com/calc5.html. Basta
io capisco i vantaggi di una veloce scalabilit
specicare di quante istanze on-demand
e dellaftto a ore, e lo spostamento da
si ha bisogno, e di quante istanze riservate,
Capex (spese per capitale) a Opex (spesa
e quale dei 12 tipi disponibili di istanze si
operativa), ma mi chiedo quanto ci vorr
vuole, e quanti riassegnamenti di IP elastici,
perch qualcuno si convinca che pi facile
e quanta memoria (e quanta parte di essa
controllare i costi creando un proprio data
pu essere di tipo a ridondanza ridotta), e
center. E per me? Credo che prender
quante richieste PUT e GET verranno fatte,
semplicemente un vente split-shot skinny
e quante connessioni VPN servono, e... e...
mocha frappuccino, grazie.
beh, la lista davvero lunga,
ma penso che abbiate
afferrato lidea. Nellipotesi
che siate in grado di fornire
tutti questi dati,
il calcolatore vi dice quanto
vi coster. Limmagine qui
sotto mostro solo una delle
17 linguette a sinistra, che
corrispondono ai vari servizi
offerti da Amazon. Si tratta
ovviamente di uno strano
utilizzo della parola semplice
di cui non ero a
conoscenza. Anche
Rackspace ha un
calcolatore dei costi
Il Simple Monthly Calculator di Amazon
(www.rackspace.co.uk/

Sysadmin

Quindi volete fare lamministratore di sistema?


Seconda puntata della serie che vi trasformer da utenti inesperti in navigati amministratori
di sistema. Questo mese esaminiamo la congurare della rete
Il mese scorso vi ho parlato delle opzioni a disposizione
per accedere ai server che state cercando di amministrare
dal desktop della macchina di fronte alla quale vi trovate.
Ho discusso di strumenti come ssh e VNC. Questo mese
ci occuperemo delle basi della congurazione della rete
su un server. Impareremo come:
Assegnare lindirizzo IP, la maschera di rete e gli altri
parametri delle interfacce di rete
Denire un instradamento di default
Denire instradamenti statici verso reti speciche
Specicare la posizione dei server DNS
Congurare un sistema Linux come router
Tutti gli articoli della serie fanno riferimento a CentOS 6.2.
Se volete seguirli nei dettagli vi conviene installare questa
distro (magari allinterno di una macchina virtuale) come
descritto il mese scorso. Ok, cominciamo... I server (per
denizione) non sono isolati, ma connessi a una o pi reti.
La gura qui sotto illustra un tipico scenario nel quale pu
venirsi a trovare un server. I personaggi principali (mostrati
nella gura) della nostra storia sono:

A Il personaggio principale della storia: la Linux box


che stiamo congurando. Sta sulla rete 10.1.3.0/24,
una delle reti interne dellazienda.
B Una macchina sulla rete interna 10.1.2.0/24.
C Un router che collega la nostra rete interna al backbone
aziendale, la rete 10.1.1.0/24. Questo router, come gli altri
in gura, potrebbe essere un apparato specico per questa
applicazione, come un router Cisco, oppure unaltra Linux
box. Vedremo pi avanti come congurare un router Linux.
D Un router che collega una rete interna al backbone.
E Un router che collega le due reti interne.
F Il server DNS dellazienda (non tutte le aziende hanno
un server DNS interno, ma questa ce lha).
G Altre macchine sul backbone aziendale.
H Il router che collega tutto il resto a Internet. Il suo
indirizzo verso lesterno (80.244.178.150) lunico a essere
instradabile da Internet. Tutti gli altri sono allinterno del blocco
di indirizzi 10.0.0.0/8, che riservato ad uso privato interno.
Laspetto fondamentale della congurazione IP consiste
nellassegnare un indirizzo e una maschera di rete

Larchitettura della rete che prendiamo


come esempio in questo articolo.
I cerchi con le frecce indicano un router

Internet

Server DNS
80.244.178.150

G
10.1.1.200

10.1.1.254

Backbone aziendale

10.1.1.0/24
Network

Il tuo
server

10.1.1.1

D
B

10.1.3.252

A
10.1.3.254

E
10.1.2.5

Rete
10.1.2.0/24

10.1.3.8
10.1.2.252

Rete
10.1.3.0/24
LINUX PRO 125

35

Sysadmin
allinterfaccia del nostro server. La maggior parte delle
distribuzioni Linux fornisce uno strumento graco per farlo,
ma la nostra ipotesi che il server non abbia installato
un desktop graco. Quindi vedremo invece come modicare
i sottostanti le di congurazione. Si tratta di le di testo
non particolarmente complicati. Il le /etc/syscong/network
denisce alcune impostazioni di base valide per tutto il sistema,
nel senso che si applicano a tutte le interfacce di rete
del nostro server, non solo a una. Il le di solito molto breve
e si presenta pi o meno cos:
NETWORKING=yes
HOSTNAME=centos62.example.com
I le che deniscono invece le impostazioni per le singole
interfacce di rete, nel nostro caso la sola interfaccia eth0,
hanno nomi come /etc/syscong/network-scripts/
ifcfg-eth0. Il loro contenuto sul vostro sistema CentOS 6.2
dipender da come stata congurata la rete al momento
dellinstallazione, ma probabilmente al suo interno ci sar
NM_CONTROLLED=yes
che indica che linterfaccia sotto il controllo del
NetworkManager, uno strumento creato da RedHat
(ma che si pu trovare in molte altre distribuzioni) che cerca
di mantenere attive le connessioni di rete, con poco o nessun
intervento da parte dellutente, su macchine che si spostano
di frequente tra reti diverse. NetworkManager attiver
una connessione Ethernet con lo se ne rileva una oppure, in
caso di impossibilit, cercher di connettersi a una rete Wi-Fi
se ne scopre una a cui vi siete gi collegati in passato. Per i
portatili piuttosto comodo, ma non adatto ai server. Quindi
ne faremo a meno e imposteremo manualmente tutta la
congurazione. Per prima cosa fermeremo NetworkManager
e faremo in modo che non riparta al riavvio della macchina:
# service NetworkManager stop
# chkcong NetworkManager off
Addio NetworkManager! Poi modicheremo il le ifcfg-etho
e assegneremo i parametri IP desiderati. Se state
sperimentando sul vostro sistema tenete presente che
lindirizzo IP che assegnerete dovr corrispondere a quello
della vostra rete e probabilmente non sar lo stesso di quello
usato qui. Ecco un semplice esempio:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.1.3.8

NETMASK=255.255.255.0
IPV6INIT=no
Prestate attenzione alla sintassi. Questo le viene
semplicemente letto da una shell, quindi le righe
al suo interno devono avere una sintassi valida
per la shell. In particolare non ci devono essere spazi
attorno al carattere =. La shell piuttosto pignola
al riguardo. Dopo aver modicato il le dovrete far ripartire
la rete per rendere effettive le modiche:
# system network restart
Questo comando fermer e poi riavvier tutte le interfacce
di rete della macchina (nel nostro caso sono due: linterfaccia
loopback ed eth0). Se avete pi di uninterfaccia di rete,
una maniera meno invasiva per rendere effettive le modiche
consiste nel riavviare solo una interfaccia, a questo modo:
# ifdown eth0
# ifup eth0
Qualsiasi metodo usiate, dovreste ora vericare
che linterfaccia attiva:
# ifcong eth0
eth0 Link encap:Ethernet HWaddr 08:00:27:6D:55:56
inet addr:10.1.3.8 Bcast:10.1.3.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500
Metric:1
Per brevit ho eliminato numerose righe visualizzate dal
comando, ma la cosa pi importante da vericare lindirizzo
IPv4 assegnato alla scheda. Come potete vedere linterfaccia
attiva con lindirizzo IP che ci aspettavamo. S, lo so che
la pagina di manuale di ifcong dice che obsoleto. Ma lo
usano tutti. Come scrisse Mark Twain dopo aver letto il suo
necrologio sul New York Times: La cronaca della mia morte
era una vera e propria esagerazione. Unaltra maniera per
avere una rassicurante conferma del fatto che linterfaccia
attiva consiste nelleseguire un ping da unaltra macchina.
Se state sperimentando facendo girare il server Linux
in una macchina virtuale potete provare a eseguire
il comando sulla macchina ospitante:
# ping -c1 10.1.3.8
PING 10.1.3.8 (10.1.3.8) 56(84) bytes of data.
64 bytes from 10.1.3.8: icmp_req=1 ttl=64 time=11.6 ms
--- 10.1.3.8 ping statistics --1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 11.661/11.661/11.661/0.000 ms

Notazione IP
Un indirizzo IPv4 composto di 32 bit. Per
scriverlo viene diviso in parti da 8 bit ciascuna,
ognuna delle quali viene rappresentata come
numero decimale (compreso tra 0 e 255);
sono poi aggiunti tre punti per separare
i numeri, come visibile nella gura qui a anco.
la cosiddetta dotted decimal notation
(notazione decimale coi punti). La parte alta
dellindirizzo lidenticativo della rete,
il cosiddetto network ID, che viene utilizzato
per prendere le decisioni sullinstradamento dei
pacchetti. La parte bassa invece lidenticativo
dellhost o host ID, che caratterizza una
macchina specica (o, pi precisamente, una
specica connessione) allinterno di quella rete.
Per una rete specica la maschera di rete o
network mask usata per specicare il conne
tra identicativo della rete e identicativo

36

LINUX PRO 125

dellhost allinterno di un indirizzo IP. Gli uno


nella maschera di rete mostrano quale parte
dellindirizzo costituisce il network ID, mentre gli
zeri indicano la parte relativa allhost ID. Quindi,
ad esempio, la maschera 255.255.252.0,
che in binario viene rappresentata con 22
uno seguiti da 10 zero, signica che i 22 bit
alti costituiscono il network ID. Vi capiter di
vedere pi spesso le maschere di rete scritte
come sufsso. Ad esempio, se parliamo della
rete 10.1.3.0/24 intendiamo che i 24 bit alti
sono il network ID. In questo caso la divisione
tra identicativo di rete e identicativo dellhost
cade esattamente tra un byte e laltro, ma pu
anche non essere cos. La pi vecchia
notazione decimale con i punti e la nuova
notazione con sufsso vengono entrambe
usate a seconda del contesto.

192.168.0.5/24

Il numero di bit allinterno


dellindirizzo IP che va interpretato
come identificativo di rete.

subnet mask

11111111 11111111 11111111

00000000

IP address

11000000 10101000 00000000

00000101

Network ID

Host ID

Un indirizzo IP consiste di network ID e host ID. Il sufsso /24


indica la posizione del conne tra le due parti

Sysadmin
Tocchi nali
Bisogna ora denire il gateway di default per la macchina.
Si tratta del nodo della rete a cui invieremo i pacchetti
quando cerchiamo di raggiungere una macchina
che non si trova sulla nostra stessa rete e per la quale
non esiste un instradamento specico. In sostanza il gateway
di default lextrema ratio. Esaminando il diagramma
di rete visto prima scopriamo che il gateway di default
per il nostro server Linux la connessione di rete
sul lato inferiore del router C. possibile denirlo
in una riga di ifcfg-eth0:
GATEWAY=10.1.3.254
Dobbiamo inne dire al nostro server dove si trovano i suoi
server DNS. Per farlo dobbiamo inserire qualcosa di questo
genere nel le /etc/resolv.conf:
nameserver 10.1.1.200
In questo caso stiamo usando un server DNS interno
che si trova sul backbone aziendale. Molto probabilmente
si tratta di un server DNS di tipo caching-only,
che semplicemente inoltra le richieste a un server
pi autorevole, ma in grado di ricordare le risposte,
in modo che le successive ricerche dello stesso nome
possano essere servite velocemente accedendo alla cache
locale. Se non avete un server DNS locale potete specicarne
uno esterno. Ovunque si trovi il vostro server DNS primario
conviene specicarne uno secondario (cio semplicemente
aggiungere una seconda riga di denizione allinterno
di resolv.conf), in modo che la risoluzione dei nomi continui
a funzionare anche quando il server DNS primario gi.
uno dei pochi casi in cui non necessario inviare
un segnale a un demone o riavviare qualcosa per rendere
effettive le modiche. La versione modicata di resolv.conf
verr consultata automaticamente a partire dalla prossima
ricerca DNS. Abbiamo cos completato la congurazione
di base del nostro server. Possiamo per migliorare un po
le cose. Con la congurazione attuale la nostra macchina
accede alla rete 10.1.2.0/24 passando per il gateway
di default C e poi per il router D. C naturalmente
una strada pi breve attraverso il router E. Per informare
il nostro server di questa possibilit dobbiamo aggiungere
una riga al le /etc/syscong/network-scripts/route-eth0:
qualcosa di questo genere:
10.1.2.0/24 via 10.1.3.252
possibile esaminare la tabella di instradamento (o tabella
di routing) del nostro server con il seguente comando:
$ netstat -nr
Kernel IP routing table
Destination Gateway
Genmask
Iface
10.1.3.0
0.0.0.0
255.255.255.0 eth0
10.1.2.0
10.1.3.252 255.255.255.0 eth0
169.254.0.
0 0.0.0.0 255.255.0.0 eth0
0.0.0.0
10.1.3.254 0.0.0.0
eth0
Per brevit ho eliminato qualche riga dalloutput del comando.
La tabella di routing usata in questo modo: quando lo strato
IP del kernel riceve un pacchetto da spedire allesterno
lindirizzo di destinazione viene confrontato con ciascuna
riga della tabella. Il confronto viene eseguito per mezzo
di unoperazione di AND bit a bit tra lindirizzo di destinazione
e il valore della colonna Genmask: se il risultato corrisponde
al valore della colonna Destination al pacchetto viene
applicata la regola descritta dalla riga e quindi viene spedito
al gateway presente nella corrispondente colonna attraverso
linterfaccia Iface. Viene applicato linstradamento pi specico,
cio quello con il Genmask pi lungo. La prima riga della
tabella descrive la rete a cui il server collegato direttamente

(il gateway risulta essere


0.0.0.0). La seconda riga
denisce linstradamento
specico verso la rete
10.1.2.0 ( il risultato della
riga che abbiamo aggiunto
in route-eth0). La terza riga
stata aggiunta dal demone
Avahi, che implementa
larchitettura Zeroconf
di Apple; questa riga non
molto importante per
i nostri scopi. La quarta riga
denisce invece
linstradamento di default:
a qualsiasi pacchetto
che non abbia trovato
una regola pi specica
nella tabella viene applicata
quella descritta da questa
regola, perch lAND bit
Questo programma di RedHat un tipico esempio
a bit di un qualsiasi indirizzo
di strumento graco specico di una distribuzione
con una Genmask
per la congurazione delle interfacce di rete
di 0.0.0.0 d come risultato
0.0.0.0, proprio il valore che compare nella colonna
Destination della regola.

Congurare un router
Questo tutto per il nostro server Linux con la sua unica
interfaccia di rete. Se vogliamo essere un po pi ambiziosi
possiamo provare a vedere come potremmo congurare
un sistema Linux che abbia il ruolo del router C del nostro
diagramma. abbastanza semplice. Questa macchina
ha due interfacce di rete, eth0 e eth1. Facciamo lipotesi
che eth1 sia linterfaccia superiore, con indirizzo IP 10.1.1.1
e eth0 quella inferiore, con indirizzo 10.1.3.254. Dovremo
creare due le di congurazione, ifcfg-eth0 e ifcfg-eth1,
ognuno dei quali dovr specicare il corretto indirizzo IP.
Non dimentichiamoci inoltre di modicare la riga DEVICE=
in modo che corrisponda al nome dellinterfaccia. Lunica
altra cosa che ci rimane da fare per trasformare la nostra
macchina in un router consiste nellabilitare lIP forwarding,
cio linoltro sullaltra interfaccia dei pacchetti IP ricevuti
su una di esse. Il kernel Linux non lo fa di default,
ma possibile abilitarlo facilmente, scrivendo 1
nel parametro appropriato del kernel:
# echo 1 > /proc/sys/net/ipv4/ip_forward
possibile ottenere lo stesso risultato con meno battute:
# sysctl -w net.ipv4.ip_forward=1
Cos abbiamo abilitato linoltro IP. Per rendere la modica
permanente basta aggiungere una riga a /etc/sysctl.conf:
net.ipv4.ip_forward = 1
tutto! Abbiamo appena congurato la macchina come
router! Se volete provare queste operazioni usando VMware,
VirtualBox o qualche altra tecnologia di virtualizzazione potete
congurare una seconda interfaccia di rete per la vostra VM
con pochi click del mouse. Potete addirittura denire unintera
infrastruttura virtuale di rete se lo desiderate. Se volete
saperne di pi vi suggerisco la terza edizione di Linux
Network Administrators Guide, tradotto in italiano da
Tecniche Nuove. Se davvero volete comprendere come
funziona una rete IP procuratevi una copia di TCP/IP
Illustrated, Volume 1: The Protocols. la seconda edizione,
a cura di Kevin Fall, del classico di Richard Stevens, a mio
parere, il miglior libro sul TCP/IP. Ci vediamo! LXP
LINUX PRO 125

37

Langolo di

Android
News, recensioni e guide sul sistema operativo libero per smartphone

Giocare in realt aumentata


Il primo gioco multiplayer in realt aumentata di Google si preannuncia molto interessante
ncora per qualche mese
sar necessario avere
un invito, ma dai primi
mesi del 2013 laccesso
sar libero e gratuito per tutti,
e allora ci sar da divertirsi.
Stiamo parlando di Ingress
(www.ingress.com), il primo
MMORPG (Massive Multiplayer
Online Role-Playing Game) in
realt aumentata per smartphone
Android realizzato direttamente
da Google. Provate a immaginare
un gioco come World of Warcraft,
solo che invece che con lo schermo
di un PC avrete a che fare con
smartphone e mondo reale. Per
giocare vi baster un dispositivo
Android con GPS e collegamento
dati, grazie al quale dovrete
individuare i Portali Energetici
sparsi in tutto il mondo da Google
e che vengono contesi dai gruppi
degli Illuminati e della Resistenza.
Una volta arruolati in una delle due
fazioni, sarete anche voi in guerra
per il controllo dellenergia e quindi
della razza umana, con lobiettivo
di collegare tra loro i Portali
energetici diffusi in tutto il mondo,
in modo da realizzareCampi
di Controllonelle varie aree
geograche. Il collegamento
potr avvenire anche a distanze
di centinaia di chilometri
e su questo si baser
la collaborazione tra giocatori
della stessa squadra che dovranno
riuscire a mantenere il loro Campo
di Controllo libero dallinuenza
degli avversari. I portali sono
stati inseriti in luoghi pubblici
da Google, in modo da poter
esserefacilmenteraggiungibili in
qualsiasi momento, solo che gi
capitato che alcuni giocatori siano
stati scambiati per malviventi dalla
solerte polizia americana. il caso

di un ragazzo di New York che


alluna del mattino stato visto
armeggiare proprio di fronte
a una stazione di polizia con il suo
smartphone e immediatamente
arrestato. Non stato facile
per il malcapitato spiegare che
stava semplicemente partecipando
a un gioco in realt aumentata.
Nonostante i partecipanti siano
ancora poche migliaia, ci sono
gi delle community attive
e molti gruppi di appassionati che
si aiutano e confrontano online.
Le premesse per un grande
successo ci sono tutte, soprattutto
quando inizieranno a diffondersi
i Google Glasses, gli speciali
occhiali a realt aumentata di
Mountain View che permetteranno
di fare a meno dello smartphone
e di trasformarsi in veri cyborg.

38

LINUX PRO 125

Doppio schermo
Una novit nel panorama degli smartphone
egli smartphone
la tecnologia a inchiostro
elettronico non mai
stata usata, eppure
presenterebbe indubbi vantaggi,
come lautonomia superiore alle
due settimane e la possibilit di
vedere perfettamente lo schermo
anche sotto la luce diretta del sole.
Purtroppo per ci sono anche limiti
importanti, come il refresh delle
immagini estremamente lento e il
fatto che linchiostro elettronico sia
ancora in bianco e nero. Gli schermi
LCD, al contrario, hanno il vantaggio
del colore e dellalta denizione
ma scontano i maggiori consumi
e immagini imperfette sotto il sole.

Una possibile soluzione al problema


quella proposta da Yota Devices,
una giovane startup russa che
ha realizzato lo YotaPhone,
uno speciale smartphone dotato
di due schermi contrapposti, uno
LCD e uno a inchiostro elettronico.
Esteticamente YotaPhone
identico a uno degli ultimi
smartphone a maxi schermo di
ultima generazione, tranne appunto
per la presenza del secondo display
da 4,3. In pratica, se dobbiamo
semplicemente rispondere
al telefono oppure se lautonomia
scende ai minimi, potremo usare
lo schermo a inchiostro elettronico,
mentre per la navigazione Web

o per i giochi continueremo a usare


il classico LCD. YotaPhone
dovrebbe essere disponibile nella
seconda met del 2013 in Russia
e successivamente anche in Europa.
Contemporaneamente previsto
il rilascio di un SDK che permetter
agli sviluppatori di realizzare
app speciche per lo schermo
a inchiostro elettronico, per esempio
software per la lettura di e-book.
Il prezzo non ancora ufciale ma
non si dovrebbe discostare molto da
quelli dei modelli
di fascia alta. LXP

Coolpix S800c Langolo di Android

Nikon Coolpix S800c


Android arriva sulle fotocamere compatte di Nikon in una versione vecchia ma efficace
e fotocamere integrate
negli smartphone hanno
ormai poco da invidiare
alle classiche compatte
e permettono di realizzare
immagini di ottima qualit,
con in pi la possibilit di
condividerle immediatamente
online. I produttori di fotocamere
lo sanno bene e, non potendo
eliminare il problema alla radice,
hanno deciso di sdare gli
smartphone sul loro stesso
terreno. La prima a scendere
in campo stata Nikon
con la S800c, che
praticamente identica a una delle
sue classiche Coolpix con sensore
da 16 megapixel e zoom ottico
a 10 ingrandimenti. La differenza
la fa lo schermo da 3,5 pollici
e soprattutto il sistema operativo
Android 2.3 Gingerbread,
che avr anche due anni di vita
ma che comunque permette
di installare senza problemi
una buona parte delle app
presenti nel Google Play Store.
Fortunatamente la presenza dei
componenti hardware Android
non appesantisce la fotocamera,
che mantiene la sua linea lante
e contiene il peso in 180 grammi,
poco pi di un maxi smartphone.
I comandi sono quelli di un
normale smartphone Android:
Home, Back e Menu, con in pi
due pulsanti per lo zoom ottico.
Solo che, a differenza degli
smartphone che rimangono
sempre attivi, la Nikon di solito
viene spenta dopo avere scattato

le foto, ma questo non signica


che per scattare dovrete
aspettare il boot del sistema
operativo, in quanto viene
immediatamente caricato
il software Nikon di gestione
della fotocamera che vi permette
di riprendere foto e video
in un paio di secondi. Per
accedere al sistema operativo
di Google occorrono invece circa
30 secondi, un tempo pi lungo
del normale ma che dipende
dalla presenza di un processore
da soli 800 MHz con 512 MB
di RAM. In pratica come avere
a disposizione uno smartphone
con un paio di anni di vita: nessun
problema per la navigazione Web
o per i programmi di ritocco delle
foto, ma non aspettatevi di farci
girare i giochi in 3D. La memoria
integrata di 2 GB espandibili
con schede SD, mentre la
dotazione wireless quella tipica
di uno smartphone: Wi-Fi,
Bluetooth, GPS, manca invece
il supporto per il 3G e quindi
per condividere le foto e andare
online dovrete avere a
disposizione un hot spot Wi-Fi
oppure uno smartphone con
il tethering attivo. Occorre per
ricordare che il Wi-Fi nelle
fotocamere compatte era gi
arrivato da tempo grazie alle
schede di memoria wireless
Eye-Fi che permettono
di condividere immediatamente
le foto appena scattate e hanno
un costo ormai inferiore ai 50
euro per i modelli da 4 GB.

La presenza di una batteria da soli 1050 mAh pregiudica


lautonomia della fotocamera, usando al minimo la sezione
Android potrete effettuare circa 150 scatti ma usando spesso
Wi-Fi e GPS potreste essere costretti a ricaricarla ogni giorno

Il vero vantaggio della S800c


la possibilit di usare delle
applicazioni di modica delle
immagini come Camera Zoom FX
o Pixlr-o-matic immediatamente
dopo avere scattato la foto,
oppure di inviarle al volo con
app come Whatsapp o Skype
che girano senza problemi.
La risoluzione dello schermo
da 480x854 pixel non
altissima e usando lo zoom
vi ritroverete immagini molto
pixellate, in compenso la
luminosit buona anche sotto
la luce diretta del sole, aspetto
fondamentale visto che non
presente un mirino ottico.
Trattandosi di una fotocamera
compatta fondamentale la resa
delle fotograe, che rimane
superiore a quella ottenibile
con qualsiasi smartphone grazie
alle dimensioni dellobiettivo,
alla presenza dello zoom ottico
da 10 ingrandimenti e anche
di un ash abbastanza potente.
Anche la qualit dei video ripresi
in Full HD a 30 fotogrammi
al secondo decisamente buona,
in pi potrete anche usare lo
zoom ottico durante la ripresa
senza problemi di stabilizzazione.
A causa delle dimensioni del le
dovrete per dimenticarvi di
condividere online lmati in Full
HD, per condividerli su Facebook
o Twitter consigliabile impostare
una risoluzione molto inferiore.

Lautonomia di circa 150 scatti


leggermente inferiore a quella
di una normale fotocamera
compatta, e scende ulteriormente
se manterrete attivi a lungo
GPS e Wi-Fi oppure se la usate
per navigare o per chattare,
in questi casi sarete costretti
a ricaricarla ogni giorno
o quasi. In denitiva si tratta
di un esperimento originale ma
ancora acerbo: mentre la sezione
fotograca classica di buon
livello, quella Android risente
dei componenti non aggiornati
che non offrono la stessa
esperienza Google a cui siete
abituati con le nuove versioni
del sistema operativo. LXP

Giudizio
Coolpix S800c
Produttore: Nikon
Web: www.nital.it
Prezzo: 400,00

Caratteristiche
Prestazioni
Autonomia
Qualit/prezzo

6
7
6
7

Ottima lidea, meno


la realizzazione. La qualit
della fotocamera buona
ma le componenti hardware
per Android non sono allaltezza.

Il voto di

Linux Pro

6.5

LINUX PRO 125

39

Diventa protagonista
del mondo Linux

ABBONATI SUBITO!
SCEGLI IL METODO PI COMODO PER ABBONARTI:
POSTA Compila, ritaglia e spedisci il coupon in busta chiusa a: Press Di - Servizio Abbonamenti - Casella Postale 97 - 25126 Brescia BS
FAX invia il coupon al N. 030
TELEFONA al N. 199

ONLINE sul

3198412

sito www.myabb.it/linuxpro

111 999

Dal luned al venerd dalle ore 9,00 alle ore 19,00. Costo massimo della chiamata da tutta Italia per telefoni
ssi: 0,12 + iva al minuto senza scatto alla risposta. Per cellulari costo in funzione delloperatore.

335 8331122

SMS da inviare al N.
indicando nellordine: il codice dellofferta 25916!Nome!Cognome!Indirizzo!Numero
civico!Localit!CAP!Sigla provincia!S (oppure N)!S (oppure N)! per indicare rispettivamente il consenso (Si o No) alla privacy 1 e alla privacy 2 riportate sulla
cartolina. Non lasciare nessuno spazio dopo i punti esclamativi come nellesempio:

25916!Paolo!Rossi!Via Verdi!1!Milano!20123!Mi!S!S!
Entro 24 ore riceverai un SMS di conferma dal Servizio Abbonati. Il costo del messaggio inviato pari al normale costo di un SMS.
Il pagamento dellabbonamento previsto in ununica soluzione con il bollettino di conto corrente postale che ti invieremo.

39,90 invece

di

70,80
Tagliare lungo la linea tratteggiata

ABBONANDOTI AVRAI
DIRITTO AI SEGUENTI
VANTAGGI
PREZZO BLOCCATO:
per tutta la durata dellabbonamento non
pagherai un euro in pi, anche se il prezzo
di copertina dovesse subire aumenti.

COUPON DI ABBONAMENTO

S! Mi abbono a Linux Pro


Ricever 12 numeri a soli 39,90 euro anzich 70,80 euro con lo sconto del 43%

Inviate Linux Pro al mio indirizzo:


Cognome e Nome
Via

TUTTI I NUMERI ASSICURATI:


se per cause di forza maggiore qualche numero
della rivista non venisse stampato,
labbonamento verr prolungato no
al raggiungimento dei numeri previsti.
RIMBORSO GARANTITO:
potrai disdire il tuo abbonamento quando vorrai,
con la sicurezza di avere il rimborso dei numeri
che non hai ancora ricevuto.
Informativa ex Art.13 LGS 196/2003. I suoi dati saranno trattati da Sprea Editori S.p.A. Socio Unico Medi & Son S.r.l., nonch dalle societ con
essa in rapporto di controllo e collegamento ai sensi dellart. 2359 c.c. titolari del trattamento, per dare corso alla sua richiesta di abbonamento.
A tale scopo, indispensabile il conferimento dei dati anagraci. Inoltre previo suo consenso i suoi dati potranno essere trattati dalle Titolari per
le seguenti nalit: 1) Finalit di indagini di mercato e analisi di tipo statistico anche al ne di migliorare la qualit dei servizi erogati, marketing,
attivit promozionali, offerte commerciali anche nellinteresse di terzi. 2) Finalit connesse alla comunicazione dei suoi dati personali a soggetti
operanti nei settori editoriale, largo consumo e distribuzione, vendita a distanza, arredamento, telecomunicazioni, farmaceutico, nanziario,
assicurativo, automobilistico, e ad enti pubblici ed Onlus, per propri utilizzi aventi le medesime nalit di cui al suddetto punto 1) e 2 ). Per tutte le
nalit menzionate necessario il suo esplicito consenso. Responsabile del trattamento Press Di Srl Via Cassanese 224 20090 Segrate (MI
). I suoi dati saranno resi disponibili alle seguenti categorie di incaricati che li tratteranno per i suddetti ni: addetti al customer service, addetti
alle attivit di marketing, addetti al confezionamento. Lelenco aggiornato delle societ del gruppo Mondadori, delle altre aziende a cui saranno
comunicati i suoi dati e dei responsabili potr in qualsiasi momento essere richiesto al numero 030.319.82.81 Customer Service. Lei pu in
ogni momento e gratuitamente esercitare i diritti previsti dallarticolo 7 del D.Lgs.196/03 e cio conoscere quali dei suoi dati vengono trattati,
farli integrare, modicare o cancellare per violazione di legge, o opporsi al loro trattamento scrivendo a Press Di Srl - Ufcio Privacy- Milano
Oltre Via Cassanese, 224 20090 Segrate (MI).

N.

Localit

CAP

Prov.

email

Tel.

Scelgo di pagare, in un unico versamento:


30
20

Con il bollettino postale che mi invierete


Con carta di credito: Visa American Express

Diners

Mastercard

Numero
Scad. (mm/aa)

Firma
Compila, ritaglia e invia questo coupon in busta chiusa a:
PRESS-DI Servizio Abbonamenti - Casella Postale 97, 25126 Brescia

Accetto di ricevere offerte promozionali e di contribuire


con i miei dati a migliorare i servizi offerti (come specicato
al punto 1 dellinformativa privacy): SI NO

OFFERTA VALIDA SOLO PER LITALIA

Accetto che i miei dati vengano comunicati


a soggetti terzi (come indicato al punto 2
dellinformativa privacy): SI NO

389 11 006 389 01

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.

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

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.

42 LINUX PRO 125

QUESTO MESE...
Test >>
ROSA Server 2012
nata una nuova stella
nel panorama delle distribuzioni
server. Arriva dalla Russia
e punta molto in alto, ce la far?
Scopritelo con noi
pag. 43

Faster Than Light


Unavventura che unisce le
tematiche classiche alle missioni
nello spazio profondo. I nemici
vi cercano: li affronterete faccia
a faccia o fuggirete alla velocit
della luce?
pag. 44

Faster Than Light

Confronto >>
I Social Network impazzano,
ma a noi piacciono solo quelli
che non ci costringono in catene
troppo strette. Scoprite
con noi quale network si pu
usare senza timori
pag. 48
Diaspora
Friendica
Identi.ca
Qaiku
Pidder

Diaspora

Da non
perdere >>
Cinque programmi liberi
da provare subito!
Gmsh
pag.
fbcmd
pag.
Nuvola
pag.
QXmlEdit
pag.
Atop
pag.

54
55
55
56
56

Gmsh

ROSA Server Test

ROSA Server 2012


La redazione di Linux Pro ha esaminato a fondo questa nuova distribuzione server
per vedere se dalla Russia arrivato un buon prodotto oppure no
OSA relativamente
nuova nel panorama
delle distro GNU/Linux.
Lazienda russa
ha lanciato la sua distro desktop
un fork di Mandriva alla ne
del 2011. Aveva attratto
un po dattenzione grazie alla sua
personalizzazione del desktop KDE,
tanto da spingerci a includerla
qualche tempo fa nel nostro DVD.
Un anno dopo lazienda
ha rilasciato la versione server
della sua distro. Non si tratta
di un rimaneggiamento della
versione desktop con una diversa
scelta di pacchetti installati
di default, ma un sistema
completamente ricostruito basato
sul codice sorgente di Red Hat
Enterprise Linux. Basare la propria
distro desktop e quella server
su due codici di base differenti
una scelta audace, ma non folle.
Dimostra che lazienda ha capito
che le due basi di utenti hanno
necessit diverse, che vanno oltre
i cambiamenti superciali. Linstaller
il classico Anaconda di casa
Red Hat, quindi linstallazione
procede in modo indolore.
C unopzione per scegliere il tipo
di server da installare, ma per
il resto tutto quasi automatico.
La prima cosa che si nota avviando
la distro che la versione
modicata di KDE che ci aveva
impressionato nel desktop non
c sarebbe un inutile spreco

In evidenza

Configurazione
ROSA Server Setup pu crescere
e diventare un tool molto utile,
ma al momento limitato.

di cicli di CPU su un
server. Al suo posto
troviamo LXDE,
con un tema
azzurro e grigio
simile a quello della
versione desktop,
ma nessuno sceglie
una distro server
in base alla
scrivania. Il vero
punto di forza
di ROSA il suo
ROSA Server
Setup. Si tratta
di una Web App
servita in locale
che guida lutente
attraverso
Dalla Russia con amore e un intuitivo front-end Web
linstallazione
di diversi servizi.
Al momento ci sono opzioni per un
garantire la qualit delle poche
esigenti. Ma quello che abbiamo
numero limitato di servizi, ma essi
opzioni disponibili; pensiamo che
visto abbastanza da convincerci
coprono la maggior parte delle
non sia unidea del tutto sbagliata,
a seguire gli sviluppi futuri di ROSA
aree, incluso Web, database, le
ma dovete sapere che alcune cose
Server. Il fatto che sia basata
server, LDAP e altri. A meno che
che potreste cercare non ci sono.
su RHEL vuol dire che molto
non abbiate esigenze particolari,
robusta, e compatibile con la
dovreste trovare un servizio che
Buona partenza
maggior parte del software server.
soddisfa i vostri scopi; se invece
Il front-end Web si avvia di default,
Nonostante ci, se state cercando
vi serve qualcosa di molto specico, il che vuol dire che, una volta che
una distro server di questo tipo,
almeno per il momento non
avete installato il sistema, dovreste
per il momento vi consigliamo
lo troverete. Questo non accade
essere in grado di fare tutto da
di guardare a un altro clone pi
solo nel front-end Web. Quando
remoto, anche se nelle nostre
maturo di RHEL, come Scientic
abbiamo provato a guardare
prove abbiamo visto che ROSA
Linux o CentOS, in base al loro
nel gestore di pacchetti, abbiamo
Server ha fallito nellattivazione
pedigree. Questo nostro giudizio
trovato meno software di quel che
delle connessioni di rete.
cambier se le prossime release
ci aspettavamo. Sospettiamo che
Linterfaccia Web non afancata
di ROSA Server si dimostreranno
gli sviluppatori abbiamo limitato
da altri tool di gestione altrettanto
pronte a superare le sde
il parco software in modo da poter
semplici. Per esempio, con Apache
del mondo reale. LXP
installato, dovete tornare alla riga
di comando per avviarlo. Questo
non un compito difcile per chi
abituato a lavorare con i server,
ROSA Server 2012
ma abbastanza da imbarazzare
Sviluppatore: ROSA Labs
gli utenti non esperti. Noi
Web: Rosalab.com
apprezziamo molto i tool per
Prezzo: gratuita
linstallazione dei software.
Caratteristiche
6
Se linterfaccia Server Setup fosse
Prestazioni
8
stata estesa per includere almeno
Facilit duso
8
i compiti damministrazione di base,
Documentazione
6
come avviare e fermare i servizi,
Un buon primo rilascio,
questa distro sarebbe una scelta
ma serve di pi per arrivare
ottimale per gli utenti meno
al successo.
Desktop
esigenti che volessero un server
LXDE rappresenta una scelta
da impostare con facilit. Certo, si
dal bellaspetto per un server
tratta del primo rilascio della distro,
che deve risultare leggero.
Linux Pro
quindi forse siamo un po troppo

Giudizio

Il voto di

LINUX PRO 125

43

Test Faster Than Light

Faster Than Light


Cosa succede quando si incrocia la classica avventura fantasy con i laser e il vuoto
asfissiante? LXP andata nello spazio per scoprirlo
iamo un po in difcolt
nel denire il genere
a cui appartiene questo
gioco. Faster Than Light
(FTL) viene denito un gioco
in stile Rogue; anche se questa
avventura spaziale, nanziata
da Kickstarter (www.
kickstarter.com), mostra
le caratteristiche classiche
del genere morte permanente,
vista top-down e una ripida
curva dapprendimento, giusto
per citarne tre non proprio
come Rogue. FTL ha molti punti
in comune con alcuni giochi
da tavolo, come Space Alert,
o giochi che si ispirano ai giochi
da tavolo, come X-Com: Enemy
Unknown, miscelando una
struttura vagamente organizzata
a turni con il panico assoluto
in aree ben precise. un intruglio
delizioso. Il cuore del gioco
vi vede attraversare i conni
pi remoti di uno spazio esterno
randomizzato. La vostra
astronave, con il carburante
limitato, salta di incontro
in incontro, a volte incappando
in qualcosa di buono ma molto
pi spesso in qualcosa di molto
cattivo. Le navi nemiche devono
essere scontte (oppure bisogna
riuscire a sfuggirgli) sfruttando
lequipaggio che siete riusciti
ad assemblare, il tutto mentre
dovete gestire con precisione
i livelli di energia della nave

e rimediare agli
effetti di laser
e missili che si
schiantano contro
il vostro fragile
scafo e il sistema
di supporto vitale.
A volte si tratta
di sistemi organici,
tipo il vostro dato
pilota che verr
ucciso, oppure
una canaglia
aliena che
si trasferir
a bordo creando
un putiferio.
Idealmente vorreste evitare quelle situazioni post combattimento in cui la vostra
nave affamata dossigeno, rotta e piena di sistemi da riparare. Idealmente
Altre volte sar
qualcosa di sico
che snir i vostri motori o far
se fate la scelta sbagliata. Il mondo e la accetterete perch sar
piombare lintera nave nel buio.
la scelta pi ovvia. Anche
di FTL da esplorare offre diverse
Potrebbe essere necessario
se non incapperete molto spesso
scelte, ma nessuna di esse cos
combattere il fuoco che si
nella stessa situazione, non
coinvolgente o varia come quelle
diffonde nella nave facendo
vi sembrer una cosa speciale.
del suo cugino fantasy. Saltate
fuoriuscire lossigeno dai corridoi,
Luso della moneta allinterno
di stella in stella e qualche volta
oppure ordinare alla vostra
del gioco funziona molto bene.
vi viene dato qualcosa da fare.
ciurma di sistemare un
Dovete sempre trovare il giusto
Gli scenari testuali a scelta multipla
apparecchio mentre soffocano
bilancio tra il riparare lo scafo
riettono in gran parte la struttura
a morte. La vita in una nave
della nave in uno degli splendenti
dei librogame. Succede qualcosa.
stellare non delle pi facili.
negozi oppure lo scegliere
Volete intervenire? Servono
un nuovo membro o una nuova
un po di capacit o di giudizio
Rischi e ricompense
arma. Raramente vi ritroverete
per scegliere la risposta giusta.
Giochi come questo vivono
con abbastanza denari da fare
Allinizio del gioco vi prenderete
o muoiono a seconda della loro
entrambe le cose. Il caso la fa da
tutti i rischi al ne di rafforzare
economia di gioco. Nethack,
padrone: se attraversate le prime
la vostra nave o la vostra squadra.
lesempio pi classico di gioco
cinque galassie senza trovare
Proseguendo, li eviterete. Molto di
in stile Rogue, copre ogni passo
le armi o gli aggiornamenti che
rado otterrete unopzione bonus
del vostro viaggio con il rischio
vi servono, siete fregati. Se un
basato su un upgrade che avete
di farvi perdere la ricompensa
missile riesce a superare le vostre
applicato alla vostra nave,

Passo passo Lottare per spasso e profitto

Oh, si balla

Mettetevi a fare un giro per la galassia e presto


vi ritroverete in mezzo a uno scontro. Potete
sempre decidere di scappare a gambe levate,
ma dove sarebbe il divertimento?

44

LINUX PRO 125

Scegli un punto

Ora decidete come abbattere al meglio i vostri


avversari. Abbiamo iniziato lanciando un missile contro
i loro scudi, poi abbiamo vaporizzato larea con le loro
armi in modo che non potessero contrattaccare.

Boom

Abbattete i vostri nemici ed essi andranno a pezzi


facendo cadere un prezioso bottino che dovete
raccogliere e che vi aiuter nel viaggio no
al prossimo sistema stellare.

Faster Than Light Test


difese nello spazio profondo,
siete fregati. Se inavvertitamente
piombate in un campo
di asteroidi con la nave
un po ammaccata beh avete
capito cosa vi succede.

Buona fortuna
FTL allo stesso tempo un gioco
di fortuna e uno dabilit.
Non conta solo la fortuna.
Riuscire a gestire in modo
corretto la ciurma una specie
di arte oscura, questo
probabilmente il motivo per cui
abbiamo passato gran parte del
tempo in FTL con linterfaccia
in pausa, in modo da valutare con
cura ogni mossa. Ogni membro
della squadra deve trovarsi al
posto giusto al momento giusto,
perch alcune locazioni nella
vostra nave vi doneranno dei
bonus, e un membro esperto nel
pilotaggio, ad esempio, spinger
ulteriormente questi bonus.
Motori che si ricaricano pi
velocemente vi permetteranno
di fuggire pi rapidamente dai
combattimenti che non vi offrono
possibilit di vittoria, e avere
una postazione darmi dotata
di equipaggio fa aumentare
la velocit di ricarica delle armi,
il che vi fornisce qualche chance
in pi di avere successo nei
combattimenti. Poi c la gestione
della potenza, un gioco di
destrezza: se non avete speso
abbastanza soldi per aggiornare
i sistemi della nave, prima o poi
vi ritroverete a dover spegnere
qualche sottosistema per poter

Scelte, scelte.
Non c un modo
sicuro per
indovinare
il risultato delle
scelte possibili,
tutto sar
in mano al fato

dar potenza ad altri. Progredendo


nel gioco, i nemici diventano
pi forti e potenti. Il passaggio
attraverso le ultime due galassie,
soprattutto a causa delle sempre
pi invadenti otte nemiche che
si muovono verso di voi, non
semplicissimo. difcile,
anche al livello pi semplice. La
tentazione quella di girovagare,
visitare ogni nodo e raccogliere
tutto quello che si pu prima di
proseguire. Questa sembrerebbe

mentre giocavamo a FTL,


laspetto che lo rende veramente
un gioco in stile Rogue. Non
tutte le partite avranno successo.
Alcune termineranno al primo
incontro con il nemico, altre
vi vedranno arrivare quasi no
alla ne, e non saprete mai cosa
state per trovare nella prossima
galassia generata casualmente.
Ci sono abbastanza incontri e
situazioni da non far mai apparire
ripetitiva la perlustrazione,

FTL un gioco che vi racconta


delle storie, quindi difficile
non affezionarsi ad esso
la miglior strategia per FTL, ma
il fatto che i nemici vi inseguono
la rende spesso impossibile. Anche
se abbiamo cercato di venire
a patti con i capricci crudeli del
generatore di numeri casuali

e abbastanza scenari legati alle


meccaniche di gioco di FTL da
non farvi annoiare rapidamente.
Attenti per. Quando la vostra
ciurma curata, nutrita e ben
gestita verr maciullata in nome

del caso, vi sentirete scoraggiati.


FTL un gioco che vi racconta
delle storie, quindi difcile non
affezionarsi ad esso. Sul lungo
termine, per, difcilmente
ritornerete a giocarlo. C un
dettaglio in molti giochi in stile
Rogue che vi porta a giocarli
pi e pi volte e non qualcosa
che gli incontri causali in FTL
o le ricompense per i successi
vi pu dare: lapprendimento.
Ogni morte del personaggio
in Nethack vi insegna qualcosa
sullintricato funzionamento
del gioco e grazie a ci potete
progredire. La vostra ricompensa
la conoscenza. Saltando
di galassia in galassia in FTP, una
volta acquisiti i meccanismi di
base del gioco e di gestione della
squadra, vi ritroverete a non aver
appreso nulla di nuovo in realt
e alla ne vi annoierete. La sda
che il gioco vi pone crudele,
soprattutto con lapprossimarsi
della ne, e i vari obiettivi vi fanno
andare avanti. Ma padroneggiare
FTL non vi lascia la soddisfazione
che dovrebbe. LXP

Giudizio
Faster Than Light
Sviluppatori: Matthew Davis
e Justin Ma

Web: www.ftlgame.com
Prezzo: $ 10

Gameplay
Grafica
Longevit
Qualit/prezzo

6
7
6
7

FTL esplosivo, almeno fino a


quando la sua struttura casuale
non peggiora e lossigeno finisce.

Il voto di
Prima di iniziare la vostra missione, potete personalizzare la vostra nave

Linux Pro

LINUX PRO 125

45

Calendari
Gli originali e inimitabili calendari
FORMATO
pi di MODA

GRANDE solo
FORMATO6,00
Il

Il

15x42 centimetri

solo
,90

28x30 centimetri

C a l e n d a r i o

2013

GATTI 5

CA NICA2VA01LL3I
C A L E N
D A R I O

13
CA LE ND AR IO 20

PASTORE
TEDESCO
CALENDARIO 2013

CANI
AR IO
CA LE ND

C a l e n d a r i o

20 13

2013

1_covercaval.i

ndd 2

gat ti

29/03/12 14.38

C AC LAEL NE DN ADRA I RO I O

2013

PASTORE
TEDESCO

w w w.lisagoodmancalendar.it

1_I_28x30COV.indd 3
15x42_covPASTED cogis.indd 3

29/03/12 15.04

29/02/12 16.36

CONIGLIETT
I
CA LE ND

w w w.lisa

good

man cale

ndar.it

2013

2013

29/03/12 14.39

LABRA
R E T R IEDOR
VER

GOLDEN

AR IO 20
13
07/09/12

2.indd
ovCANI_
15x42_c

C a
l e n
d a
r i o

28x30COVok.indd 2

C a l e n d a r i o

RETRIEVER

12:12

29/03/12 15.05
28x30coverALTAcogis.indd 1

w w w.lisa good

manc alend ar.it

CHIHUAHUA
01/03/12 17.22

dd 1

15x42_covKITTI2.in

C A LE

NDAR

13
IO 2 0

1_I_28x

30COV.

indd 1

C a l e n d a r i o

1_I_28x30COV.indd 1

Cani
Gatti
Coniglietti
Pastore Tedesco
Chihuahua

w w w.lisa

15x42_c

ovRabbi
t.indd

good

man cale

ndar.it

06/03/12

w w w.lis

15x42_

UA.ind
IHUAH
covCH

ago odm

anc alen

dar. it
2 15:14
28/06/1

14.42

2013

09/07/12

11:21

rot t wei ler

04/07/12 13:08

Cani
Gatti
Cavalli
Pastore Tedesco
Golden Retriever
Labrador Retriever
Rottweiler

d 1

28/06/12 17:02
1_I_28x30COV.indd 1

2013

In anteprima
SOLO per TE!

con le foto pi belle mai viste prima

Unico
Il POCKET solo
,90
da TAVOLO
in Italia!

30X42,5 centimetri

16,5x15 centimetri

s. Genoveffa verGine

11.48

2013

da rio

s elisaBetta anna B.
seton ved.
s. amelia martire

Gat ti

epifania del siGnore

s. raimondo sac.

s. massimo

s. Giuliano martire

Cani
Gatti
Pink Pigs

cani

s. aldo eremita

s. iGino papa

s. cesira di arles

05/03/12 17.15

s. ilario vescovo

Batt. di Ges

s. felice martire

Gatti16

,5X15C

OVERok.indd

MA
RI

cani16,5X15COVE
R.indd 2

s. mauro aBate

s. marcello i papa

15/03/12

17.09

GENN AI O

La nostra famig

s. antonio aBate

lia

s. marGherita martire

IL CALENDARIO
DELLA
CALENDARIO
FELICIT
FELICIT
2013
28x30 centimetri
solo
,00

della

Preziosi spunti e splendide immagini


che ispirano alla meditazione
per vivere al meglio tutto il 2013

Tutte le stag
ioni sono bell
e
per le persone
che portano la
felicit dentro
(Horace Fries

1 Marted
2 Mercoled
3 Gioved
4 Venerd FIDO
5 Sabato
6 Domenica
7 Luned
8 Marted
9 Mercoled
10 Gioved
11 Venerd
12 Sabato
13 Domenica
14 Luned
15 Marted
16 Mercoled
17 Gioved
18 Venerd
19 Sabato
20 Domenica
21 Luned
22 Marted
23 Mercoled
24 Gioved
25 Venerd
26 Sabato
27 Domenica
28 Luned
29 Marted
30 Mercoled
31 Gioved
MARIA MADRE

martin luther KinGs day

S. GENOVEF

ss. seBastiano
e faBiano martiri

S ELISABE TTA
SETON VED. ANNA B.

s. aGnese verGine

S. AMELIA MARTIRE

EPIFANIA DEL

s. Gaudenzio vescovo

S. RAIMONDO

s. emerenziana verG.

s. francesco di sales

S. GIULIANO

S. IGINO PAPA

vesc.
timoteo
1

e
ano.indd
ss. tito
cal_COVER_famigliam

S. CESIRA DI

s. anGela merici

ARLES

2a

09/03/12 14.34

S. FELICE MARTIRE

S. MAURO ABATE

s. costanzo di peruGia
vescovo

solo
,00

S. MARCELLO

s. martina martire

S. ANTONIO

3
a

I PAPA

ABATE

S. MARGHERITA

s. Giovanni Bosco
sacerdote

BATT. DI GES

s. tommaso daquino

1a

S. ILARIO VESCOVO

mem. della shoah

cal_fam_mesi01.indd 1

MARTIRE

S. ALDO EREMITA

conv. di s. paolo

MARTIRE

S. MARTA M.

MARTIN LUTHER

KINGS DAY

SS. SEBASTI
ANO
E FABIANO MARTIRI

07/03/12 15.09

S. AGNESE VERGINE

S. GAUDENZIO

VESCOVO

S. EMERENZIANA

S. FRANCES

CONV. DI S.

4a

VERG.

CO DI SALES

PAOLO

SS. TITO E TIMOTEO

VESC.

S. ANGELA MERICI

MEM. DELLA

S. TOMMAS

SHOAH

O DAQUINO

S. COSTANZ
O DI PERUGIA
VESCOVO

S. MARTIN A

MARTIRE

S. GIOVANN
I
SACERDOTE BOSCO

cal_fam_m

esi013.indd

D2013S.indd

SIGNORE

SAC.

S. MASSIMO

s)

I COVER_ME

FA VERGINE

2013

DI DIO

SS. BASILIO E
GREGORIO
VESC.

s. marta m.

13/03/12 14.26

PRENOTALI SUBITO SU

www.spreastore.it

5a

13/02/12 15.52

SET TIM ANE

ss. Basilio e GreGorio


vesc.

indd 1

29/02/12

Ca len

settima ne

maria madre di dio

SPA - MILANO
DISTRIBUZIONE: M-DIS DISTRIBUZIONE

16,5X15COVE
RPIGS.

1 Marted
2 Mercoled
3 Gioved
4 Venerd
5 Sabato
6 Domenica
7 Luned
8 Marted
9 Mercoled
10 Gioved
11 Venerd
12 Sabato
13 Domenica
14 Luned
15 Marted
16 Mercoled
17 Gioved
18 Venerd
19 Sabato
20 Domenica
21 Luned
22 Marted
23 Mercoled
24 Gioved
25 Venerd
26 Sabato
27 Domenica
28 Luned
29 Marted
30 Mercoled
31 Gioved

La nostra famiglia

- ANN - 6,00
LISA GOODMAN CALENDAR N. 2/2011

01
3

Il geniale
2013 di
strumento
uso quotidiano
1a
che unisce due
prodotti in uno.
UN COMPLETO
CALENDARIO
a con i
Santi del giorno,
2
le festivit e le
fasi lunari UNA
VERA
AGENDA
LO
OGLIAPsegnare
SFper
O RIODO
C
S
E
M
tutto
CO quello
che
COM
a
non dobbiamo
3
O
G
dimenticare.
LAU
RA

Genn aio

MA
RC
O

K PI GS

DELLA

IN

2013

CALENDARIO-AGENDA

FAMIGLIA 2013

Ca len da rio

Test Confronto
MODALIT DEL TEST
Mettere a confronto questi social
network non stata cosa semplice,
soprattutto perch non tutti
presentano caratteristiche simili.
Alcuni dispongono di maggiori
funzionalit e consentono,
quindi, di fare molto pi che
postare messaggi lunghi 140
caratteri. Si preferito, dunque,
focalizzare attenzione e sforzi
nel valutare quelle caratteristiche
che li rendono diversi dagli altri
social network. stata esaminata
la essibilit nelle impostazioni
della privacy, la facilit di portabilit
dei dati e in che maniera vengono
impiegati gli open standard come
OpenID, OStatus e altri. Alla ne,
stata sottoposta a verica
lusabilit generale di questi servizi,
comparandoli ai social network
proprietari come Facebook,
Google+ e Twitter. Sono state
poi valutate le interfacce utente
e la personalizzazione delle
impostazioni, cos come la loro
versione mobile e le relative app.
Quaiku, uno dei social network
provati in queste pagine, stato
chiuso il 15 Ottobre 2012:
viste le interessanti caratteristiche
di tale social network, si deciso
di includerlo comunque
in questo confronto.

Social network aperti


Le preoccupazioni sulla privacy vi tengono lontani dai social
network pi popolari? Ecco allora alcuni servizi alternativi,
aperti e non solo per modo di dire

i certo su Facebook,
Google+ o Twitter
non troverete mai
Richard Stallman
o Eben Moglen. Questi campioni
del Software Libero, per,
non rifuggono da quei social
network solo perch costruiti
su software proprietario
e con codice chiuso; quello

dei loro iscritti. I sostenitori della


privacy da tempo non fanno
che auspicarsi social network
decentralizzati e distribuiti
che trattino con rispetto i dati
dei loro utenti. Fortunatamente,
social network di questo tipo
stanno cominciando poco
a poco a emergere. Costruiti
con software Open Source,

I campioni del Software


Libero rifuggono i social
network a causa della privacy
che a loro preme di pi
qualcosa di pi serio:
la privacy o, meglio ancora,
la sua quasi totale assenza.
Quei social network cos
popolari sono stati spesso
criticati a causa delle loro
politiche in materia di privacy.
Queste autorizzerebbero
le compagnie che si
nascondono dietro a questi
grandi sistemi di usare
liberamente i dati personali

48

LINUX PRO 125

aderiscono a vari standard


aperti per la portabilit
dei dati, con particolare
riguardo allinteroperabilit
e con sempre maggiore
integrazione tra loro. In questo
confronto, sono stati esaminati
cinque social network di questo
genere, ossia progettati
con componenti Open Source.
Alcuni, addirittura, permettono
ai propri utenti di usare gli stessi
componenti per creare e gestire

un proprio social network,


dando loro, in questo maniera,
il controllo totale e completo
dei dati personali. Da tenere
a mente, tuttavia, che
per questi social network
si parla ancora di primi passi
e che nessuno di loro
pu contare un numero
di utenti che solo si avvicini
a quelli dei loro popolarissimi
concorrenti proprietari. Alcuni
di questi servizi, come Diaspora,
sono ancora a un livello iniziale
di sviluppo e quindi con
iscrizioni limitate, nellattesa
di perfezionare la piattaforma
per il lancio al pubblico.

LA NOSTRA SELEZIONE

Diaspora

Friendica

Identi.ca

Qaiku

Pidder

Confronto Test

Funzionalit
Cosa hanno da offrire?
iaspora uno dei social
network alternativi
pi conosciuti. Nonostante
sia ancora in fase di sviluppo,
offre gi molte delle funzionalit
che ci si aspetta da un servizio
di reti sociali. Vi consente, ad esempio,
di pubblicare testo e immagini
e di fare lembedding di video
da YouTube e Vimeo. Non possibile,
tuttavia, avere la preview dei link,
nonostante questi vengano convertiti
nei post. Gli utenti hanno la possibilit
di impostare i loro messaggi come
pubblici, o limitarne la visione
solamente ad alcuni gruppi di altri
utenti, chiamati Aspetti. Potrete
anche ltrare e visionare lo stream
degli aggiornamenti tramite gli Aspetti,
cos come potrete seguire un altro
utente senza includerlo tra i vostri
amici, in maniera molto simile
a Google+ e Facebook. Quello
che distingue Diaspora dagli altri
social network che un network
distribuito. Ci signica che non esiste
un unico sito Internet per Diaspora.
Avrete, al suo posto, una serie di
server chiamati pod. Lutente nale,
naturalmente, non si accorger della
differenza: potrete registrarvi su un

pod qualsiasi e interagire in maniera


trasparente con utenti registrati
su pod differenti. Come Diaspora,
Friendica un altro network
decentralizzato, che per si spinto
addirittura oltre. Oltre a connettere
utenti che si trovano su server
diversi, Friendica pu anche
importare contenuti e contatti
da Facebook, Twitter, Identi.ca,
da feed RSS e altri siti Web. Meglio
di tutto, potrete commentare, mettere
i like o condividere i post dei vostri
amici di Facebook direttamente
da Friendica. Questo servizio, inoltre,
non impone un numero di caratteri
prestabilito per gli aggiornamenti
dello stato che, come succede
per gli articoli dei blog, possono avere
anche un titolo ed essere archiviati
sotto diverso categorie. Accanto
alla solita possibilit di caricare foto
e condividere link da YouTube
e Vimeo, i messaggi supportano
il Rich Test Format. Friendica, inoltre,
dispone di un player incorporato per
la riproduzione di le audio e video.
Potrete poi condividere e modicare
i vostri post e, oltre alla possibilit
mettere il like, avrete anche quella
del dis-like. Il servizio di microblogging

Identi.ca si basa su un server Open


Source StatusNet. Supporta gli
hashtag e pu automaticamente
abbreviare gli URL troppo lunghi.
Potrete allegare immagini, video
e le audio ai vostri messaggi,
cos come fare lembedding
di contenuti da YouTube, Flickr
e altri siti Web. Il vantaggio maggiore
di Identi.ca rispetto a Twitter che,
oltre a condividere gli aggiornamenti
dello stato, potrete anche usarlo
per condividere bookmark, eventi
programmati, fare domande
o organizzare sondaggi. Dallaltro
lato, linteresse principale di Qaiku,
un altro servizio per il microblogging,
quello di essere multilingue.
La piattaforma ospita decine di canali,
che un bel modo per scoprire utenti
con interessi simili ai vostri. Inne
c Pidder, diverso sia dai social
network proprietari pi popolari,
sia dagli altri colleghi di questo
confronto. Non possiede le solite
funzionalit che si possono trovare
negli altri social network ma stato
progettato per proteggere la vostra
privacy, cosa che viene presa molto
seriamente. Qualunque cosa voi
condividiate, infatti, verr cifrata
e in pi dispone di impostazioni
della privacy piuttosto accurate.
Rappresenta anche lunico servizio,
tra quelli selezionati per questo
confronto, a offrire sia account free
che account premium a pagamento.

Verdetto
Friendica
Diaspora
Qaiku
Identi.ca
Pidder
Friendica
ha maggiori
funzionalit
rispetto agli altri
concorrenti.

Collegamento dei dati


Come si comportano con gli altri servizi?
social network proprietari tradizionali
possono essere paragonati
a contenitori isolati di informazioni.
Se volete connettervi e condividere
qualcosa, ad esempio delle foto con
i vostri amici su un altro social network,
lunica maniera per farlo registrare

Il plug-in per Drupal di Diaspora


consente al CMS di connettersi
a Diaspora come ogni altro pod

un account sul loro social network


e duplicare i vostri dati anche l.
Un buon social network aperto dovrebbe
avere la capacit di collegare i dati
tra i vari servizi. Diaspora risolve parte
di questo problema permettendo agli
utenti sui diversi pod di connettersi
e condividere i contenuti tra loro. Inoltre,
quando ci si connette per la prima volta
a Diaspora, questo vi d la possibilit
di importare le informazioni relative
al prolo direttamente dal vostro account
di Facebook. Il collegamento dei dati,
invece, uno dei punti forti di Friendica.
Questo stato disegnato afnch
i diversi social network vengano
visualizzati come e-mail e per
permettere agli utenti di scegliere quale
network preferiscono usare. Friendica

pu collegare i dati non solo con gli altri


social network come Facebook,
Twitter e Diaspora, ma anche da pagine
Web e blog. Anche Identi.ca include
una integrazione con Facebook e in pi
pu replicare i messaggi da Twitter.
Pu anche importare gli aggiornamenti
dai feed RSS e Atom direttamente nella
vostra timeline. Viceversa, tramite questo
servizio potrete condividere i vostri post
anche su Twitter. Con Qaiku potrete
connettervi utilizzando il vostro account
di Facebook, cos non avrete bisogno di
crearne uno specico per questo servizio.
Potrete poi importare tutti i vostri contatti
da Facebook, Twitter e Gmail, cos come
aggiungere il vostro account di Flickr
e il vostro blog sul prolo Qaiku, ai quali
questo invier tutti i vostri aggiornamenti.

Verdetto
Diaspora
Friendica
Identi.ca
Qaiku
Pidder
Friendica pu
condividere i dati
tra molti network.

LINUX PRO 125

49

Test Confronto

Usabilit
La libert duso cosa buona e giusta, ma questi network sono
davvero pronti per il mainstream?

er un social network avere successo catturando il meglio della


comunit dellOpen Source non abbastanza. Tutti i network
presentati in questo confronto dovrebbero allettare non solo
chi si preoccupa della riservatezza dei propri dati, ma anche una base molto
pi ampia di utenti non esperti. La superiorit tecnologica di questi social
network attirer utenti che hanno le capacit e le giuste conoscenze
per apprezzare le innovazioni da essi introdotte ma, per una maggiore diffusione,

anche la loro usabilit gioca un ruolo molto importante. Per testarne lusabilit,
questi social network sono stati sottoposti al test della nonna. Totalmente
in modo non scientico, sono stati presentati a una nonna, con la richiesta
di provarli per un po. Se una nonna pu usarli, sicuramente chiunque
pu fare altrettanto! Al contrario, tuttavia, se la nonna non dovesse riuscirci,
nessun richiamo ai vari vantaggi tecnologici potr mai farle rinunciare
ai suoi account sui suoi social network proprietari preferiti.

Diaspora
Diaspora sembra proprio Google+, ma con una differente terminologia: ad esempio
i gruppi di utenti si chiamano Aspetti anzich Circoli. Prevede anche gli hashtag,
divenuti popolari grazie ai servizi di microblogging come Twitter, che sono molto utili
per stabilire una comunicazione iniziale. Quando ci si connette per la prima volta,
Diaspora vi chieder di elencare cinque vostri interessi sotto forma di hashtag,
che verranno poi usati per riempire il vostro primo stream. Ci sono hashtag per dare
il benvenuto ai nuovi utenti e aiutarli nelle domande su come usare il network, cos
come per riportare bug e per richiedere ulteriori nuove funzionalit. Cercare altri
utenti e aggiungerli agli Aspetti cosa immediata. O, se vi sentite particolarmente soli,
potrete inviare e-mail di invito ai vostro amici. Nel postare gli aggiornamenti di stato,
avrete la possibilit di allegare unimmagine e limitare il post solo a certi Aspetti.
Tutte le impostazioni di sistema sono altrettanto accessibili e semplici da usare.

Friendica
Cos come per Diaspora, linterfaccia di Friendica non dovrebbe apparirvi cos estranea
se avete gi usato uno dei social network pi famosi. Friendica vi offre una sezione
Serve aiuto? Sei nuovo?, che vi condurr a varie pagine di documentazione
particolarmente utili per prendere condenza con la piattaforma e con la terminologia
del network. Vi saranno anche spiegati i vari elementi mettendoli a confronto
con i loro equivalenti di Facebook e Diaspora. Se connetterete Facebook
a Friendica, questo potr importare le informazioni relative al vostro prolo
da Facebook. Sempre da Facebook, avrete la possibilit di importare anche i vostri
contatti e le vostre conversazioni. Cos come accade in Diaspora, potrete elencare
i vostri interessi tramite parole chiave che Friendica user per suggerirvi degli amici
da aggiungere ai contatti. Organizzare gli amici in gruppi di conversazioni privata,
per il massimo della riservatezza, piuttosto immediato, cos come personalizzare
il vostro account agendo sui vari comandi nelle impostazioni.

I client desktop
I client offline che interagiscono con i servizi

social network pi diffusi possono


contare su moltissime applicazioni
da utilizzare per interagire
e condividere contenuti con i vostri
amici. Anche i social network aperti
hanno applicazioni simili, sia per
le piattaforme desktop che per
quelle mobili. Considerata la sua
versione pre-beta e il fatto che
le sue API non sono ancora pronte,
abbastanza sorprendente che
Diaspora disponga gi di un paio
di applicazioni di questo tipo. Il client
Dianara, come il servizio che supporta,
ancora sotto intenso sviluppo e pu,

50

LINUX PRO 125

quindi, mostrare solo una dozzina circa


di post. Esiste anche un client Web
di Diaspora per i dispositivi Android
che al momento, tuttavia, sembra
non funzionare su tutti. Il network
che possiede un gran numero di
applicazioni Identi.ca. Oltre a diverse
applicazioni multi piattaforma dedicate,
per esempio il client StatusNet
Desktop, potrete anche usare
le applicazioni pi diffuse funzionanti
con Twitter, come Adium, Choqok e
Gwibber per postare i vostri messaggi
su Identi.ca. Per postare messaggi
su Friendica, potrete anche utilizzare

alcune applicazioni disegnate per


Identi.ca, come Fren Tcl, e il client
della multipiattaforma Xpostulate
(ma non le troverete nei repository
della vostra distribuzione). Esiste
anche un semplice programma
desktop che visualizzer sul vostro
desktop gli aggiornamenti da Friendica.
Qaiku dispone dellapplicazione mobile
Mauku per il Nokia N900, mentre
gli utenti di altri dispositivi mobili
dovranno farsi bastare linterfaccia
ottimizzata che si trova su m.qaiku.
com. Per il desktop, potrete invece
usare il popolare Gwibber e Ping.fm.

Verdetto
Diaspora
Friendica
Identi.ca
Qaiku
Pidder
Identi.ca senza
alcun dubbio
il vincitore di
questo round.

Confronto Test
Identi.ca
Differentemente dai due servizi visti n qui, Identi.ca una piattaforma
di microblogging e, a una prima occhiata, non sembra diversa da Twitter.
Ci potrete fare le solite cose: visualizzare i messaggi su un determinato
argomento, rispondere, condividerli e marcarli come favoriti. Vi permetter anche
di impostare i vostri post come privati, trasmetterli a chiunque in Internet, o solo
agli utenti di Identi.ca. Linterfaccia, inoltre, rende semplice cercare gruppi a cui
unirsi o creare un vostro gruppo personale. Questo servizio, tuttavia, vi consente
di fare molto pi che scrivere messaggi lunghi 140 caratteri. Dispone di nestre
molto intuitive per la creazione e la condivisione con i vostri amici di eventi
e bookmark. Vi offre, in pi, la possibilit di raccogliere opinioni attraverso strumenti
come il semplice sistema di poll, che presenta no a cinque opzioni di votazione.

Qaiku
Qaiku, un ulteriore servizio per microblogging, dispone di interfaccia
sia per luso desktop che per i dispositivi mobili. Il suo punto pi forte
il multilinguismo. Tramite le sue impostazioni, potrete cambiare la lingua
dellinterfaccia e specicare quali lingue siete in grado di capire. Purtroppo,
per, questo non viene reso evidente nella sua pagina iniziale. Il servizio,
inoltre, non dispone di alcun tipo di documentazione. Non che sia particolarmente
necessaria per, in quanto la maggior parte delle sue funzionalit si spiega
da sola. Qaiku, inoltre, rende pi agevole la visualizzazione delle discussioni a cui
si preso parte. Potrete anche ltrare i messaggi pubblici sulla base delle lingue
parlate, cos come caricare facilmente foto, aggiungere tag ai vari messaggi e fare
lembedding di link da siti come YouTube, Slideshare e altri. Anche ricercare
e connettersi ad altri utenti o canali sar unoperazione piuttosto semplice.

Pidder
Come potrete vedere dal resto di questo articolo, Pidder non un social network
per tutti e per tutti i giorni. A rischio di sembrare ripetitivi, con Pidder si possono
organizzare e cifrare dati sensibili, che potranno poi essere condivisi con altri
servizi online. Archivia, inoltre, nellaccount cifrato di un utente tutte
le informazioni condivise con terze parti. Il prezzo pagato per un controllo
cos avanzato della privacy, tuttavia, la sua scarsa usabilit. Pidder dispone
dellinterfaccia pi complessa tra quelle esaminate in questo confronto.
Lunica ancora di salvezza rappresentata dalla grande quantit
di documentazione e dal wizard utile al punto di minimizzare i difetti
dellinterfaccia. Non si potr, letteralmente, usare questo servizio senza
aver studiato prima la sua vasta documentazione o aver visionato prima i relativi
video su come utilizzare le funzioni di base, come condividere i dati, aggiungere
contatti, creare login veloci (quicklogin), ecc.

Impostazioni e personalizzazione
Modificare le modalit di visualizzazione

e vero che tutti questi servizi


possono essere utilizzati cos come
sono, anche vero che possibile
personalizzarli afnch rispondano il pi
possibile alle vostre esigenze duso.
Diaspora vi consente di modicare la lista
delle azioni delle quali vorrete ricevere
le notiche e connettervi o disconnettervi
a servizi di terze parti come Facebook,
Twitter e Tumblr. Considerato che il team
sta ancora lavorando agli elementi
principali del servizio, non presente
alcuna opzione per la personalizzazione
dellinterfaccia. Dallaltro lato, Friendica
dispone di 13 temi tra i quali scegliere

e fa personalizzare vari elementi, come


la dimensione del font per post
e commenti. Potrete anche nascondere
certe aree, come le pagine della
community, ed elementi quali gli ultimi
like o altri. Oltre a questo, Friendica
possiede impostazioni complete per
quanto concerne la sicurezza e la privacy
e, per diminuire lo spam, potrete anche
impostare un limite al numero di
messaggi privati da parte di utenti
sconosciuti che potrete ricevere al giorno.
La riservatezza il pezzo forte di Pidder.
Questo servizio vi consentir di cambiare
la vostra passphrase e quindi cifrare

nuovamente tutti i vostri dati. Identi.ca


usa il suo servizio proprietario ur1.ca
per abbreviare gli URL, ma potrete
modicare questa opzione agendo
su Settings. Essendo il multilinguismo
la specialit di Qaiku, potrete scegliere
la lingua dellinterfaccia e una lingua
primaria, che sar taggata con gli
aggiornamenti dello stato. Inoltre,
con Qaiku potrete creare un tema
personalizzato, con unimmagine
di vostra scelta per lo sfondo e i vostri
colori preferiti. Tramite le impostazione
della privacy potrete disabilitare
la localizzazione geograca.

Verdetto
Diaspora
Friendica
Identi.ca
Qaiku
Pidder
Non c davvero
bisogno di toccare
le impostazioni.
LINUX PRO 125

51

Test Confronto

Il controllo della privacy


Il Grande Fratello pu mettersi allascolto?

uesti speciali social network


sono stati studiati affinch
i vostri dati siano protetti dagli
occhi voraci di chi vorrebbe utilizzarli
per gli scopi pi dannosi. Grazie
al design distribuito di Diaspora,
non esiste alcuna autorit centrale
che possa tracciare il vostro account
o determinare cosa possiate
condividere o meno. Friendica
protegge i suoi utenti con una cifratura
dei messaggi server-a-server di tipo
militare. Tutti gli elementi presenti sulla
sua rete vengono controllati tramite
una lista di accessi per consentirne o
limitarne laccesso a particolari individui
o a certi gruppi di utenti. La maggior
parte dei social network esaminati
prevede gruppi di discussione privati
che limitano le comunicazioni ai loro
soli membri. Friendica si spinge ancora
pi in l e d ai suoi iscritti la possibilit
di impostare un tempo di scadenza
ai loro contenuti, cos che, trascorso
un certo periodo, questi vengano
cancellati da qualsiasi server di
Friendica che ne detenga una copia.
La maggior parte di questi social
network possiede anche un sistema
di messaggistica interno, per lo
scambio di messaggi privati tra gli
utenti. Con Friendica, gli iscritti possono

inviare messaggi sia agli altri utenti


di Friendica che a quelli di Diaspora,
incluso chi si trova su altri server.
Molti potrebbero trovare insolito il fatto
che Identi.ca non possieda un sistema
di comunicazione privato, ma il network
non stato pensato per una
condivisione ristretta dei contenuti. Viene
chiaramente specicato, infatti, che tutti
i post condivisi sono pubblicati con una
licenza Creative Commons Attribuzione.
Se siete impensieriti dalle questioni
di riservatezza, fate riferimento alle
norme sulla privacy di Identi.ca, dove
viene spiegato in maniera trasparente
che alcuni vostri dati potranno essere
utilizzati per la pubblicazione
di statistiche, come ad esempio il 30%
degli utenti sono registrati con un
indirizzo Hotmail e per soddisfare le
eventuali richieste dellautorit giudiziaria.
Dallaltro lato, Qaiku offre impostazioni
della privacy semplici e facili da
comprendere, che vi permetteranno
di scegliere chi potr visualizzare i vostri
post e chi no. Vi dar, in aggiunta, due
opzioni per gestire ulteriormente la
vostra riservatezza: la prima per rendere
pubbliche o nascondere le informazioni
inerenti la vostro localizzazione,
la seconda per permettervi di decidere
se mostrare i vostri messaggi allintero

Internet, solo agli utenti di Qaiku o


unicamente ai vostri contatti. E ancora,
questo servizio vi consente un controllo
completo sui vostri contatti di Qaiku,
ma anche su quelli di altri social
network quali Twitter e Facebook.
I controlli sulla privacy in conversazioni
che qualcun altro ha iniziato sono resi
ben visibili nella barra laterale accanto
al thread. Potrete avere tutte le
informazioni per scoprire chi in grado
di leggere i vostri commenti e decidere,
quindi, se partecipare o meno a una
discussione. La massima cura per la
privacy il marchio di Pidder. Questo
servizio usa una propria libreria Open
Source scritta in JavaScript, chiamata
pidCrypt, per cifrare i vostri dati che
vengono inviati ai server via HTTPS.
A differenza di altri network, anche
la gestione dellidentit un punto
centrale per Pidder, tanto da
consentirvi di creare identit diverse
e diversi pseudonimi per gestire come
volete i vostri dati. Potrete anche
impostare sei diversi livelli di
autorizzazioni per i vostri contatti sul
network. Questo, combinato alle sue
caratteristiche di gestione dellidentit,
vi dar un controllo estremamente
rafnato per stabilire quale identit
condivida cosa con quali contatti.

Verdetto
Diaspora
Friendica
Qaiku
Identi.ca
Pidder
La privacy
fondamentale
per Pidder.

La portabilit dei dati


A chi appartengono i vostri dati?

prescindere delle impostazioni


della privacy, farvi avere il totale
controllo dei vostri dati e del
vostro account uno degli obiettivi di
business fondamentali per questi social
network. In considerazione di ci,
Diaspora permette ai suoi utenti

Identi.ca sta ancora sperimentando


le sue funzionalit di backup e non
conserva le informazioni private

52

LINUX PRO 125

di scaricare tutti i loro contenuti testuali


e le foto. Anche il link per chiudere
laccount piuttosto accessibile. Tenete
a mente che, grazie al design di Diaspora,
ogni post che deciderete di condividere
con qualcuno situato su un altro pod
rimarr archiviato anche su questo,
insieme a una copia del vostro prolo.
Siccome questi dati saranno accessibili
allamministratore del database di quel
determinato pod, scegliere con
attenzione il vostro pod di Diaspora
quanto meno opportuno. Detto questo,
ogni volta che cancellerete un post
o i dati del vostro prolo, questi verranno
eliminati anche da ogni altro pod
in cui erano conservati. In pi, il team
di Diaspora sta lavorando su una
funzionalit che permetter allutente

di esportare i propri dati da un pod per


importarli su un altro. Anche Friendica
vi fa scaricare i vostri dati personali e di
rimuovere facilmente il vostro account.
Con Identi.ca, potrete scaricare i vostri
messaggi e i vostri le in formati che
possono essere utilizzati anche da altri
servizi, insieme alle informazioni
riguardanti il vostro prolo. Qaiku non
includeva alcun strumento per effettuare
lo scaricamento dei dati o per cancellare
un account. Dato che Pidder pu essere
usato anche come gestore online di
password, vi permette di importare ed
esportare i vostri dati di autenticazione in
diversi formati, come pidder-XML, CSV,
KeePassX, ecc. In caso di cancellazione
dellaccount, il servizio eliminer in modo
permanente tutti i dati dopo 2 settimane.

Verdetto
Diaspora
Friendica
Identi.ca
Qaiku
Pidder
In Qaiku,
incredibilmente, la
portabilit dei dati
completamente
assente.

Confronto Test
Social network aperti

lo ancora su frndc.com. Nonostante


Friendica possa tranquillamente
rimpiazzare ogni social network che stiate
eventualmente usando, pu risultare
sovradimensionato per alcuni altri
propositi. Se tutto quello di cui avete
necessit un servizio di microblogging,
allora rivolgetevi senza esitazione a
Identi.ca. il sostituto naturale di Twitter
e vi consente anche di ospitare un vostro
servizio personale per un determinato
ambiente circoscritto, ad esempio
unimpresa commerciale o un istituto
scolastico. Anche se Identi.ca non tanto
fanatico per il multilinguismo quanto lo
era Qaiku, supporta le notiche in altre
lingue oltre allinglese. I suoi strumenti,
inoltre, risultano piuttosto pratici per
cambiare il passo delle conversazioni.
Pidder fa categoria a s. Non certo
consigliabile per un uso standard
e quotidiano del social networking
semplicemente perch non stato
progettato a quello scopo. stato, invece,
concepito per utenti che ritengono
preziosa la loro privacy, e risulta essere
il migliore per la condivisione di
informazioni veramente sensibili che non
si vorrebbero mai di dominio pubblico.

Il verdetto
iaspora di sicuro il social
network di cui si parlato
di pi, in quanto alternativa
Open Source a Facebook
con il valore aggiunto del rispetto della
privacy. Il network oggettivamente
impressionante, anche se ancora nella
sua versione alfa. Non merita per
il primo posto. Il servizio, infatti, manca
di alcune caratteristiche cruciali, come
una chat integrata nel browser da usare
con gli amici. Gli sviluppatori stanno
continuando ad aggiungere nuove
funzionalit alla piattaforma cos,
probabilmente, anche questa far parte
di una versione futura. C poi il fatto che
la registrazione sul pod principale ospitato
dagli sviluppatori attualmente ristretta.
Detto questo, rimane sempre la possibilit
di iscriversi su altri pod o, addirittura,
di metter su un proprio pod personale.

Alla resa dei conti, il vincitore


di questa competizione Friendica.
, probabilmente, il miglior social network
federato e Open Source di cui si sia
mai sentito parlare. Non ha mai generato
lo stesso rumore di Diaspora,
ma piuttosto popolare e sembra
essere anche pi popolato di Diaspora,
nonostante non ci sia ancora un metro
di misura oggettivo per poterlo
scienticamente affermare. Friendica
dispone di tutte le funzionalit dei social
network proprietari pi famosi e, nello
stesso tempo, di una interfaccia utente
molto intuitiva. Il software di Friendica
supporta una chat integrata nel browser
simile a quella di Facebook, che avviene
via XMPP tramite un apposito plug-in
che deve essere attivato, per,
dallamministratore del vostro sito
di Friendica. Sfortunatamente non

Friendica

Web: www.frndc.com
Il vostro nuovo social network preferito.

Diaspora

Web: www.joindiaspora.com
Non proprio un rimpiazzo del vostro social network preferito, ma quasi.

Identi.ca

Web: www.identi.ca
Il miglior servizio aperto per il microblogging. Punto.

Pidder

Web: www.pidder.com
Servizio ideale per quelli veramente paranoici. Oltre misura per il resto degli utenti.

Qaiku

Web: www.qaiku.com
Buon servizio per il microblogging, ma ormai chiuso.

A voi la parola
Avete mai usato uno di questi network? Pensate siano pronti per uso diffuso?
Scrivete la vostra opinione a redazione@linuxpro.it.

Considerate anche...
Sorprendentemente, ci sono molti altri software Open Source che
consentono di ospitare il vostro social network personale, come
Elgg, Lovd By Less e altri. Troverete tanti social network di nicchia
basati su questi software e su quelli che fanno funzionare i network
presentati in questo confronto. A questo proposito, uno Bentio,
che si basa sul software StatusNet, lo stesso di Identi.ca. Ci sono,
inoltre, diversi plug-in che trasformano alcuni popolari servizi
di gestione di contenuti online in veri e propri social network, come
lestensione Yogurt per Xoops. Potrete crearvi anche un social
network privato usando software Open Source come RetroShare

e Newebe. Potrete condividere contenuti e collaborare con i vostri


amici senza coinvolgere terze parti. Newebe, attualmente nella
sua versione beta, possiede anche un client di microblogging che
consente la condivisione di immagini e note, mentre RetroShare
multipiattaforma e impiega GPG e OpenSSL per cifrare tutte
le comunicazioni tra i suoi utenti. Per ultimo, esistono iniziative
come AppleSeed Project, OneSocialWeb e Anahita che stanno
lavorando sulla creazione di standard e sulla costruzione di strumenti
per la generazione di nuovi social network aperti. Inoltre, tenete
docchio il progetto supportato da FSF FreedomBox. LXP
LINUX PRO 125

53

Test Da non perdere


Strumento di modellazione 3D

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
redazione@linuxpro.it
QUESTO MESE...
Gmsh
fbcmd
Nuvola
QXmlEdit
Atop

Gmsh
VERSIONE 2.6.1 WEB http://geuz.org/gmsh

Non una sfera... un struttura di mesh perfettamente


modellata e normalizzata o qualcosa di simile!

54
55
55
56
56

sistono strumenti
di modellazione 3D
e strumenti notevoli
di modellazione 3D.
Proprio per questo non
si deve confondere Gmsh
(pronunciato G-mesh) con
altri strumenti di graca. Certo,
si possono creare, importare
ed esportare le classiche
forme basilari ma il vero punto

di forza di questo software


sta nellapplicazione
dellanalisi agli elementi niti.

un tool di modellazione
usato in campo ingegneristico
Questa tecnica viene
utilizzata in campo
ingegneristico, solitamente

Linterfaccia di Gmsh
Pannello principale
Il pannello principale
mostra la maggior parte
delle informazioni
sul modello in uso.

Modello
I modelli vengono creati
grazie alluso di mesh
e possono essere renderizzati
in vari modi.

Statistiche
I dati vengono aggiornati
in tempo reale rendendo
pi comodo capire cosa
sta succedendo.

54

LINUX PRO 125

assieme ad altro materiale


scientico, per il calcolo
semplicato di situazioni siche
dinamiche, come lo stress
applicato alle ruote di un
ingranaggio oppure le forze
di collisione di un veicolo
contro un ostacolo.
Gi da qui si pu intuire
che il campo di applicazione
di simili software vastissimo
dato che ovunque ci sono
forze che agiscono
contemporaneamente
su uno o pi elementi,
anche in campo sonoro
o elettromagnetico, per
esempio. Gmsh supporta
molti modelli di simulazione
e offre unampia gamma
di compatibilit per importare
progetti da altri software
oppure direttamente dai dati
grezzi. Linterfaccia offre
una nestra principale
accompagnati da altri pannelli
indipendenti. La schermata
principale mostra anche
un terminale in cui leggere
i messaggi di output

Console

Plug-in

Menu e strumenti

Qui vengono stampati


i messaggi che il software
vuole comunicarvi.

Esistono numerosi plug-in


atti a manipolare le mesh
che avete creato o facilitarvi
nel compito stesso.

Il menu costituito da una


finestra a scomparsa con una
serie di sottomenu a cascata.

del software. A tutti gli effetti


Gmsh pi unapplicazione
in ambito scientico
che un programma
adatto allutente comune
ma una buona cosa sapere
che esistono progetti simili
rilasciati sotto licenza
Open Source ed un
argomento complesso
e interessante per stimolare
le menti pi curiose.
La parte di rendering
viene fatta in OpenGL,
quindi non dovrebbero esserci
particolari problemi
di compatibilit; un problema
riscontrato riguarda per
il Double Buffering che
a volte fa i capricci, portando
a fastidiosi sfarfallii oppure
a modelli non disegnati
correttamente. Se cos dovesse
succedere avviate il programma
con lopzione -nodb. A parte
la presenza delle librerie
OpenGL lunico altro requisito
FLTK, disponibile praticamente
in tutti i gestori di pacchetti.

Da non perdere Test


Client Facebook

fbcmd
VERSIONE 2.0-beta WEB http://fbcmd.dtompkins.com

impossibile evitare di amare


un strumento a riga
di comando ben scritto,
se non altro per
i meravigliosi screenshot che regala.
E questo discorso ancor pi vero
se lo strumento in questione
permette di velocizzare e rendere
automatizzabili operazioni
che altrimenti richiederebbero
molto pi tempo tramite la comune
interfaccia graca. In tal senso
fbcmd semplicemente geniale
dato che riuscito a portare sulla
riga di comando quel che non
vi sareste mai aspettati, ovvero
quel covo di coltivatori terrieri virtuali
e impilatori di gioiellini seriali che
diventato Facebook ultimamente.
Il software scritto in PHP, infatti
avrete bisogno di php-cli per farlo
funzionare, e vi consentir
di usufruire di molte funzionalit

del social network pi diffuso senza


dover aprire mai un browser
ed essere seppelliti dalle richieste
di unirvi ai giochini pi assurdi del
momento. Ovviamente le feature
base sono semplicissime da trovare
e usare, ad esempio aggiornare
il proprio status, ma rimarrete stupiti
dal livello di complessit delle
opzioni disponibili. Nonostante
il setup sia un pochino complicato,
seguendo le istruzioni sul sito
dovreste arrivare senza problemi
ad avere il software pronto alluso.
A questo punto baster digitare
i seguenti comandi
fbcmd go access
fbcmd go auth
fbcmd auth XXXXXX
fbcmd addperm
fbcmd test
Questi passi vi guideranno
nellautenticazione e impostazione

Con un po di impegno si potrebbe fare un script generatore


di auguri automatizzati per la lista dei vostri amici

dei permessi di fbcmd nel vostro


prolo FB e a questo punto
quel che dovrete fare sar
usare comandi simili a
fbcmd status Haha.. alla facciaccia
vostra.. FB da riga di comando!
fbcmd status @dada post
Ci vediamo presto fratellino!
fbcmd status @ale post Basta
giocare a Dwarf Fortress.. studia!
Come gi anticipato la lista
di comandi lunghissima e offre
strumenti per gestire gli album

di foto, inviare nuovi contenuti,


creare e gestire gli eventi,
sostanzialmente tutto tranne
giocare a Farmville. Soprattutto,
fbcmd fa quel che viene
richiesto a uno strumento
per la riga di comando: prende
un compito complesso e tedioso
trasformandolo in qualcosa
di immediato e relativamente
semplice. Non semplicemente
un hack, davvero un utile
strumento produttivo.

Riproduttore musicale

Nuvola
VERSIONE 2.0.1 WEB www.launchpad.net/nuvola-player

erto non la prima


volta che un lettore
musicale viene
recensito su queste
pagine come una rivoluzione
da non perdere. Eppure questa
volta il software in questione
davvero differente dai soliti
prodotti mostrati in precedenza.
Talmente diverso da essere un
browser che si nge un lettore
musicale. Il punto di forza di
Nuvola che gli autori hanno
capito che scaricare, riordinare
e sistemare i tag della propria
libreria musicale unabitudine
del passato. Molti utenti hanno
scelto da tempo di afdarsi
a vari servizi online, sfruttando
cos le possibilit offerte
da alcuni siti che consentono
di fruire di un parco musicale

sconnato e gi pronto alluso.


In particolare ci si sta riferendo
a Grooveshark, 8tracks,
Google Music e per i fortunati
residenti allestero anche,
Amazon Music Player,
Pandora e Rdio, tutti servizi
gi supportati da Nuvola.
Tra questi alcuni consentono
addirittura di memorizzare
la propria musica offrendo,
spesso gratuitamente, uno
spazio a disposizione dellutente
per memorizzare i propri brani
e aggiungerli a quelli gi
presenti. Dopo essersi connessi
e autenticati al proprio fornitore
musicale di riferimento,
sostanzialmente come
si farebbe con un comune
browser, il passo che
avvantaggia Nuvola

Ora non avrete pi bisogno di portarvi dietro i vostri album


preferiti... nch avrete una connessione sempre a disposizione

lintegrazione con i controlli


e i feedback tipici di un
riproduttore musicale completo,
ad esempio lutilizzo dei tasti
multimediali o il volume
di sistema. Inoltre, come
se ci non bastasse, il fatto
di poter impostare diversi
servizi in maniera totalmente
indipendente per poi utilizzare
quello scelto a seconda del

bisogno, risulta una feature


molto comoda e veloce. Lunica
pecca che potreste incontrare
la mancanza di integrazione
con il vostro servizio preferito ma,
essendo il codice rilasciato sotto
licenza GPL, scrivere un plug-in
che vi consenta di colmare
la lacuna solo questione
di buona volont e un pizzico
di competenze in ambito Python.
LINUX PRO 125

55

Test Da non perdere


Editor XML

QXmlEdit
VERSIONE 0.8.2 WEB http://code.google.com/p/qxmledit

ebbene alcuni task possano


essere svolti con strumenti
comuni, ci non implica che
usando strumenti dedicati
e specici si ottenga lo stesso
risultato. Leggere e modicare
un le XML pu diventare un
compito arduo, soprattutto quando
la mole di dati contenuta ampia
e molto strutturata. QxmlEdit
non un semplice plug-in attaccato
a un editor preesistente, invece
si tratta di un software creato ad-hoc
per lelaborazione di le XML.
Proprio grazie al fatto di essere nato
per lavorare su questo tipo di le,
il set di feature a disposizione
e le funzionalit offerte rendono
particolarmente agevole lavorare
con questo tipo di le. La mappa
di colori permette di muoversi

agevolmente anche allinterno


di strutture dati complesse.
Nonostante ci siano diverse
funzionalit ben pensate, ne
mancato altre indispensabili, come
una visualizzazione precisa
e completa dei contenuti navigati.
Se ci non bastasse, la compilazione
da sorgenti di questo software
ancora abbastanza complessa,
soprattutto date le richieste
abbastanza singolari necessarie come
dipendenze per arrivare al prodotto
compilato. Il miglior suggerimento
che si pu dare in questi casi
di cercare di compilare il tutto
in una sottodirectory (esempio
/opt/qxmledit) per poi spostare solo
il necessario nella posizione desiderata.
In ogni caso lo sviluppatore gi
al corrente dellesistenza di questi

Tool di sistema

Atop
VERSIONE 2.0.2 WEB www.atoptool.nl

ome alcuni di voi sapranno


gi, top uno dei classici
strumenti UNIX approdati
poi in Linux per il
monitoraggio dei processi. Quando
lo eseguite in un terminale, questo
strumento mostra tutta una serie
di utili informazioni come luptime,
il carico della CPU e una lista dei
processi al momento in esecuzione,
ordinati in base alle risorse che
consumano. Questo strumento
tra i pi utili e insostituibili per
la diagnosi dei problemi ed
installato di default in praticamente
ogni sistema UNIX e Linux. Top
pu identicare i processi in stato
di zombie e quelli eseguiti
normalmente, e di ogni processo
mostra il PID e lutente che lo sta
facendo girare. Nel tempo sono
sorti altri tool simili, che cercano
di mostrare aspetti differenti
del sistema con un output simile
a quello di top. Iotop, per esempio,
compie un lavoro simile ma guarda
allutilizzo dellI/O, quindi

56

LINUX PRO 125

La vista ad albero non solo un semplice


abbellimento graco, bens risulta fondamentale
durante la navigazione della struttura XML

vi permette di scoprire quali


processi stanno facendo scempio
del vostro hard disk o stanno
accorciando la vita del vostro SSD.
I programmatori di Atop hanno
cercato di creare una versione
di top che fosse superiore a tutte

problemi, quindi sta gi cercando


di porre rimedio nel migliore dei
modi e di rilasciare un miglioramento
a tutti i problemi esposti poche
righe fa nelle prossime release.

sempre basato sui caratteri


ASCII, si adatta alla larghezza
del terminale per mostrare
al meglio le informazioni.
Se questo non bastasse,
i suoi sviluppatori lo hanno
programmato in modo che sia

I programmatori di atop hanno


creato una versione di top
superiore a tutte quelle esistenti
Abbandonate
top e passate
ad atop, non
ve ne pentirete

quelle esistenti. Certo, questo tool


elenca sempre i processi e i loro
PID, ma lo fa in una maniera
pi chiara e carina. Pur essendo

adatto ai tempi moderni: il tool


sa, per esempio, che molto
probabilmente starete usando
un processore multicore, di
conseguenza elenca le statistiche
per ogni core nella parte alta della
nestra, no ad arrivarvi a dire la
frequenza di lavoro dei singoli core.
Per venire incontro allutente, atop
evidenzia i livelli critici per diversi
aspetti usando colori differenti.
Con una barra di stato che mostra
la capacit di storage e lattivit di
rete, non manca proprio nulla tra le
informazioni fornite. Rispetto a top
alcune colonne risultano cambiante,
e alcuni valori di stato richiedono un
attimo di tempo per essere decifrati,
ma per ora ci sembra proprio
il migliore tra i programmi *top.

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 redazione@linuxpro.it

TUTORIAL
Inkscape
Vi mostriamo come realizzare
unillustrazione piena di dettagli usando
i potenti effetti di Inkscape cos da arrivare
a un risultato impressionante
pag. 58

Sistemi multipostazione
Se avete un PC molto potente perch non
collegargli pi di una tastiera, mouse e monitor
e ottenere cos un sistema multipostazione
utilizzabile da pi persone?
pag. 62

Trashware
Non buttate via i vecchi PC: ridategli vita
con i nostri consigli
pag. 66

Sicurezza

Hardcore Linux

PacketFence un potente tool per


controllare gli accessi in LAN
pag. 74

Il nuovo ZFS la punta di diamante dei


filesystem per GNU/Linux
pag. 78

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

Python

Siete stanchi di ricevete tonnellate


di errori quando compilate un programma?
Vi mostriamo le cose da evitare
e come farlo
pag. 82

Imparate a sfruttare la vostra CPU multicore


negli script Python, cos da liberare tutta
la potenza dei processori moderni
e ottenere prestazioni maxi
pag. 88

Reti neurali
Addestreremo per lultima volta la nostra
rete neurale
pag. 84
LINUX PRO 125

57

Inkscape
Create unillustrazione vettoriale deffetto con questo tool

Realizzate una cianograa


Create unillustrazione dettagliata senza sforzo. Linux Pro vi mostra come alcuni semplici
effetti di Inkscape possono dare un risultato impressionante

FACILE

Questa immagine
in stile
cianograco
sembra qualcosa
che normalmente
mettereste
insieme
in un programma
per dipingere,
ma disegnata
al 100% con
forme vettoriali
ridimensionabili
ed efcaci

58

LINUX PRO 125

Se dovete disegnare qualcosa, usare


Inkscape quasi una sciocchezza. Non solo
ha una vasta gamma di strumenti utili
e generalmente facili da capire, ma lavora anche
tramite SVG, un formato immagine vettoriale standard.
Se siete un artista di talento, potete fare cose
meravigliose con Inkscape, ma anche un maldestro
maneggiatore di pastelli pu tirare fuori una bella
immagine con un po di impegno. Questa guida
spiegher alcune funzioni di disegno nascoste
di Inkscape mentre mettiamo insieme unimmagine
cianograca. Queste funzioni non sono veramente
nascoste, solo che sono spesso tralasciate
o sembrano troppo complicate per occuparsene.
Sveleremo alcuni dei misteri che circondano
luso degli effetti, estensioni e ltri per arrivare
a unimmagine in stile cianograco che non sembri
troppo perfetta, limperfezione intenzionale in questo
caso. Probabilmente avete gi usato i ltri, quasi
sicuramente se avete usato unimmagine bitmap
nel vostro lavoro di Inkscape. Le bitmap sono quello
a cui le persone normalmente si rivolgono quando
necessitano di una trama in unimmagine, e per essere
onesti, creare lo stesso effetto con qualche immagine
di trama decente probabilmente richiederebbe
un decimo dello sforzo. Quindi, perch non usiamo
quelle? Le immagini bitmap non solo sono grandi, ma
non sono nemmeno scalabili. Larte vettoriale sta tutta

nellessere in grado di ridimensionare unimmagine


senza preoccuparsi se il risultato sar leggibile. Poich
tratta solamente le forme, queste sono comprensibili
a qualunque dimensione le usiate. Perci vale la pena
sapere come creare effetti tipo bitmap usando
nientaltro che comuni forme e un po di trucchi
procedurali di Inkscape. Lo svantaggio di usare
questi metodi procedurali che alcuni di questi,
a seconda dei parametri che usate, possono richiedere
una considerevole quantit di potenza di calcolo
per la rappresentazione. Se scoprite che il vostro
computer fatica a ridisegnare la schermata,
vi consigliamo di attenuare un po gli effetti.

Se combinate insieme alcuni degli effetti


che abbiamo usato, potete riuscire a fare
ogni sorta di disegno in stile abbozzato!

Inkscape Tutorial
Passo passo Realizzate la vostra immagine in stile cianografico

Fare un riquadro blu

Per prima cosa, andremo a creare un riquadro blu di sfondo alla


nostra immagine. Scegliete il colore Navy dalla tavolozza in fondo
alla nestra di Inkscape. Poi, scegliete lo strumento rettangolo
dalla barra degli strumenti sul lato e fate un rettangolo che sia
pi o meno della larghezza della pagina. Potete ridimensionale
la pagina per adattarsi in seguito, non preoccupatevi di andare
alla modalit Orizzontale. Alcuni degli effetti che applicheremo
dipendono dalla grandezza iniziale del riquadro, perci i vostri
risultati potrebbero essere diversi se decidete di fare una versione
A0, o almeno dovrete regolare alcuni dei parametri..

Creare un nuovo livello

Non vogliamo pasticciare accidentalmente con lo sfondo, perci


il modo migliore di sistemare le cose creare un nuovo livello
sopra di esso, per contenere la nostra illustrazione. Per iniziare,
dovremmo bloccare il livello attuale (facendo click sullicona del
lucchetto nella barra di stato sul fondo della schermo). Poi
selezionate Livello D Aggiungi livello... dal menu. Inserite
un nuovo nome e assicuratevi che la disposizione sia impostata
a Sopra lattuale. Potete cambiare livello facilmente scegliendo
quello che volete dal menu a comparsa nella barra di stato.

Aggiungere un po di formaggio

Proprio cos, stiamo per aggiungere un effetto formaggio.


Aggiungere un po di trama allo sfondo d un aspetto tipo
cianograco pi autentico. Non vogliamo eccedere, perch
vorremmo poter vedere ancora limmagine quando avremo
nito. Leffetto che troverete in Filtri D Sovrapposizione
D Gorgonzola d allo sfondo una sorta di aspetto spiegazzato,
logorato. Non aggiunge troppo disturbo, cos lillustrazione rester
chiara e non oneroso in termini di calcolo, perci non dovrete
aspettare anni per laggiornamento della schermata.

Disegnare qualcosa

Bene, vorremo avere alcune forme sulla nostra cianograa.


Potete iniziare trascinando una forma rettangolare appena
allinterno dellarea riempita dal nostro sfondo gorgonzola.
Questo il tipo di forma che trovate sui disegni tecnici e sulle
cianograe. Effettivamente, potete anche aggiungere una pila
di riquadri pi piccoli nellangolo basso a destra, come mostrato.
Aprite le propriet Riempimento e contorni (Ctrl+Shift+F)
e assicuratevi che siano impostate a Nessun colore e colore
uniforme del contorno, diciamo grigio 10%. Potete regolare
lo spessore per adattarlo.

LINUX PRO 125

59

Tutorial Inkscape

Aggiungere pi cose

Ora che avete un modulo per la vostra illustrazione (e sarebbe


un buon momento per salvarlo per usi futuri), potete iniziare
a disegnarci su alcune cose. Se gi avete alcuni disegni schematici
che vorreste aggiungere, vi conviene farlo ora, ma se non avete
niente di adatto di aspetto tecnico ci sono alcune scorciatoie
che potete provare per creare qualcosa. Usando lo strumento
penna (Shift+F6) disegnate un triangolo. molto pi facile farlo
se mantenete premuto il tasto CTRL, che vincola la forma a linee
dritte e angoli regolari.

Importare qualcosaltro

Se non sapete disegnare e le estensioni non possono disegnare


niente di appropriato, allora c sempre il ripiego di prendere
in prestito i disegni di qualcun altro. Se selezionate File D Importa
Open Clip Art, otterrete una nestra di ricerca che potete usare
per trovare ogni tipo di immagine distribuita sotto Creative
Commons. Abbiamo pensato che una rafgurazione delluomo
di Vitruvio di Leonardo sarebbe stata carina e difatti ce nerano
tre tra cui scegliere. Questa dellutente YDL e sembra
adeguatamente scarna per quello che abbiamo in mente, farla
sembrare un po confusa! Quando importate limmagine potreste
doverla ridimensionare e posizionare in maniera appropriata.

60

LINUX PRO 125

Trasformare con i Render

Con il triangolo selezionato, scegliete Estensioni D Render


D Disegna dal triangolo...: otterrete una nestra che vi d ogni
sorta di opzione per il disegno geometrico che pu essere generato
dal vostro triangolo. Potete sperimentare con questi a piacere,
cliccate su Anteprima diretta per vedere cosa fa ognuno.
Questo dimostra chiaramente la potenza di alcune delle estensioni,
che possono disegnare le cose per voi o espandere le cose
che avete gi disegnato. Esaminate bene il menu Render,
poich ci sono altre cose che potrebbero piacervi!

Fare il bozzetto

Una delle funzioni pi trascurate di Inkscape Effetti su tracciato.


un po come i ltri o le estensioni, ma diversamente da quelli
modica un tracciato. Ce ne sono parecchi tra cui scegliere,
ma quello che vogliamo usare ora Bozzetto. Con loggetto
selezionato, premete Shift+Ctrl+7 per richiamare la nestra
Editor effetti sul tracciato. Selezionate Bozzetto dal menu
a discesa e poi cliccate sul pulsante Aggiungi. Questo modicher
il tracciato sostituendo ogni curva con numerose linee che sono
una sorta di approssimazione delloriginale. Potete giocherellare
con le impostazioni nch sembra corretto; non aggiungete troppo
tremore o troppe linee o sembrer soltanto un pasticcio.

Inkscape Tutorial

Aggiungere del testo

Quello di cui il documento ha bisogno ora del testo, ma non


semplicemente un vecchio testo qualsiasi. Potreste passare
ore a cercare un carattere adatto da usare per dare un effetto
tipo inchiostrato a mano, ma in realt qualsiasi carattere andr
bene; lo farete sembrare tremolante e disegnato a mano con
gli effetti. Scegliete un carattere e aggiungete del testo.
Vi consigliamo qualcosa di abbastanza massiccio, come OpenSans,
o almeno qualche tipo di carattere senza grazie. Aggiungetelo
usando lo strumento Testo e assicuratevi di aver selezionato
lopzione Grassetto nella barra degli strumenti, pi massiccio,
meglio per questo effetto.

11

Effetto scarabocchiato

Questa volta selezionate Scarabocchi (grezzo) e aggiungetelo.


La sagoma si riempir probabilmente in modo informe. Dal pannello
Riempimento e contorni, assicuratevi che il riempimento sia disattivato
e riducete la larghezza del contorno no a vedere le linee. Potete
regolare gli scarabocchi con la lunga lista di opzioni, ma pi facile
ottenere leffetto che volete facendolo direttamente. Passate allo
strumento Nodi (quello sotto il puntatore normale) e ora nella forma
dovreste vedere due rombi gialli e alcuni altri punti. Muovete quello
superiore per modicare la frequenza e la direzione degli scarabocchi
cos da ottenere un buon effetto (spostarlo verso il centro delloggetto
aumenta la frequenza).

10

Modicare il vostro testo

Non potete applicare Effetti sul tracciato al testo, perch il testo


non un tracciato, tuttavia potete trasformarlo. Selezionatelo e poi
scegliete Tracciato D Da oggetto a tracciato. Il vostro testo non
pi modicabile come testo, ora semplicemente una serie di
tracciati raggruppati. Mentre sono ancora raggruppati insieme, usate
le propriet di Riempimento e contorni per dare un contorno grigio
e nessun riempimento. Ora scegliete Modica D Duplica per creare
una copia identica. La copia sar quella che convertirete in scarabocchi
e loriginale servir da sagoma delimitante per rendere il testo ancora
leggibile quando lo avrete colorato allinterno. Separate i tracciati
e selezionatene uno semplice per iniziare, poi premete Shift+ Ctrl+ 7
per aprire lEditor di effetti sul tracciato.

12

Trattare le forme difcili

Il problema con alcune forme che hanno dei vuoti allinterno.


Leffetto Scarabocchi non le gestisce molto bene e sembra
riempirle due volte. Il modo un po scomodo ma efcace di gestirle
duplicare ancora la forma. Usando il modicatore di Nodi,
rimuovete il tracciato esterno cos da avere solo la parte interna,
poi riempitela e applicate ogni effetto per renderla simile
allo sfondo. un po scomodo, ma abbastanza efcace
e certamente molto pi facile che dover disegnare tutti quegli
scarabocchi a mano! LXF

LINUX PRO 125

61

Sistemi multipostazione
Trasformate la vostra Linux box in una potente centrale multitasking

Perch due teste


sono meglio di una
Linux Pro vi mostra come collegare pi monitor, mouse e tastiere a un singolo PC
per condividere la potenza di un calcolatore e fare la felicit di pi utenti

INTERMEDIO

62

LINUX PRO 125

I vostri gli litigano in soggiorno per usare


il computer? La bolletta dellelettricit
vi fa venire il mal di testa e mette a rischio
il vostro conto in banca? La soluzione potrebbe essere
un computer multiposto. Esistono sistemi dotati di pi
di un monitor, ma un sistema multiposto ha anche due
o pi tastiere, mouse, altoparlanti e utenti simultanei.
Tra le ragioni che spingono a usare sistemi del genere
troviamo problemi di spazio, di budget o di risparmio
energetico. In alcuni paesi, tra cui il Sudafrica
e il Brasile, vengono installati migliaia di PC multiposto
nelle scuole e nei centri di ritrovo per offrire al maggior
numero di studenti e di cittadini la possibilit
di accedere a Internet. Anche un PC di scarsa potenza
in grado di supportare pi utenti. Un computer
moderno offre una capacit di calcolo molto superiore
a quella richiesta da molte delle attivit per cui viene
impiegato, come la navigazione in Rete, lelaborazione
di testi o la lettura della posta elettronica. Molti sistemi
desktop, specialmente quelli dotati di processore
multi-core, non fanno nulla per la maggior parte
del tempo. Un PC usato da due persone consumer
un po pi di elettricit rispetto a un singolo utente,
ma considerevolmente meno di quella di due computer
diversi. A casa un semplice sistema a due posti pu
essere utile quando serve un PC in pi per i compiti
dei gli o per un ospite. Per questo articolo abbiamo
usato Ubuntu 12.04 su un sistema AMD64X2 4200+
con 4 GB di RAM, dotato di una scheda graca Nvidia
sulla motherboard e di una seconda scheda PCIe
sempre di Nvidia. Non si tratta di certo di una macchina
potente secondo gli standard attuali, ma si rivelata
perfettamente in grado di svolgere il suo compito.
Abbiamo scelto di proposito dellhardware datato
per rendere maggiormente evidenti tutti gli eventuali
problemi. Per garantire un test approfondito abbiamo
persuaso un paio di volontari a usare
contemporaneamente il sistema. Siamo rimasti
piacevolmente sorpresi dal fatto che non si sono
presentati problemi di prestazioni. I due utenti
navigavano allegramente sul Web, guardavano i video
di YouTube, giocavano e svolgevano le loro attivit
quotidiane come la preparazione di testi e di fogli
elettronici senza nessun problema evidente. Questo
articolo tratta solo di sistemi a due posti, ma il numero
dei possibili utenti contemporanei limitato unicamente
da quello delle schede video che possono essere
inserite nel PC usato, dato che sempre possibile
aggiungere porte USB collegando degli hub.
Normalmente una motherboard moderna dotata
di uno slot PCIe e uno o pi slot PCI, ma ce ne sono
alcune che sono in grado di supportare no a cinque

schede video PCIe. Sono poi disponibili anche schede


video USB. Teoricamente un processore multi-core
oppure uno dotato di hyperthreading dovrebbe essere
in grado di offrire un core o un thread per ciascun
utente; con un po di memoria in pi dovrebbe essere
possibile far girare anche giochi 3D o un programma
per lediting video. Una singola scheda Ethernet
da 100 Mbit poi pi che adeguata per le connessioni
a Internet di pi utenti.

Preparazione del sistema


piuttosto facile arrivare a uninstallazione inutilizzabile
quando le cose vanno storte. Se dovete usare il vostro
PC principale assicuratevi per prima cosa di aver fatto
una copia di sicurezza dei vostri dati. Prima di partire
dovete avere almeno due account utente con directory
home separate. importante perch due istanze
dello stesso utente che accedono ai le in una singola
home possono causare dei problemi portando anche
allinstabilit del sistema e alla perdita dei dati.
Solo uno dei due utenti dovrebbe avere i permessi
di amministrazione, principalmente per garantire che
larresto del PC non sia eseguito in maniera scorretta
e che non vengano fatte modiche senza criterio
alla congurazione del sistema. Unattenta scelta
dellhardware render le cose pi facili. Far funzionare
due monitor con Linux non difcile. Se entrambi
sono collegati al momento dellinstallazione, con buona
probabilit saranno riconosciuti e congurati per voi;
in caso contrario dovrete assicurarvi che siano in grado
di funzionare in due sessioni X separate prima
di tentare di congurare il sistema per due utenti.
Quella che segue una descrizione dei passi richiesti
per creare un sistema multiposto con sessioni X
parallele attraverso la modica dei le di congurazione.

Sessioni utente distinte


Sostanzialmente cercheremo di eseguire in parallelo
due server X distinti. Occorrer modicare il le
/etc/X11/xorg.conf per creare due layout, ognuno
dei quali dotato di schermo, mouse e tastiera propri.
X11 in grado di gestire sessioni multiple da un po
di tempo, ma il server X di base limitato a una sola
per ciascuna scheda video. In questo tutorial useremo
schede Nvidia e i loro driver proprietari. Vista la grande
variet di congurazioni possibili, un articolo come
questo pu solo dare qualche consiglio generale
per far funzionare le cose, ma i metodi usati possono
risultare utili in molte situazioni anche differenti da
quella descritta qui. Conviene creare un copia di backup
della versione esistente di /etc/X11/xorg.conf in modo
che, in caso di disastro, sia possibile eseguire il login

Sistemi multipostazione Tutorial


dalla console o via SSH da un altro PC oppure usare
un Live CD per ripristinare la versione funzionante.
Una volta congurate le due sessioni bisogna usare
il display manager per lanciare i terminali video (o VT) ed
eseguirli in parallelo. Abbiamo inizialmente congurato un
server per volta, commentando laltra met della sezione
ServerLayout del le di congurazione, in modo
da essere sicuri di avere due sessioni funzionanti.
Un problema con le distro desktop attuali il grado
di automazione raggiunto. Bisogna impedire che HAL
e Udev aggiungano automaticamente i dispositivi,
altrimenti tutti funzionerebbero con un unico schermo,
cosa come minimo leggermente fastidiosa.

Identicare i dispositivi
Le schede video possono essere identicate per mezzo
del comando lspci | grep VGA. I driver proprietari
Nvidia permettono di usare il programma nvidiasettings per congurare i monitor a proprio piacimento.
Questo tool anche in grado di creare una versione
di base di xorg.conf che contiene le informazioni
relative a scheda video e monitor e che pu essere
personalizzato in seguito. Anche con i driver AMD
dovrebbe essere possibile fare una cosa del genere.
Per quanto riguarda invece tastiera e mouse, useremo
il driver evdev, che usa eventi del tipo xxx-event-kbd
o xxx-event-mouse. Si trovano nella directory
/dev/input. Questa directory contiene le del tipo
mice, mouse0, mouse1 ecc. Sono legati al driver
del mouse e non vanno bene per il nostro scopo perch
possono cambiare oppure essere usurpati da altri
programmi. La directory contiene anche alcuni eventi
numerati che sono collegati a eventi presenti nelle
sottodirectory by-id e by-path. Dato che si tratta
di link dinamici, i dispositivi a cui sono collegati possono
cambiare se questi vengono scollegati o se viene
aggiunto un altro dispositivo prima dellavvio della
macchina. Per aumentare la confusione, inoltre, a volte
esiste pi di un le per il medesimo evento, dato
che le tastiere possono avere eventi di tipo mouse
e viceversa. Noi abbiamo invece ovviamente bisogno
di un unico identicatore per ciascun dispositivo.
I seguenti comandi:
ls -R /dev/input
ls -R /dev/input | grep mouse
ls -R /dev/input | grep kbd
danno una lista di tutti gli eventi. Gli elementi
in /dev/input/by-id sono utili nel caso stiate usando
modelli differenti di tastiera e mouse, dato che
rimangono statici. Se invece usate due tastiere o due
mouse identici potreste scoprire che alcuni elementi
nella directory by-id sono condivisi e vi toccher usare
quelli nella directory by-path (i cui elementi cambiano
solo se i dispositivo sono collegati a una porta USB
diversa). Qui sotto vedete un esempio delloutput
prodotto dai comandi, con i dati che ci interessano
in grassetto. Il primo proviene dalla directory /dev/
input/by-id, mentre il secondo proviene dalla directory
/dev/input/by-path. Ci interessano gli elementi del tipo
-event-mouse oppure -event-keyboard:
$ ls -R /dev/input |grep mouse
mouse1
usb-Logitech_USB_Receiver-event-mouse
usb-Logitech_USB_Receiver-if01-event-mouse
usb-Logitech_USB_Receiver-if01-mouse

usb-Logitech_USB_Receiver-mouse
pci-0000:00:10.0-usb-0:2:1.1-event-mouse
pci-0000:00:10.0-usb-0:2:1.1-mouse
Una volta identicati i dispositivi occorrer aggiungerli
al le /etc/X11/xorg.conf, di cui nel seguito
esamineremo un esempio. Ovviamente dovrete
modicare i dettagli dei dispositivi per adattarli alla
vostra congurazione hardware. La prima sezione
ServerFlags, che imposta le opzioni comuni a tutti
i server. Le righe pi importanti sono quelle che
disabilitano laggiunta automatica dei dispositivi:
# X conguration le
Section ServerFlags
Option Xinerama off
Option AutoAddDevices off
Option AllowEmptyInput on
Option AllowMouseOpenFail on
Option DisableModinDev on
Option DRI on
EndSection
Per ogni server occorre poi una sezione ServerLayout
per elencare i dispositivi relativi allo schermo

Un PC, due sessioni.


In questo caso
abbiamo due
monitor, due
combinazioni
di tastiera
e mouse senza li
e due gruppi
di altoparlanti USB

Hardware multiposto
Vale la pena di sottolineare che pi
semplice e pi standard lhardware, pi
facile risulter farlo funzionare. Le speciche
elencate qui sotto sono un minimo assoluto,
ma potreste stupirvi delle buone prestazioni
che pu offrire un sistema di fascia bassa.
Processore Come minimo un Pentium
P4 2,4 GHz. Lideale un processore
multi-core, con un core per ciascun utente,
ma non essenziale.
Memoria 512 MB. 1 GB ampiamente
sufciente per due utenti non
particolarmente esigenti, ma pi ce
n meglio . raccomandabile un minimo
di 256 MB extra per ciascun utente.
Spazio su disco Come minimo 20 GB
per due utenti, ma se ce n di pi meglio.
Schede video Minimo 16-32 MB
di memoria video. Una scheda per utente,
preferibilmente schede simili dello stesso
produttore che usino lo stesso driver.
Non essenziale, ma semplica di molto
la ricerca di eventuali problemi. Possono
essere usate anche schede PCI.
Monitor Preferibilmente identici, oppure
due diversi che permettano di usare
la stessa risoluzione.
Hub USB Conviene usare un hub
separato per ciascuna sessione. Dato

che alcuni dispositivi USB hanno bisogno


di una certa potenza si raccomandano
hub con alimentazione esterna.
Tastiere e mouse Un modello qualsiasi
di tastiera e mouse USB dovrebbe andare
bene, compresi i set senza li. Questi ultimi
aiutano a ridurre il numero dei cavi,
ma occorre fare attenzione alle interferenze
reciproche.
Suono Vanno bene sia le schede audio
USB che gli altoparlanti USB, che al loro
interno hanno una scheda audio.
Collegandoli al medesimo hub a cui sono
connessi tastiera e mouse si mantiene una
certa pulizia nel sistema. Bisogna per
tenere conto delle interferenze acustiche.
Se intendete usarla come congurazione
permanente vi conviene dotarvi di cavi
lunghi oppure di cufe per uno o pi utenti.
Chiavette USB, macchine fotograche
ecc. Lhotplug di dispositivi USB e Bluetooth
funziona per default solo per lutente
che ha eseguito per primo il login.
Se un problema potete provare
a modicare la congurazione di policykit.
Stampanti, scanner ecc. Dovrebbero
essere collegati alle porte USB della
motherboard o connessi via rete, in modo
da essere accessibili da tutte le sessioni.

LINUX PRO 125

63

Tutorial Sistemi multipostazione

Writer di LibreOfce
in stereo! Anche
la stampa ha
funzionato bene

e allingresso dei dati. Lopzione SingleCard limita


i reset a un singolo dispositivo:
Section ServerLayout
Identier Layout0
Screen 0 Screen0 0 0
InputDevice Keyboard0
InputDevice Mouse0
Option SingleCard on
EndSection
Section ServerLayout
Identier Layout1
Screen 0 Screen1 0 0
InputDevice Keyboard1
InputDevice Mouse1
Option SingleCard on
EndSection
Ora ci vuole una sezione per ciascun dispositivo
di ingresso. Si tratta di solito di mouse e tastiere,
ma possono essere specicati anche altri dispositivi,
come tavolette grache o schermi sensibili al tocco.
Noi abbiamo usato due diversi kit tastiera/mouse senza
li. Lopzione GrabDevice impedisce agli altri driver di
accedere al dispositivo. Il locale delle tastiere conviene
invece congurarlo usando le impostazioni di sistema
di Ubuntu, che sono speciche di ciascun utente.
Section InputDevice
Identier Mouse0
Driver evdev
Option Device /dev/input/by-id/usb-Logitech_USB_
Receiver-event-mouse
Option GrabDevice on

A proposito del file xorg.conf


Posizionato nella directory /etc/X11, xorg.
conf ha ossessionato molti hacker Linux.
Viene letto allavvio del server X
e ha una sintassi abbastanza oscura.
Al giorno doggi la maggior parte delle
distro congura automaticamente X
per voi e il le pu addirittura non esistere.
Questo pu dare luogo a problemi piuttosto
difcili da sistemare, ma la congurazione
manuale ormai necessaria raramente.
Casi come il nostro, in cui cerchiamo
di fare qualcosa al di fuori dellordinario,
sono leccezione. Il formato di xorg.conf
pu confondere un po, ma questo dovuto
alla sua estrema essibilit. Molti degli
esempi su Internet rivelano chiaramente
di essere stati ottenuti per mezzo di copia
e incolla. Spesso la gente tende a usare
esempi vecchi e poi si dimentica di ripulire

64

LINUX PRO 125

le cose. Ad esempio, ServerFlags imposta


i valori di default, che per possono essere
modicati in una qualsiasi delle altre sezioni.
Allinterno del le non c distinzione
tra maiuscolo e minuscolo, le sezioni
non devono seguire un particolare ordine
e i valori booleani possono essere espressi
con 0 o 1, on o off, true o false, yes o no.
C anche una serie apparentemente innita
di opzioni, alcune non ben documentate.
Un errore di battitura insignicante
pu impedire al server di partire,
ma ci sono dei buoni le di log per
scoprirlo. Nei nostri esempi abbiamo cercato
di essere consistenti e di eliminare quante
pi righe inutili potessi, ma la directory
/var/log rimane il vostro punto
di riferimento quando le cose non
funzionano come vi aspettereste.

EndSection
Section InputDevice
Identier Mouse1
Driver evdev
Option Device /dev/input/by-id/usb-MOSART_
Semi._Wireless_Keyboard___Mouse-event-mouse
Option GrabDevice on
EndSection
Section InputDevice
Identier Keyboard0
Driver evdev
Option Device /dev/input/by-id/usb-Logitech_USB_
Receiver-event-kbd
Option Xkb_Rules evdev
Option Xkb_Model evdev
Option GrabDevice on
EndSection
Section InputDevice
Identier Keyboard1
Driver evdev
Option Device /dev/input/by-id/usb-MOSART_
Semi._Wireless_Keyboard___Mouse-event-kbd
Option Xkb_Rules evdev
Option Xkb_Model evdev
Option GrabDevice on
EndSection
Inne dobbiamo specicare i dati dei monitor, delle
schede grache e gli schermi a cui sono collegati.
Abbiamo usato due monitor da 19 pollici con
una risoluzione di 1440x900. Lopzione DPMS
abilita il risparmio energetico:
Section Monitor
Identier Monitor0
VendorName Unknown
ModelName Bit 3 Vw19B2
HorizSync 31.0 - 83.0
VertRefresh 56.0 - 76.0
Option DPMS
EndSection
Section Monitor
Identier Monitor1
VendorName Unknown
ModelName Acer AL1916W
HorizSync 31.0 - 84.0
VertRefresh 56.0 - 76.0
Option DPMS
EndSection
I nostri dispositivi sono entrambi delle schede grache
Nvidia, una sulla motherboard e una in uno slot PCIe:
Section Device
Identier Device0
Driver nvidia
VendorName NVIDIA Corporation
BoardName GeForce 8100 / nForce 720a
BusID PCI:2:0:0
EndSection
Section Device
Identier Device1
Driver nvidia
VendorName NVIDIA Corporation
BoardName GeForce 8400 GS
BusID PCI:3:0:0
EndSection
Gli schermi sono coppie di schede video e monitor:
Section Screen

Sistemi multipostazione Tutorial


Altri metodi
Come succede sempre nel mondo Linux, ci sono
molti altri modi per creare un ambiente multiposto.
Potreste usare una congurazione con due
monitor, un gestore di macchine virtuali come
VMware o VirtualBox e lanciare due sessioni
di macchina virtuale. Le schede video
con due uscite possono essere usate con server X
annidati che girano su Xephyr. Per Ubuntu
c anche uno script Python che pu essere
recuperato da http://code.google.com/p/
multiseat-wizard-bicefalo/ ed in grado

di eseguire tutta la congurazione. Dipende


dal pacchetto xserver-xephyr e funziona
solo con i driver Open Source distribuiti
di default. Entrambe queste opzioni sono molto
pi voraci in termini di risorse della nostra
congurazione. C poi una proposta commerciale
di unazienda canadese di nome Userful.
in grado di supportare no a 10 utenti
per PC attraverso sessioni X parallele e ha avuto
parecchio successo in Brasile e in altri paesi.
Si pu ottenere una chiave gratuita

Identier Screen0
Device Device0
Monitor Monitor0
DefaultDepth 24
Option metamodes nvidia-auto-select
+0+0;1440x900_75 +0+0
SubSection Display
Depth 24
EndSubSection
EndSection
Section Screen
Identier Screen1
Device Device1
Monitor Monitor1
DefaultDepth 24
Option metamodes nvidia-auto-select
+0+0;1440x900_75 +0+0
SubSection Display
Depth 24
EndSubSection
EndSection
Una volta preparato un xorg.conf funzionante (cio
che permette di avviare il sistema operativo senza errori
e di usare entrambi i monitor, i mouse e le tastiere)
occorre congurare il display manager. Il display
manager vi permetter di collegarvi a due sessioni
distinte di VT (terminali video) e ripartire tra di esse
i dispositivi disponibili.

LightDM
Per questo tutorial abbiamo scelto il display manager
di default di Ubuntu, principalmente perch offre
la possibilit di denire pi sessioni utente con monitor
diversi e usa una sintassi abbastanza chiara per
la congurazione. Inoltre pu essere usato con
qualsiasi ambiente desktop, sia KDE che GNOME.
Anche KDM (il DM di KDE) in grado di gestire sessioni
multiple, mentre invece GDM (quello di GNOME)
no. Il le di congurazione di default, /etc/lightdm/
lightdm.conf, piuttosto essenziale, ma
lo cambieremo in breve tempo! Dobbiamo creare un
elemento per ciascuna postazione utente, specicando
i comandi per il server X e il rispettivo layout.
[LightDM]
seats=Seat:0 Seat:1
[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
[Seat:0]
xserver-layout=Layout0

per due utenti per uso domestico registrandosi


sul sito www.userful.com. disponibile
per parecchie distro Linux, ma sono tutte
piuttosto vecchie. Al momento la pi recente
versione di Ubuntu la 10.04 LTS. Fedora 17
sembra supportare gli Zero-client attraverso
systemd. Si tratta di hub con al loro interno
adattatori VGA e schede audio che possono
essere collegati a un PC via USB o Ethernet.
Ne esistono di diversi produttori, tra cui HP,
Acer, Viewsonic e Plugable.

xserver-command=/usr/bin/X :0 -layout Layout0 -auth


/var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
[Seat:1]
xserver-layout=Layout1
xserver-command=/usr/bin/X :1 -layout Layout1 -auth
/var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch
-sharevts
Lopzione noswitch impedisce lo scambio di sessioni,
mentre sharevts permette di mantenere aperti
pi VT. Questultima opzione non deve essere abilitata
per la prima sessione perch potrebbe causare
problemi con lo schermo. Se desiderate il login
automatico aggiungete queste righe (con nomi utente
diversi) a ciascuna sezione:
autologin-user=nomeutente
autologin-timeout=0
Questo evita anche il problema riferito da alcuni
utenti che non vedevano il campo della password
allinterno del greeter.

Tip
Se avete dei problemi
nellidenticare
i dispositivi potete
scollegarli e ricollegarli
uno per uno,
vericando ogni volta
loutput dei comandi
lsusb e dmesg.

Suoni
La congurazione del suono risulta pi semplice quando
viene fatta per ciascun utente usando schede sonore
separate. Per prima cosa occorre aggiungere entrambi
gli utenti al gruppo audio. Ciascun utente pu
poi eseguire il login e congurare le impostazioni
per il dispositivo a lui riservato. Se usate PulseAudio
queste impostazioni sono salvate automaticamente
nel corrispondente le in /home/nomeutente/.pulse.
Questo ovviamente implica che, a meno che usino
la stessa postazione, al prossimo collegamento
dovranno eseguire di nuovo la congurazione.
La situazione del desktop su Linux molto uida.
Una sempre maggiore automazione tende a ridurre
la essibilit; le sessioni multiple, poi, possono avere
implicazioni sulla sicurezza. Il nostro approccio pu
apparire un po verboso, ma in compenso dovrebbe
funzionare con la maggior parte delle distro. LXP

Un confronto tra
Octopus e GuruTV.
YouTube a tutto
schermo in entrambe
le sessioni
e nemmeno
un rallentamento.
Lunico conitto
stato tra
i gusti musicali

LINUX PRO 125

65

Hardware
Recuperare hardware obsoleto con GNU/Linux

Obsoleto s, inutile no!


In tempi di crisi un peccato non sfruttare quel vecchio computer che avete dimenticato
in cantina. Con la nostra guida lo potrete togliere dal pensionamento forzato

Lautore
Roberto Premoli
Comincia nel 1999
a usare GNU/Linux
e il software Open
Source, con particolare
attenzione
allottimizzazione
di sistemi e ai cluster
di calcolo. Occupa
attualmente la
posizione di IT Senior
Specialist presso
una multinazionale
farmaceutica. Chi
volesse contattarlo pu
scrivergli allindirizzo
roberto.premoli@
tiscali.it.

Lesasperante corsa al riarmo informatico


genera annualmente milioni di computer
portatili che vengono accantonati in favore
di nuovi modelli: qualcuno viene regalato ad amici
o parenti, altri amorevolmente riposti in un cassetto
perch non si sa mai, altri un po pi rudemente in
garage o cantina, mentre i pi sfortunati sono avviati
alla piattaforma ecologica per una ne ingloriosa.
In questo articolo vedremo come recuperare a nuova
vita un hardware manifestamente obsoleto, con un
po di magia pinguina, competenza e voglia di fare.
Lasciamo da parte un candidato troppo facile come
potrebbe essere un Pentium III @700MHz, con 256
MB di RAM e 10 GB di disco. Forse un Pentium II
@400MHz 128 MB di RAM e 4GB di disco? Gi
meglio, ma non abbastanza: noi cerchiamo il brivido
della sda! Per questo motivo decidiamo di usare
qualcosa di palesemente obsoleto, cio un ThinkPad
380D, Pentium @ 150 MHz con 2 GB di disco:
impossibile? Vedremo! Ci aiuta il fatto che il sistema
ha integrati i lettori di oppy e CD ed dotato di una
scheda di rete PCMCIA da ben 10 Mbit/s. Ci sono
16 MB di RAM saldati a bordo, ai quali abbiamo
aggiunto un banco di espansione da 64 MB che
a scopo memorabilia giaceva da anni riposto
ma non dimenticato in un cassetto dal quale
stato recuperato e prontamente riciclato.

Lhardware nel dettaglio


CPU Pentium @150
MHz
RAM 16 MB saldati
+ un modulo di espansione
da 64 MB
Disco rigido 2 GB
Lettore oppy S
Lettore CD-ROM S

FACILE

66

LINUX PRO 125

Porta USB No
Altre porte 1 parallela,
1 seriale, PS/2 per mouse
esterno, porta infrarossi
Espansione 2 slot
PCMCIA a 16 bit
Scheda di rete Ethernet
10 Mbit/s su PCMCIA

TP380D, il top di gamma... nel 1995

Storia di un salvataggio
Il ThinkPad 380D oggetto dellarticolo giaceva
letteralmente! in un cestino dei riuti in garage
dato che presentava il difetto di non avviarsi: in fase
di boot il BIOS mostrava a video due codici di errore,
rispettivamente 00161 e 00163, per poi entrare
in un ciclo innito di richiesta di inserimento
di ora/data e successivo riavvio. Indagando in Rete,
abbiamo scoperto che tali codici indicavano
un problema alla batteria tampone, che dopo
pi di un decennio era completamente esaurita
e non manteneva aggiornate data e ora. Rimpiazzata
la batteria con una nuova al prezzo di due euro,
il portatile ha ripreso a funzionare correttamente.
Nel corso dellarticolo ci muoveremo su pi unit
di lavoro: il portatile bersaglio TP380D e un PC
di servizio, che a sua volta conterr una macchina
virtuale emulata tramite KVM. Per esplicitare quali
comandi andranno lanciati su quale computer,
useremo tre lettere: K per indicare la macchina
virtuale emulata con KVM, R per indicare il PC
di servizio che ospita la macchina virtuale e P
per il portatile. Inoltre, specicheremo caso per caso
le attivit che dovranno essere svolte con diritti
di utente comune ($) o da amministratore (#).

La scelta della distro


Prima di iniziare lattivit vera e propria di
installazione, occorre decidere cosa installare: un PC
moderno che faccia girare una macchina virtuale
tramite KVM settata con soli 80 MB di memoria

Di baci, somari, mogli e buoi


Lacronimo inglese K.I.S.S. (bacio) sta a indicare Keep
It Simple, Stupid (Mantienilo facile, stupido!), cio
rappresenta un invito un po rude nei confronti degli
sviluppatori per realizzare i propri prodotti software in modo
che siano facilmente manutenibili dal punto di vista della
programmazione e leggeri nelluso da parte dellutente
nale. Purtroppo, sembra che attualmente gli scrittori
di software facciano a gara nel riprodurre lequivalente
informatico di un somaro morto, cio qualcosa
di ingombrante e che ha bisogno di un trattore per essere
spostato, esplicitando questa losoa nella frase Il tuo
software lento? Non perdere tempo a ottimizzarlo,
d al tuo cliente di comprare hardware pi potente.
Siamo quindi giunti alla conclusione di far nostro il proverbio
moglie e buoi dei paesi tuoi, che in informatica si declina
semplicemente con il cercare di installare su un PC
del software che gli il pi possibile contemporaneo,
cio ideato e realizzato per sfruttare quelle risorse
di calcolo e non di pi. Il rovescio della medaglia che tale
software non pi manutenuto e se il sistema affacciato
alla Rete la sua violazione sar solo questione di tempo.
Consci di questo problema, vedremo come mediare
tra le varie esigenze di sicurezza e di prestazioni.

Hardware Tutorial
(parametro -m 80 di KVM) un ottimo ambiente
per fare le prove. Anche se non possiamo limitare
la velocit della CPU per simulare in toto un Pentium
a 150 MHz, quanto meno abbiamo la possibilit
di impostare la quantit di RAM che pu essere vista
come un indicatore delle prestazioni raggiungibili
sullhardware reale. Potremmo orientarci su distro
minimali, come Puppy Linux o DSL (Damn Small
Linux) ma Puppy vuole almeno 48 MB di RAM liberi,
mentre DSL non pi aggiornata da parecchio
tempo e propone software obsoleto (Firefox 2.0)
che mal si sposa con la nostra decisione di usare
solo applicativi mantenuti aggiornati sotto laspetto
della sicurezza e del bug xing. Non va inoltre
dimenticato il fatto che le distro fatte da altri
come-sono-te-le-prendi con nessuna o poche
possibilit di modiche, mentre noi desideriamo poter
installare quello che vogliamo senza dover subire
scelte prese da altri. Abbiamo perci deciso
di orientarci su una distro comune, che provvederemo
a ottimizzare per i nostri scopi, puntando su un
cavallo di razza quale Debian. Va detto che
il ThinkPad 380D non permette il boot da CD, per cui
necessario partire da oppy. Purtroppo, qui arriva
la prima delusione: Debian 6.0, oltre a richiedere
come minimo 43 MB di memoria in fase
di installazione, altres troppo recente e ha escluso
il boot da oppy in quanto il kernel scelto troppo
grasso per stare nei soli 1440 KB messi a disposizione
da un dischetto. Ci siamo orientati quindi su Debian
etch 4.0, dotata di un kernel 2.6 e che giudichiamo
un buon compromesso tra leggerezza e
aggiornamento dei programmi. Grazie a un motore
di ricerca abbiamo scelto questi due link: http://iso.
linuxquestions.org/debian/debian-gnulinux-4.0r1etch/ e http://ftp.ch.debian.org/debian-cd/4.0_r7/
i386/iso-cd/ tra i numerosi che mettono a
disposizione Debian 4.0. Qualora il sito sorgente scelto
abbia poca banda e lo scaricamento del le si dovesse
protrarre per delle ore, suggeriamo di scaricarlo
con wget da una riga di comando come segue:
R$ wget -c http://ftp.ch.debian.org/debian-cd/4.0_r7/
i386/iso-cd/debian-40r7-i386-CD-1.iso
Il parametro -c eviter di far perdere il lavoro fatto
nel caso di uninterruzione forzata del download,
per il cui completamento baster rilanciare
il comando. Provvedete quindi a masterizzare la ISO
con il vostro bruciatore di CD preferito. Si d
per scontato che il portatile sia connesso a Internet:
linstallazione vera e propria esula dallo scopo di
questo articolo, vi rimandiamo alla Rete e soprattutto
alla pagina www.debian.org/releases/stable/i386/

index.html.it, dove troverete tutte le informazioni


per una corretta installazione. Ad ogni modo,
ci sentiamo di consigliare quanto segue:
scegliere linstallazione expert nel caso
si desideri un controllo pi ne sulle opzioni
di installazione;
impostare 160 MB di swap (il doppio della RAM);
formattare la root (/) con il lesystem ext3,
con 0% di blocchi riservati;
si scelga il kernel 2.6.18-6-486 (la versione
686 pu dare problemi ai Pentium);
non si attivi nessun repository in Rete (nessun
timore per il mancato accesso al repository
degli aggiornamenti);
nella pagina selezione del software (software
selection) si scelga solo software standard
(standard system utility).
Al reboot dopo linstallazione ci troviamo nel prompt
dei comandi di una versione di Debian non
pi manutenuta: dove trovare tutto il software
necessario, ma assente dal CD? Ecco che, dal punto
di vista di servizio allutente, Debian dimostra
di essere una spanna sopra le altre distro: allindirizzo
http://archive.debian.org/debian/ sono disponibili
le versioni di Debian, dalla 3.0 no allattuale 6.0;
sufciente congurare in gestore di pacchetti
ed e fatta! Apriamo quindi il le di congurazione
in un editor di testo con:
P# nano /etc/apt/source.conf
aggiungiamo la riga
deb http://archive.debian.org/debian etch main
contrib non-free
e disabilitiamo luso del CD-ROM di installazione
anteponendo il simbolo di cancelletto # alla parola
deb nella riga deb cdrom.... Una volta fatto

1 Il kernel
ottimizzato pronto
alluso

In caso di minori risorse hardware


Il portatile ha 80 MB di memoria, ma nellarticolo abbiamo
agito come se ne avesse solo 40, situazione tipica per molti
portatili dellepoca che avevano 8 MB saldati pi un banco
di espansione da 32 MB. Ad ogni modo, chi dispone
di hardware pi datato non si deve sentire tagliato fuori,
in quanto possibile ricorrere a versioni pi vecchie di Debian:
sarge 3.1 e woody 3.0 richiedono rispettivamente 24 e 14
MB di RAM per essere installate, contro i 32 MB di etch 4.0.
Spingendoci ancora pi indietro nel tempo, troviamo la Potato

2.2 che presenta due vantaggi: il primo che sono richiesti


solo 12 MB, mentre il secondo la possibilit di installare
unicamente tramite oppy, eliminando cos la necessit
del lettore CD-ROM e della rete. Per chi dispone di computer
senza scheda di rete, segnaliamo che possibile emularla
tramite la porta parallela. Questa estrema leggerezza
e essibilit di Debian abbassano lasticella dei requisiti
minimi, permettendo linstallazione su praticamente qualunque
PC abbiate a disposizione.

LINUX PRO 125

67

Tutorial Hardware
Tip
Il disco sso non
enorme e potremmo
correre il rischio
di saturarlo. Quindi
dopo ogni installazione
di qualche pacchetto
con apt-get install,
consigliato pulire
la cache del gestore
di pacchetti con
apt-get clean.

premiamo Ctrl+X, poi s (y se avete installato Debian


in inglese) per salvare e inne Invio. Aggiorniamo con
P# apt-get update ; apt-get install
debian-archive-keyring
P# apt-get upgrade ; apt-get dist-upgrade
P# apt-get install dosfstools netcat
Ora il sistema aggiornato allultima versione
di Debian etch 4.0r9 e dichiariamo questo punto
come appena installato. Abbiamo cos raggiunto
la prima pietra miliare nel nostro viaggio, cio avere
un sistema base installato e funzionante: sopra
di esso costruiremo tutto il resto.

KVM ci d una mano


Valutata la situazione e considerando il lavoro
che ci aspetta, abbiamo deciso di giocare sporco:
la ricompilazione del kernel la faremo fare da un PC
moderno tramite una macchina virtuale. Dopotutto,
lavorare su un PC da 2 GHz con KVM sar sempre
pi veloce che non lavorare direttamente
sullhardware nativo da 150 MHz con altres
il vantaggio di non dover installare sul portatile
i programmi necessari (compilatore, sorgenti, librerie,
ecc.). Sul PC di lavoro dotato di una connessione
a Internet, attiviamo il nostro Window/Desktop
Manager preferito (KDE, GNOME, Xfce4, ecc.),
apriamo una console, installiamo i software necessari,
creiamo il le che emuler il disco rigido del PC
emulato (pi un le di appoggio per scambio dati)
e facciamo partire linstallazione digitando
R# apt-get install kvm dosfstools netcat
R$ dd if=/dev/zero of=le-immagine.img
bs=1M count=3072
R$ dd if=/dev/zero of=hdb-immagine.img
bs=1M count=20
R$ kvm -hda le-immagine.img -cdrom
debian-40r7-i386-CD-1.iso -net user
net nic,model=ne2k_pci -boot d
Ripetiamo linstallazione tale e quale a quella fatta
sul portatile, con relativo aggiornamento.
2 Se la batteria
tampone scarica,
il BIOS impazzisce
e non fa partire
il portatile

Ricompilare il kernel
2 GB sono uno spazio disco ancora accettabile,
il problema del portatile la quantit di RAM:
considerando quello che vogliamo installare,

Problemi con il kernel ricompilato?


Ottenere un kernel ottimizzato non complicato, ma tutto
ci presuppone una discreta dose di esperienza pregressa:
riuscire a fare le cose bene al primo colpo molto spesso
frutto di precedenti lacrime e sangue, cio varie
ricompilazioni andate male e che hanno afnato le nostre
competenze. Con andate male ci si riferisce al fatto che,
nonostante la compilazione abbia correttamente generato
il pacchetto .deb, una volta installato e scelto il nuovo
kernel al boot, questo non si comporti come ci si aspettava.
Il problema pi fastidioso trovarsi di fronte a un kernel
panic, cio a un errore talmente grave che impedisce
al computer di lavorare. Solitamente si tratta di errori
banali, come lessersi dimenticati di congurare
staticamente (opzione [*] in menucong) il supporto
al chipset che controlla il disco sso oppure il supporto
al lesystem di root. Laltro tipico problema il dimenticarsi
di attivare qualcosa che serve: per esempio il supporto
alle schede di rete PCMCIA o il modulo della scheda audio.
In entrambi i casi, la cosa migliore da fare riavviare
con il kernel originale, disinstallare quello nuovo con
K# apt-get remove linux-image-2.6.18-magro
e rivedere con pi attenzione la sequenza di
parametrizzazione e pacchettizzazione del kernel.

80 MB di memoria possono andarci stretti,


per cui dovremo fare di tutto per ridurre
loccupazione di memoria; la prima cosa da fare far
dimagrire Linux. Cominciamo con laccertarci di quale
tipo di hardware dispone il portatile. Il comando
P# lspci
ci rivela i seguenti modelli di circuiteria:
Neomagic MagicGraph 128ZV (video)
Cirrus Logic CL 6729 (PCMCIA)
INTEL 430MX 82371MX mobile (PCI I/O IDE)
INTEL 430MX 82437MX mobile (Host Bridge)
Cirrus Logic CS423x (audio)
Stranamente, marca e modello del chipset audio non
li abbiamo avuti da lspci, per cui li abbiamo cercati
in Rete e trovati allindirizzo www.ertyu.org/
steven_nikkel/thinkpadspecs.html. Abbiamo
ora la possibilit di ottimizzare il kernel, compilando
solo i moduli dellhardware in nostro possesso.
Cominciamo con lo spegnere la macchina virtuale
e creiamone una copia in modo da evitare
di rifare tutto in caso di errori:
R$ cp le-immagine.img
le-immagine.img.originale-A
Rientriamo nella macchina virtuale e installiamo
i pacchetti necessari alla ricompilazione del kernel:
R$ kvm -hda le-immagine.img -hdb hdb-immagine.
img -net user -net nic,model=ne2k_pci -boot c
K# apt-get install module-init-tools kernel-package
libncurses5-dev linux-source-2.6.18 fakeroot
Formattiamo il le appoggio che ci servir come
piattaforma di scambio dati tra la macchina
virtuale e il PC sico:
K# mkfs.msdos -I /dev/hdb
Ora decomprimiamo i sorgenti e creiamo un link
simbolico, poi spostiamoci nella directory di lavoro
e lanciamo il tool di parametrizzazione:
K# cd /usr/src/
K# tar jxvf linux-source-2.6.18.tar.gz
K# ln -s linux-source-2.6.18 linux

68

LINUX PRO 125

Hardware Tutorial
K# cd linux
of=hdb-appoggio.img
K# make menucong
R# dd if=hdb-appoggio.img | nc 10.10.10.20
E ora scateniamo linferno! Disabilitiamo tutto quello
7000 -q 5
che non serve: per esempio, eliminiamo tutti
La copia avviene in circa 40 secondi. Ora montiamo
i lesystem con leccezione di ext2, ext3, fat12
limmagine, installiamo il kernel e riavviamo:
(per i oppy). Niente USB, via le schede di rete
P# mount -o loop hdb-appoggio.img /mnt/
eccetto quelle su PCMCIA, nessun supporto a RAID
P# dpkg -i /mnt/linux-image-2.6.18-magro_1_i386.
e lesystem di rete... Insomma, limitiamoci allo stretto
deb
necessario. Per comodit del lettore, allURL
P# reboot
http://bit.ly/Z2os68 trovate il le cong
Al riavvio selezionato automaticamente il nuovo
(da rinominare in .cong prima di usarlo) contenente
kernel, attiviamolo e verichiamo che funzioni tutto
la congurazione adottata in questo articolo per
(graca, rete, mouse, ecc.): se cos , possiamo
la ricompilazione del kernel 2.6.18: sar sufciente
considerare per il momento esaurita lutilit della
ricopiarlo in /usr/src/linux prima di dare il comando
macchina virtuale su le le-immagine.img. In ogni
make menucong. Completata la parametrizzazione, caso, teniamola da parte nel caso volessimo fare
salviamo la congurazione e usciamo dal tool
ulteriori prove di afnamento del kernel. Da ora
e poi creiamo il pacchetto .deb con
in poi lavoreremo solo sul portatile.
K# fakeroot make-kpkg --append-to-version
Ottimizzare il sistema
-magro --revision=1 kernel_image
Possiamo tranquillamente eliminare programmi
Il tempo necessario al precedente comando
e demoni inutili come segue:
in funzione delle capacit di calcolo del PC da
P# apt-get remove --purge at portmap exim4
lavoro, ma non dovrebbe comunque eccedere i 20
exim4-base exim4-cong exim4-daemon-light
minuti. Il pacchetto viene automaticamente piazzato
mutt procmail
un livello di directory sopra quello in cui ci troviamo,
Questa operazione riduce loccupazione di memoria
per cui spostiamoci l per installare il nostro kernel
e il carico computazionale per la CPU e libera
ricompilato, dopodich riavviamo il sistema per usare
circa 9 MB di disco. Occupiamoci ora di una
la macchina virtuale come cavia per i nuovo kernel.
ottimizzazione che di solito si tralascia: Linux offre
K# cd /usr/src
sei console testuali (da Ctrl+Alt+F1 a Ctrl+Alt+F6),
K# dpkg -i linux-image-2.6.18-magro_1_i386.deb
che sono molto comode per attivit concorrenti a riga
K# reboot
di comando ma che in un ambiente graco sono poco
Come si nota in Fig.1, ora GRUB presenta come
o punto usate. Possiamo eliminarne quattro,
default il nuovo kernel, premiamo Invio e facciamolo
risparmiando memoria. Editiamo il le
partire. Ovviamente il vecchio kernel tuttora
di congurazione con
presente e pu continuare a essere selezionato
P# nano /etc/inittab
per tornare indietro in caso di problemi. Vericate
per poi disabilitare le quattro righe da
eventuali messaggi di errore in dmesg: se tutto
3:23:respawn:/sbin/getty 38400 tty4
va bene allora potete copiare il le .deb sul le
a 6:23:respawn:/sbin/getty 38400 tty6
di appoggio:
anteponendo un # come segue:
K# mount /dev/hdb /mnt
#3:23:respawn:/sbin/getty 38400 tty4
K# cp /usr/src/linux-image-2.6.18-magro_1_i386.
#4:23:respawn:/sbin/getty 38400 tty4
deb /mnt/
#5:23:respawn:/sbin/getty 38400 tty5
K# halt
Siamo ora sul PC di servizio
e dobbiamo trasferire il le
sul portatile: se i due
computer sono sulla
stessa rete e si vedono
lun laltro, passiamo subito
alla parte travaso,
altrimenti procuriamoci
un cavo di rete incrociato
per connettere i due
sistemi. Impostiamo
un indirizzo di rete sso
su entrambi con
R# ifcong eth0
10.10.10.10 up
P# ifcong eth0
10.10.10.20 up
Accertiamoci che si vedano
eseguendo un ping:
R# ping -c 8 10.10.10.20
E ora il travaso,
come segue:
P# nc -l -p 7000 | dd
3 Il TP380D gestisce tranquillamente Abiword e X-Chat

LINUX PRO 125

69

Tutorial Hardware
Tabella 1
VUOTO

NORMALE

OTTIMIZZATO

MIGLIORAMENTO (%)

TEMPO DI BOOT (s)

15+5+183

15+5+50

72%

16

13

19%

10172

6736

33%

TEMPO DI SHUTDOWN (s)


RAM OCCUPATA (K)

#6:23:respawn:/sbin/getty 38400 tty6


Al prossimo riavvio saranno usabili solo le prime
due console, sufcienti per un moderato uso
della riga di comando.

Lavoriamo sul disco


Minori accessi al disco signica meno lavoro
per la CPU e maggior velocit del sistema.
Il lesystem da noi scelto, ext3, tiene traccia
di tutti gli accessi che si fanno ai le presenti,
provvedendo ad aggiornare la data di ultimo accesso.
Questa attivit, pur apprezzabile, controproducente
per le nostre necessit di leggerezza e velocit,
quindi disabilitiamola. Apriamo il le fstab con
P# nano /etc/fstab
La riga di nostro interesse qualcosa del tipo:
/dev/hda1
/
ext3
defaults,errors=remount-ro 0
1
Provvediamo a modicarla come segue:
/dev/hda1
/
ext3
defaults,errors=remount-ro,noatime,nodiratime
0
1
Concludiamo salvando il le: premiamo Ctrl+x, s
e inne Invio. Si noti che per attivare questa modica
necessario far ripartire il sistema. Questi vecchi
dischi per portatili sono molto lenti se paragonati
ai loro successori, vediamo come intervenire.
Installiamo lutility apposita con
P# apt-get install hdparm
Eseguiamo un test:
P# hdparm -t /dev/hda
Otteniamo uno sconfortante valore di 3,94 MB/s.
Lutility hdparm presenta molti parametri per
velocizzare i dischi ssi, purtroppo le unit pi
vecchie non riconoscono la maggior parte delle
ottimizzazioni che si possono usare attualmente.
Fatte le dovute prove, vediamo che la miglior

Kernel 2.4: perch no?


Per completezza espositiva, segnaliamo che potrebbe
essere preso in considerazione anche lutilizzo di un kernel
della serie 2.4: anche se pi vecchio dal punto di vista
dellarchitettura e dichiarato abbandonato a favore
delle versioni successive, il 2.4 pi scattante e snello
del 2.6 e ben si adatta a questo hardware vissuto.
Un kernel monolitico della serie 2.4 pu stare
tranquillamente sotto gli 800 KB, accelerando la fase
di boot e diminuendo limpatto sulla RAM. Lasciamo
lattivit come compito a casa per quei lettori che,
stimolati dalla ricerca delle migliori prestazioni, si vorranno
dedicare a questa ulteriore ottimizzazione. Ricordiamo
comunque che Linux 2.4.x richiede un compilatore GCC
della serie 3.x, quindi non potrete beneciare delle
ottimizzazioni introdotte nella serie 4.0 o superiore.

70

LINUX PRO 125

sequenza di parametri per questo disco :


P# hdparm -A 1 -c 1 -m 16 /dev/hda
che porta il valore a 4,86 MB/s. Ancora poco,
daccordo, ma sempre un miglioramento
del 23%. Per rendere permanenti queste
impostazioni, editiamo il le /etc/hdparm.conf
e, in fondo al le, scriviamo:
command_line {
hdparm -A 1 -c 1 -m 16 /dev/hda
}
Attenzione a rispettare maiuscole e minuscole:
C e c sono parametri diversi! Salviamo il le
e riavviamo il computer. Resta comunque evidente
che il portatile fortemente penalizzato da un disco
troppo lento e per chi ne ha la possibilit, se ne
consiglia limmediata sostituzione con un modello
pi prestante: dopotutto per pochi euro si trovano
ai mercatini di elettronica dischi PATA da 10/20 GB
e un trapianto di hard disk non potrebbe far altro
che giovare al nostro piccoletto.

Ottimizzazione: i numeri
Dopo tutto il lavoro svolto, ci si potrebbe chiedere
quanto stato sia il guadagno in termini di occupazione
di RAM e velocit di boot. Curiosit legittima alla
quale giusto dare una risposta e consultando la
Tabella 1 possiamo farci unidea dei miglioramenti.
Si noti che la colonna NORMALE fa riferimento
alla voce appena installato nel corpo dellarticolo.
Il tempo di boot il tempo che il portatile impiega
a presentare la richiesta di login a partire dalla
pressione del tasto di accensione: si noti che
il tempo di boot prevede una frazione iniziale
non comprimibile di 15 secondi, durante i quali
c una inizializzazione a livello hardware. Poi ci sono
altri cinque secondi di attesa al prompt di GRUB,
che volendo, potrebbero essere ridotti agendo
sul le /boot/grub/grub.cfg impostando
opportunamente il parametro timeout. Per ottenere
il valore ram occupata ci dobbiamo connettere
come amministratore e dare i due comandi seguenti:
P# echo 3 > /proc/sys/vm/drop_caches ; free -h
Il dato che ci interessa sotto la parola free.
Notiamo che il tempo di boot sensibilmente
migliorato e anche luso della RAM calato
signicativamente, mentre il tempo di shutdown
benecia dei miglioramenti introdotti dalluso
di hdparm: non abbiamo fatto miracoli ma ci
possiamo ritenere soddisfatti del lavoro svolto.

Installiamo il software
A questo punto abbiamo fatto dimagrire il kernel,
eliminato demoni inutili, velocizzato il disco: passiamo
quindi allinstallazione dellambiente graco
e degli applicativi. Certo non sceglieremo software
consuma risorse ma staremo sul leggero:
installiamo i driver del nostro chipset, il server
graco, il meta-pacchetto xorg e inne
un gestore di nestre leggero quale icewm:
P# apt-get install xserver-xorg-video-neomagic
xorg icewm menu
Ora, se ci si volesse limitare a un sistema isolato,
ci si potrebbe dichiarare soddisfatti: potremmo
completare linstallazione con i programmi
che ci servono e considerare conclusa lattivit.

Hardware Tutorial
Per ci eravamo ripromessi di impostare un sistema
che potesse affacciarsi alla Rete, ne consegue
che necessitiamo di un browser Web, di un gestore
di chat, ICQ, ecc. La limitata quantit di RAM
ma sopratutto la CPU datata non permettono luso
di grossi calibri come Iceweasel, per cui occorre
scegliere tra programmi meno esosi di risorse.
A rendere pi complicato ma anche pi
interessante lo scenario, interviene ora uno
dei punti fermi che ci eravamo imposti, cio lutilizzo
di software moderno, correntemente manutenuto
con gli aggiornamenti di sicurezza. Ma la distro
una vecchia Debian 4.0, mentre quello
che ci interessa ora nella versione 6.0. Dovremo
quindi attingere da vari repository: un metodo
artigianale quello di cambiare manualmente
nel le /etc/apt/source.conf i riferimenti ai repository
in linea dalla Debian 4.0 alla 6.0, aggiornare
con apt-get update, eseguire linstallazione
di ci che ci interessa e poi rimettere i riferimenti
alla 4.0. Metodo fattibile, ma pericoloso in quanto
si pu rischiare di fare confusione: molto pi elegante
e pratica la tecnica del pinning.

Il pinning dei repository


Debian lascia parecchia libert ai suoi utilizzatori,
ma non per questo impedisce di compartimentare
con rigoroso scrupolo la gestione dei repository
dei pacchetti. La granularit tale da permettere,
oltre alla classica suddivisione tra programmi main,
contrib e non-free, sussiste anche la possibilit
di mischiare software appartenenti a versioni distinte.
Il vantaggio di questa livello di controllo evidente:
potrebbe capitare la necessit di installare una
versione pi aggiornata di un applicativo che
si appoggia a un rmware che per ha introdotto
un baco nella versione corrente che blocca
il funzionamento della nostra scheda wireless.
Con il pinning possiamo forzare apt-get a mantenere
la vecchia versione di rmware, permettendo
al contempo laggiornamento del programma
che lo utilizza. Come inizio, sistemiamo un piccolo
problema che af igge
questa versione di apt, cio
la limitata dimensione
del buffer, una seccatura
che si risolve modicando
il le /etc/apt/apt.conf
e popolandolo con le righe
APT::Default-Release
etch;
APT::Cache-Limit
80000000;
Creiamo ora il le /etc/apt/
preferences e popoliamolo
con le righe seguenti:
Package: *
Pin: release a=etch
Pin-Priority: 950

Per i pi volonterosi
Eravamo un po sconfortati dalle carenti prestazioni
del portatile in ambito navigazione Web e indagando un po
abbiamo trovato xxxterm, un ultraleggero disponibile solo
al momento in cui scriviamo in Debian testing. Xxxterm
talmente nuovo che usa delle librerie allultimo grido che
richiedono un kernel pi recente della versione da noi
ricompilata, minimo il 2.6.26. Insomma, dobbiamo aggiornare!
Al le /etc/apt/source/conf abbiamo aggiunto
deb http://ftp.it.debian.org/debian testing main contrib
non-free
Integrato il le /etc/apt/preferences con
Package: *
Pin: release a=testing
Pin-Priority: 150
e abbiamo installato al solito modo ma con laccortezza
di dover prima passare per un kernel pi recente a causa
delle nuove librerie da cui dipende xxxterm:
P# apt-get update
P# apt-get install linux-image-2.6.26-2-486
P# reboot
P# apt-get -t testing install xxxterm
La fatica valsa la pena: xxxterm, pur essendo graco
e gestibile tramite mouse, riconosce una serie di combinazioni
di tasti ispirate allo storico editore di testi Vim e ha
effettivamente dimostrato di essere veloce quasi come
un navigatore Web testuale, a dimostrazione che un
programma scritto ponendo laccento su leggerezza e velocit
pu ancora essere implementato. Mandiamo quindi i nostri
complimenti ai realizzatori ed eleggiamo xxxterm a navigatore
ufciale del TP380D. Per completare la nuova congurazione
andrebbe rifatta lottimizzazione del nuovo kernel installato,
ma ormai sapete come farlo.

Pin: release a=stable


Pin-Priority: 200
Inne aggiorniamo /etc/apt/source.list aggiungendo
le righe:
deb http://archive.debian.org/debian lenny main
deb http://ftp.it.debian.org/debian stable main
Dopo aver sistemato i tre le, concludiamo
con il classico apt-get update per aggiornare
larchivio di Debian. Dora in poi il comportamento

Package: *
Pin: release a=lenny
Pin-Priority: 210
Package: *

4 Gnumeric e Kopete funzionano senza problemi


LINUX PRO 125

71

Tutorial Hardware
I rifiuti tecnologici
Quello che tre anni fa era un avanzatissimo e super
tecnologico modem, cellulare, computer, videoregistratore,
scheda video, o-quello-che-, che continua a essere
funzionante e usabile, viene visto oggi come vecchio
e sostituito da un nuovo modello - che a volte non altro
che una mera rimarchiatura di qualcosa gi esistente,
(gli utenti Nvidia sanno di cosa stiamo parlando): il vecchio
modello viene nel migliore dei casi rivenduto/regalato
o alla peggio accantonato in un cassetto per poi essere
avviato alla distruzione. Se guardiamo unicamente alla
circuiteria che d vita agli apparati elettronici, essa contiene
oro, piombo, rame, cromo e altri metalli recuperabili ma
ahinoi tramite processi costosi e volte antieconomici.
Il costo di smaltimento di un container di riuti elettronici
di circa 60.000 Euro, ma smaltirlo in paesi meno attenti
alla salute dei propri cittadini (Cina, India, Paesi Africani, ecc.)
costa solo 5.000 Euro. Ecco che da anni esiste un mercato
semi sommerso dove discreti operatori spediscono altrove
i riuti tecnologici del cosiddetto Primo Mondo: in queste
vere e proprie citt-discarica, decine di migliaia di persone
basano la loro economia sul recupero delle parti ancora
valide dei nostri vecchi apparati tecnologici, ma tali attivit
vengono svolte senza alcuna attenzione per la salute
di chi esegue il lavoro. Come molte altre citt costiere
cinesi, Guiyu (http://en.wikipedia.org/wiki/Guiyu_Town)
la citt che oltre ad avere il poco invidiabile primato
di essere la capitale mondiale del riciclo sporco, ha anche
quella di essere una delle citt pi inquinate del mondo
con un altissimo numero di aborti spontanei, conseguenza
di inquinamento da metalli pesanti nelle acque e nel suolo.
Si faccia riferimento a http://bit.ly/33Nfq0 e http://bit.
ly/mRPl9 per maggiori dettagli. Ora che sapete come
funziona la cosa, forse deciderete di tenervi il portatile
che avete ancora qualche anno, con il doppio vantaggio
di preservare lambiente e il vostro portafogli.

di apt-get sar quello di prediligere la versione dei


programmi presenti in etch, mentre se vogliamo
installare specicando da dove il pacchetto deve
essere preso, occorre aggiungere il parametro -t
<release>: per esempio, apt-get -t stable privoxy
forzer linstallazione di privoxy 3.0.16-1 al posto
di quella di default 3.0.6-2 presente in etch.

Evitiamo i passi lunghi


Se passare da una versione allaltra pu dare problemi,
saltare due versioni (dalla 4.0 alla 6.0) ne pu dare
ancora di pi ed ecco perch sempre meglio andare
per gradi: prima si installa la versione base di un
programma e poi lo si aggiorna. Per esempio, le librerie
base e il gestore di pacchetti hanno subito delle

modiche strutturali e se non venissero aggiornati


non si potrebbe gestire correttamente tutto il resto.
Gi che ci siamo aggiorniamo anche i programmi
che gestiscono la graca:
P# apt-get clean
P# apt-get install debian-archive-keyring
P# apt-get -t lenny install apt dpkg
P# apt-get -t lenny install zx-utils
P# apt-get -t stable install libc6 apt dpkg
debian-archive-keyring
P# apt-get -t stable install icewm menu

Programmi per la rete


Non ci preoccupiamo dei programmi minori
per messaggistica e ICQ, che assumiamo non diano
nessuna difcolt di scelta e focalizziamoci invece
su altro punto core dellarticolo, cio la scelta
del navigatore Internet: abbiamo optato per Midori,
in quanto leggero e impatta poco sulla limitata
memoria del portatile. Ovviamente non installeremo
Flash, visto che troppo esoso in termini di risorse
per il nostro hardware, quindi niente YouTube
e altri siti con video. Per addolcire un po la
situazione faremo ricorso a Privoxy, che si occuper
del ltraggio sui contenuti eliminando banner,
pubblicit indesiderata, cookie ccanaso e la maggior
parte del ciarpame che molti webmaster poco
rispettosi dellaltrui privacy non si fanno scrupolo
dal cercare di inlare nei PC di chi visita i loro siti.
P# apt-get -t stable install midori
P# apt-get -t stable install privoxy
Procediamo ora ad agganciare a Privoxy in nostro
navigatore Internet: in Midori, selezioniamo lultima
icona in alto a destra, poi selezioniamo Preferenze
D Rete e impostiamo i dati come in Fig.5. Abbiamo
cos ottenuto tre vantaggi: una navigazione pi
protetta, minor banda consumata, minor carico
elaborativo per la parte graca del portatile. Si noti
che Privoxy emula vari plug-in come il noto Adblok
per Iceweasel, offrendo per il vantaggio di non
dover ricorrere a un plug-in specicatamente
realizzato per il browser in quanto il ltraggio viene
eseguito a pi basso livello da una applicazione
comune a tutto il PC: quindi sufciente con gurare
i nostri programmi di Rete in modo che si appoggino
a Privoxy, il quale si occuper dellaccesso vero
e proprio a Internet. Privoxy ha una sua lista standard
di contenuti da ltrare, che potrebbe non
corrispondere alle preferenze dellutente, ma lo
si pu tranquillamente parametrizzare tramite la sua
pagina Web, raggiungibile
digitando lindirizzo
http://p.p nel browser.
Le attivit di taratura
di Privoxy esulano dallo
scopo di questo articolo,
si rimanda il lettore
allampia documentazione
presente in Rete e al sito
www.privoxy.org.

Web avanti tutta!


5 La congurazione di Midori

72

LINUX PRO 125

Il protocollo TCP/IP
pensato per essere
robusto, allo scopo

Hardware Tutorial
di garantire lafdabilit della connessione
e il successo della trasmissione dei dati. Questo
per si traduce in ulteriori calcoli che impattano
sulla CPU. Ci possiamo permettere di eliminare
i controlli di troppo in questo modo: editiamo
il le /etc/sysctrl.conf e inserite le righe
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_no_metric_save = 1
net.ipv4.tcp_max_backlog = 2000
Abbiamo cos disabilitato i s(elective) ack, cio
quei controlli sul pacchetti in ingresso che, essendo
pensati per le linee analogiche a bassa qualit,
oggigiorno cominciano a essere superui.
Lazzeramento dei timestamps mostra tutto
il suo valore nel caso in cui ci siano molti pacchetti
che transitano, per esempio quando mettete
BitTorrent a scaricare tutte le ISO dei DVD dellultima
Debian. Poi ci siamo occupati della metrica:
impedendone il salvataggio, riduciamo lo sforzo
della CPU. Inne abbiamo abbassato la quantit
di backlog, valori pi alti sono utili solo per reti
ad alta velocit di classe Gigabit.

ed pensato per Windows 3.11/95/2000, quando


si navigava a 56 Kbit/s e in Rete si trovavano
in massima parte solo pagine HTML statiche
con quale fronzolo estetico dal peso di pochi
Kilobyte. Nonostante si siano mitigati i danni
con un navigatore leggero e ltrati i contenuti superui
tramite un proxy, la fruizione dellattuale Web 2.0
pieno di fuffa multimediale unattivit pesante
per il nostro portatilino. Avremmo potuto fare
di pi per aumentare le prestazioni? La risposta Ni.
Certo, possiamo ulteriormente limare la congurazione
di Linux e rimuovere qualche servizio che occupa RAM
e che pesa sul processore, ma non possiamo
magicamente raddoppiarne la velocit:
apparentemente i 150 MHz della CPU non sono
abbastanza per il moderno Web 2.0. Se vogliamo
una responsivit superiore, dobbiamo accontentarci
di software meno pesanti ma anche meno belli
a vedersi e meno intuitivi a usarsi, come w3m-img
o links2. Se accettiamo questo handicap sul fronte
Web, il portatile ancora usabile per programmi
di chat e messaggistica, videoscrittura, posta
elettronica, visualizzazione PDF e altre attivit leggere.

Pulire il disco sso

Conclusioni

vero, Debian fa di tutto e di pi per aiutare lutente


e ci si traduce in mega e mega di spazio disco
occupato per contenere istruzioni, testi di licenze,
documentazione, esempi di congurazione e via
discorrendo: tutto materiale che molto spesso lutente
nale non sa nemmeno di avere sul proprio disco
sso. Il covo di tutti questi dati /usr/share/doc.
Per ripulire il tutto potete usare il comando
nd PERCORSO -name NOME.TIPO -exec rm {} \;
sufciente rimpiazzare NOME e/o TIPO con ci
che si preferisce e lo script canceller dal disco sso
tutti i le che corrispondono, a partire da PERCORSO
in gi nelle sue sottodirectory. Per esempio,
P# nd /usr/share/doc/ -name *.gz -exec rm {} \;
canceller tutti i li con estensione .gz: un sistema
pratico e veloce, ma anche senza misericordia, quindi
pensateci bene prima di premere il tasto Invio.
Proseguendo con le pulizie,
ricordiamo di aver lasciato
il kernel di default, ma dato
che il nuovo kernel leggero
soddisfa tutte le nostre
necessit, provvediamo
alla rimozione di quello
vecchio con
P# apt-get remove
linux-image-2.6.18-6-486
Abbiamo cos liberato altri
50 MB di spazio, che su
un disco di soli 2 GB fanno
sempre comodo. Gi che
ci siamo, rimuoviamo il le
hdb-appoggio.img che
avevamo usato per veicolare
il nuovo kernel dal PC
al portatile.

In questo articolo ci siamo dedicati a un utilizzo


del ThinkPad a scopo utente, cio una fruizione
diretta con applicativi desktop e accesso a Internet:
questultima una attivit che, richiedendo
RAM e CPU in modalit intensiva, mostra i limiti
di un hardware cos datato, nonostante si sia agito
per limitare i danni ottimizzando il sistema
e scegliendo software adatto. Viceversa,
un utilizzo da server potrebbe richiedere un minor
carico elaborativo (ad esempio non necessaria
linterfaccia graca), con conseguente allungamento
della vita lavorativa a tempo indeterminato.
Con due schede di rete PCMCIA, interposto
tra la Intranet casalinga e il router ADSL, il TP380D
potrebbe ancora dire la sua servendoci come server
DHCP, cache proxy, rewall, controllo parentale
o altre attivit di Rete utili in casa o ufcio. LXP

Impressioni duso
Va ricordato che questo
portatile nasce nel 1997

6 Xxxterm in azione, un navigatore Internet minimalista ma sosticato


LINUX PRO 125

73

PacketFence
Gestire in sicurezza tutti i dispositivi della vostra rete

Un NAC per tutti


Linux Pro vi mostra come usare PacketFence, un potente sistema NAC per mettere
in sicurezza la vostra rete e respingere eramente gli attacchi

DIFFICILE

Le reti moderne, se paragonate anche


solo a quelle di un decennio fa, costituite
solo da Personal Computer, portatili
e workstation, sembrano uscite da un lm
di fantascienza. Avete a vostra disposizione
smartphone, tablet, router, stampanti,
plug-computer e ogni altro aggeggio che supporti
una qualche forma di connettivit, e tutti questi
dispositivi richiedono il loro spazio in rete. E con reti

Non fate eccessivamente caso ai pi di trecento pacchetti installati come


dipendenze. Il loro numero varier in funzione delle vostre impostazioni
e della vostra scelta della distribuzione Linux...

74

LINUX PRO 125

di questo tipo, in continua espansione, i soli rewall


non offrono una protezione suf ciente: necessario
impostare una politica di utilizzo della rete, se la
si vuole rendere veramente sicura. Il NAC (Network
Access Control Controllo Accessi Rete) uno
strumento software che risponde automaticamente
alle violazioni della politica duso decisa per la LAN.
Un sistema NAC, tipicamente, offre supporto per
la registrazione e la concessione di diritti daccesso
a un qualsiasi dispositivo, per la veri ca di violazioni
della politica impostata, per la noti ca via e-mail
di qualsiasi evento di questo tipo, per lisolamento
di ogni dispositivo responsabile, per porre rimedio
al problema e in ne per reintegrare i diritti al
dispositivo colpevole una volta risolto il problema.
PacketFence un sistema di questo tipo, basato
su Perl, che permette di fare tutto questo e molto
altro tramite uninterfaccia Web comoda e facile
da usare. Con NAC di questo tipo opportunamente
con gurati, possibile tracciare anche lattivit
di tutti i dispositivi nella vostra rete tramite i loro
indirizzi sici e inibirne completamente qualcuna,
ad esempio i servizi P2P. Se associato a una politica
degli accessi ben de nita e a pochi altri strumenti
software esterni, PacketFence pu rendere la vostra
rete sicura dagli assalti di qualsiasi spyware
e malware, riservando laccesso a utenti e dispositivi
autorizzati in modo da prevenire ogni attacco.

Le dipendenze di PacketFence
La disponibilit dei pacchetti software della maggior
parte delle distribuzioni tramite archivi Web gestiti
dalle stesse ha fatto dimenticare una locuzione
che identi cava lenorme problema di tutte
le installazioni software su Linux nei tardi anni 90:
linferno delle dipendenze. Se vi capitato di sentir
parlare di questo problema, ma non avete avuto
lesperienza diretta delle gioie che la ricerca
affannosa di pacchetti per completare
uninstallazione d, PacketFence pu farvi provare
anche questa esperienza. Non lo troverete quindi
negli archivi della maggior parte delle distribuzioni,
anche se potete trovare facilmente i relativi
pacchetti .rpm e .deb sul sito Web del progetto,
insieme con limmancabile archivio compresso
dei codici sorgente. Gli ambienti Linux dove pi
semplice installare PacketFence sono quelli basati
su RHEL o CentOS, perch queste distribuzioni
permettono linstallazione di molti archivi diversi
soddisfacendo collettivamente le molte dipendenze.
Se per state usando Ubuntu Server, Slackware
o ogni altra distribuzione, preparatevi a dover
frugare manualmente gli archivi. Comunque, questa
introduzione un po melodrammatica non deve
spaventarvi non cos dif cile come sembra.
Semplicemente, a causa del fatto che distribuzioni

PacketFence Tutorial
diverse forniscono le stesse applicazioni in pacchetti
differenti, non siamo in grado di offrirvi un elenco
completo e af dabile di tutti i pacchetti che
vi servono per poter installare PacketFence.
A parte il pacchetto del tool, necessario
che abbiate gi installato e che siano pronti alluso
sul vostro sistema i pacchetti Apache, DHCP
Server, DNS Server, MySQL e Snort. Si tratta
di cose disponibili negli archivi Web della maggior
parte delle distribuzioni, tanto che probabile
che li abbiate gi installati e con gurati sul vostro
sistema. Per le distribuzioni RHEL e CentOS,
si possono semplicemente installare e abilitare
gli archivi Repforge, EPEL e OpenFusion: la guida
allamministrazione, disponibile in formato PDF
sul sito del progetto descrive dettagliatamente
cosa necessario fare per questa installazione.
Noi abbiamo scelto di provare PacketFence
su una CentOS, quindi linstallazione inizia
con i comandi che seguono:
# rpm -ivh http://packages.sw.be/rpmforge-release/
rpmforge-release-0.5.2-2.el6.rf.i686.rpm
# rpm -ivh http://download.fedoraproject.org/pub/
epel/6/i386/epel-release-6-7.noarch.rpm
# rpm -ivh http://www.openfusion.com.au/mrepo/
centos6-x86_64/RPMS.of/openfusionrelease-0.5-1.of.el6.noarch.rpm
Questi comandi, che devono essere eseguiti
con diritti di amministratore, installeranno
e abiliteranno detti archivi, che potrete cos
trovare tutti elencati nella cartella /etc/yum.repos.d/.
La cosa immediatamente successiva da fare
scaricare il pacchetto PacketFence 3.5 rpm
per la distribuzione CentOS dal sito Web
e installarlo con il seguente comando
su -c yum install
packetfence-3.5.0-1.el6.noarch.rpm
Una volta installato il pacchetto, un messaggio
sul terminale vi avviser di puntare il vostro
navigatore allindirizzo http://@ip_
packetfence:3000/con gurator per procedere
con la sua con gurazione: tuttavia non andate
allindirizzo indicatovi, ma piuttosto allindirizzo
http://vostro_indirizzo_ip:3000/con gurator
per accedere al wizard di con gurazione.

Approntare il sistema
Prima di procedere alla con gurazione, ci sono
alcune altre cose che devono essere in ordine.
Prima di tutto assicuratevi di avere uninstallazione
di MySQL funzionante. Siccome MySQL non associa

di default alcuna password al super utente, il


momento di de nirne una, nel caso non lo abbiate
gi fatto. Allo scopo potete usare il comando
mysqladmin -u root password vostra_password
Rimarchiamo che fare questo importante
e che dovete ricordare questa password, siccome
PacketFence ve la richieder durante lesecuzione
dei passi di con gurazione successivi. A questo
punto occorre avviare il server MySQL, nel caso
non fosse gi operativo, con il solito comando
service mysqld start
Una delle caratteristiche pi utili di PacketFence
che pu essere usato per bloccare ef cacemente
certe attivit sulla rete che gestisce, come
il gi citato traf co P2P. Allo scopo comunque
necessario usare un sistema IDS (Intrusion
Detection System Sistema Rivelazione Intrusioni),
ed qui che si rende necessario luso di Snort:
questo il sistema IDS a cui PacketFence si af da
per far rispettare le politiche duso. Precisamente,
la sua funzione allertare PacketFence riguardo
a eventuali violazioni, in modo che questo possa
mettere in atto una risposta correttiva. Per
installare il pacchetto Snort a partire dagli archivi
della distribuzione, basta eseguire il comando
yum install snort
ma, siccome linstallazione di default di Snort non
include un insieme di regole prede nito, questo
solo linizio del lavoro. necessario creare detto
insieme, per de nire cosa lo strumento deve
intendere per intrusione, questo richiede tempo:
lalternativa pi rapida scaricare un insieme di
regole tra quelli disponibili nella lista offerta dal sito
Web del programma. Ma anche in questo caso

Dovete conoscere
bene il setup
della vostra rete
per poter congurare
correttamente
PacketFence

Tip
Potete usare Ifcong
per determinare
lindirizzo IP della
vostra macchina locale.

Dispositivi di rete gestibili e non gestibili


Una rete tipicamente consiste in diversi nodi, router
e connessioni, che possono essere di tipo wireless o cablate.
Ciascun nodo pu essere pensato come un computer
appartenente alla rete indifferentemente di tipo desktop
o portatile. Nelle reti pi complesse si usano anche gli switch,
che hanno la funzione di eseguire trasferimenti dati diretti
tra un qualsiasi dispositivo mittente e un preciso destinatario:
essenzialmente, la loro funzione quella di abilitare
trasferimenti diretti tra nodi della rete. Gli switch esistono
in due tipi diversi: managed e unmanaged. Mentre questi
ultimi non sono congurabili dallutente e sono essenzialmente

dispositivi di tipo plug and play, gli switch managed sono


congurabili tramite interfaccia a linea di comando accessibile
via telnet o tramite un wizard di congurazione raggiungibile
via browser. PacketFence offre sul suo sito Web, oltre
alla guida alla sua amministrazione, anche una guida
alla congurazione dei dispositivi di rete, che contiene
un elenco dei dispositivi supportati e di come congurarli.
Potete scaricarla dalla sezione sulla documentazione:
fate attenzione che non comunque omnicomprensiva.
Esistono infatti dispositivi che non gurano nellelenco
ma funzionano perfettamente con PacketFence.

LINUX PRO 125

75

Tutorial PacketFence
Tip
Il vantaggio di usare
yum per installare
i pacchetti .rpm
che cos facendo
si risolveranno
automaticamente tutti
i problemi di dipendenza
usando gli archivi
software installati.

Tip
Andando nella pagina
Enforcement del wizard
di congurazione
potete scegliere
le opzioni Inline e
VLAN congiuntamente,
in modo da creare
un sistema ibrido.

Per ognuno dei passi


che dovrete eseguire
tramite il wizard
di congurazione,
vi verranno fornite
utili informazioni
circa quello
che il passo stesso
comporta

76

LINUX PRO 125

la procedura non direttissima: dovete registrarvi


come utenti, poi controllare quale versione di Snort
installata sul sistema con il semplice comando
snort --version
A questo punto andate al link http://snort.org/
snort-rules/#registered e scaricate il le rules
della versione: ad esempio, se la versione installata
Snort 2.9.1.2, il le da scaricare snortrulessnapshot-2912.tar.gz. A questo punto si deve
usare il solito comando
tar -zxvf snortrules-snapshot-2912.tar.gz
per decomprimere larchivio, con la conseguente
creazione delle cartelle rules/, so_rules/,
etc/ e preproc_rules/. I le di con gurazione
di Snort cercati si trovano nella cartella /etc/snort,
mentre le regole sono nella cartella /etc/snort/
rules. Ed in questultima cartella che dovete
andare e usare il comando
cp */etc/snort/rules
per copiare dette regole nella cartella
di con gurazione. A questo punto il procedimento
quasi nito. Occorre creare la cartella /usr/local/
lib/snort_dynamicrules, se gi non esiste,
e copiare in questa tutti i le della cartella
so_rules View. Alla prima esecuzione del tool,
potrete notare che tutti i dispositivi sono elencati
come non registrati. PacketFence vi informer
anche di quale sistema operativo sia presente
su ciascuno di essi, sia esso Windows, Linux,
Android, ecc. Per avere ulteriori informazioni,
come quando il dispositivo stato rilevato
per la prima volta, tipo di user agent installato,
numero di violazioni alla politica di rete registrate
e molto di pi, vi baster cliccare sul pulsante
Show Info in alto a sinistra nella schermata,
appena sotto alla barra superiore. Come potrete
vedere, per ogni dispositivo della rete, PacketFence
elenca solo lindirizzo MAC (Media Access Control)
e non lIP, e questo pu far sorgere qualche piccolo
problema di identi cazione. Per risolverlo, si deve
determinare lindirizzo MAC di un dato dispositivo:
questo si pu fare usando i comandi ifcon g
o ipcon g, nel caso che il suo sistema operativo
sia rispettivamente Linux o Windows, o dando
unocchiata nella voce Impostazioni D Wireless

In caso abbiate bisogno di aiuto, il tasto Help


sempre disponibile in basso a sinistra
nellinterfaccia di amministrazione

e rete D Impostazioni Wi-Fi D Avanzate


del menu nel caso sia un telefonino su cui gira
Android. Una volta capito di quale nodo si tratta,
se volete associare un identi cativo pi semplice,
fate scorrere il cursore del mouse sopra il relativo
MAC (senza cliccare!): vedrete apparire tre pulsanti
alla sua sinistra. Si tratta di Edit This Record, Add
Violation e Delete This Record, nomi piuttosto
autoesplicativi. Cliccate su Edit e, nella nestra
PF::Node::Edit che si aprir, digitate un nome
nel campo Identi er. In questo modo il nome
digitato sostituisce il numero univoco (a partire
da 1) di identi cazione, attribuito a ogni nodo dal
programma: questo nome pu ad esempio essere
Samsung Galaxy S III, consentendo una semplice
identi cazione del dispositivo associato. Il testo
digitato si salva con un click sul pulsante Edit Node
in fondo alla nestra.

Gestione degli ospiti


Nonostante PacketFence veda gi al primo accesso
tutti i dispositivi presenti in rete, necessario
registrarli. Lo strumento preposto allo scopo
il Captive Portal che, una
volta abilitato, redirige gli
utenti in rete a una pagina
di registrazione dove
possibile fornire i dettagli
necessari, come nome
e cognome, e un indirizzo
valido di posta elettronica
dove verr inviato il codice
di attivazione dellaccount.
Usando questo codice,
permetterete a
PacketFence di autenticare
il dispositivo associato. Di
default, gli utenti possono
registrarsi autonomamente
via e-mail, SMS o Sponsor:
comunque possibile
disabilitare completamente
questa opzione,

PacketFence Tutorial
o consentirla solo tramite un sottoinsieme proprio
dei tre possibili metodi. Per cambiare
la con gurazione di auto-registrazione basta
andare alla voce Con guration D Guests_self _
registration del menu. possibile anche gestire
gli ospiti per mezzo dellinterfaccia di
amministrazione, scegliendo la voce Person D
Manage Guests del menu: tra i dettagli dellospite
inseribili ci sono la data (e lora) di primo accesso
alla rete e il tempo massimo di permanenza,
durante il quale al dispositivo concesso laccesso.
Un codice di accesso viene sempre inviato allospite
via posta elettronica, af nch sia possibile
autenticare il suo dispositivo. Assunto che sia stata
scelta una permanenza massima di tre giorni,
trascorso questo periodo il dispositivo ospite
risulter di nuovo non registrato, non potendo quindi
pi accedere alla vostra rete con quelle credenziali.

di queste speci ca per un determinato sistema


operativo o dispositivo, e al suo insorgere potete
immediatamente bloccare il responsabile, isolandolo.
Per esempio, potete impedire a tutte le piattaforme
per i videogiochi, come la PlayStation Sony,
di accedere alla vostra rete. In maniera analoga,
potete usare lo User Agent, che identi ca il browser
Web di default per un dato dispositivo, in modo
da ri utare laccesso a dispositivi diversi che
mostrino le stesse credenziali. E se nella vostra rete
gi implementato un qualche tipo di protocollo
di autenticazione, non necessariamente
un problema per PacketFence: infatti questo
strumento supporta molti protocolli, come
OpenLDAP, FreeRadius, Active Directory, Novell
eDirectory e altri ancora. Lovvio vantaggio di una
scelta di questo tipo che installare PacketFence
su una rete preesistente non obbliga i membri
attuali a cambiare le loro credenziali di accesso.

Tip
Il modo di identicare
i dispositivi associati
a un dato indirizzo IP
o MAC cambia
in funzione del sistema
operativo del
dispositivo e, nel caso
di Android, anche
della sua versione.

Caratteristiche avanzate

Con tutto quello che stato descritto no a questo


ZEN PacketFence
Se non vi entusiasma lidea di buttarvi a capo tto
punto in questo articolo, si potrebbe essere indotti
nella complessa installazione di PacketFence e nella
a pensare che siano terminati gli argomenti
sua ancor pi elaborata con gurazione, siete
di discussione, ma questo non assolutamente
comunque fortunati! Ledizione Zero Effort NAC
il caso in esame. Allatto pratico, PacketFence
(NAC a Sforzo Zero) di PacketFence una versione
offre cos tante impressionanti caratteristiche
completamente installata e precon gurata. Potete
che impossibile per noi presentarvele in dettaglio
usarla in formato Live USB per provare PacketFence
in questa sede. Basti pensare che, nel caso che
conosciate gi quello che un NAC pu fare e abbiate e/o familiarizzare con le sue sottigliezze. Il pacchetto
compresso da 500 MB scaricabile necessita
in mente un progetto speci co, quasi certamente
di una chiavetta da almeno 4 GB ed eseguibile
PacketFence pu realizzarlo. A parte la possibilit
in ambiente Debian. In alternativa potete scaricare una
di stabilire un tempo massimo di permanenza
sua immagine VMware, disponibile sia per VMWare
e di vincolare dispositivi diversi a diverse VLAN
ESX che per VMWare Player basata su CentOS 6.3.
per implementare politiche di sicurezza, ci sono
Come abbiamo gi detto, non possibile descrivere
ancora molte altre propriet che PacketFence
pu sfruttare per rendere ancora pi sicura la vostra in questa sede tutte le notevoli possibilit offerte
da un progetto in cos grande espansione come
rete. Con la sempre crescente diffusione degli
PacketFence. Possiamo solo aggiungere che si tratta
smartphone e di altri dispositivi intelligenti,
la maggior parte delle imprese e delle organizzazioni di uno strumento estremamente stabile che, una
volta con gurato opportunamente, vi terr informati
deve essere in grado di offrire modalit di accesso
su ogni singolo byte che transita sulla vostra rete. LXP
BYOD (Bring Your Own Devices letteralmente
Portate i Vostri Dispositivi
Personali). PacketFence
pu farlo usando la
metodologia di gestione
dei dispositivi ospite (Guest
Management) gi descritta,
che oltre alla possibilit
di registrare ospiti con
e-mail o SMS permette
di de nire una password
a validit giornaliera in
modo tale da obbligare detti
dispositivi ad autenticarsi
sempre prima di poter
accedere alla rete. Oltre
a tutto questo, in aggiunta
al vasto numero di violazioni
rilevabili elencate nella
sezione Con gurations
D Violation, PacketFence
pu rilevarne qualcuna in
pi: si tratta delle violazioni
User Agent, MAC Address
La pagina Remediation informa lutente del perch al momento
e DHCP Fingerprint. Ognuna non gli possibile accedere alla rete
LINUX PRO 125

77

Hardcore Linux
Sfide per i veri power user

La punta di diamante
dei lesystem
Linux Pro ha scoperto che lultimo e ottimo lesystem di Sun, ZFS, sta nalmente
facendosi strada in alcune distribuzioni
Linvenzione pi interessante di Solaris stata
ZFS, che Sun e Oracle adesso chiamano
lultima parola nei lesystem. In effetti,
la lista delle funzionalit di ZFS impressionante,
a differenza di Btrfs che, su Linux, ancora anni
indietro. Caratteristiche interessanti di ZFS sono
le istantanee (snapshot) e i cloni, la correzione
e la verica automatica dellintegrit dei dati,
la deduplicazione e la compressione trasparente,
oltre a vari tipi di RAID (Redundant Array
of Independent Disks). Concettualmente, ZFS
semplice: i dischi sono assegnati ai pool e i lesystem
sono composti da pool. Assegnando in un certo modo
i dischi a un pool, ZFS implementa vari tipi di RAID.
Per la gestione dei pool si utilizza il comando zpool
e, per la gestione dei lesystem, c il comando zfs.
ZFS lelemento che ci ha attirato nel mondo di
Solaris, infatti, anni fa, abbiamo iniziato a sperimentare
con OpenSolaris, OpenIndiana e derivate come,
ad esempio, la combinazione GNU/Solaris Nexenta.
Tuttavia, nessuno di questi sistemi operativi erano
veramente adatti per lutenza desktop. Qualche
anno fa, abbiamo provato FreeBSD, proprio perch
utilizzava ZFS, e ci piaciuto molto della losoa
che cera dietro. Per alcuni anni, abbiamo utilizzato
FreeBSD (versioni 8 e 9) come nostro desktop
principale con tutti i nostri le su lesystem ZFS
A causa
dellincompatibilit
tra le licenze CDDL
e GPL, i moduli
del kernel ZFS
su Linux devono
essere sempre
compilati

DIFFICILE

78

LINUX PRO 125

ma, alla ne, abbiamo dovuto ammettere che FreeBSD


non era allaltezza del compito di fornire un decente
e moderno sistema operativo orientato allutenza
desktop. Tuttavia, in quegli anni eravamo troppo
affezionati a ZFS per abbandonarlo e ritornare
a utilizzare il vecchio Ext4 oppure lancora sperimentale
Btrfs. Per mesi, abbiamo vissuto un doloroso dilemma.
Sapevamo che era possibile utilizzare ZFS su Linux
con ZFS FUSE, ma solo in userspace e, quindi, in modo
non del tutto ottimale. Avevamo gi utilizzato
un NAS con FreeBSD e ZFS per il backup dei dati,
ma volevamo ZFS anche sui nostri desktop.

Sabayon
Mentre stavamo provando questa derivata di Gentoo
Linux, abbiamo notato qualcosa di eccitante
nellannuncio del rilascio: ZFS era supportato come
tech-preview. Non cerano altre informazioni
aggiuntive ma, quando abbiamo utilizzato
la distribuzione, abbiamo notato che alcuni moduli
ZFS del kernel erano stati caricati e che erano
disponibili i comandi zpool e zfs. Quindi,
apparentemente, Sabayon 9 utilizzava ZFS on Linux
(http://zfsonlinux.org), implementando un port
nativo del kernel Linux del lesystem ZFS sotto forma
di moduli del kernel. Dopo alcuni test, abbiamo deciso
di installare Sabayon 9 sul disco di sistema del nostro

Hardcore Linux Tutorial


computer desktop. Prima dellinstallazione, abbiamo
esportato il nostro pool di dati (chiamato serbatoio
e composto da un mirror di due dischi) su FreeBSD:
$ sudo zpool export serbatoio
Dopo linstallazione di Sabayon, abbiamo installato
i pacchetti necessari:
$ sudo equo install zfs zfs-userspace
A questo punto siamo stati in grado di importare i dati
dai nostri dischi con il seguente semplice comando:
$ sudo zpool import serbatoio
Il comando zpool import monta automaticamente
anche tutti i lesystem nel pool importato. In questo
caso, ha montato il lesystem principale serbatoio
su /serbatoio. Ha anche tentato di montare
il lesystem serbatoio/home su /home, perch quello
era il percorso dove avevamo montato in precedenza
la nostra home directory su FreeBSD, fallendo perch
/home era gi esistente sul nostro sistema Sabayon.
Cos ci siamo loggati come utente root, abbiamo
spostato lesistente /home in /home-vecchia
e abbiamo riavviato la macchina. Provando
ad accedere da utente normale abbiamo ricevuto
un messaggio di errore, perch Sabayon non riusciva
a trovare la home directory. A quanto pare, non
montava automaticamente i lesystem ZFS. Quindi,
abbiamo creato il le /etc/local.d/zfsmount.start
con il seguente contenuto:
zfs mount -a
e labbiamo reso eseguibile con il comando
$ chmod +x /etc/local.d/zfsmount.start
Questo le ha consentito a Sabayon di montare
allavvio tutti i lesystem ZFS. Solo adesso eravamo
in grado di autenticarci e di avere a disposizione tutti
i nostri le su Linux dal nostro sistema FreeBSD/ZFS.

Altre distribuzioni
Anche se Sabayon e la sua distribuzione madre,
Gentoo, sono in prima linea per ci che concerne ZFS
su Linux, non sono affatto le uniche distribuzioni
a fornire questo lesystem. Il progetto ZFS on Linux
(http://zfsonlinux.org) offre anche i le DEB e RPM
sul suo sito Web, utilizzabili su Fedora, Red Hat
Enterprise Linux, openSUSE e Debian. I pacchetti
sono disponibili anche nei repository di Arch Linux
e di Gentoo. C un problema, per, se si desidera
utilizzare ZFS su Fedora: la policy di SELinux per ZFS
non stata ancora implementata. Quindi, se avete
impostato SELinux su Enforce (cosa che si dovrebbe
fare), potrete incontrare alcuni problemi come,
ad esempio, lo script di init che fallisce durante
il montaggio automatico dei lesystem. Al momento,
lunica soluzione quella di impostare SELinux
in modalit permissiva (Permissive) o disabilitarla
(altamente sconsigliato). Ci pu essere fatto
impostando la seguente riga nel le di congurazione
/etc/selinux/cong:
SELINUX=disabled
Se state utilizzando Ubuntu, il progetto ZFS on Linux
mette a disposizione un archivio personale di pacchetti
per installare i componenti necessari:
$ sudo add-apt-repository ppa: zfs-native/stable
$ sudo apt-get update
$ sudo apt-get install ubuntu-zfs
Quando installate il pacchetto ubuntu-zfs, vengono
scaricati e compilati i sorgenti di ZFS. Quando sar

disponibile una nuova versione nel PPA o quando


si aggiorna il kernel, i sorgenti verranno
automaticamente ricompilati, grazie al framework
dkms (supporto dinamico per i moduli del kernel).
Adesso, caricate il modulo ZFS del kernel:
sudo modprobe zfs
Fatto ci, sarete in grado di importare i vostri dischi
dati ZFS esistenti, come prima! Fino ad ora, abbiamo
parlato delluso di ZFS solo per i vostri dischi di dati.
Ma cosa accadrebbe qualora voleste installare anche
la vostra root lesystem su ZFS? Purtroppo, non
semplice in questo momento, in quanto nessun
installer di Linux supporta linstallazione diretta
di un lesystem root ZFS. Quindi, necessario
utilizzare un Live CD con supporto ZFS e preparare
da soli il lesystem di root. Vi mostreremo come farlo
con Ubuntu 12.04 e il PPA di ZFS on Linux. Avviate
il vostro computer con un Live CD e aprite la nestra
di un terminale. Installate il pacchetto ZFS on Linux
dal PPA (vedete sopra) e caricate il modulo ZFS.

Partizionate il disco
Ora partizionate il disco rigido dove desiderate
installare Ubuntu, nel nostro caso si tratta di /dev/sda.
Create una piccola partizione di 8 MB, assegnate lID
di sistema be (boot di Solaris) e rendetela avviabile:
questa la vostra partizione di boot sda1. La seconda
partizione, sda2, occupa il restante spazio su disco.
Assegnatele lID di sistema bf (Solaris). Formattate
la partizione di boot come ext3:
$ sudo mke2fs -m 0 -L BOOT -j /dev/sda1
e poi create il pool di root sulla seconda partizione,
nonch due lesystem addizionali:
$ sudo zpool create rpool /dev/sda2
$ sudo zfs create rpool/ROOT
$ sudo zfs create rpool/ROOT/ubuntu-1
Ora smontate tutti i lesystem ZFS e impostate
la propriet di mountpoint sul lesystem di root
e la propriet bootfs sul pool di root:
$ sudo zfs umount-a
$ sudo zfs set mountpoint=/rpool/ROOT/ubuntu-1
$ sudo zpool set bootfs=rpool/ROOT/ubuntu-1 rpool
Terminate la preparazione esportando il pool:
$ sudo zpool export rpool
Ora importate il pool ZFS, montatelo su /mnt
e montate pure il lesystem di boot:
$ sudo zpool import -R /mnt rpool

Tip
Se si utilizza un disco
Advanced Format (AF)
con settori da 4K che
emula una dimensione
di settore di 512 byte,
a causa della
compatibilit con
i sistemi legacy, ZFS
rileva la dimensione
errata del settore
con conseguente
peggioramento
delle prestazioni.

Tip
Per impostazione
predenita,
le istantanee
(snapshot) si applicano
solo al lesystem e non
ai suoi gli. Se volete
uno snapshot della
gerarchia del lesystem
completo, aggiungete
lopzione -r, ad
esempio zfs snapshot
sudo-r data@backup.

Requisiti di sistema per ZFS


ZFS un lesystem avanzato che non adatto
ai computer vecchi. Anche se in teoria
dovrebbe funzionare in un ambiente
a 32 bit, non verr eseguito in modo
stabile. Gli sviluppatori di ZFS on Linux
stanno lavorando su un adeguato supporto
per i sistemi a 32 bit ma, per il momento,
se desiderate utilizzare ZFS, dovete
assolutamente installare una distribuzione
Linux a 64 bit. Inoltre, ZFS memorizza
i dati nella RAM, quindi maggiore sar
la quantit di RAM messa a disposizione
e maggiore sar il suo rendimento
complessivo. Se il vostro computer disponesse
di 2 GB di RAM o meno, le prestazioni di ZFS

risulterebbero ridotte poich, idealmente,


avreste bisogno di almeno 4 GB di RAM
o poco pi. Se desiderate utilizzare la
deduplicazione, i requisiti di sistema saranno
ancora pi esigenti: per ogni TB di storage
sopra i 6 TB, il sistema avr bisogno
da 1 a 2 GB di RAM. Lultima versione
di ZFS on Linux supporta kernel a partire
dalla versione 2.6.26. Questo requisito ricopre
la maggior parte dei kernel utilizzati nelle
principali distribuzioni Linux, tra cui Ubuntu
10.04, Debian 5.0, openSUSE 11.4, Fedora
13 e successive. Se desiderate utilizzare
il codice pi aggiornato, usate il PPA
zfs-native/daily anzich zfs-native/stable.

LINUX PRO 125

79

Tutorial Hardcore Linux


Le istantanee
(snapshot)
rappresentano
la miglior
caratteristica di ZFS

Tip
possibile rinominare
un lesystem ZFS
con il comando sudo
zfs rename
<nomeoriginale>
<nuovonome>.
Allo stesso modo, anche
possibile modicare
la gerarchia, ad esempio
con il comando sudo zfs
sudo rename data/
media/music data/music.

$ sudo mkdir -p /mnt/boot/grub


$ sudo mount /dev/sda1 /mnt/boot/grub
Adesso, installate un sistema Ubuntu minimale
con debootstrap:
$ sudo apt-get install debootstrap
$ sudo debootstrap precise /mnt
Fatto ci (il processo pu durare alcuni minuti), dovete
congurare ancora il sistema, altrimenti non si avvier.
Copiate alcuni le presenti in /etc, dallambiente
Live del CD al vostro nuovo sistema:
$ sudo cp /etc/hostname /etc/hosts /mnt/etc
e digitate la seguente riga nel le /mnt/etc/fstab:
/dev/sda1 /boot/grub auto defaults 1 1
Adesso congurate la connessione di rete in /mnt/etc/
network/interfaces. Se state usando solo
una connessione di rete via cavo, con DHCP, questo
le deve contenere le seguenti righe:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Inne, usando chroot, entrate nel vostro nuovo
lesystem:
$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /sys /mnt/sys
$ sudo chroot /mnt /bin/bash --login
Installate ora il pacchetto ubuntu-minimal, alcuni

componenti necessari, ZFS on Linux e una versione


modicata di GRUB:
# locale-gen en_US.UTF-8
# apt-get update
# apt-get install ubuntu-minimal
python-software-properties
# apt-add-repository --yes ppa:zfs-native/stable
# apt-add-repository --yes ppa:zfs-native/grub
# apt-get update
# apt-get install --no-install-recommends
linux-image linux-image-generic linux-headers-generic
# apt-get install ubuntu-zfs
# apt-get install grub-pc zfs-initramfs
Durante linstallazione di grub-pc, Ubuntu vi chieder
di selezionare quale dispositivo volete avviare
automaticamente, utilizzando il comando grub-install.
Selezionate lintero disco (/dev/sda). Ora impostate
una password di root, aggiornate initramfs,
il le di congurazione di GRUB e installate
il bootloader nel MBR:
# passwd root
# update-initramfs -c -k all
# update-grub
# grub-install /dev/sda
Per ultimo, ma non meno importante, uscite
dallambiente di chroot e riavviate:
# exit
$ sudo umount /mnt/boot/grub
$ sudo umount /mnt/dev

Condividete i vostri filesystem ZFS


Una delle caratteristiche interessanti di ZFS consiste
nel fatto che ogni lesystem pu avere delle propriet
che possono essere lette con il comando zfs get all
<lesystem>. Molte di queste propriet hanno un impatto
diretto sul comportamento del lesystem. Per esempio,
ZFS offre le propriet del lesystem sharesmb e sharenfs,
per rendere pi semplice la condivisione di un lesystem
in rete. Purtroppo, la propriet sharesmb non stata
ancora implementata nel server Samba di Linux
mentre la sua controparte NFS funziona egregiamente.
Cos, invece del metodo tradizionale di NFS, la condivisione

80

LINUX PRO 125

di un particolare lesystem risulta ancor pi facile,


con il seguente comando:
$ sudo zfs set sharenfs=on serbatoio/home
La home directory sar quindi condivisa con le opzioni di default
di NFS, che sono quelle di tutte le reti. , inoltre, possibile
creare un lesystem e, con lo stesso comando, condividerlo
tramite NFS, nel seguente modo:
$ sudo zfs create -o sharenfs=on serbatoio/musica
possibile controllare quali lesystem vengono condivisi
via NFS, con il seguente comando:
$ exportfs

Hardcore Linux Tutorial


Per ottenere
spiegazioni
pi approfondite
ed esempi, leggete
le pagine man
degli eccellenti
comandi zpool e zfs

$ sudo umount /mnt/proc


$ sudo umount /mnt/sys
$ sudo zfs umount -a
$ sudo zpool export rpool
$ sudo reboot
Togliete il Live CD e, se tutto andato per il verso
giusto, il vostro sistema Ubuntu con un lesystem
di root ZFS si riavvier. Adesso, per completare
linstallazione di Ubuntu, potete installare il pacchetto
ubuntu-desktop.

Divertitevi
Adesso che avete uninstallazione di Linux funzionante
su un lesystem ZFS, cosa potete farci? Senza ombra
di dubbio, dovreste leggere le eccellenti pagine
man dei comandi zpool e zfs. Intanto, vi spiegheremo
alcuni dei comandi di cui, probabilmente, avrete
bisogno. Innanzitutto, date uno sguardo a zpool.
In precedenza, avete gi usato questo comando
per creare un pool ZFS, per importarlo, esportarlo
e per cambiare le sue propriet. Potete usarlo
anche per elencare tutti i pool ZFS disponibili
nel vostro sistema:
$ sudo zpool list
Questo comando visualizza il nome del pool,
la dimensione totale allocata e lo spazio libero,
la percentuale della capacit utilizzata e il suo stato
di salute. Con il seguente comando potete ottenere
maggiori informazioni circa lo stato di salute
del vostro pool rpool:
$ sudo zpool status rpool
Lo stato visualizzato dovrebbe essere ONLINE:
qualsiasi altro stato indicherebbe la presenza
di problemi. Inoltre, vedrete quali dispositivi hanno
letto, scritto o gli errori di checksum. Potete anche
aggiungere un dispositivo addizionale e creare
un secondo pool ZFS. Per esempio, se volete creare
un pool mirrorato, composto da due dischi (come
in RAID 1), potete farlo semplicemente lanciando
il seguente comando:
$ sudo zpool create mirror data /dev/sdb /dev/sdc
Ogni volta che create un pool, ZFS crea anche
un lesystem di default con lo stesso nome del pool

e lo monta. Per esempio, dopo aver creato il pool


di dati (come sopra), vedrete una cartella /data, che
il lesystem montato con il nome data, creato nel
pool data. Con il comando zfs, potete sempre creare
un lesystem addizionale sul pool, creato come glio
del lesystem di default:
$ sudo zfs create data/music
Potete creare quanti lesystem volete, in quanto
la creazione di un lesystem in ZFS unoperazione
molto leggera. Per esempio, sarebbe una buona idea
creare un lesystem ZFS per /home e anche uno per
ogni home directory appartenente a ciascun utente
presente nel vostro sistema. Il seguente comando
mostra tutti i lesystem presenti in un pool:
$ sudo zfs list -r data

Tip
Se usate screen per
lanciare un contenitore
sarete in grado
di staccarvi dalla
sua console quando
lo desiderate (basta
premere Ctrl+a e poi d).

Snapshot
Una delle caratteristiche pi interessanti di ZFS
consiste negli snapshot. Uno snapshot una copia
di un lesystem completo nello stato in cui si trova al
momento. Grazie alla progettazione del copy-on-write
di ZFS, gli snapshot vengono creati istantaneamente.
Potete creare uno snapshot con il comando zfs
snapshot, il nome del lesystem seguito dal carattere
@ e il nome dello snapshot. Ad esempio:
$ sudo zfs snapshot rpool/ROOT/ubuntu-1@salvami
Come suggerisce il nome del vostro snapshot,
le istantanee sono un ottimo strumento per evitare
che il sistema diventi inutilizzabile come, ad esempio,
quando si esegue un aggiornamento del sistema.
Basta creare uno snapshot prima dellaggiornamento,
eseguire laggiornamento e, se qualcosa andasse
storto, ripristinare lo stato del lesystem al momento
della creazione dello snapshot:
$ sudo zfs rollback rpool/ROOT/ubuntu-1@salvami
Se desiderate avere degli snapshot creati
automaticamente con una pianicazione oraria,
giornaliera, settimanale e mensile, installate
il pacchetto zfs-auto-snapshot e congurate
la frequenza degli snapshot automatici nel vostro
crontab. Una volta che avrete avuto un assaggio
di ZFS e dei suoi snapshot, non avrete mai pi voglia
di ritornare a utilizzare gli altri lesystem! LXP
LINUX PRO 125

81

Concetti

Evitare gli errori


Dopo aver ricevuto tonnellate di bug report sul proprio codice, lo staff di Linux Pro ha deciso
di condividere con voi lelenco delle cose da evitare e come farlo

Tip
Praticamente tutti
i linguaggi considerano
lo zero come un valore
e come prima posizione
di un array. Pu
sembrare poco logico
allinizio, perch siamo
abituati a pensare allo
zero come a niente.
Ma basta soltanto
abituarsi allidea.

Non importa quanta attenzione mettete nel vostro


codice. Anche se avete bevuto quattro caff
e avete ricontrollato tre volte ogni riga, prima
o poi commetterete un errore. Pu essere un banale errore
di scrittura, una parentesi mancante o un numero errato,
o pu essere un errore di logica, problemi di memoria
o semplicemente del codice inefciente. In tutti i casi
il risultato sar il medesimo, a un certo punto il vostro
programma non far quello che voi volete che faccia.
Questo pu signicare un crash, un dump dellerrore
con conseguente ritorno alla linea di comando. Ma pu
signicare anche un piccolo errore di arrotondamento
nel calcolo dellIVA che avvisa lAgenzia delle Entrate
che dovete pagare due milioni di euro, costringendovi
a vendere casa e dichiarare bancarotta.

Trovare i problemi
Quanto velocemente un vostro errore viene trovato
e corretto dipende dalla complessit del problema, e dalla
vostra abilit nella delicata arte del troubleshooting. Anche
se gli esempi di codice dei mesi precedenti erano al massimo
di 10 righe, probabilmente avrete dovuto debuggare il codice
per far s che quello che avete scritto nel vostro interprete
Python fosse uguale a quello della rivista. Quando la vostra
applicazione cresce di complessit e non si limita pi a poche
righe di codice o a una manciata di funzioni, potreste
ritrovarvi a spendere pi tempo a scovare errori di quanto
ne avete speso per scrivere il codice. Ecco perch prima
di preoccuparvi del debugging, dovreste seguire qualche
semplice regola mentre scrivete il vostro codice. La prima
questa: dato che non potete sempre pianicare ci che
state per scrivere o come andrete a risolvere uno specico
problema, dovete sempre ritornare sui vostri passi e dare
una ripulita al codice gi scritto. Questo perch ci sono
buone probabilit che alcune delle variabili che avete usato
diventino ridondanti e vi siano pezzi di codice che hanno
perso la loro logica. Ritornare indietro e ripulire queste aree
rende il codice pi facile da mantenere e da capire. Rendere
il vostro codice il pi semplice possibile da capire diventa
fondamentale quando cresce il numero di linee, e raramente
andrete a riguardare il codice vecchio. Quando scrivete un
blocco decente di funzionalit, la seconda cosa che dovreste
fare aggiungere un po di commenti per descrivere cosa
LIDE Python IDLE
ha una modalit
di debug che
vi permette di vedere
come le vostre
variabili cambiano
durante lesecuzione

82

LINUX PRO 125

fa e come lo fa. I commenti sono delle semplici descrizioni


che spiegano come funziona il codice, solitamente includono
tutti gli input e gli output di una funzione. Non vengono
interpretati dal linguaggio o dal compilatore, non inuiscono
sul funzionamento del vostro codice, sono l soltanto
per aiutare gli altri sviluppatori a capire cosa fa quella parte
del codice. Ma, ancora pi importante, sono l per ricordare
a voi cosa fa il vostro codice. Pu sembrare strano, ma non
importa quanto chiaro era il processo mentre scrivevate
il programma, aspettate qualche giorno, settimana o mese
e vedrete che vi sembrer che quel codice sia stato scritto
da altri per quanto ve ne ricorderete. Da programmatori,
una delle cose pi frustranti dover risolvere lo stesso
problema due volte, la prima volta quando create il codice,
e la seconda quando lo volete modicare ma non capite
come funziona. Una linea o due di descrizione potrebbe farvi
risparmiare interi giorni spesi a cercare di comprendere cosa
fa una funzione e come lavora, o pu risparmiarvi la fatica
di capire a cosa serve una funzione quando a voi interessa
soltanto sapere che input chiede e quale output ritorna.

Limportanza della documentazione


Vediamo ora come funzionano le API e le librerie esterne.
Quando installate Qt, ad esempio, non necessario
che sappiate esattamente come lavora una funzione.
sufciente che studiate la documentazione dellinterfaccia
e come utilizzarla contestualizzandola al vostro codice. Tutto
ci che un programmatore deve sapere dovrebbe trovarsi
nella documentazione. Se volete utilizzare un algoritmo
di sorting di Qt, ad esempio, non avete bisogno di sapere
come fa ad essere cos efciente, vi basta conoscere quali
dati dovete mandargli e come ottenere il risultato. Dovreste
modellare i vostri commenti sulle stesse basi, sia perch
rende la documentazione pi semplice, sia perch
le funzionalit autoconclusive sono pi facili da testare
per poi dimenticarle. Non signica che dovete scrivere un
libro. Scrivete soltanto lo stretto necessario, spesso questo
si traduce in una sola riga. La sintassi per i commenti cambia
in base al linguaggio; per quanto riguarda Python, ad
esempio, i commenti sono solitamente anticipati dal simbolo
# allinizio della riga. Tutto ci che si trova aldil di questo
simbolo sar ignorato dallinterprete, e se state utilizzando
un editor dotato di evidenziazione della sintassi, il commento
verr colorato con un colore differente. Pi dettagli mettete
in un commento e meglio , ma non scrivete un papiro.
Aggiungere i commenti al codice pu essere noioso quando
volete semplicemente continuare a programmare, quindi
rendeteli il pi snelli possibile per non interrompere il vostro
usso di programmazione. Se necessario, potete sempre
tornare indietro e aggiungere i vostri pensieri quando non vi
sentite in frenesia da codice (di solito questo accade il giorno
prima del rilascio al pubblico). Quando si inizia a scrivere
codice, si introducono molti errori senza rendersene conto.
A cominciare dal fatto, ad esempio, che non si sa cosa
sia una keyword e cosa non lo sia; una keyword (o parola
chiave) altro non se non una parola utilizzata dal vostro

Concetti
linguaggio per fare qualcosa di importante. Ogni linguaggio
differente, ma la lista delle keyword di Python
abbastanza gestibile, e include parole inglesi di linguaggio
comune come and, if, else, import, class e break,
cos come parole con meno senso come yield, lambda,
raise e assert. Ecco perch sempre una buona idea
creare le vostre variabili con nomi composti, piuttosto
che con nomi semplici. Se state utilizzando un IDE,
ci sono buone possibilit che levidenziazione della sintassi
vi avvisi se state usando una keyword.

Programmando
in Python dovete
prestare attenzione
che i due punti
e le indentazioni
siano disposti
correttamente,
altrimenti il vostro
codice non funzioner
ma si stopper
mostrando parecchi
errori di runtime

Valori non dichiarati


Un altro problema che fortunatamente non afigge Python
luso di valori non dichiarati. Questo tipo di errori pu
vericarsi, ad esempio, nel C o C++, se utilizzate una variabile
senza aver dichiarato prima di che tipo , ad esempio int x
per dichiarare che x un integer. Soltanto dopo averle
dichiarate potete utilizzare delle variabili nel vostro codice.
Questa la grande differenza tra linguaggi compilati
e interpretati. Comunque, in entrambi i linguaggi, non potete
sapere che valore di default conterr una variabile non
dichiarata. Scrivendo print (x) in Python vi verr restituito
un errore, cosa che non succeder se anteponete listruzione
x = 1. Questo perch linterprete conosce il tipo di una
variabile soltanto dopo che le avete assegnato un valore.
Il C/C++ pu essere anche meno preciso, non detto
che generi per forza un errore, ma il valore che conterr
la variabile sar imprevedibile, a meno che ovviamente
non ne assegnate uno voi. Gli errori chiamati in gergo typo
(errori di battitura) sono molto comuni, specialmente negli
statement condizionali dove possono passare inosservati,
perch potrebbero essere sintatticamente corretti.
Ad esempio, controllate sempre di non aver messo
un uguale solo nei vostri if, anche se Python molto bravo
nel rilevare questi problemi. Un altro tipo di problema
che Python gestisce molto bene lindentazione imprecisa.
Lindentazione utilizzata da Python per distinguere le varie

parti delle funzioni e delle condizioni. Python interrompe


lesecuzione se non indentate correttamente, ma molti altri
linguaggi tentano di interpretare la gerarchia del vostro
codice comunque, e a volte una parentesi in un posto
sbagliato tutto ci che serve per ottenere dei risultati
imprevedibili. Comunque, questo pu rendere Python
pi difcile da imparare. Allinizio, se non conoscete come
lavorano i suoi requisiti di indentazione, o che necessita
dei due punti alla ne della dichiarazione di una funzione,
lerrore che vi ritorner avr poco senso per voi. Dovete
inoltre prestare attenzione alle maiuscole e minuscole,
specialmente con le keyword e con i nomi delle vostre
variabili. Quando avete scritto qualcosa, dovete testarlo
non soltanto con i valori per cui lo avete pensato, ma con
qualsiasi valore possa accettare in input. Il vostro codice
potrebbe fallire con eleganza e metodicit, oppure in modo
del tutto casuale. Quando avete qualcosa di pronto per
essere rilasciato, datelo ad altre persone perch lo testino.
Utilizzeranno approcci diversi dal vostro, e saranno felici
di rompere il vostro codice in modi che voi non potete
neanche immaginare. Soltanto allora il vostro codice sar
pronto per il selvaggio mondo di Internet, e indossate
il vostro giubbotto antiproiettile il giorno del rilascio. LXP

Sintassi per i commenti


Differenti linguaggi utilizzano differenti sintassi per i commenti, anche
se sembra che ci siano delle linee comuni su come un commento
dovrebbe essere scritto in ciascun linguaggio. Comunque, esistono
un paio di regole generali. Molti programmi offrono sia i commenti inline,
sia la possibilit di commentare a blocchi, ad esempio. I commenti inline

Bash
BASIC
C
C++

sono solitamente su una singola riga, o dopo una parte di codice sulla stessa
riga, e sono inizializzati utilizzando un paio di caratteri prima del commento.
I commenti a blocchi contengono pezzi di testo (o di codice che non
volete venga interpretato/compilato), e di norma hanno dei caratteri
di inizio e dei caratteri di ne.

# il cancelletto (detto anche hash) utilizzato in molti linguaggi di scripting. Quando # seguito da ! il discorso cambia e diventa
un comando che dice al sistema quale interprete utilizzare, ad esempio #!/usr/bin/bash
REM Per molti di noi, questa la prima sintassi per commenti che abbiamo imparato.
/* Questo tipo di commento in C pu essere utilizzato per un blocco di testo di pi righe */
// questa sintassi pu essere utilizzata per inserire un commento dopo del codice oppure per commentare una singola riga.

HTML

<!-- Anche se non si tratta di un linguaggio di programmazione, lo abbiamo incluso perch probabile che abbiate gi visto questa
sintassi -->

Java

/** Simile al C, perch pu contenere un intero blocco, ma con un * in pi nellapertura */

Perl

= heading Overview oltre al cancelletto, in Perl potete utilizzare anche una cosa chiamata Plain Old Documentation.
Ha un formato specico, ma vi costringe a spiegare il vostro codice in modo pi accurato. =cut

Python

Oltre al cancelletto, gli utenti Python possono commentare un intero blocco di righe racchiudendole tra tre serie di virgolette
in questo modo

LINUX PRO 125

83

Reti neurali

Reti neurali articiali:


teoria e pratica

PRO
dentro il
esempio
Codice d

La rete come approssimatore di funzione

Lautore
Roberto Premoli
Comincia nel 1999
a usare GNU/Linux
e il software Open
Source, con particolare
attenzione
allottimizzazione
di sistemi e ai cluster
di calcolo. Occupa
attualmente la posizione
di IT Senior Specialist
presso una
multinazionale
farmaceutica. Chi volesse
contattarlo pu scrivergli
allindirizzo roberto.
premoli@tiscali.it.

Eccoci arrivati alla terza e ultima puntata


di questa serie di articoli dedicata alla
programmazione delle Reti Neurali Articiali. Nel
precedente articolo abbiamo visto come una RNA possa
dividere degli elementi in base a delle caratteristiche che
li accomunano: terminato laddestramento la rete sar in
grado di esprimere un parere anche su elementi del
gruppo che non hanno concorso alladdestramento della
rete. Ora vediamo il concetto opposto, cio determinare
la caratteristica che unisca in un insieme degli elementi
che apparentemente nulla hanno in comune.
Scegliamo di allenare una rete per approssimare
qualcosa che tutti noi dovremmo ricordare: il Teorema
di Pitagora. La famosa frase Il quadrato costruito
sullipotenusa equivalente alla somma dei quadrati
costruiti sui cateti si esprime matematicamente con

Ringraziamenti
Ringraziamo il Dott.
Crotti Stefano per
la rilettura matematica
del testo.

nel nostro caso,

Per affrontare questo problema, decidiamo di creare


una rete un po pi carrozzata, nello specico una
2-16-16-1 che addestreremo con 81 esempi
(vedi listato su DVD). Approttiamo della situazione
per introdurre qualche trucchetto di programmazione
per accelerare la velocit del programma e un paio di
concetti nuovi inerenti le Reti: nora ci siamo accontentati
di uscite comprese tra -1 e +1, ma questo non deve
essere visto come un vincolo in quanto, con dei semplici
rimaneggiamenti aritmetici, saremo in grado di stirare

Reti pi che regolari


Abbiamo visto reti multistrato semplici, cio
reti in cui ogni neurone riceve input da tutti
quelli dello stato precedente e d la propria
uscita in ingresso a tutti i neuroni dello strato
successivo. Questo tipo di rete regolare
e facilita la programmazione, ma nulla vieta

84

LINUX PRO 125

di sperimentare, creando connessioni


aggiuntive tra strati distanti tra loro (per
esempio, qualche input potrebbe essere
fatto entrare a tutti i neuroni, non solo
in quelli del primo strato): sperimentate
e fateci sapere cosa avete ottenuto!

questi valori no a coprire gli intervalli numerici di nostro


interesse. Infatti nel programma 2-16-16-1 vediamo
la presenza di un moltiplicatore che porta il fondo scala
a 20: questo si rende necessario perch le uscite attese
variano tra 0 e poco meno di 13, mentre la funzione
di uscita copre unicamente lintervallo (-1, +1). Inoltre
abbiamo eliminato lerrore sso, sostituendolo con un
vettore contenente valori di errore personalizzati sulle
uscite. Avrebbe poco senso impostare un errore sso
(per esempio 0,01) su uscite non omogenee, come
1,41 e 12,72: infatti per la rete sarebbe facile
raggiungere lobiettivo su un certo tipo di valori piuttosto
che su altri. Viceversa, impostando un errore percentuale
proporzionale alluscita facilitiamo lallenamento della
rete, garantendo al contempo un errore accettabile pari
all1% delluscita attesa. Per quanto riguarda i trucchetti
di programmazione, abbiamo creato due vettori (passa[]
e tangip[]) che contengono pre-calcolate alcune parti
dellalgoritmo di retro propagazione allo scopo di
eseguire quella parte di elaborazione un numero minimo
di volte. Notate che per tenere contenuto il numero
di linee del listato abbiamo sostituito le istruzioni simili
con dei cicli for: questo un bene per la compattezza
del sorgente ma controproducente per la velocit
del programma, per cui ove possibile si consiglia sempre
di rimpiazzare i cicli for con le relative istruzioni singole.
Raccomandiamo inoltre di compilare il programma
attivando le ottimizzazioni spinte tramite il parametro
-O3 come segue:
gcc rete-2-16-16-1.c -lm -O3; ./a.out
Per presentare i risultati abbiamo dovuto
necessariamente addestrare la rete. Purtroppo i pesi
sono parecchi e per mantenere contenute le dimensioni
del listato abbiamo preferito fornire il programma
in bianco cio senza lelenco dei pesi congurati.
Chi desiderasse ricevere una copia del programma
allenato pu contattare lautore dellarticolo.

Capacit previsionali
Abbiamo pi volte detto che le RNA sono in grado di
fornire risposte accettabili anche oltre linsieme dei valori
che contiene il set di allenamento: il momento di
dimostrare tali affermazioni. Al posto di noiose tabelle
di risultati abbiamo preferito presentare unimmagine
che si analizza molto pi facilmente. La rete stata
allenata con 81 esempi di addestramento le cui
coordinate generiche (a,b) vanno da 1 a 9 compresi.
Terminato lallenamento, abbiamo modicato
il programma per testare lo spazio del problema
con una densit dieci volte maggiore per ogni coordinata
e abbiamo anche provveduto ad allargare lo spazio di
analisi, per vericare il comportamento della rete oltre
i propri conni di allenamento: il graco rappresenta tutti

Reti neurali
i punti da 0,0 a 14,1 a passo 0,1. Allinterno dellideale
perimetro che contorna i punti neri, tutti i punti (bianchi)
soddisfano il vincolo di avere un errore inferiore all1%.
Il verde indica errore tra 1% e 2% il rosso lerrore
tra 2% e 3% e cos via (vedi Fig.1). Siamo un poco
indispettiti da quella macchia di errore in alto a sinistra
e abbiamo zoomato per analizzare meglio la situazione
(Fig.2). Vediamo come essa sia incastrata tra 4 punti
di addestramento ma interessante il fatto che si trovi
molto vicino allorigine: questo indica che tale area
sia delicata e necessitante di un insieme di punti di
addestramento pi tto per garantire il risultato cercato.
Ora che sappiamo dove intervenire, sar sufciente
modicare il set di addestramento includendo anche uno
dei punti allinterno della macchia in modo da addestrare
nuovamente i pesi quel tanto che basta per avere un
successo completo. Per quanticare la precisione della
rete, abbiamo contato i punti: quelli buoni avrebbero
dovuto essere 81*81=6.561 (rappresentati il 100%
dellarea in cui ci aspetterebbe un successo pieno da
parte della rete), ai quali per vanno sottratti i 70 punti
costituenti la macchia. Per cui la Rete, allinterno del
perimetro di allenamento, ha un successo del (6.56170)/6.561=98.9%. Per la rete riesce a dare una buona
risposta anche oltre il perimetro. Abbiamo contato tutti
i punti buoni (bianchi) che assommano a 12.159, cio
un +85% rispetto ai 6.561. Se poi chiudessimo un
occhio e accettassimo per buoni anche i 1.886 punti
verdi, la percentuale di successo diventerebbe
un ottimo +113%. In conclusione ci possiamo dichiarare
soddisfatti dalle prestazioni di questa rete Pitagora
che consideriamo un buon inizio, nonostante lerrore
vicino allorigine. di particolare rilevanza il fatto
che la rete riesca a gestire input diversi ma che generano
risultati identici: intendiamo dire che la rete genera
giustamente risultati simili per le coppie di esempi
come (12 +92) e (92 +12) oppure (32 +62) e (62
+32), ecc. Quindi, oltre alle funzioni di somma, moltiplica
ed estrazione di radice (operazioni implicite nel Teorema
di Pitagora), la Rete ha anche scoperto la propriet
commutativa delle addizioni, indicata genericamente
con a+b = b+a. Tutto questo stato ottenuto
lo ricordiamo con solo 81 esempi: uneffettiva
dimostrazione delle capacit di astrazione,
generalizzazione e preveggenza da parte delle RNA.

Un compito per voi


Ora che padroneggiate ci auguriamo le basi del
mestiere, potreste pensare a piccoli problemi quotidiani
a cui dare una risposta tramite rete neurale. Per esempio,
scrivere una RNA che preveda in tempo necessario
per il tragitto casa-lavoro. I dati di input potrebbero
essere lora di partenza (sotto forma di minuti dalla
mezzanotte, da 1 a 1.440) e la data (sotto forma di
giorno dellanno, da 1 a 365), mentre luscita potrebbe
essere un numero indicante i minuti necessari al viaggio.
Lorario di partenza inuisce su problemi a breve termine
(per esempio, immettersi in tangenziale 10 minuti prima
dellorario di punta pu portare a signicativi guadagni
di tempo) mentre la data inuisce su problemi a base
stagionale (ad esempio, nel periodo invernale da
mettere in conto un rallentamento del usso veicolare
a causa di condizioni climatiche avverse, come pioggia
e neve). Il problema? Avere la pazienza e la metodicit
di raccogliere dati sperimentali per un anno.

E se la rete non si addestra?


Succede pi spesso di quanto si desidererebbe,
purtroppo. Capita che la fase di addestramento duri
per giorni e giorni ma la rete non mostri nessuna voglia
di convergere verso una soluzione accettabile: che fare?
Per nostra esperienza, sappiamo che la fase
di allenamento pu essere altalenante, cio i pesi
ondeggiano qua e l in un modo apparentemente
illogico, ma poi, a un certo punto, la rete comincia a
convergere verso una soluzione accettabile. Il problema
fondamentale che non si pu calcolare analiticamente
quel a un certo punto e nemmeno si pu essere sicuri
che quel a un certo punto esista! Altre volte capita che
lallenamento si blocchi in punti assolutamente lontani

1 Il graco che
rappresenta il nostro
problema

Per solutori pi che abili


Sappiamo che il percettrone 3D genera un piano che separa
linearmente uno spazio tridimensionale: quindi un volume
pu essere racchiuso tramite lintersezione di quattro piani
(immaginate una piramide a base triangolare). Abbiamo poi visto
che con abbastanza strati e/o nodi possibile racchiudere
qualunque area o volume. Domanda: quale potrebbe essere
la RNA che separa linearmente i punti azzurri dai punti verdi
una croce a tre braccia nella gura A? E per farla ancora
pi difcile, quella un ottaedro di Figura B? Forza con
la tastiera, aspettiamo le vostre risposte!

LINUX PRO 125

85

Reti neurali
Ottimizzare una rete gi addestrata
Avete una rete addestrata, cio i pesi rientrano
negli intervalli accettabili: tutto bene quindi?
Si, ma forse si pu fare meglio! Se la vostra
rete grossa e/o deve generare miliardi
di risposte al giorno, anche un piccolo
miglioramento velocistico si fa sentire alla ne
della giornata e peser meno sulla bolletta
energetica. I miglioramenti prestazionali sono
dati da minori elaborazioni numeriche: provate
a eliminare qua e l qualche peso o neurone

dalla vostra rete e vericate se genera ancora


risposte accettabili. Continuate a togliere
potenza nch sar possibile, riaddestrando
mano a mano la rete se fosse necessario:
considerate che meno togliete e pi
velocemente la rete sar riaddestrata,
quindi il consiglio di togliere un peso
alla volta. Alla ne dellottimizzazione,
la percentuale di miglioramento ottenuta
potrebbe piacevolmente stupirvi!

Niente virtuosismi in fase di scrittura del software:


non pensate immediatamente a ununica matrice
N-dimensionale di pesi, a eleganti routine che
si auto-richiamano e altri sosmi. Anche se scrivete
un codice brutto e lento, lunica cosa importante che
funzioni e sia privo di errori concettuali o di digitazione.
Il tempo per le riniture estetiche e le ottimizzazioni
prestazionali verr in un secondo momento.

dai valori a noi necessari: vediamo quali possono essere


le motivazioni e le relative soluzioni di questo
comportamento. Qua e l in questa serie di articoli
abbiamo dato qualche suggerimento, ora ne
aggiungeremo altri, schematizzandoli per punti.

Disegnate su carta la vostra rete: vedere i neuroni


(nodi) e i pesi (li) che li connettono aiuta a pensare
con pi facilit alla versione informatica che dovrete
realizzare. Disegnate anche, se possibile, un diagramma
del set di allenamento, perch vedere le corrispondenze
input-output di addestramento vi aiuter a pensare
alla rete che sar chiamata a generarle. Con il tempo
e lesperienza, vi verr naturale capire pi o meno
la rete necessaria dopo aver dato una occhiata
allo spazio del problema.

Abbiamo detto che la Rete pu compensare


i propri errori, ma ovviamente sempre meglio
che il software non ne abbia! Frequentemente accade
che dopo il copia e incolla di un pezzo di programma
ci si dimentichi di aggiornare lindice di un vettore
o che non si cambi il nome di una variabile: il risultato
una rete che faticher ad allenarsi o non si allener
affatto. Il consiglio principe sempre lo stesso:
controllate sempre il vostro sorgente una volta
in pi di quello che pensiate sia il numero massimo
di controlli da fare! A volte bene far passare
un giorno prima di rileggere il sorgente, cos la mente
sar riposata e ci si accorger di errori che il giorno
prima sarebbero stati invisibili.

Impostate lerrore al massimo tollerabile.


Se accettabile un errore di 0,01, inutile forzare
lerrore a 0,001 solo per uno szio personale: modiche
di questo tipo possono comportare un allungamento
pi che proporzionale dei tempi di addestramento
e una precisione 10 volte superiore potrebbe richiedere
un tempo di calcolo mille o centomila volte superiore.

Adottate la PPP, Politica dei Piccoli Passi: dovete


raggiungere un errore massimo di 0,1? Molto bene,
cominciate a impostare lerrore a 0,8 e vedete se la rete
ce la fa a soddisfare tale vincolo. Poi aggiornate i pesi
e scegliete un vincolo pi restrittivo, per esempio 0,6
e cos via no a raggiungere lobiettivo iniziale. Lo stesso
ragionamento vale per
linsieme di allenamento:
in altre parole, se la rete
non riesce ad addestrarsi
con un set di training
da 20 elementi, abbassate
tale numero a 10. Poi, man
mano che la rete genera
pesi accettabili, aggiungete
elementi no a raggiungere
il numero di 20.

2 Uno zoom sullerrore che ci ha indispettito

86

LINUX PRO 125

Se il problema che state


analizzando lo consente,
contemplate la possibilit di
usare errori in percentuale
rispetto alluscita attesa.
Impostare un errore
massimo uguale a 0,05
comune per tutte le uscite
pu essere eccessivamente
restrittivo e impedire
alla rete di concludere
lallenamento. Se avete
con valori molto variabili
(per esempio [100; 10000;
3]) lerrore 0,05 potrebbe
essere facilmente
raggiungibile per le prime
due uscite, ma difcile
o impossibile per lultima.

Reti neurali
Potreste optare dunque per un errore del 5% e quindi
creare un vettore di errori impostato a [5; 500; 0,15] da
associare al vettore delle uscite attese in fase di controllo.

Attenti a mu. Attenti a mu. Attenti a mu. Non lo


si dir mai abbastanza: attenti a mu! Come gi detto,
mu responsabile della velocit di allenamento: tale
parametro critico. Se troppo grande, far rimbalzare
i pesi esternamente allintervallo accettabile, per cui la rete
continuer a fare avanti e indietro senza mai fermarsi:
come se una pallina avesse troppa energia e continuasse a
girare sulla parete interna di una buca senza per rallentare
per poter fermasi sul fondo. Se il valore piccolo, la rete
sar lenta nellallenamento, a volte di una lentezza tale da
dimostrarsi inaccettabile. Inne, se mu sar troppo piccolo,
i pesi non ce la faranno a sorpassare gli ostacoli: sempre con
lesempio della pallina, come se essa fosse caduta in una
piccola buca senza avere abbastanza energia per saltare fuori.

La rete addestrata, tranne che per un solo, ultimo,


maledetto esempio, fatto meglio noto come
il problema del picco. In altre parole, tutti i valori rispettano
il massimo errore consentito, con leccezione del maledetto
che sta o troppo alto o troppo basso. Intendiamoci, luscita
si sta effettivamente avvicinando al valore richiesto,
ma lo fa con una lentezza esasperante. Come fare?
La prima cosa salvare i pesi generati no a quel momento
e reinserirli nel sorgente quali nuovi pesi di partenza (avete
fatto in modo che il programma li salvi periodicamente da
qualche parte o che almeno li stampi a video? No? Molto
male!). Ammesso che abbiate aggiornato il programma
con i nuovi pesi, si pu procedere in due modi:
1 provare a incrementare mu sperando che velocizzi
la convergenza dellultimo valore;
2 vericare quali sono i pesi che generano il valore fuori
scala e tentare di modicarli manualmente per farlo
rientrare nellintervallo accettabile.

Avete rispettato tutti i punti precedenti, ma proprio


non c niente da fare? Pu semplicemente signicare
che la rete non quella giusta, che essa inadatta
a risolvere il problema. La soluzione potrebbe essere
quella di potenziarla, aggiungendo neuroni agli strati
esistenti o aggiungendo un ulteriore strato.
Purtroppo non ancora stato trovato un metodo rigoroso,
qualora esista, per determinare la rete adatta alla
risoluzione di un determinato problema. Abbiamo visto che

Basta uno strato solo


matematicamente dimostrato (Hornik,
Stinchcombe, White - 1989) che non serve
avere una rete con N strati nascosti, ne basta
uno solo: inoltre tale rete pu parimenti alle
reti multi strato approssimare qualunque
risultato con qualunque livello di precisione.
Purtroppo ci che dimostrato
matematicamente vero non detto che
sia facilmente implementabile: in questo
caso il problema sta nellelevato numero
di percettroni che devono comporre lo strato
nascosto. Questo si rivela essere un vantaggio

nel caso di hardware massicciamente parallelo


che pu calcolare tutti i neuroni dello strato
in un colpo solo, ma questo tipo di soluzione
pu essere controproducente se la rete
implementata in software su una classica
CPU che, come noto, processa i calcoli
serialmente un neurone alla volta.
Per dimostrare questo teorema, abbiamo
ridisegnato la rete 2-4-4-1 sotto forma
di 2-16-1: avevamo provato con una rete
2-8-1 ma non riusciva a raggiungere
il livello di precisione richiesto.

errore e mu sono parametri sensibili (mu addirittura


critico) che, se non ben impostati, possono essere causa
di un addestramento lento o addirittura di un mancato
addestramento. Le diverse equazioni di trasferimento
richiedono pi o meno lavoro da parte della CPU per
essere elaborate e questo inuisce sul tempo necessario
per laddestramento, che pu essere molto lungo.
La soluzione? Manco a dirlo, la soluzione neurale, ma
neurale naturale! Intendiamo dire che solo lesperienza del
programmatore, solo il uto sviluppato in anni di lavoro
possono permettergli di creare, se non la miglior rete,
quanto meno una rete accettabile per un problema dato.

Tirando le somme
Abbiamo visto come, mutuando i meccanismi elaborativi
del cervello umano, le Reti Neurali Articiali siano in grado
di processare input e dare risultati attendibili l dove un
algoritmo classico pu fornire solo risultati deludenti
o peggio ancora non in grado di affrontare il problema.
Abbiamo fatto una carrellata dagli esordi allo stato attuale,
risparmiando al lettore tutta la parte matematica
indigesta e limitandoci alla pratica, partendo dalle basi
e aumentando la difcolt con il procedere della serie.
Non abbiamo approfondito alcune tematiche
specialistiche per non mettere troppa carne la fuoco, ma
la speranza di chi scrive comunque quella di aver acceso
nel lettore la curiosit per un argomento di nicchia ma
interessante dal punto di vista concettuale e potente nelle
prestazioni. Imparare una cosa in pi e usarla al meglio
delle proprie capacit dovrebbe essere lobbiettivo di tutti
noi, e ci piace pensare di aver dato un suggerimento
che speriamo sar seguito da molti... si, anche da te! LXP

Reti neurali e immortalit


Per quanto sia una pallida ombra del cervello, una rete neurale
articiale nel emula i meccanismi, per cui si pu dire che la qualit
(dei ragionamenti) si basa sulla quantit (dei neuroni in gioco).
Diecimila neuroni sono poca cosa, ma tali reti gi pilotano creature
articiali che vivono nella realt virtuale, dove eseguono azioni
semplici ma sempre pi complesse man mano che evolvono.
Cosa succeder quando si avranno reti da un miliardo di neuroni?
E da dieci miliardi? E da cento miliardi? Nei laboratori di tutto
il mondo si studiano queste tematiche e gi si prevede
che i supercomputer di prossima generazione saranno in grado
di far girare reti neurali con la potenza cerebrale di un gatto.
Considerando che le prestazioni raddoppiano ogni 18-24 mesi,
si pu estrapolare che tra una 15-20 di anni disporremo

della potenza bruta per emulare in toto un cervello umano.


Si aprirebbero allora scenari inattesi e un po inquietanti: sarebbe
moralmente accettabile spegnere il sistema che fa girare
unintelligenza articiale di livello umano o sarebbe come
commettere un omicidio? Dopotutto se guadiamo allazione svolta,
oggi uccelli e aerei volano, gambe e ruote corrono: forse domani
cervelli e computer penseranno. Cambier il mezzo, ma il ne rester
lo stesso. Ancora pi avvincente sar la possibilit di creare copie
di cervelli esistenti, avendo cos una specie di immortalit cibernetica
quando la versione biologica dellindividuo backuppato cesser di
funzionare: non sappiamo cosa intendiate fare voi, ma noi pensiamo
di prenotarci un posto. Chi volesse leggere di pi vada a questo link:
http://it.wikipedia.org/wiki/Trasferimento_della_mente.

LINUX PRO 125

87

Python

Elaborazione multiprocesso
Linux Pro vi mostra perch due processori (o pi) sono meglio di uno ed esamina alcuni
modi per liberare la potenza delle CPU multicore

PRO
dentro il
mpio

File dese

I computer sono grandiosi. Sono veloci e fanno


le somme, e possono elaborare unenormit di dati
in breve tempo. Comunque, possono fare solo
ci per cui sono programmati e i programmatori tendono
a pensare in modo lineare: A D B D C e magari anche D D
se serve. Di solito, i task hanno una natura lineare ad
esempio per trovare la posizione della Stazione Spaziale
Internazionale bisogna capire in che punto si trova della sua
orbita. Poi potete calcolare le sue coordinate geocentriche
e da queste (e dalla posizione dellosservatore) potete
calcolare dove si trova. Come molti problemi, lineare
e non potete calcolare in anticipo il passo successivo perch
dipende dai risultati del passo precedente. Daltra parte
ci sono molti compiti che possono essere svolti in parallelo
quando si parla di software desktop di solito nulla
che abbia a che fare con input e output da dispositivi di
storage o locazioni di rete. Ad esempio, quando il voglio foglio
di calcolo salva in modo automatico ogni cinque minuti, lo fa
come compito in parallelo e in background, quindi voi potete
continuare a inserire i vostri dati della banca, o qualunque
altra cosa. Nessuno, nellepoca moderna, vuole fermare
ci che sta facendo per portare avanti lavori noiosi.
La risposta per fare due cose alla volta sono i thread.

Prima serata

Non dovete generare


questi graci, ci pensa
il monitor di sistema
a dirvi cosa stanno
facendo i vostri
processi

88

LINUX PRO 125

Per la verit non sempre cos. Dipende da cosa volete fare


e dallhardware che state usando. Prima di diventare matti
cercando di capire cosa intendiamo, provate un semplice
test. Vi mostreremo un piccolo brano di codice che
fa qualcosa di utile, come determinare se un certo numero
primo o no. Questo si pu fare con una semplice funzione
che ideale per il nostro test.
def isprime(n):
n*=1.0
if n%2==0 and n!=2 or n%3==0 and n!=3:
return False
for test in range(1,int((n**0.5+1)/6.0+1)):

if n%(6*test-1)==0:
return False
if n %(6*test+1)==0:
return False
return True
Ora, prima di iniziare a scriverci (possiamo sentire alcune
centinaia di nuovi account Gmail aprirsi mentre stiamo
digitando), s, siamo sicuri che ci sono modi molto pi efcienti,
o codici dallaspetto migliore, per vericare se un numero
primo o meno. Non vogliamo perdere troppo tempo
allontanandoci dallo scopo di questo articolo. Comunque
spiegheremo alcuni elementi di questo codice. Moltiplicando
linput per 1.0 (un oat) trasforma linput in un numero
a virgola mobile, che necessario dividendo un intero per
un intero si ha sempre un risultato intero senza il resto (non ci
credete? Provate questo dalla Bash: python -c print 3/2),
ma il resto proprio quello che ci serve per vericare i numeri
primi. Per velocizzare la ricerca, eliminiamo subito i numeri
che sono multipli di 2 o 3 (ma non il 2 e il 3 stessi), visto
che in questo modo riduciamo notevolmente la prospettiva.
Poi creiamo un ciclo di potenziali divisori. Anche qui ci sono
alcuni trucchi. Per esempio, non c motivo di vericare
il numero 13 per vedere se divisibile per 11. Ovviamente
non lo . Ma dove si pu tirare questa linea ovvia?
Se un numero ha dei fattori primi, almeno uno di essi sar
pi piccolo della radice quadrata del numero stesso, quindi
questo pu accorciare notevolmente la ricerca (oh, per
dovete aggiungere 1 perch il range della funzione parte
da 0). Un altro trucco che tutti i numeri primi sopra il 3 sono
nella forma 6n+1 o 6n -1 dove n un intero per esempio
se n 1, allora questo trucco ci dice che 5 e 7 potrebbero
essere primi. Anche se tutti i numeri primi appartengono
a questo insieme, non tutti i numeri di questo insieme sono
primi. In tutti i casi, basta far girare le rotelline del cervello,
questa funzione va bene! Avendo realizzato una buona
funzione, procederemo facendo una cosa stupida: creeremo
un enorme ciclo e ripeteremo la funzione per vericare
tutti i numeri allinterno di un vasto range (dovremmo
vericare solo i numeri 6n+1 e 6n-1, ma vogliamo arrivare a
un calcolo molto lungo per arrivare al punto). Aggiungeremo
un po di codice extra, unaltra funzione per vericare tutti
i numeri di un certo range, e un blocco principale:
def primes_in_range(x, y):
global l
l=[]
for i in range(x, y):
if(isprime(i)):
l.append(i)
if __name__ == __main__:
primes_in_range(1,1000000)
print l
Come potete vedere, molto semplice. Il codice main
richiama la funzione primes_in_range che, a sua volta,
scorre ogni numero e controlla se primo. I numeri primi
validi vengono aggiunti a una lista, che viene stampata
a schermo quando il programma termina. Nessun trucco

Python
in questo caso. A questo punto le cose possono variare. Nel
nostro esempio (prime_normal_1.py) abbiamo codicato
la ricerca su 1.000.000 di numeri, che nel nostro computer
impiega circa 8 secondi per essere eseguita, voi potreste
voler iniziare con un numero pi piccolo o pi grande. Lidea
quella di avere un tempo di ricerca sufcientemente lungo
da notare la differenza di velocit dopo aver applicato qualche
altro trucco. Come misurare questa velocit? Potete usare
il comando time della Bash per avviare lo script:
time python prime_normal_1.py
78499
real
0m8.019s
user
0m6.772s
sys
0m0.032s
I numeri restituiti indicano il tempo reale impiegato per il
calcolo, il tempo di userspace occupato e poi il kernel time
dello stesso processo. Il carico del processore si pu calcolare
facendo user+sys/real. Questa una misura accurata delle
prestazioni dello script senza ricorrere ad altri tool.

La verit dei thread


Bene, come si pu trasformare il nostro piccolo programma
lineare in una applicazione threaded? Il modulo Python
threading offre un modo pratico e veloce per creare thread.
I thread sono basati su una funzione target, quindi dovete
avere qualcosa a cui farli puntare. Fortunatamente avete
la funzione primes_in_range dovete solo fornirgli
gli argomenti. Potete semplicemente dividere il range
di numeri in tre gruppi ed eseguire un thread per ogni
gruppo. Quindi ora dovete adattare il codice precedente
in modo che sfrutti i thread, dovrebbe apparire
pi o meno come il codice seguente.
import threading
l=[]
def isprime(n):
n*=1.0
...
def primes_in_range(x, y):
global l
for i in range(x, y):
if(isprime(i)):
l.append(i)
if __name__ == __main__:
p = threading.Thread(target=primes_in_range,
args=(1,333000))
p.start()
q = threading.Thread(target=primes_in_range,
args=(333001, 666000))
q.start()
r = threading.Thread(target=primes_in_range,
args=(666001, 1000000))
r.start()
p.join()
q.join()
r.join()
print l
Nella funzione main del programma vengono creati tre
thread. La creazione di ogni thread richiede una funzione
a cui puntare e accetta un set di argomenti. La classe thread
crea un oggetto con diversi metodi, i pi importanti sono
start() e join(). Il primo fa partire il thread. costruito
per chiamare semplicemente la funzione fornita con i relativi
argomenti, comunque se volete creare una vostra classe
potete fare un override su questo metodo per fare qualcosa

daltro. Per i nostri scopi ci va bene cos com. Il metodo join()


blocca lesecuzione no a quando il thread ha completato
i suoi task, e viene usato per riunire i thread separati nella
sequenza desecuzione principale. Quindi i join bloccano
lesecuzione del main no a quando i thread non niscono.
Provate il nuovo codice (prime_threaded_1.py) sempre
con time per vedere quanto tempo impiega a trovare
i numeri primi. Noi abbiamo ottenuto un tempo desecuzione
di circa 11 secondi. vero, in questa particolare occasione
laver introdotto i thread nel programma ci costato
circa il 30% in pi del tempo. Ah, per la cronaca, stiamo
usando un processore quad core a 3 GHz. Difatti la velocit
del processore e il numero di core, fa solo peggiorare
le cose! Ma cosa sta succedendo? Quello che abbiamo
vissuto la cosa pi esasperante del linguaggio Python:
i thread possono funzionare solo uno alla volta. Se usate
dei moduli per fare delle cose con Internet, i dispositivi
hardware, lI/O su le o altre cose non puramente Python,
o non puramente di calcolo, i thread vengono eseguiti
in simultanea; questo capita perch quando non
in esecuzione il bytecode di Python il processore
pu operare in modo indipendente dal Global Interpreter
Lock. Quindi, in realt, i thread vanno in competizione
tra loro per laccesso allinterprete e loverhead di tutta
la segnalazione si va ad aggiungere al tempo necessario
allesecuzione del task. Spesso questa differenza si nota
di pi con i processori pi veloci perch c una nestra
pi stretta tra il rilascio del lock da parte di un thread
e il tentativo di riprenderlo da parte dello stesso thread.
Un altro punto su cui potreste farvi delle domane nel nostro
codice desempio lultimo thread ha pi lavoro da fare
che valutare se sono primi i numeri pi grandi
pi oneroso. Trovare un modo per equilibrare il lavoro
per i thread potrebbe far pensare che tutti i thread
potrebbero nire in contemporanea, ma questo avrebbe
un effetto negativo sulle prestazioni perch, poich
i thread competono uno con laltro, lultimo dovrebbe
avere maggior possibilit di esecuzione: quando tutti
gli altri hanno nito il thread con unelaborazione
pi lunga si ritrova la CPU tutta per s. Quindi i thread
sono un male? Non sempre. I thread vanno bene quando
la vostra applicazione deve fare due cose alla volta
come nellesempio del foglio di calcolo nel quale
si salva il documento mentre lutente continua a scrivere.
Attendere linput dellutente lascia allapplicazione molto
tempo libero per continuare a fare altre cose in background.
Sono solo i compiti che richiedono molti calcoli a soffrire
in questa situazione. Eppure c un altro modo per sfruttare
il vostro processore multicore.

Tip
I thread si aspettano
sempre una sequenza
di argomenti
se ne avete uno,
rappresentatelo
come una tupla
con un valore nullo,
ad esempio
t1=threading
Thread(target=
f,args=(12,))

Array e value
Ci sono modi pi efcienti per condividere
semplici oggetti dati array e value. Questi
sono a loro volta molto restrittivi, per,
e non si comportano come normali oggetti
Python. Questo semplice codice tratto
dalla documentazione vi spiega tutto quello
che dovete sapere.
from multiprocessing import Process,
Value, Array
def f(n, a):
n.value = 3.1415927
for i in range(len(a)):
a[i] = -a[i]

if __name__ == __main__:
num = Value(d, 0.0)
arr = Array(i, range(10))
p = Process(target=f, args=(num, arr))
p.start()
p.join()
print num.value
print arr[:]
Entrambi i tipi vengono dichiarati come tuple,
il cui primo elemento un tipo di dato
(i un intero, d un double). Per semplici
processi che devono guardare un singolo
valore, quindi, sono lideale.

LINUX PRO 125

89

Python
Occhio al core
Assieme al modulo threading, Python ha anche il modulo
multiprocessing. Questo modulo stato scritto per essere
il pi simile possibile, per quel che riguarda le API, ai thread,
cos da rendere pi semplice ai programmatori la sua
implementazione nel codice. Lo scopo del modulo
multiprocessing di eseguire, ovviamente, processi multipli,
invece di thread multipli. Qual la differenza? Un thread
viene eseguito dallo stesso processo e ha accesso agli stessi
dati del suo processo padre. Eseguire un processo differente
come avere unaltra istanza completamente separata
del software. Questi processi probabilmente verranno
spalmati su core differenti, se disponibili, quindi potete
essere sicuri del fatto che si faccia un uso corretto della
potenza di calcolo della CPU. Se provate a riscrivere il codice
di prima, mettendo il supporto multiprocessore al posto
dei thread, dovreste ottenere qualcosa di simile a questo:
from multiprocessing import Process

Con un singolo
processo che fa tutto
il lavoro, ci sono tre
core che se ne stanno
li a non fare nulla

90

LINUX PRO 125

l=[]
def isprime(n):
n*=1.0
if n%2==0 and n!=2 or n%3==0 and n!=3:
return False
for b in range(1,int((n**0.5+1)/6.0+1)):
if n%(6*b-1)==0:
return False
if n %(6*b+1)==0:
return False
return True
def primes_in_range(x, y):
global l
for i in range(x, y):
if(isprime(i)):
l.append(i)
if __name__ == __main__:
p = Process(target=primes_in_range, args=(1, 333000))
p.start()
q = Process(target=primes_in_range,
args=(333001,666000))
q.start()
r = Process(target=primes_in_range,
args=(666001,1000000))
r.start()
p.join()
q.join()
r.join()
print l
Come potete vedere, la struttura del codice identica: lunica
differenza che abbiamo importato il modulo multiprocessing
e creato oggetti Process al posto dei thread. Se provate
a eseguire questo codice, dovreste notare un visibile

Global Interpreter Lock


Il Global Interpreter Lock necessario afnch Python possa
implementare i thread. Linterprete interpreta (scusate
il gioco di parole) il codice Python e il GIL un meccanismo
di sicurezza per i thread: un thread deve acquisire il GIL prima
di essere eseguito. Questo un po un collo di bottiglia,
ma Python non cerca di gestire i thread esso stesso. A parte
tutto il resto, gran parte del codice C sottostante non ha tutte
le sicurezze per i thread, per cui se non ci fosse GIL molte
cose potrebbero andare storte. Greg Stein, un leggendario
programmatore di Google, ha provato a creare un Python privo
di GIL, ma il risultato ha dimostrato prestazioni inaccettabili
con il software che non usa i thread. Guido Van Rossum
ha suggerito che sarebbe contento di rimuovere il GIL
se qualcuno riuscisse a programmarne un sostituto,
ma per ora nessuna proposta ha visto la luce e GIL fa ancora
parte delle speciche di Python 3.x. Potete eseguire codice
Python con dei thread pi normali su altre implementazioni
del linguaggio, come Jython la versione che viene eseguita
in una macchina virtuale Java. Questa soluzione implementa
in maniera corretta i thread, ma il prezzo da pagare
di non avere accesso a molti di quei moduli in C che sono
cos utili. Potete trovare un interessante presentazione
su GIL allURL www.dabeaz.com/python/GIL.pdf.

Per avere altre informazioni su GIL, leggete


http://bit.ly/SXgmVS

incremento di velocit (c un overhead per lavvio dei


processi, ma comunque il nuovo programma dovrebbe
essere circa tre volte pi veloce delloriginale). Qui si sono
usati tre processi. Il numero ottimale di processi dipende dal
vostro processore e da cosaltro esso deve fare. Ovviamente
se avete una CPU con quattro core, quattro processi sarebbe
lottimo, ma se avete altri task importanti da portare avanti
questi processi dovranno condividere le risorse della CPU.
Per il nostro esperimento noi ci siamo bloccati a tre. Notate
che, anche se c un piccolo overhead a causa dei processi
multipli, lo stesso codice funzioner anche su un processore
con un singolo core allo stesso modo, e non pi lentamente.
In tutti i casi meglio determinare a runtime quanti core
si hanno a disposizione e operare di conseguenza. Come
fate a determinare ci? C unutile funzione che restituisce
il numero di core disponibili nellhardware in uso:
multiprocessing.cpu_count()
C qualcosa di errato nella nostra implementazione, per:
lo script non restituisce alcun valore. Questo un grosso
problema: molto veloce, ma non funziona In realt
funziona bene. Quello che succede che i risultati vengono
inseriti nelle liste proprio come ci si attende. Ma queste liste
fanno parte della memoria di processi differenti e quando essi
terminano, la sua memoria viene reindirizzata ad altri scopi.
Non ottenete un messaggio derrore perch ogni processo
pu vedere la variabile l e aggiungervi valori. solo che

Python
si tratta di una variabile diversa in ogni processo e quando
il processo termina, essa viene dereferenziata e ripulita.

Code
Esistono diverse strutture per aiutarvi a ottenere il massimo
da multiprocessing: pool, queue, manager, array e value.
I manager sono piuttosto semplici: sono un costrutto
che consente la condivisione di tipi di dati semplici
tra i processi. Essi gestiscono i lock e le routine per assicurarsi
che gli oggetti non vengano corrotti a causa di una lettura
o di una scrittura contemporanea da processi diversi.
Il manager un meccanismo basato su server, il che vuol
dire che potete usarlo anche per task di rete. Per creare
un oggetto manager, vi basta inizializzare un manager
e poi creare un oggetto con esso:
m = multiprocessing.Manager
mylist = m.list()
myqueue = m.Queue()
Con poche eccezioni, essi si comportano esattamente come
farebbe loggetto originale e anche se la lista di tipi generici
non esattamente vasta, potete estenderla dilettandovi
con la libreria ctypes. Il costo da pagare per luso dei manager
ricade sulle prestazioni: il vostro codice multiprocessore verr
eseguito al doppio della velocit, ma non al triplo a causa
delloverhead di tutte le chiamate di sistema alloggetto server.
Un altro importante oggetto il pool una collezione di
processi disponibili per fare il lavoro. Lidea che non interessi
quale processo esegua un particolare task, quindi invece di
assegnare un lavoro a uno specico processo, lo si assegna
a un pool. Se uno dei processi del pool occupato, il job viene
gestito da un altro. Non dovete controllare quanti core sono
disponibili nel vostro sistema, visto che ci pensa il pool
a scoprirlo per poi creare un equivalente numero di processi.
p=multiprocessing.Pool()
result1= p.apply_async(work, (arg1,arg2,arg3))
result2 = p.map_async(otherwork, range(1,1000))
p.close()
p.join()
I job possono essere distribuiti usando i metodi apply()
o map(), che si comportano pi o meno come gli equivalenti
built-in. Il metodo apply_async() una versione asincrona
di apply(), ed il metodo che vi serve poich il normale
apply() bloccante nch non nisce. Il metodo
map_async(), se non avete familiarit con map(), prende una
funzione e una sequenza e applica la funzione a ogni membro
della sequenza. Nei termini del pool, questo equivalente
a eseguire un processo per ognuno dei valori forniti
in pratica il pool itera tra i valori man mano che un processo
nisce il suo lavoro e diventa disponibile per fare altro. I metodi
close() e join() bloccano lesecuzione no a quando
tutti i processi sono inattivi e vengono eliminati. Il processo
asincrono pu restituire un oggetto come risultato.
Chiamando il metodo get() vengono rivelati i risultati ritornati
da tutti i processi, quindi per semplici task potete usare questo
metodo per comunicare con il processo host. La gestione
dei job passati a un pool in genere viene fatta da un oggetto
queue(). Lo caricate con gli argomenti, usando un metodo
put(), e li estraete usando get(). La queue (coda) usa tecniche
bloccanti e non bloccanti per assicurarvi di poter gestire
i job con un gruppo di processi concorrenti. Il metodo get()
pu essere bloccante, quindi un processo attender
no a quando la queue diverr disponibile. Riscrivete il codice
multiprocessore per trarre vantaggio dagli oggetti manage:
import multiprocessing
def isprime(n):

# same as before
def work(qq,l):
while qq.qsize()>0:
try:
x = qq.get()
except multiprocessing.Queue.Empty:
break
else:
for i in range(x, x+10000):
if(isprime(i)):
l.append(i)
return
if __name__ == __main__:
m=multiprocessing.Manager()
q = m.Queue()
l= m.list()
for value in range(1, 1000000, 10000):
q.put(value)
p=multiprocessing.Pool()
for i in range(p._processes):
p.apply_async(work, (q,l))
p.close()
p.join()
print done
print len(l)
Nella sezione principale del codice abbiamo creato un oggetto
manager e poi abbiamo generato una queue per tenere
il nostro lavoro e una lista per contenere i risultati. La queue
viene riempita con numeri no a un milione con step
di 10.000. Questo viene fatto per rendere pi efciente
i processi essi lavoreranno su blocchi di numeri piuttosto
che essere richiamati un milione di volte. Creiamo un pool
e poi cicliamo attraverso il numero di processi che esso
possiede per far partire i lavori asincroni, passando loro
la queue e la lista come argomenti. Poi tutto quello che
ci rimane da fare sederci e attendere la ne del lavoro.
Il processo al lavoro cerca di ottenere un numero dalla queue.
Se la coda vuota (anche se il codice controlla ci allinizio
con il metodo q.size() ci pu essere qualche altro job che
intervenuto nel frattempo) il processo termina; altrimenti
elabora il lavoro e aggiunge il risultato alla ne della lista
condivisa. Nel DVD trovate un altro script, prime_
multiprocessor_3.py, che usa le callback per eliminare
la necessit di usare una lista condivisa, anche se questo
comporta una leggera differenza in termini di velocit. Fare
il debug di applicazioni multi processo pu essere complesso.
Dovete pensare in modo diverso dal solito e capire che
lo stesso codice viene eseguito diverse volte e ci si pu trovare
in diversi punti di esecuzione nei vari processi. LXP

Il threading anche
peggio! I core
passano il tempo
litigando
o aspettando
che capiti qualcosa

LINUX PRO 125

91

Leco dei LUG

Leco dei LUG


I Lug
I LUG
rappresentano
da sempre il punto
di riferimento per
chiunque voglia
conoscere GNU/
Linux. Ogni mese
dedicheremo loro
questo spazio per
la comunicazione
di nuovi progetti
e appuntamenti

ABRUZZO
AnxaLUG - Lanciano
www.anxalug.org
Il Pinguino - Teramo
Non disponibile
MarsicaLUG - Marsica
www.marsicalug.it
OpenLUG - LAquila
Non disponibile
Pescara LUG
www.pescaralug.org
Pineto LUG
www.pinetolug.org
Pollinux LUG - Pollutri
Non disponibile
SSVLUG - San Salvo, Vasto, Termoli
www.ssvlug.org
SulmonaLUG
http://sulmonalug.it
TeateLUG - Chieti
Non disponibile
TeLUG - Teramo
www.telug.it
User Group Valle Roveto
http://linuxvalley-os4.blogspot.com/
BASILICATA
Basilicata LUG - Potenza e Matera
www.baslug.org
CALABRIA
3BYLug - Trebisacce
www.3bylug.tk
Bogomips - Bisignano
www.blug.it
CastroLUG
http://castrolug.altervista.org
Cosenza Hack Laboratory
http://hacklab.cosenzainrete.it/
CSLUG - Cosenza
http://cslug.linux.it
CzLug
Non disponibile
HackLab Catanzaro
http://hacklab.cz
Piana LUG - Piana di Gioia Tauro
Non disponibile
Reggio Calabria LUG
http://rclug.linux.it
Revolutionary Mind
www.revolutionarymind.org
SpixLug - Spezzano Albanese
Non disponibile
CAMPANIA
AFR@Linux LUG
www.afralinux.netsons.org
Afralug - Afragola
www.afralug.com
CasertaLUG
www.casertaglug.org
Hackaserta 81100
www.81100.eu.org
HackMeetNaples Napoli HackLab
www1.autistici.org/hmn
IGLUG - Napoli e provincia

92 LINUX PRO 125

www.iglug.org
IRLUG - Irpinia
www.irlug.it
LUG-Ischia
www.lug-ischia.org
NALUG - Napoli
www.nalug.net
Neapolis Hacklab
www.officina99.org/hacklab.html
Padulug - Paduli (BN)
http://linux.paduli.com
SCALUG - Scafati (SA)
http://xoomer.alice.it/scalug/
Tuxway.org - Provincia di Napoli
www.tuxway.org
VaLug - Vallo Linux User Group
www.valug.it
XALUG - Salerno
http://xalug.tuxlab.org
EMILIA ROMAGNA
ALFLUG - Alfonsine
www.alflug.it
Borgotaro LUG - Val Taro
http://btlug.it/
ConoscereLinux - Modena
www.conoscerelinux.it
ERLUG
http://erlug.linux.it
Ferrara LUG
www.ferrara.linux.it
FoLUG - Forl
http://folug.linux.it
ImoLUG - Imola
www.imolug.org
LUGPiacenza
www.lugpiacenza.org
PANLUG - Vignola
Non disponibile
PLUG - Parma
http://parma.linux.it
RavennaLUG
www.ravennalug.org
RELug - Reggio Emilia e provincia
http://relug.linux.it
RiminiLug
www.riminilug.it
S.P.R.I.Te
http://sprite.csr.unibo.it
UIELinux - Valle del Rubicone
www.uielinux.org
FRIULI VENEZIA GIULIA
GOLUG - Gorizia
www.golug.it
IGLU - Udine
http://iglu.cc.uniud.it
LUG Pordenone
www.pordenone.linux.it
LugTrieste
http://trieste.linux.it
LUG [A] [L] [P] - Aquileia
www.alproject.org
LAZIO
CiLUG - Frosinone
www.cilug.org

CLUG - Cassino
http://cassino.linux.it/
GioveLUG - Terracina
www.giovelug.org
La Sapienza LUG
www.lslug.org
Latina LUG
www.llg.it
LUG Privernum Volsca - Priverno (LT)
www.pvlug.org
LUG Rieti
www.lugrieti.net
LUGRoma
www.lugroma.org
LUGRoma 3
www.lugroma3.org
TorLUG - Universit Tor Vergata - Roma
www.torlug.org
V.I.S.C.O.S.A. - Ciampino
www.viscosa.org
LIGURIA
Genuense Lug - Genova e dintorni
http://genova.linux.it
LugGe - Genova e provincia
www.lugge.net
GinLug - Genova Sampierdarena
www.sennaweb.org
Govonis GNU/LUG - Provincia di Savona
www.govonis.org
SavonaLug - Savona
http://savona.linux.it/
TLug-TSL - Tigullio Ligure
http://tlug.linux.it/
LOMBARDIA
BGLug - Bergamo e provincia
www.bglug.it
BGLug Valle Seriana - Valle Seriana
http://bglugvs.web3king.com/
GL-Como - Como
www.gl-como.it
GLUX - Lecco e provincia
www.lecco.linux.it
GULLP - Gruppo Utenti Linux Lonate Pozzolo
www.gullp.it
IspraLUG - Ispra
http://ispralug.eu/
LIFO - Varese
www.lifolab.org
LIFOS - Cinisello Balsamo
www.lifos.org
Linux Var - Varese
www.linuxvar.it
LoLug - Lodi e provincia
www.lolug.org
Lug Bocconi - Milano
www.lug-bocconi.org
LugBS - Brescia e provincia
http://lugbs.linux.it/
Lug Castegnato - Castegnato
www.kenparker.eu/LugCastegnato
LugCR - Cremona e provincia
www.lugcr.it
Lug Crema - Crema
http://filibusta.crema.unimi.it/

Leco dei LUG


LUGDucale - Vigevano
www.lugducale.it
LugMan - Mantova e provincia
www.lugman.org
LugOB - Cologne e ovest bresciano
www.lugob.org
MoBLUG - Monza e Brianza
www.bubblesfactory.it
OpenLabs - Milano
www.openlabs.it
POuL - Milano
www.poul.org
TiLug - Pavia
http://pavia.linux.it
ViGLug - Vignate
www.viglug.org
MARCHE
Ascolinux LUG/FSUG Ascoli
http://marche.linux.it/ascoli/
CameLUG - Camerino
www.camelug.it
CMlug
www.cmlug.org
Egloo
www.egloo.org
FanoLUG
www.fanolug.org
Fermo LUG
www.linuxfm.org/fermolug/
GLM - Macerata
www.gruppolinuxmc.it/start/index.php
LUG Ancona
www.egloo.org
LUG Jesi
www.lugjesi.net
LUG Marche
http://marche.linux.it
PDP Free Software User Group
http://pdp.linux.it
Picenix - Piceno
http://picenix.altervista.org
SenaLug - Senigallia
www.lug.senigallia.biz
MOLISE
Campobasso LUG
http://cb.linux.it/
FrenterLUG - Larino
non disponibile
SmaLUG - San Martino
www.smalug.org
PIEMONTE
ABC Lug - Alba/Bra/Carmagnola
http://abc.linux.it/
AlLug - Alessandria e provincia
www.allug.it
BiLUG - Provincia di Biella
www.bilug.linux.it
FASoLi - Alessandria e provincia
http://softwarelibero.al.it/
Gallug - Galliate
www.gallug.it
GlugTO - Torino e provincia
www.torino.linux.it
IvLug - Ivrea Linux User Group
www.ivlug.it
SLIP - Pinerolo
http://pinerolo.linux.it/
ValSusinux - Val Susa e Val Sangone
www.valsusinux.it
PUGLIA
BriLUG - Brindisi
www.brilug.it
CapitanLUG - Capitanata
www.capitanlug.it

LATLUG - Latiano Linux User Group


www.latlug.org
LUGargano
www.lugargano.it
LUGBari - Bari e provincia
www.lugbari.org
SaLUG! - Salento
http://salug.it
Talug - Taranto
www.talug.it
SARDEGNA
CeSar LUG
non disponibile
GNUraghe
www.gnuraghe.org
GULCh - Cagliari
www.gulch.crs4.it
Isolalug
non disponibile
PLUGS - Sassari
www.plugs.it
SICILIA
CefaLug - Cefal
http://cefalug.linux.it
cLUG - Caltanissetta
www.clug.it
EnnaLUG
www.ennalug.org
FreakNet MediaLab - Catania
www.freaknet.org
Leonforte LUG
http://leonforte.linux.it
LUG Catania
www.catania.linux.it
LUGSR - Siracusa
www.siracusa.linux.it
MELUG - Messina
non disponibile
Norp LUG - Noto, Pachino, Rosolini
non disponibile
PALUG - Palermo
http://palermo.linux.it
RgLUG - Ragusa e provincia
http://ragusa.linux.it
VPLUG Linux Planet - Provincia Caltanisetta
www.vplug.it
SputniX - Palermo
www.sputnix.it
TOSCANA
ACROS - Versilia, Lucca, Massa Carrara
www.lug-acros.org
Cancelliaperti
non disponibile
Elbalinux
non disponibile
ElsaGLUG - Val dElsa
www.elsaglug.org
FLUG - Firenze
www.firenze.linux.it
GOLEM - Empoli, Valdelsa
http://golem.linux.it
GroLUG - Grosseto
www.grolug.org
G.U.L.LI - Livorno
www.livorno.linux.it
GulP! Piombino
http://gulp.perlmonk.org
GULP Pisa
www.gulp.linux.it
GuruAtWork - Grosseto e provincia

www.guruatwork.com
Lucca LUG
http://luccalug.it
L.U.G.A.R - Arezzo
non disponibile
PLUG - Prato e provincia
www.prato.linux.it
PtLug - Pistoia e provincia
www.ptlug.org
SLUG - Siena e provincia
www.siena.linux.it
TRENTINO ALTO ADIGE
AltinumLUG - Rovereto
nondisponibile
LinuxTrent - Trento
http://linuxtrent.it
LugBz - Bolzano
www.lugbz.org
UMBRIA
OrvietoLUG
www.orvietolug.org
LUG Perugia
www.perugiagnulug.org
TerniLUG
www.ternignulug.org
VALLE DAOSTA
SLAG - Aosta
www.slag.it
VENETO
0421ug - Provincia di Venezia
www.0421ug.org
BLUG - Belluno
http://belluno.linux.it
Faber Libertatis - Padova
http://faberlibertatis.org
GrappaLUG - Bassano del Grappa
http://grappalug.homelinux.net/
ILC - Informatica Libera Cittadellese - FSUG
http://ilc.pd.it
LegnagoLUG
non disponibile
Linux Ludus - Villafranca (VR)
www.linuxludus.it
LugAnegA
www.luganega.org
LUGSF - San Fidenzio
nondisponibile
LUG Vicenza
www.vicenza.linux.it
LugVR - Verona
www.verona.linux.it
MontelLUG - Montebelluna
www.montellug.it
FSUG Padova
www.fsugpadova.org
RoLUG - Rovigo
http://rovigo.linux.it
TVLUG - Treviso
www.tvlug.it
VELug - Venezia
www.velug.it
NAZIONALI
FSUGitalia
www.fsugitalia.org
Gentoo Channel Italia
www.gechi.it
MajaGLUG
www.majaglug.net
SkyLUG
http://tech.groups.yahoo.com/group/skylug/

LINUX PRO 125

93

Guida

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

Distro per il disaster recovery


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.

PoliArch 12.12

vete letto larticolo sullapocalisse dei dati di


pagina 10? In quellarticolo abbiamo accennato
a PoliArch, una distro pensata, tra le altre cose,
per il disaster recovery. Nel lato B del DVD di
questo numero ne trovate limmagine ISO da masterizzare
su DVD (lISO di circa 1,5 GB). Questa distro nasce da un
progetto di linux@studenti (http://linux.studenti.polito.
it/) nellambito delle attivit del Centro di Competenza
per lOpen Source e il Software Libero del Politecnico
di Torino (http://open.polito.it), con il forte contributo
da parte di Dennis Anfossi di ITfor S.r.l. (www.itfor.it).

Fini e strumenti

Disaster recovery,
navigazione
anonima, accesso
a tutti i lesystem,
controllo in remoto
dei PC: PoliArch
una distro da
tenere sempre
a portata di mano

94

LINUX PRO 125

Avviate il PC con il DVD inserito e scegliete di avviare


la versione a 32 bit quella a 64 bit, in base al computer
che state usando. Dopo poco (il boot davvero rapido,
meno di 30 secondi nella nostra macchina di prova; anche
lo spegnimento quasi immediato) apparir il prompt. Visto
il target della distro, un ambiente graco non sempre
necessario, se per volete operare in modalit graca
sufciente digitare startxfce per avviare il leggero desktop
Xfce. Il banner iniziale vi avvisa anche che la password
di root toor. Tra gli strumenti presenti trovate i classici sfdisk,
fdisk e dd, partimage e FSArchiver per copiare e ripristinare
tabelle delle partizioni e il contenuto delle partizioni stesse.
Trovate anche Photorec e TestDisk (per sapere come usarli
leggete il gi citato articolo di pagina 10), Gparted per creare
e manipolare le partizioni e Samba per condividere le in rete
con macchine Windows. La distro, grazie al pieno supporto
ai lesystem Windows (NTFS/FAT/FAT32/exFAT), pu
accedere a installazioni non pi avviabili del sistema operativo
di Redmond; inoltre avete a disposizione il tool chntpw
per resettare le password degli utenti di Windows in caso
di necessit. Se dovete
liberarvi di un disco
e volete cancellarne
il contenuto in maniera
sicura, in PoliArch
trovate due tool, shred
e wipe, che fanno al
caso vostro. I creatori di
PoliArch hanno incluso
moltissimi driver cos da
supportare il maggior
numero di hardware
possibile. PoliArch
una distro Live: oltre
che su DVD possibile

scriverla su chiave di memoria USB e anche, ovviamente,


su hard disk. Nel sito del progetto (www.poliarch.org)
trovate le istruzioni per la scrittura su chiave USB, assieme
ad altre informazioni sui possibili utilizzi della distro.
Per concludere citiamo alcune peculiarit interessanti:
consente di testare applicativi Web (tramite
Apache/MySQL/PHP);
abilita la gestione via Web anche di pi computer avviati
contemporaneamente (tramite Webmin);
permette la navigazione anonima tramite la rete TOR;
offre il supporto alliPhone (ifuse + libimobiledevice + gvfs);
rimasterizzabile e modicabile in base
alle proprie esigenze.

Distribuzione desktop

Siduction 12.2.0

entre stavamo scrivendo larticolo su Razor-qt


ci siamo chiesti quale fosse il modo pi semplice
per consentirvi di toccare con mano questo
nuovo ambiente. Alla ne siamo incappati
in questa distro, Siduction: una distro Live orientata al
desktop e basata sul ramo unstable di Debian GNU/Linux.
Nata alla ne del 2011 con un fork da aptosid, questa
distro disponibile in quattro sapori: con i desktop KDE,
LXDE, Xfce e, ultima versione nata, con Razor-qt. Nel DVD
trovate proprio questultima versione nel lato A. La distro
a 32 bit avviabile direttamente dal supporto, mentre
quella a 64 bit presente come immagine ISO da
masterizzare su DVD ( grande circa 760 MB). Se avete
dubbi o domande sul funzionamento di questa distro vi
suggeriamo di visitare lURL del progetto, http://siduction.
org/, o il suo canale IRC (#siduction sul server OFTC).

Razor-qt un buon desktop, forse per troppo


acerbo per essere usato quotidianamente. Ma
essendo molto promettente, non perdetelo docchio!

La tua rivista SEMPRE con TE

su

9 risparmi TEMPO e DENARO


9 la COMPRI OVUNQUE tu sia
9 la leggi UNA SETTIMANA
PRIMA che arrivi in EDICOLA
9 NON PERDI mai un NUMERO
9hai LARCHIVIO SEMPRE
a portata di mano
9puoi ACQUISTARE solo i NUMERI
che VUOI e anche ABBONARTI
sia su ANDROID sia su iPAD
9 FACILE per tutti!

In edicola il 14 febbraio

NEL PROSSIMO NUMERO

LINUX MINT
Nata da una costola di Ubuntu, questa distro diventata
la pi famosa del reame. Scoprite come ha fatto assieme a LXP!

E inoltre:
Bitcoin

E-learning

Framework

In Internet nata una nuova moneta


digitale che potete generare sfruttando
la potenza dei vostri computer.
Il mese prossimo vi guideremo lungo
la strada della ricchezza

Scuole e universit si stanno spostando


online e su Internet sempre pi spesso
appaiono corsi di ogni genere.
Vi mostreremo come usare Moodle
per creare dei corsi tutti vostri

Esistono molti framework Web


ma nel prossimo numero vi faremo
vedere come funziona quello
che si pu considerare la Ferrari
di questa categoria: Django

LINUX

Pubblicit: Luigi De Re - luigidere@linuxpro.it


Tel. 339 4546500

Mensile - 5,90 euro

Abbonamenti (disponibili solo in versione con DVD)


Si sottoscrivono in 2 minuti con 2 click via Web.
Trovi lofferta speciale di questo mese allindirizzo
www.myabb.it/linuxpro oppure abbonamenti@
myabb.it; puoi anche abbonarti via fax 030 3198412,
per telefono 199 111 999 dal luned al venerd dalle ore
9 alle ore 19. 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.50.99.049.
Arretrati
Si sottoscrivono online allindirizzo:
www.spreastore.it
Per informazioni: arretrati@linuxpro.it
oppure fax al numero 02.70.05.37.67.2

PRO

Direttore Responsabile:
Luca Sprea - direttore@linuxpro.it
Direttore Editoriale:
Stefano Spagnolo
Redazione: redazione@linuxpro.it
Mario Bosisio (coordinatore editoriale)
Massimiliano Zagaglia (responsabile di redazione,
realizzazione DVD)
Brunetta Pieraccini (segreteria)
Digital media coordinator: Massimo Allievi
Impaginazione: Sara Benecino
Hanno collaborato:
Alessandro Di Nicola, Aurelio Bignoli, Ben Everard, Biagio
Lucini, Chris Brown, Ciro Mattia Gonano, Daniele Belletti,
Daniele Tampieri, David Hayward, Emanuele Cal, Francesca
Beatrice Cice, Francesco Micozzi, Giovanni Scafora, Graham
Morrison, Maria Vitiello, Matteo Chiarion, Matteo Mattei,
Mayank Sharma, Mike Saunders, Nick Veitch, Roberto
Premoli, Shashank Sharma, Tiziana Remondini
Iconografia e fotografie: Marco Coppola
Contenuti su licenza: Linux Format - Future P.ce
- London (UK)

Stampa: Grafica Veneta S.p.A. - Trebaseleghe (PD)

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
www.sprea.it - info@sprea.it

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: 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

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.

A
H
E
H
C
E
L
I
S
N
E
IL M
I
D
O
D
O
M
L
I
O
T
CAMBIA
PARLARE

ROCK!

LA RIVISTA CHE MANCAVA PER LA SODDISFAZIONE


DEL GRANDE PUBBLICO E DEGLI ESPERTI

IN EDICOLA DAL 30 NOVEMBRE

Laccesso Root
la mia passione

/dedicated-server

Laccesso root al vostro

server dedicato

mKS 2G
Processore
Intel CPU
1x 1,2+ GHz
64bit
RAM
2 GB
Hard disk
500 GB
Connessione di rete
100 Mbps
Superati 5TB di traffico mensile: 10Mbps garantiti
1TB di traffico addizionale (100 Mbps) a solamente 4,99