Sei sulla pagina 1di 100

I coder del futuro all'HackMeeting 2014 Lavorare nell'Open Source: il data center

Diventa protagonista nel mondo Linux

Pro

Chromebook

Un OS davvero completo
per il tuo portatile

Scopri i trucchi del mestiere dei professionisti


del networking per mettere in sicurezza la tua LAN
e combattere al meglio hacker e guasti del sistema

Pro

8 GB

Inoltre
Trova l'IDE perfetto
Gli strumenti per lavorare
con qualsiasi linguaggio

Hackerare Minecraft

LA NUOVISSIMA VERSIONE DELLA DISTRO


PER UTENTI PROFESSIONALI E SERVER WEB

SPARKYLINUX GAMEOVER 3.4


COP_001_LXP144_cover 1

Come riprogrammare il mondo


del gioco con la Pi Edition!

Linux Pro 144 - 2014 - Mensile - 5,90 - CHF 13,60

CentOS 7

UX

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, S/NA - Distributore: Press-Di, milano

PADRONI
DELLA RETE

Accademia del codice


10 pagine di pura
programmazione

22/07/14 12:05

A
L
O
C
I
D
E
N
I

min_Spec_riparali_tu_207x285.indd 1

21/07/14 14:39

Editoriale

La rivincita dei professionisti


Perdere il lavoro una cosa orribile
e professionalit, ma decisamente arrivato
e a meno che non sia frutto
il momento per tutti di pensare bene a quale
di un comportamento illecito o scorretto,
strada percorrere. La gallina dalle uova doro
un licenziamento una cosa da non augurare non pi il colosso di Redmond che una volta
a nessuno. Con questo spirito giusto leggere garantiva successi a chiunque vi dedicasse
la notizia dei 18.000 licenziamenti in casa
tempo e fatica. Oggi Microsoft unazienda
Microsoft in concomitanza con lacquisto della che deve fare sempre pi i conti con una
divisione Dispositivi e Servizi di Nokia.
concorrenza spietata, agguerrita e davvero
Parte dei licenziamenti avverr proprio nella
aperta a tutti: quella dellOpen Source.
forza lavoro di Nokia, parte in quella
Ed anche per aiutare i professionisti
di Microsoft. Come dicevamo, non c nulla
che ogni mese proponiamo tutorial, articoli
di bello in una notizia del genere. per
di approfondimento e analisi del codice
giusto dire che si tratta di una netta
di livello davvero professionale. Un esempio?
e inconfutabile rivincita per i professionisti
Larticolo di copertina di questo numero, dedicato
dellOpen Source. Mentre infatti Microsoft
a un aspetto fondamentale, quello
continua a perdere quote di mercato
dellamministrazione di una rete locale.
( arrivata oggi al 14%, partendo da un 90% Buona lettura!
circa di qualche anno fa), i professionisti
dellOpen Source, programmatori, sysadmin,
La redazione di Linux Pro
esperti di database e via dicendo, sono
sempre pi ricercati e sempre pi pagati.
Cera un tempo in cui una certificazione
Microsoft garantiva stipendi, assunzioni, bonus,
ecc. Oggi sono le certificazioni Open Source
Pro
PADR
a essere ricercate, soprattutto negli ambienti
ONI
DELLA
in cui il datore di lavoro, pubblico o privato
RETE
che sia, si reso conto di quanto risparmia
Cosa tr
ovi nLeIN
l UX
nel suo business. Dallassistenza alla
LINUX
personalizzazione degli strumenti, lOpen
Source continua a fornire alle aziende
e agli enti statali occasioni di risparmio
e di ottimizzazione dei costi. Insomma,
il settore dellIT ancora un modo ricco
per chiunque abbia competenze
I code

Divent

r del fu

turo all

a protag
onista

'HackMe

eting 20

nel mon

14 La
vo

do Linu

rare ne

ll'Open

Source

: il data

center

Chro

Un OS davmebook
ver
per il tuo o completo
portatile
Tariffa

sPa - abb.
POsT. D.l.

8 GB

1, COmm

a 1, s/na

- DisTr

- 5,90 -

AccAde
miA del
codice

CHF 13,60

EOVER
3.4

necraft
Come ripr
ogramma
re il mondo
del gioco
con la Pi
Edition!

- Mensile

Hackerar
e Mi

144 - 2014

cover

Linux Pro

LA NU OV ISS
PE R UT EN IM A VE RS IO NE DE
TI PR OF ES
LLA DI ST RO
SIO NA LI E
SE RV ER WE
UX GA
B
M

Gli strume E perfetto


nti per lavo
con qua
rare
lsiasi ling
uaggio

milanO

_LXP144_

Press-Di,

Inoltre

Trova l'ID

KYLIN

COP_001

ibuTOre:

CentO

n. 46) arT.

SPAR

27/02/2004

S7

v. in l.

CentOS

iTaliane

353/2003
(COn

Pro

POsTe

Pro

LINUX
LINU X PRO 126
PRO 144

r.O.C. -

Scopri i
trucchi de
l mestiere
del netw
dei profes
orking pe
r mette
sionisti
e comb
re
attere al
meglio ha in sicurezza la
tua LAN
cker e gu
asti del
sistema

10 pagine
di
programm pura
azione

22/07/14

12:05

contatti
Domande alla redazione: redazione@linuxpro.it
Abbonamenti: abbonamenti@myabb.it

Ora trovi
Linux Pro
anche
su Android

Arretrati: arretrati@linuxpro.it
Problemi con il DVD: aiutocd@sprea.it
Sito Web: www.linuxpro.it
Oppure inviate le vostre lettere a:
Linux Pro, Sprea Editori S.p.A.,
Via Torino 51, 20063 Cernusco S/N
Telefono: 02.92432.1
Linux pro 144

001_LXP_144_editoriale 1

22/07/14 12:08

Sommario

Sommario
linux pro 144

LINUX

Pro

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

In primo piano

controllo totale
sulla vostra rete
Usate i tool giusti per mettere in sicurezza la vostra rete
e proteggervi da incidenti e hacker. Ecco i consigli
dei professionisti per aiutarvi nella salvaguardia dei vostri dati.

10

ABBONATI ALLA

VERSIONE DIGITALE
solo per PC e Mac

A SOLI

14,90

DURATA ABBONAMENTO 1 ANNO

08 Domande e risposte su OpenELEC


2

www.myabb.it/digital

Linux pro 144

002_003_LXP_144_sommario 2

22/07/14 16:27

Sommario
04 Newsdesk

12 settembre

66 OpenSUSE

06 Posta

Aggiungete repository e accedete


a tantissimo nuovo software

Filo diretto con la redazione

08 FAQ: OpenELEC

74 Cron e at

10 Speciale gestione reti

Automatizzate le attivit periodiche

Come organizzare la rete locale

76 Ampache

20 Hackmeeting 2014

La vostra musica preferita in Rete

Lultima edizione dellevento


underground del mondo dellhacking

78 Apt-get
Sfruttare al meglio il terminale

24 Anatomia di un data

80 Tar

center

Alla scoperta di una centrale di dati

28 Linux su Chromebook
Un sistema completo per il portatile

34 Trucchi per sysadmin


Il Network Time Protocol e Secure Shell

Langolo di Android
40 News

Abbandonate lo zip e usate Tar


per comprimere al meglio

Codice

desempio Raspberry
rivista
rivista
Codice
Ardour3
desempio
3.2 Avogadro
Ruby 1.1.0
Abc2midi
Codice desempio
tutorial
Android
Sysadmin
Aptana Studio
BurgerSpace
Codice
tutorial
1.9.2
Ruby
Avogadro
NetHogs
0.8.0 1.2.0 beta2
Erebus
Bluefish FatRat
OCRFeeder
Xowa
Safe-rm
0.
100.7.
1
0.6.2
Devcoin
PushOver
Raspbian
Plan
9
0.0.5
Eclipse
QMMP
0.7.1RP
Arch
FatratLinux
Android RP Risc OS
Geany

Accademia
82 DevStack
Come creare un cloud locale

86 Python

Le novit in campo Android

41 Smartwatch

88 Minecraft Pi

42 Acer Liquid S2
Uno smartphone avanzato

Divertitevi prima a creare la casa


dei vostri sogni e poi a distruggerla
con questa special edition

43 Galaxy Note PRO

92 Leco dei LUG

I nuovi LG G Watch e Samsung Gear Live

12.2

Gramps

Streaming audio
e video in casa

Trisquel

Scroprite come usare Gramps per creare un albero


genealogico e ricostruire la storia della vostra famiglia

Ubuntu libero?

Cambia desktop!

Il database perfetto
Le applicazioni Web sono pi veloci,
scalabili e sicure se usi MariaDB

lightworks

Effetti speciali e strumenti per lediting


professionale a tua disposizione
LXP_133_cover 3.indd 1

Inoltre
AVM Fritz!Box 3390
6 antenne per la massima velocit wireless
a 2,4 e 5 GHz in contemporanea

Tizen
Il futuro dei dispositivi
mobili sempre
pi Open Source

Linux Pro 133- Mensile - 5,90 - CHF 13,60

Scopri Trisquel, la distro pi fedele


ai dettami del Free Software

gnome 3

Accedi alle opzioni avanzate


con Frippery e Gnome Tweak Tool
17/09/13 14:41

La libera Trisquel
La distro campionessa nella battaglia per il Free Software

a linea che divide il pragmatismo


dallideologia sempre sottilissima
e il progetto Trisquel GNU/Linux
forse lunico che riesce a percorrerla senza
mai ondeggiare. Trisquel sicuramente
la distribuzione pi usabile tra quelle che
aderiscono in toto alle severe linee guida
della Free Software Foundation (FSF) e non
altera la versatilit di cui lutente finale gode. Il
progetto Trisquel stato avviato da un gruppo
di studenti dellUniversit spagnola
di Vigo, con lobiettivo di creare un sistema
didattico con supporto per la lingua galiziana.
Ben presto lopera diventata talmente vasta

da superare lo scopo iniziale e portare


a un vero e proprio sistema operativo
multilingue. Trisquel GNU/Linux ha visto la luce
ufficialmente nellaprile del 2005, quando
Richard Stallman lha presentata al mondo
intero. Il cuore della distro la vastissima
comunit internazionale di appassionati, guidata
da un personaggio carismatico qual Rubn

Rodrguez. Proprio Rodrguez, parlando


alla platea presente a LibrePlanet 2013
in Massachusetts, ha affermato che la
distribuzione di Software Libero una grande
responsabilit: I vostri utenti, oltre a credere
in voi, si fidano delle vostre capacit
e si aspettano che rispettiate la loro libert.
Noi, continua Rodrguez, non usiamo
il termine distro come unarida
definizione tecnica per descrivere una
versione di un software. La parola
distribuzione qualcosa che implica
la massima responsabilit verso chi
ci segue e usa Trisquel.

Lo sviluppo di software
libero porta con s una
grande responsabilit

Per un occhio inesperto, Trisquel potrebbe sembrare una


copia di Ubuntu, eccetto che per lesclusione dei pacchetti
non free che non rispettano le rigorose politiche sul Software
Libero rilasciato sotto licenza GNU. Rodrguez, per, pronto
a ribattere che le apparenze ingannano. Se si vuole
semplificare il concetto di distro free, pensando che sia
sufficiente estrarre il materiale non libero da una piattaforma
come Ubuntu, si commette un grosso errore di fondo. Andare
alla ricerca di tutto ci che non rispecchi le regole del
Software Libero in una distribuzione di per s gi funzionante,
non un gioco da ragazzi. Nellestrazione di ci che non
si vuole mantenere, il rischio di fare dei danni altissimo.
Rodrguez porta come esempio il caso del kernel Linux-libre,
sul cui progetto basato Trisquel. Per chi non lo conoscesse,
Linux-libre un kernel portato avanti dalla Free Software
Foundation Latin America (FSFLA) e consiste nel fornire una
versione di Linux completamente libera da qualsiasi codice
non free. Il concetto dietro cui si muove Trisquel, quindi,
proprio questo: prendere una distro, analizzarla fin nei
minimi dettagli ed estrapolare tutto ci che ha una licenza
proprietaria, sostituendolo con una controparte totalmente
libera. A parole un proposito che potrebbe sembrare tanto
semplice, quanto ideologico, ma allatto pratico il progetto
non indenne da difficolt. Uno degli aspetti pi critici,
sta proprio nel garantire agli utenti che la sostituzione

di un contenuto non free con il suo omologo libero, non


danneggi il corretto funzionamento della distro. Lesempio pi
lampante riguarda i driver. Quando ce ne sono due versioni,
una proprietaria e laltra free, la maggior parte delle
distribuzioni, come Ubuntu e Fedora/Red Hat, scelgono
la prima. Nel momento in cui si decide di sostituirla con
il driver free, bisogna assicurarsi che il componente cui
legata e da cui dipende la sua corretta gestione continui a
operare senza problemi. Il team di Trisquel, per, non si limita
a sostituire porzioni di codice o software con le controparti
free, ma cerca soprattutto di apportare delle migliorie alle
aree in cui opera. Jonathan Nadeau dalla FSF, per esempio,
ha collaborato con gli sviluppatori di Trisquel per rendere
la distro pi accessibile agli utenti con problemi di vista.
In effetti basta dare unocchiata a Trisquel 6.0 per rendersi
subito conto di come le caratteristiche di accessibilit siano
davvero ottime. Di default, infatti, il desktop pu sfruttare
le peculiarit di Orca, lapplicazione che mediante un sapiente
mix di ingrandimenti, sintesi vocale e sistema di scrittura
braille, consente agli ipovedenti di usare facilmente le funzioni
della distro. Sul fronte dellusabilit, unaltra miglioria nel
desktop di Trisquel sta nellapproccio intuitivo con cui accoglie
i nuovi utenti. A onor del vero, ricorda molto da vicino
Windows ed proprio Rodrguez a confermare questa
impressione, affermando che non c niente di male
a prendere spunto dalle idee che funzionano.

Lambiente grafico
di Trisquel ricorda
da vicino quello
di Windows. La barra
degli strumenti,
infatti, ne lesempio

Trisquel 6.0 lultima versione della distro basata


su Ubuntu 12.04. Come per questultima, la 6.0
rappresenta la versione Long Term Support (LTS)
e offrir la correzione dei bug e gli aggiornamenti
per la sicurezza fino al lontano 2017. Laspetto
migliore sicuramente la sua interfaccia desktop.
Anche se la distribuzione viene eseguita
su GNOME 3.4, gli sviluppatori - per i motivi che
potete leggere nellarticolo - hanno deciso di
ripiegare su un ambiente destkop pi tradizionale.
Nelledizione principale, trovate LibreOffice 3.5
e il formidabile Abrowser 19, un programma
derivante da Mozilla Firefox che stato ritoccato

per rimuovere il logo e i richiami a qualsiasi


software di natura non libera. Al posto del plug-in
Flash che lavora sotto licenza proprietaria, stato
usato il player multimediale gratuito Gnash, che
pu riprodurre senza inconvenienti video HTML5
e visualizzare i file PDF senza alcun add-on.
Per installare software aggiuntivo potete utilizzare
Synaptic, oppure sfruttare il gestore di pacchetti
della distro. Non mancano poi altri esempi
di software free come VLC Media Player, per
riprodurre video e musica. Se volete installare
software proprietari come per esempio Skype,
potete farlo tramite Synaptic. Bisogna per

ricordare che Trisquel non integra alcun tipo


di supporto per i driver non liberi e quindi il loro
utilizzo potrebbe minare la stabilit del sistema
e dare luogo a malfunzionamenti. Detto questo,
ellaavuto
maggior
parte
casi,
noi non abbiamo
problemi
a fardei
lavorare
Trisquel sulle le
nostre
macchine, riscontrando
conoscenze
familiari non vanno oltre
un notevole miglioramento nel panorama
qualche grado di parentela. Quando
dei driver free. Linstaller, infine, una versione
per si
inizia che
a scavare
ricerca degli avi
modificata
di quello
trovate sualla
Ubuntu.
La sua
uno che
dei sistemi
piparticolarit
lontani odidiessere
parenti
hanno trovato
dinstallazione pi semplici da usare per chi
fortuna in altri paesi in epoche passate,
proviene dal mondo desktop ne ha fatto
le coseprincipale
si complicano
non
poco. Quali
il candidato
per luso in
Trisquel.

sono le origini della famiglia? Dove


vivevano? Da dove
deriva
vostro
LINUX
PROil133
17
cognome? La genealogia lunica scienza
che pu dare risposta a queste domande,
catalogando, ricercando e studiando tutti
i legami famigliari che si sono evoluti nel
LINUX PRO 133

considerare alcune buone pratiche di ricerca e dedicare un paio


di minuti a tracciare le linee base del vostro albero genealogico,
seguendo tre semplici e veloci passaggi:
1 Ricerca: trovare tutte le informazioni inerenti alla vostra
famiglia, partendo magari dal luogo in cui i vostri avi vivevano
o si sono sposati.
2 Registrazione: prendere scrupolosamente nota di qualsiasi
informazione che trovate.
3 Pubblicazione: realizzare documenti e relazioni che potete
condividere facilmente con altre persone.
Quasi sicuramente, la ricerca e la registrazione saranno fonte
di numerose informazioni e quindi dovrete dedicargli pi tempo.
La regola doro della genealogia rimane comunque una: fare
in modo che tutti i documenti raccolti siano verificabili e oggettivi.
Chiunque pu creare un albero genealogico basato su
supposizioni e prove soggettive. Ben diverso, invece, fare
affidamento su riscontri scientifici. Per fortuna Gramps vi render
la vita molto pi semplice, perch il suo compito proprio
ottimizzare lorganizzazione dei lavori di ricerca, registrazione
e pubblicazione, diventando cos un insostituibile assistente.

I primi passi
Alla fine di questo articolo, creerete un albero genealogico
di esempio della famiglia Rossi, ma ovviamente lintento darvi
sufficienti informazioni per usare il programma ricostruendo
la vostra genealogia. Dopo aver lanciato Gramps, fate click
su Alberi genealogici e poi sul pulsante Nuovo, quindi
aggiungete il nome Famiglia Rossi. Adesso selezionate Carica
albero genealogico, in modo che venga mostrata la finestra
principale. Sulla sinistra sono presenti un elenco di categorie,
ad esempio Persone, Relazioni, Famiglie e molte altre. Quando
cliccate su una di esse, la visuale e la barra degli strumenti cambiano
per riproporre le opzioni dedicate al menu che avete scelto. Per
creare un albero genealogico si pu partire da qualsiasi parente,
ma nel vostro caso inizierete da Giovanni Rossi, lultimo della famiglia.

Create una fonte


Il primo elemento da cui partire anche il pi semplice. Baster
infatti intervistare lultimo esponente della famiglia, da cui poi
documenterete le parentele pi prossime. Se siete voi stessi,
baster che facciate affidamento sulla memoria e vi auto
intervistiate. Selezionate la voce Fonti presente nel menu
di sinistra, quindi selezionate licona a forma di +, denominata
Aggiungi. Si apre cos leditor della nuova fonte, in cui inserire
tutte le informazioni che otteniamo nel colloquio con Giovanni.
Nel campo Titolo scrivete Intervista a Giovanni Rossi e in autore
inserite Giovanni Rossi. In pratica vi state auto intervistando.
Nel campo Note scrivete tutte le informazioni rilevanti che

Usare Trisquel 6.0

24

002_003_LXP_144_sommario 3

Gramps

Genealogia fai da te

Trisquel

Ruby on Rails Il framework Web senza difetti


Firefox OS Scopri lemulatore e le sue API
Android Gestire texture e touchscreen con OpenGL
Concetti Le basi della programmazione a oggetti

Scegli lambiente grafico giusto


per look e funzionalit!

PRO
dentro il

Prova la tua rivista anche in dioitale


digitale

L'Accademia del Codice


ti svela tutti i misteri
dell'arte del coding

Libert pura

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

94 Guida DVD

Raspberry Pi

programmare!

La mappa dei LUG italiani

Da Samsung un ottimo tablet

Pro

GNUcash
LATO
B
Goldendict

distribuzioni
Komodo
Linux Mint 15 Cinnamon
Octave
Linux Mint 15 Mate
Parted Magic

Cambiate il mondo di Minecraft


come preferite con una RPI

Diventa protagonista nel mondo Linux

LATO A
distribuzioni
desktop
Distribuzioni
CentOS
Fedora 19
Mednafen
0.9.28
bit)
7 (32
Parcellite 1.1.3
distribuzioni
Mageia 3 (32 bit)
Sophos UTM

Untangle
LATO
B 9.4 (32 e 64 bit)
giochi
distribuzioni
PokerTH
Deft 8 1.0.1
IPFire

internet
2.13
Firefox
Salix Xfce
21 14.0.1

ProFTPD
GIOCHI1.3.4d
LATO
B

programmazione
Ayon
Distribuzioni

CPPCheck
RIVISTA
1.60.1

SparkyLinux
GameOver
3.4
GTKDialog
Android
Codice
desempio
0.8.3
LiteIDE

Tutto per lavorare in gruppo

Approfondimenti

Italo Vignoli di Document Foundation ci parla del LinuxDay 2013 Usare iSCSI

IL DVD in breve

70 NixNote

La distro per media center completi

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 - DisTribuTOre: Press-Di, milanO

NUMER

Tutorial

Le novit del mondo Open Source

AccAdemiA
del codice

O
IL PROOSESSICM
E IL

tempo. In definitiva unattivit di ricerca


intensiva, accurata e che richiede non solo
molta pazienza, ma anche capacit di sintesi
e analisi non comuni. Quando le informazioni
iniziano a essere molte e le fonti a sovrapporsi
tra loro, blocco note e penna non bastano pi.

Ecco quindi che entra in campo Gramps,


un programma Open Source che vi aiuta nella
ricostruzione del vostro albero genealogico.
Compatibile con Linux, Mac e Windows, oltre
a essere disponibile per diverse distribuzioni,
lo troviamo alla pagina ufficiale http://grampsproject.org/download/. Gramps
stato creato da genealogisti
di professione che, grazie alla loro
lunga esperienza nel settore
della ricerca, hanno dato vita a un
programma altamente affidabile.
Prima di iniziare, per, opportuno

Gramps stato creato da


genealogisti di professione ed
quindi affidabile e preciso

Cartella dedicata
Quante pi persone aggiungete allalbero genealogico,
maggiori informazioni dovete inserire. Tra queste, le foto
di ogni parente sono molto importanti per accomunare
un nome a un volto e quindi ricordare ancora meglio i dati
importanti. Gramps non memorizza le immagini, ma solo
il percorso scelto nel momento in cui le avete aggiunte.
Per evitare di perdere tempo nel cercarle tra gli anfratti
dellhard disk, vi consigliamo di dedicare una cartella
alle sole foto da utilizzare. Ricordate: essere precisi
il miglior approccio alla ricerca genealogica!

Intervista

emergono, quindi premete il pulsante OK per confermare.


In qualsiasi momento se ne presentasse la necessit, potrete
sempre modificare lintervista facendo doppio click sulla scheda
Intervista a Giovanni Rossi che trovate sotto la voce Fonti.

Aggiungete una persona


Al centro di ogni albero genealogico ci sono sempre le persone,
quindi aggiungete il vostro personaggio principale. S, avete
indovinato, sempre lui: Giovanni Rossi. Visto che tutte
le informazioni che avete in mano derivano dallintervista fatta
a Giovanni, dovete spostare la vostra fonte in una sezione
di Gramps dove poter condividere i dati anche da altri punti
di vista. Nella barra degli strumenti premete Appunti per aprire
lomonima finestra, quindi spostate al suo interno la scheda
Intervista a Giovanni Rossi che avete nel menu Fonti. Visto
che la sorgente ora memorizzata negli appunti, potete anche
chiudere la finestra. Adesso selezionate il menu Persone
e premete il pulsante Aggiungi presente nella barra degli
strumenti. Immettete quindi i seguenti dati:
Nome: Giovanni
Cognome: Rossi
Sesso: Maschio
A questo punto necessario citare le fonti da cui sono state
ottenute le informazioni. Cliccate sulla scheda Citazione fonti
quindi, dalla barra degli strumenti di Gramps, selezionate
la funzione Appunti, aprendo cos la finestra dove avete
precedentemente importato le informazioni ottenute
dallintervista di Giovanni. Trascinate Intervista a Giovanni Rossi
nel campo Citazione Fonti, in modo da aprire unulteriore scheda
dedicata. Nella parte inferiore, titolata Fonti informazioni
condivise, notate come siano gi presenti i dati dellintervista.
Nella zona superiore, invece, avete a disposizione nuovi campi
da riempire. Potete aggiungere la data in cui stata fatta
lintervista e il livello di confidenza che si attribuisce alle
informazioni ottenute. Mettete quindi Molto alta. Adesso,
per dare vita allalbero genealogico, opportuno aggiungere
una foto di Giovanni. Sempre nel menu Persone di Gramps,
fate doppio click sulla scheda Rossi, Giovanni, quindi entrate
in Galleria. Premete licona a forma di + sinonimo di Aggiungi
e cercate nel vostro disco fisso una foto da associare alla cartella
di Giovanni. Ricordate poi di aggiungere le note sulla provenienza
dellimmagine nella scheda Citazioni fonti, presente nellEditor
riferimento oggetto multimediale.

Intervista

il giorno
del pinguino

Mediante lopzione
Vista ascendenza,
avete una visuale
chiara del diagramma
genealogico

l'innovazione il tema centrale del Linux Day 2013


Ce ne parla Italo Vignoli, fondatore e consigliere
di The Document Foundation

ome ogni anno, il Linux Day, che si


terr a ottobre, propone un argomento
cardine su cui ruota tutta l'intera fiera
di eventi. Ed nel 2013 che
l'innovazione sar al centro dei dibattiti
come elemento distintivo del Software Libero,
accendendo i riflettori sul motore dello
sviluppo di una comunit in continua crescita.
S, perch nonostante GNU/Linux sia parte
integrante del Web e di moltissime
infrastrutture enterprise, tanto da essere punto
di riferimento per linnovazione tecnologica,
nella vita quotidiana c ancora molta
difficolt ad avvicinarsi a una realt spesso
erroneamente percepita per soli addetti ai
lavori. Ecco quindi che il Linux Day 2013 vuole
essere uniniziativa rivolta a far conoscere
a tutti le potenzialit del Free Software,
che in Italia sono ancora unopportunit quasi
del tutto inesplorata. A parlarne con Linux Pro
c' Italo Vignoli, profondo conoscitore
del tema e fondatore e consigliere della
Document Foundation. Infine un messaggio
rivolto ai numerosi LUG che parteciperanno al
Linux Day: scriveteci a redazione@linuxpro.it
e raccontateci cosa avete fatto! Per conoscere
la mappa degli eventi, potete collegarvi alla
pagina www.linux.it/eventi o visitare il sito
www.linuxday.it, dove troverete tutte
le informazioni sulla manifestazione.
LXP: Raccontaci del tuo percorso dai primi
passi nel mondo del Free Software fino
ad arrivare alla Document Foundation.
IV: tutta colpa, o merito, di Outlook. Io sono

20

e non sar certo lultimo). Intorno al 2000,


ho cominciato a cercare unalternativa
a MS Office, perch ero veramente stufo della
pervasivit di Outlook - che faceva sentire
la sua presenza anche se non era installato
- e della scarsa qualit degli altri programmi,
e in particolare di Word e PowerPoint (non
sono mai stato un grande utente di fogli
elettronici). Nel 2001, ho visto lannuncio
di OpenOffice.org e ho iniziato a utilizzarlo,
nonostante la versione 1.0 fosse veramente
acerba. La situazione, per, migliorata
sensibilmente con la versione 1.1, al punto
da poter cominciare a sostituire MS Office
in un numero sempre maggiore di occasioni.
Peraltro, la frequentazione - seppure
a distanza - della comunit mi ha fatto
comprendere come mancasse una strategia
di marketing e comunicazione in grado di far
conoscere il prodotto a un numero pi ampio
di utenti potenziali. Nel 2003, mi sono iscritto
alle mailing list e ho cominciato a intervenire,
e nel 2004 sono entrato nel progetto come
responsabile marketing per lItalia. Ho iniziato
immediatamente a scontrarmi con Sun, pi
che unazienda un caso umano, e con alcuni
membri lungimiranti della comunit che

chiamato cos), che - a pi di tre anni di distanza


- pu essere considerato un successo.
Nellestate del 2010 ho lavorato a tempo pieno
allannuncio, poi - come se niente fosse - sono
andato a Budapest per la conferenza
di OpenOffice, durante la quale c stato
lincontro definitivo che ha sancito la nascita
di The Document Foundation. Il 28 settembre
dello stesso anno sono stato colui che ha
fisicamente premuto il pulsante di lancio
del comunicato stampa che annunciava
la nascita del progetto, e da quel momento
sono sempre stato il responsabile del marketing
e della comunicazione e il principale portavoce
del progetto.

LXP: Il Linux Day di questanno sar basato


sullinnovazione, un argomento vastissimo
e che include la volont di rimanere
al passo con i tempi, fornendo sempre
nuovi sviluppi. Quali sono, secondo
te, i passi che il mondo Linux deve
ancora compiere per continuare
a puntare al futuro?
IV: In realt, il mondo Open Source gi
fortemente impiantato nel futuro, tanto che
la quasi totalit dei telefoni cellulari di ultima
generazione utilizza
un sistema operativo
SEmPRE AL PASSO COn I TEmPI
che deriva da Linux
(Android, ma anche
iOS, che ha radici
FreeBSD), la totalit
degli elettrodomestici
intelligenti e dei
sistemi di domotica
utilizza Linux Embedded (o qualcosa di molto
consideravano il marketing del tutto inutile,
ma questo non mi ha fermato: la combinazione simile), la maggior parte delle auto dotate di
computer di bordo usa sempre Linux Embedded
tra la qualit del prodotto e unazione
(ve lo immaginate Windows su un sistema
di marketing aggressiva ha portato OOo
frenante?), e infine quasi tutti i supercomputer
a raggiungere una quota di mercato
e un numero sempre pi ampio di server
superiore al 10% in Italia (i dati sono stimati)
utilizzano Linux. Inoltre, non bisogna dimenticare
e un ruolo sempre pi visibile sul mercato.
la spinta che ha dato allinnovazione il modello
A partire dal 2006, dalla conferenza di Lione,
dello sviluppo collaborativo tipico della comunit
ho iniziato a contribuire al marketing
del Software Libero. Oggi, non esiste una sola
internazionale, tanto che nel 2008 sono
azienda in grado di sostenere che il modello
diventato uno dei leader del team con la
di sviluppo chiuso superiore, dopo che anche
supervisione del budget. In questo modo, ho
IBM e Microsoft - la prima ha inventato
iniziato a conoscere un numero sempre pi
il concetto, e la seconda lo ha perfezionato ampio di persone, e sono stato coinvolto nelle
hanno smesso di dirlo. Linux, e in accezione
discussioni sullopportunit di creare una
pi ampia tutto il mondo del Software Libero, ha
fondazione indipendente (che sono diventate
bisogno di maggiore coesione e di una strategia
sempre pi fitte a partire dalla conferenza
di marketing e comunicazione in grado di
di Pechino nel 2008). Nel 2009, quando
contrastare gli investimenti delle grandi aziende.
Oracle ha acquisito Sun Microsystems,
Purtroppo, il frazionamento dei progetti - che in
ho commentato dicendo che era la cosa
alcuni casi completamente inutile - un fatto
peggiore che sarebbe potuta succedere
difficile da comprendere per tutti coloro che
a OOo (in realt mi sbagliavo, perch quello
sono estranei alla comunit, e rappresenta un
che successo dopo stato anche peggio).
fattore di debolezza. Infine, necessario che
Ovviamente, i colloqui sulla fondazione sono
il mondo del Software Libero cominci a pensare
diventati sempre pi fitti, e si sono trasformati
seriamente a un modello di business sostenibile,
in un piano di lavoro nel gennaio del 2010.
perch altrimenti rimarr sempre ostaggio delle
A quellepoca, ho scritto il marketing plan
aziende e delle loro strategie di sopravvivenza
di LibreOffice (senza sapere che si sarebbe

L'innovazione un fattore
che da sempre contraddistingue
il Software Libero

sempre stato un utente abbastanza esigente


nel caso della posta elettronica e per questo
motivo non sono mai riuscito a usare Outlook,
che considero il peggior software mai sviluppato
da un quadrumane perch non solo pessimo
sotto il profilo architettonico (il salvataggio di
tutte le informazioni in un unico blob va contro
ogni sano principio, e contro il buon senso)
ma riesce - in un campo dove tutto standard
come lemail - a non adottare nemmeno uno
standard (oppure a reinventarlo, peggiorandolo).
Quindi, non sono mai stato tra i sostenitori
di Microsoft Office, proprio per la presenza
di Outlook. Inoltre, quando la quota di mercato

di Microsoft Office ha cominciato a superare


percentuali che avrebbero ampiamente
giustificato lintervento dellantitrust, ho
cominciato a chiedermi perch non ci fosse
nessun intervento a protezione degli utenti,
visto che era evidente che la situazione
avrebbe portato Microsoft ad avere un
atteggiamento vessatorio nei loro confronti
(a differenza di molti, io ho letto la EULA di MS
Office). Oggi, evidente che Microsoft ha
goduto di ampie coperture per il suo ruolo
di principale fornitore di informazioni del
governo statunitense, attraverso programmi
come PRISM (che non certo stato il primo,

2013

nei confronti dell'ecosistema finanziario


(perch una strategia basata sul fatturato
del trimestre priva di buon senso e non
permette di guardare oltre la punta del proprio
naso, per cui privilegia le azioni tattiche rispetto
a quelle strategiche). Quindi, bisogna pensare
a generare profitti che derivano dal valore
aggiunto, e a reinvestirli nello sviluppo, perch
le aziende che sponsorizzano il Software Libero
a fondo perso - come Sun e IBM nel caso
di OOo - possono scomparire da un momento
all'altro, se un analista si inventa aspettative
superiori all'andamento del mercato.
LXP: Innovazione, spesso, significa
rompere con il passato, ma anche
adottare strategie nuove. A questo
proposito puntare alla conquista
di un numero di sistemi sempre maggiori,
sensibilizzando cos lopinione pubblica
alla migrazione verso il Free Software,
senza dubbio un tema innovativo.
E non solo in ambito privato
ma soprattutto in quello aziendale.
Sappiamo che su questo fronte sei molto
attivo, quindi ti chiediamo qual la tua
ricetta per innovare?
IV: Onestamente, non credo ci sia nessuna
ricetta specifica, ma solo luso di un po di buon
senso nella comunicazione. Combattiamo
contro nemici potenti, che hanno budget
importanti e strumenti per influenzare
lopinione pubblica che vanno ben oltre
le nostre possibilit, per cui dobbiamo usare
tutte le nostre capacit. Solo aggregando tutti
i progetti allinterno di una rete, possiamo
riuscire a creare quella massa critica che non
abbiamo mai avuto. Dobbiamo mostrare
i nostri muscoli, perch solo in questo modo

LINUx PRO 133

LINUX PRO 133

25

LINUx PRO 133

linux pro 144

21

22/07/14 16:27

Newsdesk

Ogni mese tutte le novit dal mondo delle aziende e della comunit Open Source
Se hai news da segnalarci o dei commenti scrivi a newsdesk@linuxpro.it

Pubblica Amministrazione

Linux: risparmio per tutti

no dei compiti
fondamentali della
Pubblica Amministrazione
quello di trovare
le soluzioni migliori al minor
prezzo possibile. Che poi
ci riesca o meno tutta unaltra
faccenda. In questo caso,
vogliamo parlare di alcuni
importanti successi che hanno
visto come protagoniste varie
realt sparse per il mondo e
Linux e le sue derivate sono il
comune denominatore di questi
successi. Infatti, sempre pi
Paesi stanno valutando
il passaggio a sistemi operativi
Open Source, a discapito
di quelli proprietari, per poter
realizzare cospicui risparmi,
senza mettere in pericolo
lefficienza e la qualit dei servizi

erogati. Ne un esempio
concreto lUruguay che,
con la legge sul Software Libero
e sui formati aperti, ha di fatto
spalancato le porte a Linux
in ogni settore della Pubblica
Amministrazione. Sulla stessa
lunghezza donda si stanno
sintonizzando realt molto pi
di primo piano, come la Cina,
il Giappone e la Corea del Sud.
Questultimo Paese ha gi
cominciato a prepararsi per
la migrazione da Windows
a Linux, che dovrebbe avvenire
verosimilmente tra sei anni, cio
alla scadenza del supporto
di Windows 7 da parte
di Microsoft. Un altro esempio
concreto ci giunge dalla
Germania e, pi esattamente,
da Monaco di Baviera. La citt

Monaco di Baviera ha risparmiato ben 11 milioni di euro


per avere adottato Ubuntu invece di Windows 7

La Corea del Sud sta gi programmando la futura migrazione


da Windows a Linux
dellOktoberfest riuscita
a risparmiare ben 11 milioni
di euro di denaro pubblico solo
con ladozione di Ubuntu
al posto di Windows 7.
Infatti, le previsioni di spesa con
il sistema operativo di Microsoft
erano pari a 34 milioni di euro,
mentre ne sono stati pagati
soltanto 23. Questo risultato va
a sommarsi a quelli gi ottenuti
nel corso degli ultimi undici anni,
a cominciare con il passaggio
da Windows NT a Linux,
nei server della Pubblica
Amministrazione, avvenuto nel
2003. Sei anni dopo, il Governo
bavarese ha deciso di aderire
al programma LiMux, per far
migrare tutti i sistemi informatici
allOpen Source. Fu proprio
allora che entr in scena
il sistema operativo di Canonical.
Per fortuna, qualche esempio
incoraggiante lo troviamo anche
in Italia. Lultimo in ordine
di tempo ci giunge dal Comune
di Udine che ha deciso
di abbandonare i sistemi
operativi e i pacchetti per ufficio

marcati Microsoft per


abbracciare Linux in generale
e Apache OpenOffice
in particolare. Sebbene non sia
stato ancora comunicato quale
derivata verr scelta, questa
migrazione coinvolger qualcosa
come 900 computer e, conti alla
mano, comporter un risparmio
di denaro pubblico pari
a 360.000 euro, che in questi
tempi di crisi economica non
sono una bazzecola. Secondo
quanto annunciato dallAssessore
allInnovazione Gabriele
Giacomini, entro questanno
il 40% dei dipendenti del
Comune di Udine sar in grado
di operare su Linux e sulle nuove
applicazioni Open Source.
Inoltre, va sottolineato che, oltre
a garantire una spesa minore,
questa migrazione al Software
Libero permetter di mantenere
operativi gli attuali computer
per un tempo superiore a quello
previsto, con un ulteriore
risparmio di denaro. Di fronte a
tali risultati lecito pensare che
altri seguiranno questi esempi.

Linux pro 144

004_005_LXP_144_news 4

22/07/14 12:04

Newsdesk
Mozilla

Mondo del lavoro

Mozjpeg Microsoft licenzia

al cappello magico di Mozilla


appena arrivata una
sorpresa interessante:
il progetto Mozjpeg 2.0
che aumenta la compressione di un
file JPEG fino al 15%. evidente che
la prima a trarre un notevole vantaggio
da questa novit sar proprio
la navigazione su Internet, dato che
la maggior parte del traffico creato
dalla visualizzazione e dal download
di immagini, molto spesso in questo
formato. Quindi non c da stupirsi
che questo progetto Open Source
abbia avuto lappoggio
di importantissime realt, come
Facebook, che ha contribuito
economicamente e che ha gi
cominciato a testarlo. Il nuovo formato
perfettamente compatibile con tutti
i browser e i visualizzatori di immagini
attuali, anche non aggiornati.

nche se stiamo parlando


della concorrenza, sono
comunque notizie che non
vorremmo mai dare.
Ma la crisi che sta investendo il gigante
di Redmond sta avendo conseguenze
dirette anche sui suoi dipendenti.
Lannuncio dei tagli al proprio
organico, che Microsoft dovr fare,
stato dato dal Direttore operativo
Kevin Turner, durante lultima
Worldwide Partner Conference
tenutasi a Washington. Le ragioni
di questa scelta dolorosa sono tutte
da imputarsi al crollo verticale delle
quote di mercato di Microsoft,
che sono passate dal 90% al 14%!
In pratica, il dominatore assoluto
del mercato informatico ha ceduto
lo scettro ad Android, che ha saputo
imporsi nel sempre pi strategico
mercato del mobile. Ma anche Apple

riuscita a sorpassare il concorrente


di sempre. evidente che ora
Microsoft dovr correre ai ripari
e sviluppare nuovi progetti che
sappiano riportarla a livelli accettabili,
se non proprio quelli di un tempo. LXP

il gusto di abbinarlo a Zimbra

004_005_LXP_144_news 5

Zimbra is trademark of Zimbra, Inc.

Informazione a cura di Studio Storti Srl

www.zextras.com - espandi il tuo Zimbra Open Source

22/07/14 12:04

Posta

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

Scriveteci!
Se avete dei dubbi di natura tecnica o dei commenti inviate una e-mail a mailserver@linuxpro.it oppure spedite una lettera al seguente indirizzo:
Linux Pro - Sprea Editori S.p.A., Via Torino 51, 20063Cernusco 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.

SICURO O NON SICURO?

Nel vostro articolo su come battere la NSA avete citato il plug-in


Priveazy Lockdown, lasciando intendere che si trattasse
di unestensione per Firefox/Chrome/Chromium in grado
di aumentare il livello di tutela della privacy del computer.
Ho cercato su Google altre recensioni su questa estensione e sono
stato indirizzato al blog priveazyblog.tumblr.com. Fin qui, tutto
bene. Ho visitato il sito e ho visualizzato il video di presentazione
su YouTube (http://youtu.be/kzwHgQl4uMQ) che illustra in che
modo lestensione dovrebbe facilitare la difesa della privacy.
Quando per ho tentato di visitare il sito di Priveazy (al presunto
indirizzo di www.priveazy.com) per avere ulteriori informazioni,
il browser stato semplicemente reindirizzato a www.amazon.
com... Non esattamente il massimo per unestensione che
dovrebbe difendermi dalla raccolta di informazioni!
Riccardo

Forse lo sviluppatore si dimenticato di rinnovare labbonamento?


Di recente il plug-in non ha subto cambiamenti, il che, alla luce
dei problemi del sito, una buona notizia perch significa che
nessuno ha apportato modifiche al codice originale. Tuttavia, per
prudenza sar meglio disattivarlo finch il problema del sito non sar
stato risolto...

NON SOLO RASPBERRY PI

Ciao, prima di tutto voglio dirvi che adoro la vostra rivista


e aspetto con ansia ogni nuovo numero. Per il vostro
innamoramento per il Pi mi sembra un po eccessivo a questo
punto. Anchio amo la RPI, per la mia domanda : potreste per
favore occuparvi anche di altri mini computer economici?
Ci sono in giro modelli eccellenti a ottimi prezzi!
Alessandro
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 espre sso 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 titologratuito 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.

Hai ragione, Alessandro, siamo spudoratamente invaghiti della


Raspberry Pi; ma questo non significa che non esistano alternative
e senza dubbio esistono anche alternative pi potenti. La potenza,
per, non tutto e una delle cose che ci piacciono della RPI che offre
specifiche standardizzate. Questo pu non essere un elemento molto
importante per molti di noi ma fondamentale nel settore educativo.
La RPI sta facendo faville nellavvicinare i bambini alla programmazione;
e lomogeneit dellhardware essenziale per la sua inclusione nei
programmi scolastici. Apprezziamo molto anche altri mini computer
e in uno dei prossimi numeri pubblicheremo senzaltro un articolo sulle
alternative al Raspberry Pi: hai un motivo in pi per attenderli con ansia!

CHIAVETTE NON COMPATIBILI

Di recente volevo suggerire a mia sorella di usare una chiavetta


per cellulare per la connessione a Internet, dato che al momento
senza casa. Stavo provando le mie chiavette dopo un periodo
piuttosto lungo di inattivit e ho acquistato una seconda SIM card
per collegarla a una chiavetta in pi di cui disponevo. Mi sono
accorto per di non potermi registrare come proprietario della
SIM card, perch con il mio netbook non mi era possibile
visualizzare il messaggio SMS inviato alla mia chiavetta con
lindicazione del PIN da inserire sul sito. Tra laltro, dopo aver
installato varie distribuzioni nel corso degli anni, non dispongo pi
di una copia di Vodafone Mobile Connect (VMC) e a quanto pare
betavine.net non esiste pi. Malgrado un (bel) po di ricerche
su Google, non sono riuscito nemmeno a reperire una copia
di Huawei Mobile Partner versione 16 per Linux; anche quello
passato a miglior vita. Cos, a malincuore, ho dovuto avviare
un computer Windows che tengo in soffitta da sempre solo
per poter visualizzare il PIN inviato tramite SMS! In seguito ho
scoperto unapp chiamata Modem Manager GUI che forse mi
avrebbe permesso di visualizzare lSMS che conteneva il PIN.
In effetti ha ricevuto un SMS che avevo inviato al mio cellulare;
non sembra per offrire linvio di SMS. Cosa ne pensate?
Giovanni

Per noi un po preoccupante che le chiavette per cellulari


abbiano apparentemente iniziato a eliminare il supporto per Linux
(o forse viceversa). Speriamo davvero che i provider di telefonia
cellulare non diano per scontato che la maggior parte della gente sia
in grado di accedere a Internet tramite il cellulare o che utilizzi il cellulare
come hotspot Wi-Fi mobile per collegarsi a Internet dal proprio PC. Non
tutti possiedono smartphone atti allo scopo e la copertura della banda
larga lungi dallessere completa dalle nostre parti, per non parlare
di altre regioni del mondo: sono quindi necessarie modalit alternative
per la connessione a Internet. Potrebbe essere il caso di affrontare
la questione della banda larga mobile con uno spirito nuovo. LXP

Linux pro 144

006_LXP_144_posta 6

22/07/14 16:00

SCIENC
ZE
RICERCA

ANCHE
SU IPAD
ADV_BBC_Science_207x285.indd 1

TECNOLOGIA

ATTUALIT

FUTURO

CORRI IN EDICOLA
21/07/14 14:38

FAQ OpenELEC

Alcune domande su...

OpenELEC

Abbassiamo le luci e prepariamoci un po di popcorn esplorando i dettagli


di questa entusiasmante distribuzione incentrata sui contenuti multimediali
indovinare OpenELEC una specie
D Fammi
di fornitore di energia elettrica Open Source
finanziato mediante crowd-funding? Potremo dire
addio alla bolletta della luce?
No, come al solito sei completamente fuori
strada. OpenELEC sta per Open Embedded Linux
Entertainment Center e non ha nulla a che fare
con lenergia elettrica.

Dunque, che cos esattamente


D Capisco.
OpenELEC?
una distribuzione Linux personalizzata,
R progettata
espressamente per trasformare
qualunque dispositivo su cui viene installata
in un centro multimediale XBMC completo.

lo sentivo che stava per arrivare


D Me
un acronimo! Che cosa significa XBMC?
significava Xbox Media Center;
R Inmaorigine,
prima che cominciate a strapparvi i capelli,
dico subito che non necessaria una console
Microsoft per utilizzarlo. Il riferimento allXbox
contenuto nel nome un residuo delle origini
del software, che risalgono al lontano 2003. Oggi
nessuno usa pi il nome completo e il software
disponibile per ogni sorta di sistema operativo:
c perfino una distribuzione di Linux che si chiama
XBMCbuntu. XBMC un lettore multimediale Open
Source in grado di leggere unampia gamma
di formati e provvisto di uninterfaccia utente
progettata espressamente per limpiego su dispositivi

con schermi di grandi dimensioni, per esempio


i televisori. Lultima versione stabile (la 12), oltre
a sfoggiare un nome in codice (Frodo) che sembra
fatto apposta per conquistare i lettori di Linux Pro,
introduce una funzione PVR per la registrazione
dal vivo dei programmi televisivi.
XBMC mi suona familiare.
D InDoverealt,lhoilginome
sentito?
probabile che nel corso degli ultimi anni
R vi molto
siate imbattuti in XBMC sotto qualche forma.
Grazie alla sua natura gratuita e Open Source, XBMC
stato utilizzato come base per numerosi programmi
e servizi; molte persone lo hanno quindi usato
o hanno usato tecnologie basate su di esso, senza

Linux pro 144

008_009_LXP_144_LXF184.woe 8

22/07/14 01:27

OpenELEC FAQ
nemmeno rendersene conto. Alcune smart TV
e accessori per TV ne utilizzano derivati per
lo streaming multimediale e applicazioni molto diffuse
come Plex, Boxee e ToFu sono basate su XBMC.
cosa ha a che fare esattamente XBMC
D Che
con OpenELEC?
dicevamo, OpenELEC una distribuzione
R Come
di Linux interamente orientata alla riproduzione
di contenuti multimediali. Offre un pacchetto
di strumenti media server che comprende una
versione pre-configurata di XBMC pronta per luso.
Lultima versione di OpenELEC include Frodo
ed quindi in grado di offrire tutti i miglioramenti
e le novit pi recenti di XBMC.
ha effettivamente da offrire Frodo a XBMC
D Cosa
e quindi a OpenELEC?
pi importante della release Frodo
R La ilnovit
supporto PVR, che permette di visualizzare
e registrare in diretta i programmi TV. Per farlo
bastano un dispositivo provvisto di spazio sufficiente
su hard disk e un adattatore TV. Questa soluzione pu
farvi risparmiare una quantit di quattrini, perch vi
evita lacquisto di un costoso videoregistratore digitale.
Frodo inoltre provvisto di una guida elettronica
ai programmi (EPG) che vi consente di scoprire
in modo facile e veloce che cosa c in onda. Frodo
la pi recente versione stabile ma disponibile
anche la seconda release beta della versione 13.
Fino a quando sar in versione beta, Gotham non
verr integrato in OpenELEC; quando verr ultimata
una versione stabile, siamo certi che uscir
un aggiornamento di OpenELEC basato su di essa.

D
R

Quindi, OpenELEC semplicemente XBMC


sotto mentite spoglie?
No, per niente. Come abbiamo detto,
un sistema operativo a s, con una quantit
di aggiunte e strumenti che ne fanno una soluzione
completa per lo streaming e la riproduzione
multimediale. Mentre altre distribuzioni che utilizzano
XBMC, come il gi citato XBMCbuntu, si basano
perlopi su Ubuntu, Debian o Arch, OpenELEC stato
progettato espressamente come lettore multimediale
tanto leggero quanto ricco di funzioni. Ci significa
che pu essere installato e utilizzato su un enorme
numero di dispositivi.
questo un sistema operativo completo,
D Se possibile
usarlo per creare documenti,
controllare la posta elettronica e svolgere altre
attivit non direttamente legate ai contenuti
multimediali?
In buona sostanza, no. OpenELEC si ispira alla
filosofia JeOS (just enough Operating System).
Ci significa che elimina tutto il superfluo allo scopo
di offrire un sistema operativo molto veloce e leggero,
che consuma una quantit minima di risorse
di sistema e pu essere avviato da dispositivi
di archiviazione esterni. OpenELEC si concentra sullo
streaming e sulla riproduzione di contenuti

multimediali, perci comprende solo software


e strumenti legati a tali contenuti. Se effettivamente
OpenELEC non permette di svolgere varie operazioni
quotidiane, a differenza di una distribuzione completa
come Ubuntu, offre per una straordinaria velocit,
il che proprio ci che occorre quando si desidera
guardare un film o ascoltare un po di musica. Inoltre,
sebbene linstallazione base di OpenELEC sia molto
leggera, possibile integrarvi funzioni aggiuntive grazie
a unampia gamma di espansioni prodotte da terzi.

D
R

Che tipo di aggiunte possibile integrare


in OpenELEC?
Come naturale per un progetto Open Source
forte di un seguito entusiasta e intraprendente,
esistono numerose espansioni create da terzi (a livello
sia ufficiale sia non ufficiale) che arricchiscono
ulteriormente le funzioni di OpenELEC. Non che
sia possibile trasformare OpenELEC in un sistema
operativo con tutti i crismi, in grado di rivaleggiare
con Mint o Ubuntu; ma a partire dalle sue basi
leggere potete costruire un server multimediale
su misura, ideale per le vostre esigenze.
Tra le espansioni ufficiali ci sono w_scan, che
introduce il supporto per le trasmissioni digitali ATSC/
DVB-C/S/T e Tvheadend, un server per la TV
in streaming per Linux. Tra quelle non ufficiali figurano
rsync, utilizzato per la sincronizzazione dei file remoti,
xmbc-wiimote, che vi permette di controllare
OpenELEC tramite Nintendo WiiMote e makemkv,
che consente la trasmissione istantanea in streaming
di video decodificati da Blu-ray e DVD.

D
R

Grandioso! Ed facile integrare queste funzioni


in OpenELEC?
Come la maggior parte di ci che riguarda
OpenELEC, linstallazione delle espansioni
straordinariamente semplice. Non dovete fare altro
che aprire lAdd-on Manager, accessibile tramite
il menu Settings, selezionando quindi Add-ons D
Get add-ons. Scegliete quindi OpenELEC
Mediacenter OS Add-ons. Da qui selezionate
lespansione desiderata, cliccare su Install ed ecco
fatto: lespansione verr installata in OpenELEC.
proprio facilissimo. Anche il resto
D Sembra
di OpenELEC cos facile da usare?
OpenELEC basato su Linux
R S,madecisamente.
a vederlo non si direbbe: la sua interfaccia
utente stata progettata espressamente per essere
utilizzata comodamente da un divano. Utilizzandolo
non vi capiter mai di vedere il terminale o un sistema
di gestione dei pacchetti. Certo, per i lettori di questa
pregevole rivista gli aspetti pi complessi di Linux
non rappresentano un problema; ma il punto
che OpenELEC pu essere utilizzato facilmente
da qualsiasi utente, a prescindere dalle sue
conoscenze e competenze relative al sistema
operativo Linux.
chiaro. E che tipo di dispositivo occorre
D Molto
per installare OpenELEC?

pu funzionare su unampia gamma


R OpenELEC
di dispositivi hardware e grazie alla sua
leggerezza non richiede nemmeno molta potenza.
La versione base compatibile con qualunque
dispositivo x86 provvisto di processore Pentium 4
o successivo. Si tratta di requisiti estremamente limitati
(il Pentium 4 in circolazione dal 2000 circa);
esistono comunque alcune versioni speciali
di OpenELEC fatte su misura per specifici dispositivi.
che tipo di dispositivi stiamo quindi
D Diparlando
in questo caso?
Sono certo che molti lettori saranno lieti
R di apprendere che esiste una versione per
Raspberry Pi specificamente ottimizzata per questo
microcomputer. Esistono inoltre versioni speciali per
PC compatti e in miniatura provvisti di processori Intel
Atom e processori grafici Nvidia ION, per computer
che utilizzano processori grafici integrati Intel,
per sistemi con processori grafici AMD Fusion
e perfino per Apple TV.
vorrebbe una bella guida online a cui fare
D Ciriferimento
per la procedura di installazione
Sei fortunato: allindirizzo http://bit.ly/
R OpenELECinstall troverai una wiki dettagliata
che ti guider nellinstallazione di OpenELEC su un PC
standard. Esistono inoltre guide dedicate a specifiche
configurazioni hardware e perfino suggerimenti per
linstallazione di OpenELEC come virtual machine
in Vmware o VirtualBox.
vedo lora di integrare OpenELEC nel mio
D Non
sistema home theatre. Da dove si scarica?
collegarsi a http://openelec.tv/getR Basta
openelec per scaricare la pi recente versione
stabile. Questa pagina contiene collegamenti
a tutte le versioni per i diversi dispositivi. Alla pagina
http://openelec.tv/news si trovano invece
aggiornamenti sulle nuove funzioni e, per i pi
coraggiosi, collegamenti alle pi recenti release
beta di OpenELEC.
C altro che possa aiutarci
D Eccezionale.
con linstallazione?
realt pu darsi che linstallazione non sia
R Innemmeno
necessaria. Alcuni negozi online come
www.mediahd.fr e www.cinestation.de
distribuiscono computer con OpenELEC pre-installato
e configurato. Si tratta di dispositivi basati
su tecnologie di case produttrici prestigiose come
ASRock e Zotac.
molto bello. possibile collaborare
D altutto
progetto OpenELEC?
possibile contribuire al progetto con
R Certo.
una donazione sul sito http://openelec.tv
e chi interessato pu collaborare al suo sviluppo
su GitHub. Potete inoltre partecipare ai forum dedicati
a OpenELEC su http://openelec.tv/forum e seguire
su Twitter il team di OpenELEC su https://twitter.
com/openelec. LXP
Linux pro 144

008_009_LXP_144_LXF184.woe 9

22/07/14 01:27

Speciale Monitoraggio

Controllo totale
sulla vostra rete
Con i tool giusti, potete mettere in sicurezza
la vostra rete e proteggervi da incidenti e hacker.
Ecco come fare

Lautore
Maurizio Russo
Laureato in
Informatica
presso
lUniversit
La Sapienza
di Roma,
con una tesi
sperimentale
sullo stack TCP/
IP del kernel
Linux, un
utente del
pinguino dal
2001. Nella
sua carriera
si occupato
di formazione,
sicurezza,
networking,
progettazione
e sviluppo
di software.

10

iviamo in un mondo fortemente orientato alle reti:


dai telefoni alle televisioni, dalle console alle
telecamere fino agli elettrodomestici, ogni oggetto
moderno pensato in unottica di interconnessione,
affinch possa entrare in rete con gli altri. Lavvento della
domotica, di tablet e di smartphone ha esteso a dismisura
il concetto di network, fino a renderlo quasi indipendente
dallambito informatico in cui nato: spesso nelle nostre case
le reti sono costituite principalmente da dispositivi intelligenti,
piuttosto che da computer o altre apparecchiature tradizionali
appartenenti al mondo IT. In un mondo cos intimamente legato
al concetto di connessione, tuttavia, sfugge ai pi un aspetto
tipicamente informatico delle network: quello del monitoraggio
degli apparati interconnessi, indispensabile tanto nelle reti
enterprise che in ambiente SOHO (acronimo di Small Office/
Home Office). Monitorare lo stato della rete, infatti, significa
verificarne costantemente la piena funzionalit, rilevando
tempestivamente le fonti di anomalie e malfunzionamenti:
quante volte ci capitato di perdere tempo nel vano tentativo
di risolvere un problema di connettivit attribuito a un
particolare dispositivo, per poi scoprire altrove la vera causa
del contrattempo? In questo numero e nel prossimo
affronteremo proprio il tema del monitoraggio delle reti,
analizzando dapprima una soluzione da sviluppare ad hoc,
mediante pagine PHP in grado di interagire con il celeberrimo
nmap (non a caso uno dei tool pi utilizzati nei campi della
sicurezza e delle reti), per poi approdare a un prodotto
pi professionale, in grado di coniugare potenza e flessibilit
con i principi del Software Libero.

La piattaforma di sviluppo
Prima di addentrarci nellargomento, tuttavia, necessario disporre
di una piattaforma collegata alla rete da sottoporre a monitoraggio,
sulla quale ospitare lo sviluppo e lesecuzione del codice PHP.
Per ottimizzare laspetto formativo di questa serie di articoli,
supponiamo che tale rete (che simuleremo, nel prosieguo, mediante
il ricorso al software di virtualizzazione denominato Virtualbox)
presenti la topologia rappresentata in Fig. 1 qui in basso, risultando
in tal modo segmentata in due diverse subnet:
La subnet indicata in notazione CIDR (Classless Inter-Domain
Routing) come 192.168.1.0/24, che comprende la postazione
di monitoraggio (indicata come workstation e coincidente, come
vedremo nel prossimo paragrafo, con la macchina fisica)
e la macchina denominata NAS;
La subnet 192.168.2.0/24, a cui risultano attestati la postazione
di monitoraggio e la macchina denominata router;
La subnet 192.168.3.0/24, sulla quale lavorano i server.

Linux pro 144

010_019_LXP_144_monitoraggio 10

22/07/14 12:27

Speciale Monitoraggio
Prima di poter sottoporre a monitoraggio la rete appena descritta,
tuttavia, necessario installare innanzitutto lo stack LAMP (Linux
Apache MySQL e PHP) sulla quale sviluppare la nostra applicazione;
a tal fine, supponendo di utilizzare una distribuzione debian-based
(Ubuntu, per esempio, oppure una qualsiasi sua derivata come
Xubuntu), apriamo una shell, acquisiamo i privilegi di root (comando
sudo su) ed eseguiamo le seguenti operazioni:
1 Installazione del server Web Apache: da shell, sufficiente digitare
il comando
apt-get install apache2
2 Verifica della corretta installazione di Apache: aperto il browser,
occorre digitare sulla barra degli indirizzi lURL http://127.0.0.1
per verificare la raggiungibilit della pagina di default del server
(in Fig.2 riportata la pagina di default presentata in Xubuntu 14.04;
nelle altre distribuzioni laspetto potrebbe variare pur mantenendo,
tuttavia, il tradizionale messaggio It Works! che da anni
contraddistingue le installazioni di Apache coronate da successo);
3 Creazione della directory public_html: per comodit, procediamo
alla creazione, allinterno della home dellutente corrente, di una
sottodirectory denominata public_html, ove ospitare le pagine PHP.
Questa operazione pu essere effettuata da GUI, ricorrendo al file
manager installato sul sistema, oppure aprendo una nuova shell
( importante utilizzare una seconda shell, giacch in quella sin qui
adoperata abbiamo assunto i privilegi di root) e digitando il comando
mkdir public_html
4 Abilitazione della directory public_html: opportunamente
configurata, la directory public_html consente di creare una document
root alternativa per le pagine Web ospitate da Apache: in aggiunta
alla document root del server (contenente, al momento, la pagina
in Fig.2 e posta, generalmente, in /var/httpd/www), viene creata
una document root di utente, raggiungibile allURL
http://127.0.0.1/~nomeutente (per esempio, http://127.0.0.1/~garrick/
per la directory public_html posta allinterno dellhome dellutente
garrick). Per motivi di sicurezza, tuttavia, il ricorso alla directory public_
html deve essere permesso esplicitamente dallamministratore
di sistema, mediante labilitazione del modulo di Apache denominato
userdir: a tal fine digitiamo, dalla shell con privilegi di root, il comando
a2enmod userdir
per poi procedere al riavvio del server Web mediante il comando
service apache2 restart
5 Verifica dellavvenuta abilitazione di public_html: dal browser,
digitiamo lindirizzo http://127.0.0.1/~nomeutente per verificare
la raggiungibilit della directory public_html: vista lassenza di una
pagina index nella directory, apparir, per effetto della configurazione
di base di Apache, una pagina che mostra i contenuti della stessa
directory (Fig.3);

Fig.2 La pagina di default del server Web Apache


visualizzata sui sistemi Ubuntu e derivati

Fig.3 Ecco
la prova
dellavvenuta
abilitazione della
document root

6 Installazione di PHP: linstallazione base di Apache non prevede


la presenza dei moduli che consentono al server Web la gestione
e linterpretazione della pagine PHP. Per ovviare a questo
inconveniente, sufficiente digitare il comando:
apt-get install libapache2-mod-php5
7 Configurazione di PHP: terminata linstallazione, necessario aprire
il file di configurazione del modulo PHP5 (/etc/apache2/modsavailable/php5.conf) con il comando
vi /etc/apache2/mods-available/php5.conf
e commentare le righe comprese tra i tag <IfModule mod_userdir.
c> e </IfModule> (la Fig.4 mostra il contenuto del file
di configurazione dopo la modifica sopra indicata) al fine di garantirci
la possibilit (non prevista nella configurazione di default per motivi
di sicurezza) di eseguire script PHP allinterno della directory public_
html. Possiamo quindi riavviare nuovamente Apache per rendere
effettive le modifiche:
service apache2 restart
8 Installazione di MySQL: allo stato, linstallazione della piattaforma
LAMP quasi completa. Alla distribuzione GNU/Linux preesistente
abbiamo aggiunto, negli step precedenti, Apache e PHP. Allappello
manca il solo MySQL: per procedere alla sua aggiunta, ricorriamo
al comando
apt-get install mysql-server
avendo cura, quando richiesto dallinstaller, di fornire (e annotare,
in quanto ci servir nel prosieguo) la password dellutente
amministratore del db (denominato anchesso root);
9 Installazione di phpMyAdmin: la versione di MySQL appena installata
presenta unarchitettura client-server, con un Database Server
accessibile dalla stessa macchina locale (o da una remota) attraverso
lapposito client a riga di comando. Questultimo, nonostante sia
perfettamente in grado di svolgere tutte le operazioni a noi richieste
per la creazione e lamministrazione del piccolo database su cui
pogger la Web application, pu risultare ai neofiti un po ostico,

Fig.4 Il file php5.conf dopo le modifiche necessarie


a consentire lesecuzione di codice PHP dalla directory
public_html

Linux pro 144

010_019_LXP_144_monitoraggio 11

11

22/07/14 12:27

Speciale Monitoraggio
Fig.5 Nel corso
dellinstallazione
di MySQL viene
visualizzata questa
schermata,
per la selezione
del server Web
con cui il DBMS
dovr integrarsi

in quanto richiede un certo grado di conoscenza del DBMS e del


linguaggio SQL. Per semplificare, e consentire di focalizzare la nostra
attenzione sul monitoraggio vero e proprio piuttosto che sugli elementi
di contorno, preferibile ricorrere a una applicazione ad hoc come
phpMyAdmin, che offre una GUI semplice e intuitiva attraverso
la quale gestire il database. Per installare phpMyAdmin, sufficiente
digitare il comando
apt-get install phpMyAdmin
avendo cura, in prima battuta, di scegliere apache2 nellapposita
schermata (Fig.5) di selezione del server Web con cui lapplicazione
dovr integrarsi, per poi optare per la configurazione automatica
attraverso dbconfig-common. In questa sede, sar richiesta
limmissione della password dellutente root di MySQL,
precedentemente stabilita, nonch la scelta della password utilizzata
per registrare phpMyAdmin sul server MySQL.

Il database di back-end
Terminata linstallazione della piattaforma di sviluppo (operazione
che, nonostante la relativa onerosit in termini di tempo e di pazienza,
ha il vantaggio di dover essere eseguita una sola volta nella vita di una
macchina LAMP, indipendentemente dal numero di Web application
sviluppate), possiamo finalmente dedicarci alla nostra applicazione.
Il primo passo da compiere consiste nella progettazione, creazione,
e popolamento del database di monitoraggio, nel quale andremo
a convogliare tutte le informazioni inerenti:
la classificazione dei dispositivi oggetto di monitoraggio (client,
server, router, ecc.);
gli indirizzi IP e gli estremi di identificazione delle macchine
da monitorare.
Sulla base di questa descrizione, e del modello concettuale
derivante (in Fig.6, la rappresentazione grafica del modello
concettuale, mediante schema Entit/Relazione), il nostro
database sar costituito da due tabelle:
una tabella denominata categoria, cui spetter il compito
di classificare i dispositivi presenti sulla rete (ogni apparecchiatura

Fig.6 Questo lo schema completo di Entit/Relazione del database su cui


si appoggia la nostra Web application

Fig.7 La creazione della tabella categoria tramite phpMyAdmin

connessa, infatti, dovr appartenere a una delle categorie


elencate in questa tabella);
una tabella denominata apparato, in cui inseriremo i dati di tutti
gli apparati della rete oggetto di monitoraggio.
Grazie al database cos definito, la nostra applicazione potr tracciare
gli indirizzi IP di ogni apparecchiatura della rete, conservandone
al contempo una breve descrizione, utile alloperatore per identificare
velocemente il dispositivo oggetto di avaria: lidea alla base della nostra
Web application, infatti, quella di verificare a intervalli periodici
leffettiva raggiungibilit degli apparati oggetto di monitoraggio,
mostrando poi lindirizzo IP e la descrizione dei dispositivi
che risultassero non connessi alla rete. Affinch ci sia possibile,
necessario innanzitutto procedere alla creazione del database,
attraverso linterfaccia grafica offerta da phpMyAdmin: avviato
il browser, visualizziamo la pagina corrispondente allURL
http://127.0.0.1/phpMyAdmin, quindi inseriamo username (root)
e password precedentemente impostate per laccesso a MySQL.
La creazione del database si effettua con pochi click: sufficiente
selezionare la scheda database, quindi inserire il nome del db
da creare (monitoraggio, nel nostro caso) e premere il pulsante Crea.
Impostato il database, tempo di definirne le tabelle: selezioniamo
il database monitoraggio e inseriamo, nel riquadro denominato non
a caso Crea tabella (Fig.7), il nome (categoria) e il numero di campi

Fig.8 La maschera di configurazione dei campi della tabella


categoria

Usare il comando Nmap


Il comando nmap uno dei pi diffusi (e potenti)
port scanner disponibili in ambiente GNU/Linux.
In grado di scansionare tanto intere network
quanto singoli host, si presta a una molteplicit
di impieghi, tra i quali possiamo citare:
Lindividuazione dei servizi offerti da un host;
Il fingerprint del sistema operativo di un host
remoto (ovvero lindividuazione del sistema

12

operativo installato sul computer);



La rilevazione della presenza di un firewall
posto a protezione dei sistemi scansionati;
Lindividuazione degli host disponibili
su una rete.
Per quanto attiene, in particolare, questultima
funzionalit, nmap dispone di unapposita opzione
(-sP), utilizzabile per la determinazione:

Delleffettiva raggiungibilit di un insieme


di host identificati mediante lindirizzo IP:
# nmap -sP 192.168.1.1 192.168.1.2
192.168.1.3
Del numero e degli indirizzi IP raggiungibili
in una data rete, identificata mediante
la semplice notazione CIDR:
# nmap -sP 192.168.1.0/24

Linux pro 144

010_019_LXP_144_monitoraggio 12

22/07/14 12:27

Speciale Monitoraggio

Fig.9 Ecco come si presenta la maschera di configurazione


dei campi della tabella apparati

Fig.11 Ecco i contenuti della tabella categoria a seguito degli


inserimenti effettuati nella fase di popolamento del database

(2, come da schema E/R in Fig.6). Dopo aver premuto il tasto Esegui
apparir la maschera di configurazione dei campi della tabella,
contenente per lappunto due righe ove dovremo inserire (Fig.8)
le medesime informazioni riportate nel gi citato schema E/R:
nella prima riga, inseriamo come nome id_categoria e come tipo
INT, avendo cura di flaggare il campo A_I per ottenere lincremento
automatico, a cura dello stesso DBMS, del valore dellid, che costituisce
la chiave primaria della tabella;
nella seconda riga, inseriamo come nome descrizione_categoria,
come tipo Varchar e come lunghezza 50.
Un click sul pulsante Esegui terminer loperazione di immissione
dei dati, determinando la creazione della tabella richiesta. La creazione
della seconda tabella, denominata apparato, richiede
un procedimento analogo, basato sullimmissione, nella maschera
dedicata alla definizione dei campi, delle seguenti stringhe (Fig.9):
prima riga: nome id_apparato, tipo INT, campo A_I selezionato;
seconda riga: nome id_categoria, tipo INT;
terza riga: nome ip_apparato, tipo Varchar, lunghezza 16;
quarta riga: nome descrizione_apparato, tipo Varchar, l. 200.
Un osservatore attento ma superficiale potrebbe rilevare unincongruit
sul secondo campo (id_categoria), in quanto assente nello schema
E/R di riferimento: il modello concettuale (Fig.6), infatti, mostra per
la tabella solo tre attributi, a fronte dei quattro appena inseriti.
Lattributo in questione, tuttavia, viene derivato proprio dallo schema
E/R, in quanto rappresenta la concretizzazione del legame (detto
associazione) tra le due entit (le tabelle) di riferimento: attraverso
linserimento, nella tabella apparato, del campo id_categoria
(corrispondente, non a caso, alla chiave primaria della tabella
categoria), si tiene traccia univocamente della relazione tra ogni
apparato e la categoria di riferimento. Chiarito lapparente equivoco,
possiamo dedicarci allultimo compito propedeutico alla realizzazione

della nostra Web application: il popolamento del database, da eseguire


(in considerazione dellassociazione appena trattata tra le due entit)
a partire dalla tabella categoria. Dallosservazione dello schema di rete
in Fig.1, appare chiara la necessit di inserire ben quattro gruppi
allinterno della tabella, corrispondenti alle categorie:
workstation;
NAS;
router;
server.
Cliccando sul nome della tabella dinteresse, e selezionando il pulsante
Inserisci posto in alto alla pagina, possibile procedere allinserimento
delle prime due categorie. Prima di confermare loperazione, mediante
un click sul pulsante Esegui, bene verificare che i due menu a
tendina posti alla stessa altezza del pulsante presentino i valori Inserisci
come nuova riga e Inserisci un nuovo record (Fig.10): in questo
modo, phpMyAdmin provveder alla scrittura dei record nella tabella,
presentando al termine delloperazione la maschera per linserimento
delle due rimanenti categorie (router e server). Si noti, in particolare,
lutilit del flag Autoincrement, selezionato allatto della creazione della
tabella per il campo id_categoria, che ci esonera dalla necessit
di specificare un valore (assegnato automaticamente dal DBMS)
in sede di inserimento del record. Esaurite le categorie, passiamo alla
tabella apparato: sebbene linserimento segua le medesime modalit,
in questo caso necessario specificare il valore di un numero
maggiore di campi per ogni record. La presenza nello schema della
tabella del campo id_categoria, inoltre, ci obbliga a tener traccia delle
categorie appena inserite, e degli id assegnati a ciascuna di esse
direttamente dal DBMS: a tal fine, opportuno dare unocchiata
ai contenuti della tabella categoria (Fig.11), mediante un click
sullomonima voce del menu posto nella parte sinistra dellinterfaccia
di phpMyAdmin. Cliccando quindi sul nome della tabella apparato,
e selezionando pi volte il link Inserisci, finalmente possibile
procedere allinserimento:
primo apparato (la workstation mostrata nello schema in Fig.1):
campo id_apparato vuoto, campo id_categoria pari a 1, ip_apparato
192.168.2.3, descrizione Il mio PC;
secondo apparato (indicato comr NAS nello schema in Fig.1):
campo id_apparato vuoto, campo id_categoria pari a 2, ip_apparato
192.168.1.100, descrizione NAS della rete;
terzo apparato (lunico router presente nello schema in Fig.1):
campo id_apparato vuoto, campo id_categoria pari a 3, ip_apparato
192.168.2.1, descrizione router della rete;
quarto apparato (il server denominato serverA in Fig.1): campo id_
apparato vuoto, campo id_categoria pari a 4, ip_apparato
192.168.3.101, descrizione file server;
quinto apparato (serverB): campo id_apparato vuoto, campo
id_categoria pari a 4, ip_apparato 192.168.3.100, descrizione

Fig.10 Dopo aver completato linserimento delle prime due


categorie nel database, occorre verificare, che i due menu
a tendina posti in prossimit del pulsante Esegui presentino
i valori Inserisci come nuova riga e Inserisci un nuovo record

Linux pro 144

010_019_LXP_144_monitoraggio 13

13

22/07/14 12:27

Speciale Monitoraggio

Fig.12 La tabella Apparati, visualizzata dopo gli inserimenti


effettuati nella fase di popolamento del database

mail server.Al termine delle operazioni saremo ricompensati dalla


visione dei contenuti della tabella apparato, finalmente coerenti
con lo schema della rete da monitorare (Fig.12).

Il codice PHP
Popolato adeguatamente il database, possiamo finalmente dedicarci
alla scrittura del codice PHP. Con un editor di testo (anche il semplice
gedit pu bastare) creiamo un file denominato monitoraggio.php,
da salvare allinterno della cartella public_html. Questo file costituir
la pagina principale della nostra applicazione di monitoraggio, a cui
spetter il compito di presentare un vero e proprio cockpit operativo
recante una panoramica completa dello stato della rete. La logica
di funzionamento della pagina, peraltro gi delineata nel precedente
paragrafo, basata sui seguenti step:
1 Interrogazione del database, tesa a conoscere lelenco delle
categorie presenti nella rete e, per ognuna di esse, il numero
e gli indirizzi IP dei relativi apparati;
2 Esecuzione di un ping multiplo, su tutti gli indirizzi IP degli apparati
della rete, mediante il tool nmap (vedi il box omonimo);
3 Analisi dei risultati di nmap, al fine di verificare quali indirizzi IP
risultino raggiungibili per ogni categoria definita nel db;
4 Presentazione allutente di una schermata di sintesi, con una tabella
che mostri graficamente lo stato di ciascuna categoria (ovvero che
mostri un allarme qualora non tutti gli apparati della categoria risultino
raggiungibili), lasciando a una seconda pagina PHP il compito
di elencare quali siano gli apparati in avaria.
Le macrocomponenti sopra descritte si traducono nel seguente codice:
1 Interrogazione del database: linterrogazione del database comporta
lesecuzione di una pluralit di operazioni, a partire dalla connessione al
DBMS, la selezione del database di monitoraggio e lesecuzione della
query SQL per ottenere lelenco delle categorie inserite nel DB:
/* 1. Connessione al DBMS */
$db= mysql_connect(127.0.0.1,root,password) or die(Errore:
impossibile connettersi al server MySql!);
/* 2. Selezione del database di monitoraggio */
mysql_select_db(monitoraggio) or die(Errore: impossibile accedere
al database di monitoraggio!);
/* 3. esecuzione della query per conoscere le categorie inserite nel db
*/
$query=SELECT * from categoria;
$categorie=mysql_query($query,$db) or die(Errore: impossibile
eseguire query sul db!);
Per ogni categoria quindi necessario recuperare tutte le informazioni
(in particolare, indirizzo IP e descrizione) relative a tutti gli apparati
di appartenenza: interrogato il database mediante unapposita query
SQL, conserveremo le informazioni acquisite allinterno di appositi
array, in grado di assicurarci limmediata disponibilit dei dati necessari

14

alla presentazione dei risultati di monitoraggio. In particolare, nel


vettore $nomeCat saranno salvati i nomi delle categorie, nel vettore
$idCat i relativi id, mentre $descApparatiCat e $ipApparatiCat
conterranno, rispettivamente, linsieme delle descrizioni e degli IP
di tutti gli apparati di ciascuna categoria. Si noti come, dalla descrizione
di questi ultimi array, ne emerga chiaramente la natura bidimensionale:
ciascun elemento, infatti, corrisponde allinsieme delle descrizioni
(o degli IP) di tutti gli apparati di una certa categoria. Al contrario
di $nomeCat e $idCat, in cui ogni elemento un singolo valore
(il nome di una certa categoria o il suo id), $descApparatiCat
e $ipApparatiCat contengono, per ciascuna categoria, un elemento
che coincide con larray delle descrizioni (o degli IP) di tutti gli apparati
della categoria in questione. In merito agli IP, inoltre, necessaria
unulteriore precisazione: per lesecuzione di ping multipli nmap (come
visto nel gi citato box Usare il comando NMAP) richiede tanti
argomenti aggiuntivi quanti sono gli indirizzi IP da verificare; al fine
di semplificare linvocazione di questo tool, pertanto, opportuno
conservare in unapposita stringa ($ipCatString) lelenco di tutti
gli indirizzi IP degli apparati della rete, opportunamente separati
gli uni dagli altri mediante il ricorso a uno spazio.
/* 4. inizializziamo gli array che conterranno, rispettivamente: i nomi
delle categorie ($nomeCat), gli id associati a ciascuna categoria
($idCat), le righe estratte dal db e relative agli apparati appartenenti
alla categoria ($apparatiCat), il numero di apparati della categoria
($numApparatiCat), il vettore contenente tutti gli IP degli apparati della
categoria ($ipApparatiCat) e la stringa contenente i medesimi IP
($ipCatString) */
$nomeCat=array();
$idCat=array();
$descApparatiCat=array();
$numApparatiCat=array();
$ipApparatiCat=array();
$ipCatString=;
/* 5. per ogni categoria...*/
for($i=0; $i<$numCategorie; $i++)
{

/* ... estraiamo una riga restituita dalla query precedente... */

$unaCategoria= mysql_fetch_assoc($categorie);

/*... alimentiamo di conseguenza gli array $nomeCat e
$idCat ...*/
$idCat[$i]=$unaCategoria[id_categoria];
$nomeCat[$i]=$unaCategoria[nome_categoria];

/*...otteniamo, attraverso una seconda query sul db, il
numero e la lista degli ip degli apparati di ogni categoria...*/

$query = SELECT ip_apparato, descrizione_apparato
FROM apparato WHERE id_categoria=.$idCat[$i];

$apparati=mysql_query($query,$db) or die(Errore:
impossibile eseguire query sul db!);

/*...conteggio del numero di apparati inseriti nella categoria
corrente ... */
$numApparatiCat[$i]=mysql_num_rows($apparati);

/*... se non ci sono apparati, inutile proseguire...*/

if ($numApparatiCat[$i]>0)
{

/* Per ogni apparato della categoria, aggiorniamo
opportunamente i vettori $descApparatiCat, $ipApparatiCat, nonch
la stringa ipCatString necessaria a completare il comando nmap */
$descrizione=array();
$ip=array();
for($j=0;$j<$numApparatiCat[$i];$j++)
{

Linux pro 144

010_019_LXP_144_monitoraggio 14

22/07/14 12:27

Speciale Monitoraggio

/* ... estraiamo una riga restituita dalla query precedente
e salviamone i contenuti... */

$unApparato= mysql_fetch_assoc($apparati);
$ip[$j]=$unApparato[ip_apparato];
$descrizione[$j]=$unApparato[descrizione_apparato];
$ipCatString.=$ip[$j]. ;
}
$descApparatiCat[$i]=$descrizione;

$ipApparatiCat[$i]=$ip;
}
}
2 Esecuzione del ping su tutti gli apparati di rete: grazie al lavoro svolto
nel punto precedente, lesecuzione del ping si esaurisce
nellinvocazione di nmap (mediante la funzione PHP shell_exec(),
che ritorna una stringa contenente loutput del comando di shell
eseguito) con lopzione corretta (-sP) e al contestuale passaggio, come
argomento, della stringa $ipCatString:
/* 6. avviamo nmap, passandogli gli indirizzi IP racconti in $ipCatString*/
$cmd=nmap -sP .$ipCatString;
$nmap=shell_exec($cmd);
3 Analisi dei risultati di nmap: invocato con lopzione -sP seguita
da un elenco di indirizzi IP, nmap restituisce un output analogo a quello
raffigurato in Fig.13, in cui sono riportati gli indirizzi IP dei soli host
risultati raggiungibili. Possiamo sfruttare questa peculiarit per
semplificare lanalisi dei ping: per ciascuna categoria, sar controllato
larray $ipApparatiCat, per consentire la ricerca di ogni indirizzo IP
allinterno delloutput di nmap. Tale ricerca pu essere condotta
in modo semplice ed efficace mediante il ricorso alla funzione PHP
strpos() che, prese come argomenti due stringhe, restituisce il valore
false se non presente alcuna occorrenza della seconda stringa
allinterno della prima: anche in questo caso provvederemo, per
semplicit, a conservare in appositi vettori, per ciascuna categoria,
il numero di apparati risultati non connessi alla rete ($numInattivi)
e le stringhe ottenute a partire da tutti gli IP di tali apparati ($inattivi)
e dalle relative descrizioni ($descInattivi). In entrambe le stringhe,
ogni elemento (singolo indirizzo IP / singola descrizione) distinto
dallaltro mediante il ricorso al separatore ; (punto e virgola):
/* 7. analizziamo i risultati di nmap cercando, per ogni categoria, quanti
IP sono presenti nelloutput di nmap (e pertanto raggiungibili con ping)
e quanti invece non lo sono */
$inattivi=array();
$numInattivi=array();
$descInattivi=array();
/* per ogni categoria...*/
for($i=0; $i<$numCategorie; $i++)
{

Fig.13
Un esempio
delloutput
restituito da nmap
quando questo
invocato con
lopzione -sP


/* ...carichiamo in $ip larray contenente tutti gli apparati
della categoria corrente...*/
$ip=$ipApparatiCat[$i];
$desc=$descApparatiCat[$i];

/*...inizializziamo a zero il numero di apparati della categoria

che sono irraggiungibili...*/
$down=0;

/*...inizializziamo, con una stringa vuota, la variabile
contenente la stringa degli IP irraggiungibili per la categoria corrente
($downString) e la relativa descrizione ($downDesc)...*/
$downString=;
$downDesc=;

/*...per ogni indirizzo IP di ogni apparato della categoria...*/
for($j=0;$j<$numApparatiCat[$i];$j++)
{
/*...loutput di nmap contiene un a capo newline, ovvero il carattere 10
del codice ASCII, rappresentato con la sequenza di escape \n) dopo
ogni indirizzo IP rilevato: viene quindi aggiunto il suddetto carattere
al termine dellIP corrente per evitare falsi positivi (es. 192.168.1.1
rilevato erroneamente a causa della presenza, nelloutput di nmap,
del solo 192.168.1.112)...*/
$IPdaCercare=$ip[$j].\n;

#echo cerco .$IPdaCercare.\r\n;

/*... viene ricercato lIP nelloutput di nmap ...*/
if(strpos($nmap,$IPdaCercare)===false)
{
/*...se strpos restituisce false, lIP non presente nelloutput di nmap,
ed quindi relativo a un apparato inattivo...*/
$downString.=$ip[$j].;;
$downDesc.=$desc[$j].;;
$down++;
}
}

PHP: GET e POST


Il protocollo HTTP un protocollo di tipo client/
server, in cui il server fornisce una determinata
risposta (per esempio, il contenuto di una pagina
Web) a seguito di specifica richiesta del client.
Il formato della richiesta e della relativa risposta sono
disciplinate dal documento RFC (Request For
Comment) di riferimento (il numero 2616 per
lultima versione del protocollo, la 1.1) che prevede
la possibilit, da parte del client, di effettuare
un certo insieme di richieste, mediante linvocazione
di appositi metodi. Tra questi ultimi, i pi diffusi sono
senzaltro il metodo GET e il metodo POST: sebbene

nati per scopi distinti, sono sostanzialmente


intercambiabili quando adoperati al solo scopo
di determinare il download di una risorsa residente
sul server e presentano apprezzabili differenze solo
se impiegati nellambito del passaggio di parametri
da una pagina Web allaltra. Il metodo GET prevede
di accodare tali parametri allURL della pagina.
Per esempio, la richiesta GET http://prova.php?par
ametro1=100&paremetro2=900 richiede al
server Web la visualizzazione della pagina prova.php
e il contestuale passaggio a questultima di due
parametri, denominati parametro1 e parametro2,

a cui sono assegnati, rispettivamente, i valori 100


e 900. Il metodo POST invece chiede linvio
e la valorizzazione allinterno del corpo della richiesta
HTTP (e quindi in una modalit di fatto invisibile
allutente, a meno di utilizzare tool appositi). Ogni
pagina PHP pu accedere ai propri parametri GET
e POST attraverso gli array associativi $_GET[] e $_
POST[]: riprendendo lesempio precedente, laccesso
della pagina prova.php ai due parametri denominati
parametro1 e parametro2 avverr grazie agli
elementi $_GET[parametro1] e $_
GET[parametro2] dellarray associativo $_GET[].

Linux pro 144

010_019_LXP_144_monitoraggio 15

15

22/07/14 12:27

Speciale Monitoraggio
/*...aggiorniamo larray degli IP inattivi e del numero di IP inattivi ...*/
$inattivi[$i]=$downString;
$descInattivi[$i]=$downDesc;
$numInattivi[$i]=$down;

/*... stampiamo a video le informazioni ottenute ...*/
}
interessante soffermarci, in particolare, sullutilizzo della gi citata
funzione strpos(): in particolare, listruzione di selezione
if(strpos($nmap,$IPdaCercare)===false)
fa uso delloperatore di comparazione === in luogo del pi semplice
(e pi utilizzato) ==. PHP, infatti, non richiede al programmatore
di dichiarare in anticipo (al contrario di linguaggi come il C o il Java)
il tipo di ciascuna variabile, e opera automaticamente la conversione
delle variabili da un tipo allaltro, a seconda del contenuto delle stesse.
Per quanto questa caratteristica possa apparire comoda, presenta
allo stesso tempo alcuni effetti collaterali poco piacevoli, uno dei quali
pu essere rilevato proprio allatto dellutilizzo di strpos(). In caso di
successo (ovvero se s2, la stringa passata come secondo argomento,
risulta effettivamente presente allinterno della stringa s1 fornita come
primo argomento), questa funzione restituisce la posizione della prima
occorrenza di s2 in s1: poich, tuttavia, le posizioni vengono misurate
come offset dallinizio della stringa (ovvero possono assumere, in una
stringa di n caratteri, i valori compresi tra 0 e n-1), cosa succede
se la stringa cercata costituisce un prefisso dellaltra, ovvero
se presente allinizio della prima stringa? In questo caso, ovviamente,
strpos() restituir il valore 0 che, se confrontato con il valore false
senza adoperare gli opportuni accorgimenti, pu dare adito a errate
valutazioni: nella conversione automatica operata da PHP, infatti, i
due valori, pur differendo nel tipo (in quanto costituiti da un intero
e un booleano), andrebbero a coincidere. questo il motivo che
rende necessario il ricorso alloperatore ===, il quale considera
la comparazione vera solo se i due operandi coincidono sia per
valore sia per tipo: in questa maniera non si corre il rischio di
scambiare il valore di ritorno 0 (che, nel nostro caso, identifica una
stringa non dinteresse, in quanto relativa a un indirizzo IP compreso
nelloutput di nmap, e pertanto connesso alla rete) con false
(restituito solo in presenza di un apparato risultato non collegato alla
rete, e pertanto da segnalare).
4 Presentazione della schermata di sintesi: terminati i tre step
precedenti disponiamo, negli appositi vettori, di tutte le informazioni
necessarie alla stampa a video dei risultati del monitoraggio condotto
tramite nmap. A tal fine, avvalendoci di un codice misto HTML/PHP,
possiamo creare una tabella che, per ogni categoria registrata
nel database, mostri il numero di apparati inattivi, accompagnandolo
con un segnale visivo (nello specifico un semaforo) di immediata
comprensione: una luce verde indicher che, per la categoria
in oggetto, non stata rilevata alcuna anomalia; viceversa una luce
Fig.14
La schermata
di creazione,
in ambiente
Virtualbox, di una
rete solo host

16

rossa comunicher allutente che almeno uno dei dispositivi rientranti


nella categoria risulta non raggiungibile.
<h1 style=text-align : center>Risultati del monitoraggio</h1>
<table border=1 style=margin-left: auto; margin-right: auto;
text-align : center>
<tr> <td>Categoria</td> <td>Tot. apparecchi</td> <td>Inattivi</td>
<td>Stato</td>
</tr>
<?php
/* per ogni categoria...*/
for($i=0; $i<$numCategorie; $i++)
{

echo <tr>;

echo <td>.$nomeCat[$i].<td><td>.$numApparatiCat[
$i].</td>;
if($numInattivi[$i]!=0)
{

echo <td><a href=\inattivi.php?cat=.$nome
Cat[$i].&lista=.$inattivi[$i].&desc=.$descInattivi[$i].\>.$numInattivi[
$i].</a></td>;

echo <td><img src=\red.png\/></td>;
}
else
{

echo <td>0</td>;

echo <td><img src=\green.png\/></td>;
}

echo </tr>;
}
?>
</table>
Oltre al semaforo rosso, in caso di anomalia di almeno un apparato
verr creato, nella riga della relativa categoria, un link alla pagina
inattivi.php, alla quale sono passati (con il metodo GET, vedi il box
PHP: GET e POST) il nome della categoria (parametro cat),
lelenco degli indirizzi IP (parametro lista) e delle descrizioni degli
apparati non raggiungibili (parametro desc). Alla pagina inattivi.php,
che vedremo tra poco, spetta infatti il compito di visualizzare i
dettagli della singola categoria, mostrando allutente quali sono i
dispositivi rei di aver generato lallarme.

Virtualbox e test della Webapp


Prima di proseguire con lo sviluppo, tuttavia, possiamo concederci
una piccola gratificazione, verificando loutput prodotto dalla
nostra applicazione. A tal fine, aperto un terminale e acquisiti
i privilegi di root, procediamo allinstallazione di Virtualbox
(che configureremo successivamente) mediante il comando:
apt-get install Virtualbox*
Dopo aver avviato Virtualbox, selezioniamo dal menu File la voce
Preferenze, quindi facciamo click sullicona Rete e selezioniamo
la scheda Reti solo host. Un click sul pulsante Aggiungi rete
solo host determiner la creazione, sulla macchina fisica,
di uninterfaccia di rete virtuale denominata vboxnet0 (Fig.14).
Facendo click su di essa, ci verr mostrata una finestra di dialogo
composta da due tab:
Nella prima, denominata Scheda, inseriamo 192.168.2.3
come indirizzo IPv4 e 255.255.255.0 come maschera di rete;
Nella seconda, denominata Server DHCP, deselezioniamo
il flag Abilita il server, poich in questa serie faremo ricorso
a indirizzi statici, come da schema in Fig.1.
La nostra interfaccia di rete virtuale pronta: nel prosieguo,
utilizzeremo vboxnet0 per la connettivit verso le macchine

Linux pro 144

010_019_LXP_144_monitoraggio 16

22/07/14 12:27

Speciale Monitoraggio
virtuali che rappresentano i server della rete da monitorare; ai fini
della verifica della Web application, tuttavia, sufficiente per ora
assegnare alla scheda virtuale un indirizzo di rete. Dalla shell
dotata di privilegi di root, pertanto, digitiamo il comando:
# ifconfig vboxnet0 192.168.2.3/24
Prima di effettuare la verifica dellapplicazione, tuttavia,
opportuno procedere a una configurazione aggiuntiva,
necessaria nella prossima fase di configurazione dellambiente
di test: reiteriamo quindi il processo appena visto, al fine di creare
una seconda interfaccia di rete virtuale, vboxnet1, a cui affidare
il collegamento con il NAS della rete di test. I parametri
da impostare sono i seguenti:
Tab Scheda: inseriamo 192.168.1.3 come indirizzo IPv4
e 255.255.255.0 come maschera di rete;
Tab Server DHCP: deselezioniamo il flag Abilita il server.
Assegnato lindirizzo a vboxnet1, con il comando:
# ifconfig vboxnet1 192.168.1.3/24
possiamo avviare il browser, facendolo puntare allindirizzo
http://127.0.0.1/~nomeutente/monitoraggio.php
(es. http://127.0.0.1/~garrick/monitoraggio.php),
e visualizzare cos il risultato dei nostri sforzi di programmazione.
Come lecito aspettarsi (Fig.15), ununica categoria
(le workstation, che comprende la sola macchina ove
in esecuzione lapplicazione Web) risulta pienamente operativa
(semaforo verde), mentre le altre mostrano alert concernenti
limpossibilit di raggiungere i relativi apparati.

Lambiente di test
Per consentire alla Web application di mostrare quattro semafori
verdi necessario procedere alla configurazione di quattro
macchine virtuali, che simulino gli apparati indicati in Fig.1
con il nome di NAS, Router, ServerA e ServerB, aggiungendosi
alla macchina fisica su cui stiamo lavorando (e alla quale
affideremo lonere di simulare il computer denominato
Workstation). Al fine di semplificare e velocizzare questa fase,
ricorreremo a quattro macchine virtuali basate su distribuzioni live,
in modo da evitare lonerosa operazione di installazione, la cui
descrizione non rientra negli scopi di questa serie. In particolare,
faremo ricorso alle seguenti distribuzioni live:
Damn Small Linux (la cui ISO pu essere scaricata allURL
http://www.damnsmallinux.org/download.html),
per la simulazione dei due server e del NAS;
Xubuntu 14.04 LTS (la cui ISO pu essere scaricata allURL
http://xubuntu.org/getxubuntu) per simulare il router.
La scelta di queste distribuzioni non casuale:
Damn Small Linux caratterizzata dallesiguit delle richieste
hardware (richiede appena qualche decina di MB per partire)
e, pertanto, ci consente di simulare ben tre client senza appesantire
eccessivamente la macchina fisica;
Xubuntu 14.04 LTS dispone, gi in modalit live, degli
strumenti necessari per agire da router per i server simulati
con Damn Small Linux.
Stabilite le distro di riferimento, possiamo procedere alla creazione
delle macchine virtuali. Iniziamo dal NAS: dalla schermata principale
di Virtualbox, facciamo click sul pulsante Nuova per avviare
il processo di creazione, quindi inseriamo, nella finestra dialogo
che comparir, il nome della macchina virtuale (NAS), il sistema
operativo (Linux) e la relativa versione (Linux 2.4 a 32 bit). Un click
sul pulsante Avanti ci consente di passare alla schermata
di dimensionamento della RAM da assegnare alla macchina virtuale:
come premesso, sufficiente procedere allassegnazione di appena
64 MB per consentire loperativit di una macchina virtuale basata

Fig.15 Ecco come appare la pagina principale della nostra Web


application, prima della configurazione del nostro ambiente di test:
i tanti semafori rossi sono dovuti proprio allirraggiungibilit degli
apparati di rete

sulla distribuzione Damn Small Linux. Lultimo passo consiste nella


configurazione del disco fisso: volendo adoperare delle distribuzioni live,
possiamo scegliere lopzione Non aggiungere un disco fisso
virtuale. Premendo quindi il pulsante Crea per completare il processo
di creazione della macchina virtuale, riceveremo un avviso da parte
di Virtualbox in merito allovvia impossibilit di procedere, in assenza
del disco fisso, allinstallazione di un sistema operativo. Ignorato
il messaggio mediante la pressione del pulsante Continua, possiamo
quindi dedicarci allimpostazione dellunit di boot della macchina
virtuale, il cui processo di creazione finalmente terminato.
Selezioniamo la macchina virtuale nella finestra principale di Virtualbox,
quindi clicchiamo il pulsante Impostazioni per poi scegliere la voce
Archiviazione. Cliccando sullicona del CD comparir, nella parte
destra della finestra di dialogo, il pulsante di un CD/DVD virtuale
(Fig.16), grazie al quale possibile impostare lISO di DSL come
dispositivo virtuale. Terminata questa operazione, possiamo dedicarci
alla configurazione della scheda di rete, per la quale necessaria una
doverosa premessa. La GUI di Virtualbox consente di assegnare
a ogni macchina virtuale fino a 4 schede di rete, ognuna delle
quali attestabile a un diverso network: esistono diverse tipologie
di network. In questa sede, in particolare, faremo ricorso alle sole
modalit Scheda solo host (per i collegamenti tra la macchina
fisica e le macchine virtuali a questa direttamente connesse)
e rete interna (per i collegamenti tra le schede di rete
appartenenti a macchine virtuali distinte). In particolare,

Fig.16 La schermata per la configurazione di ununit CD/


DVD virtuale basata su file ISO

Linux pro 144

010_019_LXP_144_monitoraggio 17

17

22/07/14 12:28

Speciale Monitoraggio
Fig.17
Una volta creato
e configurato
lambiente
di test, la pagina
principale della
nostra Web
application
ci gratificher con
quattro semafori
verdi!

simuleremo la topologia di rete rappresentata in Fig.1 mediante:


Una rete interna, per la connessione tra i server e il router;
Due reti solo host, per la connessione tra la workstation (simulata
dalla macchina fisica) e le macchine virtuali NAS e Router.
Per configurare la scheda di rete della macchina virtuale DSL
che simula il NAS quindi necessario:
Accedere alle impostazioni della macchina virtuale;
Selezionare la sezione Rete: nella parte desta della finestra
di dialogo apparir la schermata di configurazione delle interfacce
di rete, suddivisa in schede. Di default, ogni macchina virtuale dispone
di ununica interfaccia abilitata, denominata Scheda 1, sebbene
le altre possano essere attivate mediante un click sulla relativa scheda,
seguito dalla spunta della voce Abilita scheda di rete;
Dal menu a tendina denominato Connessa a, selezionare
la modalit Scheda solo host, e verificare che il nome comparso nella
zona sottostante coincida con vboxnet1;
Premere il tasto OK per completare loperazione.
Siamo finalmente pronti per avviare la macchina virtuale, mediante
la pressione del pulsante Avvia! di Virtualbox: a startup avvenuto,
clicchiamo sulla schermata nera per consentire alla macchina
virtuale di assumere il controllo di mouse e tastiera. In questa fase,
possiamo tranquillamente ignorare eventuali messaggi di
avvertimento visualizzati da Virtualbox: per restituire le periferiche
alla macchina fisica, infatti, sufficiente la pressione del tasto CTRL
destro. Prima di avviare il boot vero e proprio Damn Small Linux
presenta una schermata per la selezione delle modalit di
caricamento del sistema operativo: premendo INVIO, otterremo in
pochi istanti la visualizzazione del desktop spartano di questa
distribuzione. Per configurare correttamente i parametri di rete della
macchina virtuale necessario avviare una console con diritti di root:
a tal fine, dopo aver cliccato con il pulsante sinistro in qualsiasi
punto del desktop, selezioniamo le voci Xshell | root access |
transparent del menu a tendina cos ottenuto. Dal terminale
visualizzato, abilitiamo lunica scheda di rete assegnata alla macchina
virtuale mediante il comando:
#ifconfig eth0 up
seguito dallassegnazione dellindirizzo IP e della relativa netmask alla
suddetta scheda di rete, attraverso il comando
#ifconfig eth0 192.168.1.100 255.255.255.0
Le restanti macchine virtuali da simulare mediante il ricorso a
DSL devono essere configurate in maniera analoga. In
particolare, le impostazioni da scegliere in sede di creazione della
macchina indicata in Fig.1 con il nome di serverA sono le
seguenti caratteristiche:
Nome macchina virtuale: serverA;
Sistema operativo: Linux 2.4 a 32 bit;

18

RAM: 64 MB;
Disco fisso: nessuno;
Archiviazione: come per la macchina virtuale NAS;
Rete: una scheda di rete, connessa alla rete interna
di nome intnet.
I comandi necessari per la configurazione della scheda di rete
(da terminale dotato dei privilegi di root) sono riepilogati di seguito:
#ifconfig eth0 up
#ifconfig eth0 192.168.3.101 255.255.255.0
# route add default gw 192.168.3.1
Rispetto alla macchina NAS, notiamo come sia stata necessaria
la selezione di un default gateway (nello specifico, la macchina indicata
in Fig.1 con il nome Router), al fine di consentire la comunicazione
del server con la workstation di monitoraggio. Sulla falsa riga di quanto
appena operato, possibile procedere alla creazione della macchina
virtuale che simuler serverB, impostando i medesimi parametri
di serverA (a eccezione, ovviamente, del nome!). Anche la
configurazione della scheda di rete pressoch identica:
#ifconfig eth0 up
#ifconfig eth0 192.168.3.100 255.255.255.0
# route add default gw 192.168.3.1
La macchina virtuale denominata router, basata su Xubuntu 14.04,
merita invece una trattazione separata: avviato il processo di creazione
della macchina virtuale, necessario selezionare la corretta versione
del sistema operativo (Linux Ubuntu a 32 bit oppure Linux Ubuntu
a 64 bit, a seconda della versione scaricata dal sito), quindi assegnare
unadeguata quantit di memoria (512 MB dovrebbero essere
sufficienti) alla macchina virtuale. Per quanto concerne il networking,
occorre configurare due schede di rete, necessarie, rispettivamente,
a garantire la connettivit verso le due macchine virtuali Damn Small
Linux e verso la macchina fisica (che simula la postazione denominata
workstation). In particolare:
La prima scheda di rete deve essere connessa alla rete interna
di nome intnet;
La seconda scheda deve essere configurata come scheda solo
host, e collegata alla rete denominata vboxnet0. Al termine del boot
della macchina virtuale, verr presentato il desktop tipico della
distribuzione; avviato un terminale, possiamo quindi provvedere a:
Impostare lindirizzo delle due schede di rete, con i comandi
# sudo ifconfig eth0 192.168.3.1 255.255.255.0
# sudo ifconfig eth1 192.168.2.1 255.255.255.0
Abilitare il routing (necessario a garantire la raggiungibilit dei server
dalla workstation, e viceversa), mediante il comando
#sudo sysctl -w net.ipv4.ip_forward=1
Per completare la procedura di creazione del nostro ambiente di test
non ci resta che configurare le rotte della macchina fisica,
consentendo in tal modo a questultima di contattare (e monitorare)
i server della rete, sebbene attestati su una subnet differente:
#route add -net 192.168.3.0/24 gw 192.168.2.1

Lapplicazione completa
giunto il momento di vedere allopera, sullintera rete di test, la nostra
applicazione di monitoraggio: aggiornando la pagina disponibile
allindirizzo http://127.0.0.1/~nomeutente/monitoraggio.php
(es. http://127.0.0.1/~garrick/monitoraggio.php) o avviando
nuovamente il browser per visualizzarla una seconda volta, vedremo
finalmente una schermata priva di semafori rossi (Fig.17).
Per verificare la piena operativit della nostra Web application, tuttavia,
opportuno effettuare almeno un test aggiuntivo: dal terminale di root
sin qui utilizzato su serverB, digitiamo il comando
#ifconfig eth0 down
al fine di disabilitare la scheda di rete, rendendo di conseguenza

Linux pro 144

010_019_LXP_144_monitoraggio 18

22/07/14 12:28

Speciale Monitoraggio

Fig.18 Se simuliamo il malfunzionamento di serverB,


disabilitandone la scheda di rete, la nostra applicazione ci mostrer
un singolo semaforo rosso, associato alla categoria server

irraggiungibile, dalla nostra workstation di monitoraggio, il server


in questione. Come dovrebbe reagire lapplicazione di fronte a questo
improvviso guasto, simulato mediante la disabilitazione della scheda
di rete? La risposta in Fig.18 dove, a fronte di tre semafori verdi,
mostrato chiaramente un unico semaforo rosso, proprio nella
categoria server. In particolare, possiamo notare la corretta
indicazione, nella colonna Inattivi, del numero di server (solamente
ununit) risultati irraggiungibili: se clicchiamo sul relativo link, tuttavia,
ci viene restituita una pagina di errore, in quanto non abbiamo ancora
provveduto alla scrittura della pagina PHP richiamata dalla tabella
di monitoraggio (inattivi.php). A questa pagina spetta il compito
di riepilogare, per una data categoria, la lista degli apparati (completi
di indirizzo IP e descrizione) non raggiungibili dalla workstation.
Tale operazione, di per s tuttaltro che banale, risulta tuttavia
abbastanza semplice, grazie al lavoro svolto dalla homepage
dellapplicazione che, come mostrato nel paragrafo Il codice PHP,
salva in apposite stringhe le informazioni cruciali di cui necessita
la pagina inattivi.php:
Il nome della categoria;
La lista degli indirizzi IP degli apparati irraggiungibili;
La lista delle relative descrizioni.
Tali informazioni sono quindi inserite dinamicamente nel link alla
pagina inattivi.php, a cui giungono comodamente attraverso il metodo
GET. La pagina, pertanto, non deve far altro che:
1 Recuperare il nome della categoria e visualizzarlo: il link presentato
dallhomepage della Web application del tipo http://127.0.0.1/inattivi.
php?cat=NOME_CATEGORIA&lista=LISTA_IP_
APPARATI&desc=DESCRIZIONE_APPARATI e, pertanto, il nome
della categoria, direttamente accessibile attraverso lelemento
$_GET[cat] dellarray associativo $_GET[], da stampare a video:
<h1 style=text-align : center>Apparati inattivi della categoria
<?php echo $_GET[cat]; ?></h1>
2 Separare in token la lista degli indirizzi IP e la lista delle descrizioni:
la lista degli indirizzi IP e la lista delle descrizioni degli apparati non
raggiungibili di una data categoria, sono passate alla pagina inattivi.php
sottoforma di stringhe (denominate, rispettivamente, lista e desc).
Allinterno di tali stringhe, le informazioni di un singolo apparato
(ovvero lindirizzo IP di un dato apparato inattivo, oppure la sua
descrizione) sono distinguibili dalle altre, come abbiamo avuto modo
di notare in precedenza, grazie allutilizzo del separatore costituito
dal carattere ; (punto e virgola): non ci resta dunque che esplodere
la stringa sfruttando questa sua peculiare organizzazione, ovvero
sottoporla alloperazione nota nel mondo della programmazione

con il nome di tokenizzazione. proprio quanto ci consente di fare


la funzione PHP denominata explode() che, ricevuti come parametro
il carattere separatore e la stringa da tokenizzare, restituisce un array
contenente i singoli elementi (detti appunto token) della stringa:
/* scompone nei singoli elementi le stringhe contenenti gli IP e le
descrizioni dei dispositivi inattivi, passati dalla pagina di monitoraggio */
$ip=explode(;, $_GET[lista]);
$desc=explode(;, $_GET[desc]);
3 stampare a video la tabella dei dispositivi inattivi: poste negli array
$ip e $desc le informazioni dinteresse (rispettivamente lindirizzo IP
e la relativa descrizione) sugli apparati inattivi di categoria, non ci resta
che stamparli a video, attraverso un apposito ciclo di creazione della
tabella html che riepiloga i risultati del monitoraggio:
/* per ogni apparato passato dalla pagina di monitoraggio...*/
for($i=0; $i<count($ip)-1;$i++)
{

/*... crea una riga della tabella esplicitandone indirizzo IP

e descrizione*/

echo <tr>;

echo <td>.$ip[$i].</td><td>.$desc[$i].</td>;

echo </tr>;
}
Una volta salvato allinterno della directory public_html possiamo
visualizzare nuovamente la nostra homepage (senza riattivare
la scheda di rete di serverA) e selezionare il link relativo alla categoria
server: questa volta verr visualizzata la pagina corretta, mostrandoci
lindirizzo e la descrizione del server irraggiungibile.

Miglioriamo la nostra applicazione


Tornando alla homepage, ci verr restituita nuovamente la pagina
rappresentata in Fig.18: per completare il test delle funzionalit della
nostra Web application, dovremmo quanto meno verificarne
il comportamento al ripristino della connettivit di serverA.
Dalla shell di root sin qui utilizzata su serverA, eseguite:
#ifconfig eth0 up
#ifconfig eth0 192.168.3.101 255.255.255.0
# route add default gw 192.168.3.1
consentendo in tal modo la raggiungibilit di serverA da parte della
macchina workstation. Qual la risposta della nostra applicazione?
Come possiamo verificare tornando al browser, lapplicazione
ci mostrer la situazione reale (quattro semafori verdi, come
in Fig.17) solo a seguito dellaggiornamento manuale dellhomepage,
effettuata dallutente premendo lapposito pulsante del browser
oppure il tasto F5: un tale comportamento , ovviamente,
inaccettabile per una applicazione di monitoraggio, che deve riportare
dinamicamente, in maniera tempestiva e puntuale, ogni modifica
intercorsa nella rete. Per ovviare allinconveniente, possiamo imporre
alla pagina monitoraggio di aggiornarsi a intervalli regolari
(per esempio, ogni trenta secondi) facendo ricorso al cosiddetto meta
refresh HTML. Tale soluzione basata sullimpiego di un meta tag
HTML: il codice
<meta http-equiv=refresh content=30>
se posto nellintestazione della pagina di monitoraggio (la sezione
compresa tra i tag <head> e </head>), impone al browser
di ricaricare la stessa ogni 30 secondi, consentendoci in tal modo
di rispecchiare tempestivamente ogni disconnessione di un apparato
della rete. Possiamo dunque dirci, finalmente, soddisfatti della nostra
applicazione? La risposta ovviamente no: per quanto funzionale
ai semplici scopi che ci siamo prefissi, la Web application suscettibile
di consistenti modifiche, al fine di garantire una maggiore efficienza
e una maggiore usabilit. Non vi resta che installare un buon editor
PHP e iniziare a programmare! LXP
Linux pro 144

010_019_LXP_144_monitoraggio 19

19

22/07/14 12:28

Hackmeeting 2014

Hackmeeting 2014
Tutte le iniziative pi avveniristiche direttamente
dallevento underground del mondo dellhacking
Lautore
Roberto Premoli
In sette anni di articoli su Linux Pro, ha scritto
di cluster di calcolo, ottimizzazione sistemi, recupero
hardware obsoleto, reti neurali, recensioni hardware
e molto altro. Chi volesse contattarlo scriva
a roberto.premoli@tiscali.it.

20

opo 12 anni, lormai tradizionale


manifestazione annuale di chi sa
fare o almeno lo vorrebbe
torna a Bologna, questa volta in via
Fioravanti, ospite di XM24, un centro sociale
sorto in uno dei tanti capannoni abbandonati
(in questo caso, un ex mercato) che, complice
il declino industriale dellItalia, sempre
pi spesso si rendono disponibili in tutta
la Penisola. Cosa lHackmeeting?
Semplicemente un punto di ritrovo diverso
dai soliti convegni organizzati da qualche
istituzione pubblica solo per far vedere

che spendono i soldi che hanno a budget,


magari solo per ospitare qualche amico/
parente spacciato per famoso e costoso!
conferenziere: viceversa, qui la struttura nasce
dal basso, emergendo da un caos collaborativo
che anche se in versione zaino e maglietta
genera comunque dei risultati tangibili.
Parliamo cio di scambio comunicativo
e condivisione di conoscenza, cose che non
hanno bisogno di cravatta e capelli corti
ma semplicemente di una mente sveglia
e attiva. Lingresso alla manifestazione libero
ma la donazione fortemente consigliata:

Linux pro 144

020_023_LXP_144_hackmeeting 20

22/07/14 01:28

Hackmeeting 2014
questa gente ha lavorato gratis per mettere in piedi
lorganizzazione dellhackmeeting, giusto che chi lo visita
contribuisca almeno alle spese vive. Arriviamo di buona ora
ma gi ci sono una ventina di persone con portatile aperto
che lavorano e scambiano idee. Subito la nostra attenzione
catturata da un signore che sta spiegando i meccanismi
di incapsulamento IPv4 su IPv6 e scopriamo con mestizia
di quanto siamo ignoranti in materia: argomento segnato
nella lista cose da imparare al pi presto. Un ragazzo
ha montato il proprio cellulare su un supporto di cartone
fissato a una visiera da sci: leffetto una mascherina
da realt virtuale. Tramite un tool per Android, possibile
navigare tridimensionalmente dentro una foto utilizzando un
joypad: provata con uno scatto del Grand Canyon, sembrava
proprio di volarci sopra! Il progetto ancora in fase
prototipale cartone ed elastico, ma lidea c. Alle 15 ecco
linizio ufficiale dei seminari e partiamo subito assistendo
alla presentazione di una chiavetta USB economica (15 euro)
ma usata in modo particolare. Lhardware in s non nulla
di particolare: si tratta di un normale ricevitore di digitale
terrestre ma la vera forza sta nel software! Un pacchetto
come GNU Radio permette di interagire con le frequenze
radio dai 20 MHz fino a 1,3 GHz (altri modelli spaziano
tra 50 MHz e 2 GHz): potenzialmente possibile ricevere
qualunque comunicazione, dalla radio commerciale fino alle
foto meteorologiche inviate dai satelliti geosincroni
e, ovviamente, tutto il resto dei segnali che viaggiano
nelletere. Il relatore non ha permesso la registrazione
dellaudio o lo scatto di foto. Il suo ragionamento,
che condividiamo, riassumibile nella frase: se ti interessa
un argomento, almeno fai la fatica di venire a sentire
il seminario: qui, non si serve la pappa pronta. Comunque
non crediate di diventare ascoltatori delletere dalloggi
al domani: il software ancora grezzo, mancante di moduli
specifici per determinate frequenze e la documentazione
tecnica datata e frammentaria. Ma vedete la cosa da un
altro punto di vista: c molto da studiare e da scoprire, fatevi
sotto! Per maggiori informazioni: http://www.rtl-sdr.com/

Debian? S, grazie
Spostandoci sulle distro, Stefano Zacchiroli, Presidente
Debian nel triennio 2010-2013, era presente con un suo
seminario, dove spiegava il meccanismo apparentemente
anarchico ma in realt ordinato e funzionale, che da pi di
venti anni fa progredire Debian rendendola sempre pi
diffusa nel mondo: dopotutto, se ci sono pi di 150 derivate
che la usano come distro-madre, un motivo ci sar, no?
Abbiamo indagato su Debian 8.0, nome in codice Jessie,
che uscir nel 2015 e abbiamo scoperto un po di cose che
non sapevamo. Prima di tutto, una versione di Debian viene
supportata solo se c abbastanza hardware a disposizione
per compilarla nativamente (no cross-compilazione, grazie!)
e tale hardware deve essere abbastanza veloce per tenere
il passo e ricompilare i vari aggiornamenti. Inoltre
necessario che larchitettura in questione abbia diffusione
(inutile continuare a supportare le CPU Alpha o i 68000,
hardware ormai defunto). Poi ovviamente ci devono essere
abbastanza pacchetti portati: non avrebbe senso supportare
una architettura con meno di 15-16000 pacchetti disponibili
e un numero minimo di manutentori dedicati. Questultimo
punto la nota dolente per Debian GNU/Hurd, la tanto attesa

Il fitto
calendario
di seminari:
impossibile
seguire tutto

versione di Debian con il kernel Hurd che a buon punto,


infatti disponibile da vari mesi la versione non ufficiale
di Debian GNU/Hurd: il problema che gli stringenti vincoli
qualitativi di Debian impongono anche una struttura minima
di manutentori, e pare che per Hurd ce ne siano pochi...
si cercano volontari! Il fatto che chi usa Debian GNU/Linux
lo fa perch c tutto, chi usa la versione GNU/kFreeBSD
(pochi) dice perch c XFS nativo mentre gli amanti
di GNU/Hurd (pochissimi) dicono perch Libero.
Comunque manca circa un anno per Jessie, vedremo
se le cose miglioreranno nel frattempo.

Libre-mesh.org
Parlando invece di reti, le mesh, cio una serie di stazioni
collegate via wireless, sono ormai una realt mondiale, anche
se ancora un po misconosciuta e frammentata: ogni gruppo
realizzava la propria rete, geloso del protocollo sviluppato
e legato a un particolare hardware. Il risultato era che ogni
gruppo aveva un software che presentava punti di debolezza
e di forza, ma i vari sviluppatori non volevano lasciare
il proprio protocollo per adottarne uno differente, col risultato
che ognuno restava nel suo angolo e la qualit del software
non cresceva.Messi da parte i personalismi, finalmente i vari
gruppi sono confluiti in un unico progetto che, basandosi
su OpenWRT, cerca di sviluppare un software unico, multi
Linux pro 144

020_023_LXP_144_hackmeeting 21

21

22/07/14 01:28

Hackmeeting 2014

Esempio di hacking meccanico: vecchie biciclette in attesa


di essere rivitalizzate

Questa foto spiega perch abbiamo potuto scattare poche foto: del resto
esattamente quello che possiamo aspettarci da un evento sullhacking!

piattaforma e modulare cio basato sul sistema dei plug-in,


in modo da essere facilmente potenziato con nuove
funzionalit. Sempre in tema comunicazione e reti, il protocollo
AIS (Automatic Identification System) uno di quelli deputato
alla comunicazione marittima e si cura di posizionamento,
monitoraggio natanti e altro. Il problema che tale sistema
non prevede nessun meccanismo di autenticazione!
Gli improvvidi che hanno scritto lo standard non erano certo
fan della sicurezza e della crittografia. I relatori erano reduci
da una conferenza in Asia dove hanno presentato il risultato
dei loro studi, ovviamente dopo aver avvisato le autorit

Insicurezza: a chi conviene?


AT&T ha dormito due anni prima
di correggere le insicurezze software
segnalate da un ricercatore
statunitense... un comportamento
corretto? Ma perch tanta insicurezza?
Semplice sciatteria e non-professionalit
oppure queste insicurezze fanno comodo
a chi nella stanza dei Bottoni?
La domanda sorge spontanea ma dopo
che lo spionaggio sistematico tuttora

22

in atto perpetrato dalla NSA venuto


alla luce, la risposta ci sembra palese.
Il problema di base che Internet
ha s creato una connessione mondiale
di persone ma queste ultime sono finite
nelle mani solo di aggregatori e social
network come Facebook e YouTube,
mentre invece la Rete dovrebbe essere
utilizzata come veicolo di studio, crescita
e miglioramento generalizzato.

competenti della falla dei loro sistemi, senza per che


i responsabili si prendessero la briga di correggere le falle
di sicurezza. Evidentemente meno costoso convivere
con un protocollo bacato che mettere mano per risolvere
e sistemare le cose... A riprova delle loro capacit, gli Hacker
Etici hanno mostrato come piazzare digitalmente una nave
in piena Bergamo, una posizione fisicamente impossibile
ma elettronicamente fattibile in pochi secondi. Ma alla fine
si dir: Che cosa pu succedere? Anche se si mette una nave
finta in un database, che male pu fare?. Alcune previsioni
e investimenti azionari vengono fatte in base alla quantit
di navi che viaggiano in alcuni punti chiave (Porto
di Rotterdam, Singapore, ecc.) e far figurare qualche decina
di navi in pi o in meno pu far scattare la soglia in software
di controllo che dicono compra o vendi ad agenti borsistici:
credete che questi soggetti vadano a vedere i dati reali? Certo
che no, si fidano di report automatici fatti da software su dati
aggregati, ma che come avete visto sono modificabili
con estrema facilit. Peggio ancora, le navi viaggiano oramai
col pilota automatico per lunghi tratti e il database viene usato
per evitare eventuali scontri: se il sistema automatico
di un natante rileva unaltra nave in rotta di collisione, senza
starci troppo a pensare modificher la propria direzione
per evitare un impatto. Dopotutto non un uomo che pu
guardare fuori per vedere se la nave in arrivo c veramente
ma solo un software che si affida a dati falsificati. Simulare
la presenza di navi in certi momenti e certe posizioni
permetterebbe di dirottare una nave vera, con conseguenze
che possono essere catastrofiche. Insomma, non pi
necessario essere un capitano per andare a sbattere sugli
scogli e poi abbandonare la nave mentre i turisti della crociera
affogano, ora sufficiente un apparato da poche centinaia
di euro e una connessione a Internet... Ulteriori informazioni

Endsummercamp.org
Per una nuova dose di mondo hacker, non serve aspettare
il prossimo Hackmeeting tra un anno: alla fine di agosto
c lEndsummercamp, unottima occasione per rivedere
gente e rinsaldare contatti che potranno essere sviluppati
poi via Rete, fino alla prossima occasione di incontro.

Linux pro 144

020_023_LXP_144_hackmeeting 22

22/07/14 01:28

Hackmeeting 2014
tecniche sulle vulnerabilit accennate, sono leggibili in questo
PDF: http://bit.ly/1kVuo6y. Sempre in tema comunicazioni,
abbiamo fatto la conoscenza di Jaromail, un sistema
completo per la gestione della posta elettronica che sfrutta
programmi a riga di comando come MUTT, ksh (una shell
alternativa a Bash e per certi versi, migliore) fetchmail,
Mixmaster pi altri tool ultradecennali e proprio per questo
testati e affidabili. Anche se apparentemente obsoleto, questo
sistema non grafico rapido, flessibile, estensibile
ma soprattutto usabile ovunque: in un momento di emergenza,
lautore riuscito a gestire la propria mail da una portatile
Apple sul quale aveva istallato gli applicativi necessari. Finito
il lavoro, ha cancellato la directory temporanea e ha restituito
il portatile allamico che glielo aveva prestato. Date una
occhiata a http://www.dyne.org/software/jaro-mail/
e fateci sapere se inizierete a usarlo!

Il denaro del futuro


Un interessante spunto socio-economico lo ha dato
il seminario sulla moneta-dal-basso, un sistema di gestione
economica che prescinde dalle varie monete di scambio
ufficiali: nato in Brasile, lesperimento stato chiuso a forza
dalle autorit, che per dopo una decina di anni sono tornati
sui loro passi e anzi hanno avviato tali sperimentazioni in varie
aree economicamente sottosviluppate del Brasile meridionale.
Stranamente, una volta tanto un Governo capisce che una
buona idea non deve arrivare necessariamente dal Palazzo,
ma pu benissimo nascere nella strada. Da tecnici,
non abbiamo capito molto bene tutte le implicazioni
economiche, filosofiche e sociali di questo progetto,
ma ne abbiamo percepito la potenzialit. Anche in Italia stanno
nascendo per esempio le Banche del Tempo, associazioni che
vogliono barattare ore di lavoro tra i soci, indipendentemente
dal lavoro svolto. Per informazioni cercate in Rete
Associazione Nazionale Banche del Tempo o i distretti
di Economia Solidale come per esempio www.desbri.org.

Stravaganze
Per finire i temi, la novit degli ultimi anni sono le stampanti
3D e i droni volanti. Per questultimo caso, abbiamo visto
un quadcottero costruito in economia: il corpo centrale stato
realizzato con una stampante 3D e irrobustito da alcune viti
e piattelli metallici fissati nei punti strategici. I motori sono

Limmancabile Stampante 3D, nuovo dispositivo


imperdibile dellhacker moderno

Un portatile con lintrigante GNU RADIO in azione...

di seconda mano, mentre il loro controllo affidato a una


schedina elettronica economica. Il relatore non si inventato
nulla, semplicemente ha scaricato il progetto da www.
thingiverse.com/thing:234867 e poi si dato da fare
con stampante 3D, saldatore e cacciaviti. Insomma, anche
voi con poche decine di euro avete il vostro drone personale,
pronto a ubbidire a ogni vostro comando: pensateci!

Conclusioni
Sempre di pi affidiamo la nostra vita a sistemi software:
cellulare, carta di credito, Telepass, protocollo TCP/IP e chi
pi ne ha pi ne metta. Il problema che queste cose sono
unsecure-by-design e quando chi si impegna nello studio
per avvisare chi di dovere, la maggior parte delle volte passa
dei guai perch viene accusato di diffondere pericolose
vulnerabilit. Essere hacker significa conoscere
approfonditamente gli strumenti che si usano; che siano
computer o altri apparati elettronici, il concetto sempre
quello: controllare o essere controllati, e chi non conosce
non pu controllare. Forse, per una volta, meglio mettere
via il joypad della PS4 e impugnare un solido libro
di programmazione perch il secondo permette di uscire
dal recinto nel quale si entra comprando la prima. LXP

Un quadcottero stampato in 3D: i droni sono alla portata di tutti

Linux pro 144

020_023_LXP_144_hackmeeting 23

23

22/07/14 01:28

Anatomia di un data center

10

12

11

2
Star Distro

Anatomia di
un data center
9

Linux Pro andato a curiosare allinterno di un data center


per scoprire come funzionano queste formidabili centrali di dati

avigare in Internet di per s


unoperazione molto semplice, forse
non vi siete mai chiesti per come sia
possibile farlo e cosa ci sia dietro
ci che noi chiamiamo Rete globale. Noi di Linux
Pro siamo partiti da una semplice curiosit,
vale a dire come riuscire a fornire servizi di ISP.
Per trovare una risposta, siamo entrati in un data
center e quello che siamo riusciti a scoprire
davvero interessante. S, perch sebbene tutti
utilizziamo Internet quotidianamente, davvero
difficile immaginare lenorme quantit di lavoro
che c alle spalle. Pensiamo solo alla semplice
azione che compiamo quando inseriamo
un indirizzo nella barra del browser. Di norma,
tutto funziona senza problemi e quindi diamo

24

per scontato che email, messaggi istantanei


e il reindirizzamento di un IP verso una pagina
Web sia automatico. In parte sicuramente cos,
ma se qualcosa non dovesse andare come deve,
allora dove andiamo a cercare il problema quando
siamo sicuri che il nostro PC perfettamente
sano? Nei data center. Infatti, quello che noi
definiamo comunemente Internet, altro
non che un insieme di centri tecnologicamente
avanzati sparsi per il mondo, dove vengono
immagazzinate e gestite enormi quantit
di informazioni. Questo indipendentemente
che si parli di un normale sito Web personale
o di un portale bancario che gestisce
lelaborazione di miliardi di transazioni.
Dietro c sempre un data center. Quello che

forse non sapete, che i centri dati sono strutture


spesso protette con restrizioni a livello militare,
in grado di resistere ad alluvioni, terremoti,
incendi e qualsiasi altra calamit naturale possa
succedere sul territorio in cui sorgono. Gli standard
di sicurezza per gli accessi, poi, vengono garantiti
da procedure estremamente rigide, che non
consentono certo al primo visitatore di entrare
in aree sensibili o di mettere mano laddove solo
pochi eletti hanno possibilit di entrare. Insomma,
ci troviamo dentro una specie di banca dei dati,
dove tutto viene tenuto sotto stretto controllo
e dove niente viene lasciato al caso. Il nostro
viaggio inizia quindi dal cancello dingresso, dietro
un muro fatto di reti metalliche, filo spinato
e agenti addetti alla sicurezza.

Linux pro 144

024_027_LXP_144_LXF185.feat_data 24

22/07/14 01:28

Anatomia di un data center

Il Web, il Cloud e la maggior parte dei servizi


online vengono gestiti attraverso sistemi FOSS
GNU/Linux. In parte uninformazione nota,
ma quello che probabilmente ignoriamo dove,
in quale regione fisica, si trovano questi sistemi.
La risposta sempre la solita: nei data center,
grandi edifici allinterno dei quali troviamo
migliaia di server che funzionano 24 ore
al giorno per 365 giorni lanno, pi un giorno
se lanno bisestile. Infatti, Internet non pu
certo sopportare tempi di inattivit, perch
questo significherebbe il fatidico messaggio
404 page not found e tutti gli errori
di irreperibilit annessi. Insomma, un aspetto
che non ci aspetteremmo da colossi del calibro
di Google, Ubuntu, Red Hat o IBM con orde
di dipendenti specializzati al loro servizio.
A questo proposito, il costo in termini
di macchinari e personale qualcosa
di davvero mastodontico. Certo, stiamo
parlando delle eccellenze nel panorama
dei data center, in quanto laddove un piccolo
ISP inizia la sua avventura nel mondo
di Internet ha spese che devono essere
attentamente valutate in relazione alle
possibilit e alle competenze. Solo dopo anni
di esperienza e di lavoro si pu arrivare ai livelli
dei big. Per farvi un esempio di unazienda
che ha percorso tutto liter fin dai suoi albori,
abbiamo varcato i confini nazionali per
approdare in Inghilterra. Qui ha sede
la UKFast, fondata nel 1999 dallattuale CEO
Lawrence Jones, dal direttore commerciale Gail
Jones e da sua moglie. Questa societ
ha iniziato la sua avventura come societ
di hosting con sede al centro di Manchester,
vicino alla Manchester Metropolitan University,
per poi sbarcare nel mondo dei data center
nel 2011. I primati, per, sono giunti almeno
un anno prima e pi precisamente nel 2010,
quando la stata certificata al 100% come
prima azienda di hosting del Regno Unito

a zero emissioni. Oltre a questo, sempre prima


di mettere in piedi il proprio data center, ha
vinto numerosi premi, tra cui quello di miglior
provider per quattro anni consecutivi. poi
impegnata nella formazione FOSS GNU/Linux,
fornisce apprendistato e formazione LPIC
a livello aziendale per tutti i suoi dipendenti
e in pi organizza giornate studio
per amministratori di sistema e sviluppatori
Linux. proprio qui che cominciata la nostra
avventura e pi precisamente nel campus
dellUKFast, il quale ci ha ospitato in questa
straordinaria giornata. Lazienda impiega 200
persone nella sede principale, pi tutta unaltra
serie di dipendenti sparsi per i settori vendite,
commercializzazione, gestione risorse umane
e quantaltro si pu trovare in unimpresa
di queste dimensioni. In pi deve fornire
supporto e manutenzione per tutti i servizi
che eroga. Compiti per i quali sono necessari
SysAdmin ben addestrati e squadre di tecnici
altamente competenti.

Scelta di campo
Una considerazione su cui ci siamo soffermati
a lungo, la differenza di risorse da mettere
in campo per creare un data center, rispetto
a una normale configurazione per la casa
o la piccola e media impresa. In altre parole,
vale la pena creare qualcosa in proprio
e spendere in competenze, strumenti e sistemi,

Star Distro
Il raffreddamento dei server
una cosa terribilmente seria

migliaia di euro quando ci sono aziende che


si occupano proprio di questo e forniscono
soluzioni tutto incluso? Ci detto, torniamo
al nostro interesse principale e domandiamo
a Feitsma da dove si inizia a costruire un data
center. La risposta un po
spiazzante, ma quantomai
veritiera, vale a dire dallenergia.
Questa lunica componente
di cui la societ non
in possesso e serve per
alimentare i server, ma anche
i potenti sistemi di raffreddamento necessari
a mantenerli a temperature costanti. Tutto parte
da una sottostazione elettrica in cui troviamo
un trasformatore che immette energia
nel sistema per svariate migliaia di euro.
Qui, in pratica, si ha gi la prima risposta
di quanto sia importante limpegno economico
per mantenere un data center, con bollette
che salgono davvero alle stelle. Allinterno
delledifico adibito alla gestione energetica,
presente un banco di regolatori di potenza
lungo pi o meno quanto un autobus, pi una fila
di gruppi di continuit e un banco di batterie
ordinate su degli scaffali. I regolatori di potenza
garantiscono ai rack leffettiva energia di cui
hanno bisogno per funzionare senza problemi.
Se la rete elettrica dovesse improvvisamente
scollegarsi, ecco che entrano immediatamente
in campo i generatori di corrente ausiliaria.
La cos detta power room, vale a dire la stanza
in cui viene gestito lapprovvigionamento
elettrico, lunica a essere raffreddata

Quello che abbiamo qui


pu essere ridotto a ci
che possiamo fare a casa
oppure meglio affidarsi ad aziende
che mettono in campo soluzioni preconfezionate,
con tutto ci che ne deriva in termini
di risparmio e gestione? Quello che abbiamo
qui (in UKFast), pu essere ridotto a ci
che possiamo fare a casa. - spiega Rudi
Feitsma, direttore vendite di UKFast - Le basi
e gli elementi da coinvolgere sono pi o meno
gli stessi. Tuttavia, quando si arriva a certi livelli,
esiste un momento in cui impossibile non
soffermarsi sulle considerazioni economiche,
valutando se valga davvero la pena mettere
in piedi un data center personale. Ci sono molte
persone coinvolte nella gestione aziendale
che premono per avere tutto in casa propria.
Spendono ed espandono fino ad arrivare
a un punto in cui si rendono conto che lazienda
non ha fatto un vero investimento, quanto
pi una mossa azzardata. S, vero, creare
un data center nella propria azienda pu essere
divertente e tecnologicamente possibile,
ma in definitiva perch azzardare spendendo

Linux pro 144 25

024_027_LXP_144_LXF185.feat_data 25

22/07/14 01:28

Anatomia di un data center


Un trio di colossali generatori
diesel, che in caso di bisogno sono
capaci di fornire energia a tutto
il complesso

per intero. Basta soffermarcisi per qualche


minuto per sentire il vento che sferza le pareti,
incanalato sotto il pavimento e tra gli scaffali.
Lintera struttura costruita su base N+1, dove
ogni unit viene supportata da quelle di scorta;
se una dovesse guastarsi, ce n sempre unaltra
pronta a prenderne il suo posto. Questa filosofia,
infatti, alla base di tutta la gestione energetica
del data center e spiega la presenza di tre enormi
box verdi allesterno delledificio. Al loro interno
ci sono generatori diesel industriali,
specificatamente progettati per lutilizzo in questi
ambienti. Ognuno installato sopra un serbatoio
da circa 62.000 euro di carburante ed pronto
per entrare in funzione entro 60 secondi
dallinterruzione di corrente. Il combustibile,
inoltre, viene trattato e sottoposto a test ogni
settimana, cos come i motori. Feitsma,
guardando i generatori di corrente,
fa giustamente notare come non esistono luoghi

Star Distro

in cui questi bestioni possano trovare posto


in uninfrastruttura domestica o professionale
di media grandezza. Certo, - continua il direttore
delle vendite - quello che vedete qui fuori quanto
accade quando diventa impossibile trovare
un posto adeguato allinterno di una struttura utile
a ospitare colossi di queste dimensioni. Dentro
la power room, invece, troviamo un ambiente
foderato di pannelli fonoassorbenti, dove
i generatori stessi sono tenuti pronti per
assicurarne limmediato avvio in caso di bisogno.
La progettazione di un data center passa poi
da unaltra considerazione molto importante:
lottimizzazione dei flussi daria per

il raffreddamento dei server. Questa, infatti, passa


sotto al pavimento e allinterno delle griglie;
ogni server poi sigillato e collocato allinterno
di un ambiente insonorizzato e raffreddato
autonomamente. Fino a che li si guarda
dal corridoio esterno, sembrano tanti armadi
silenziosi messi uno di fianco allaltro, ma appena
si varca la soglia della server room si viene accolti
da un freddo pungente e da un forte rumore.
Nei vecchi data center, i cavi venivano passati
sotto il pavimento, con il rischio di incidere
sul sistema di raffreddamento. Qui, invece, sono
stati disposti sopra il soffitto, cos da lasciare
la parte inferiore totalmente dedicata ai flussi
daria predisposti al mantenimento della
temperatura. I server della UKFast sono protetti
da rigide misure di sicurezza, tanto che laccesso
diretto autorizzato solo per alcuni dipendenti.
Tuttavia ci sono client disponibili anche in un altro
edificio, che consentono di gestire i server senza
entrare nel cuore gelido del data center.

Build Room
come in un Hotel, spiega Feitsma - fino a che
i server vengono utilizzati legalmente, potete farci
quello che volete, non sono affari nostri. Il nostro
lavoro tenerli al fresco, alimentati e collegati.
Cosa farci, spetta a voi che li usate da Internet.
Voi scegliete chi vi gestisce la connessione
e noi vi connettiamo ai server in molteplici modi.
Gestiamo gi il collegamento
con un gran numero
di compagnie e se non
siamo direttamente noi
a supportarlo, abbiamo
un metodo particolarmente

Fino a che i server vengono


utilizzati legalmente, potete
farci quello che volete

Anatomia di un data center


Batterie al piombo di riserva
Il data center di UKFast protetto dalle
interruzioni di corrente con generatori
diesel che partono dopo 60 secondi. In questo
minuto, quindi, come viene mantenuta lenergia
elettrica necessaria a far funzionare tutto limpianto?
Ebbene, c unintera parete di batterie al piombo
che riesce ad alimentare linfrastruttura per un
massimo di 10 minuti. Un tempo pi che sufficiente
per fare in modo che i generatori diesel si mettano
in moto. Gli utenti non si accorgeranno neppure
di cosa sta succedendo.

Sicurezza
Recinzioni con filo spinato circondato
da casematte e cancello principale
sorvegliato. Le porte, inoltre, possono sopportare
senza problemi una collisione frontale con
un camion di 10 tonnellate a ben 50 chilometri
orari. La localizzazione del centro dati, comunque,
non un segreto militare e si trova in unanonima
zona industriale. Ci nonostante, per entrarci

26

serve molto pi di un semplice drappello


di terroristi organizzati.
Aria condizionata
La maggior parte del consumo energetico
di un data center se ne va per mantenere
tutta linfrastruttura al fresco. Questo sistema
gestito da parecchi apparati di condizionamento
integrati. Gli scarichi sono situati allesterno
delledificio e funzionano solo quando richiesto
di raffreddare lambiente interno. In passato,
il rapporto di potenza era di 2:1, vale a dire 2 KW
di raffreddamento per ogni KW utilizzato per
il calcolo. Con una serie di interventi migliorativi
apportati negli ultimi anni, sono scesi a 1:1.

Sistema antincendio
Strategicamente posizionati intorno alla
struttura, troviamo dei grandi cilindri rossi,
le cui ramificazioni arrivano al sistema degli
sprinkler: la rete di ugelli posti sul soffitto, capaci
di spruzzare una sostanza chimica per sopprimere

eventuali focolai. Pur non trattandosi di acqua,


non dobbiamo temere, perch il composto utilizzato
come ritardante permette a noi esseri umani
di respirare senza problemi anche durante
le operazioni di spegnimento.
Sorveglianza
Oltre alla sicurezza strutturale, troviamo
un corpo di sorveglianza fatto di agenti
preparati. Lesterno e linterno delledificio sono
poi coperti da una serie di video e fotocamere
e tutti i visitatori sono monitorizzati dentro e fuori.
Per accedere ai sistemi, prima di avere
la possibilit di entrare, viene chiesto
di registrarsi in anticipo e di fornire una
foto. Riceviamo poi un pass.

Server
Dietro questo imponente muro
di sicurezza troviamo i server.
File di armadi sono contenute in stanze
sigillate. Questa disposizione aiuta

Linux pro 144

024_027_LXP_144_LXF185.feat_data 26

22/07/14 01:28

Anatomia di un data center


comodo per farlo. Si chiama DWDM (Dense
Wavelength Division Multiplexing), un sistema
che permette di collegarci ad altri data center.
Si tratta di una rete in fibra che consente
di supportare anche le compagnie collegate
ad altri centri. Come abbiamo detto, per collegarsi
ai server di solito vengono utilizzati dei client
localizzati in unapposita stanza chiamata build
room. Questo perch gli ingegneri che lavorano
non amano certo indossare cuffie e tappi
per le orecchie, n rimanere a basse temperature
per troppo tempo. Collegarsi in remoto ai server
da una stanza a temperatura ambiente e senza
rumori, invece, garantisce il massimo comfort.
Qui anche dove vengono mantenute

le attrezzature di propriet dei gestori delle reti.


Vodafone, Virgin e BT sono tutte presenti
allinterno di questo locale. - dice Feitsma - Di solito
gestiamo ogni provider separatamente; cos,
se vogliamo collegarci a Virgin, basta connettere
un cavo cross dal loro box al nostro e il gioco
fatto. Un altro aspetto che aiuta non poco, continua Feitsma - la copertura della zona in cui
ci troviamo. Qui, per esempio, la fibra funziona
molto bene e garantisce collegamenti davvero
rapidi. Se avessimo scelto un posto diverso dove
collocare il nostro data center, in cui magari la Rete
non arriva in modo sufficientemente spedito
per permetterci di gestire il volume di dati,
avremmo speso un sacco di soldi per niente.

Sempre connessi

Se dobbiamo fare una regolazione, non c


niente di meglio di questi impianti

a migliorare il raffreddamento generale di ogni


sistema, perch laria condizionata, anzich invadere
lambiente, viene immessa direttamente nei cabinet.
Al di fuori di questi comparti in cui sono contenuti
i server, la temperatura normale, mentre
allinterno della sala piuttosto freddo.

Sottostazione elettrica
Lunico elemento non di propriet. Da qui,
lenergia elettrica si collega alla struttura.

Gruppo di continuit
Accanto ai regolatori di potenza del data
center troviamo una serie di gruppi
di continuit grandi quanto un uomo. Vengono
installati con la logica N+1 e ci significa che se uno
di loro dovesse guastarsi, ce n subito un altro
pronto a prenderne il posto. Gli alimentatori partono
non appena viene rilevato un calo della rete
elettrica in ingresso, ma anche quando deve essere
gestito il passaggio dallalimentazione regolare
alle batterie e subito dopo ai generatori diesel.

Laspetto relativo alla connettivit fondamentale.


Dai suoi data center, UKFast pu utilizzare la fibra
per connettersi a qualsiasi altra rete, anche
se questa non dispone di un punto di presenza
fisico nella propria build room. Continuando
la filosofia del sistema N+1, la societ utilizza
una rete in fibra diversificata. Due reti da 10 GB
escono dalla struttura in due direzioni diverse
attraverso alcuni switch Cisco. Tutti i server e i client
hanno poi accesso alla rete diversificata e ognuno
collegato a entrambi gli switch. In pratica,
abbiamo un sistema di ridondanza perfetto
e se una delle due reti dovesse guastarsi
per qualsiasi motivo, laltra pronta per subentrare.
Feitsma ci ribadisce che Non serve solo avere
un edificio vuoto per mettere su un data center.
Quello di cui si ha veramente bisogno sono energia,
connettivit, ambienti a temperatura controllata
e gestione del calore. Senza poi dimenticare

Dorsale Internet
Uno dei motivi per cui stata scelta
Manchester che nella citt transita una
dorsale Internet. Questo riduce sensibilmente i costi
per la connessione della struttura tramite la fibra
alla dorsale. In precedenza, le uniche altre opzioni
possibili per collocare un data center in unarea
servita bene da una dorsale prendevano
in considerazione il solo centro di Londra.
In alternativa, si poteva scegliere anche un altro sito,
ma con unenorme aggravio di spese da sostenere
per il collegamento.

Cablaggio di rete
Per collegare fisicamente i server servono
chilometri di cavi Ethernet. Di norma,
nei vecchi data center, questi venivano installati
al di sotto del pavimento. Tuttavia, ogni volta
che se ne dovevano aggiungere altri, la possibilit
di veder saltare una piastrella era piuttosto alta.
UKFast ha optato per una soluzione alternativa, vale
a dire far passare i cavi direttamente sul soffitto.

10

Questo s che un generatore


come si deve!

la sicurezza. A Londra, ultimamente, parecchie


persone hanno pensato di fare soldi creando
dei data center dietro casa. Peccato che i grandi
nomi del settore abbiano sgravi fiscali
e finanziamenti che un normale privato o anche
semplicemente unazienda di piccole e medie
dimensioni pu solo immaginare. Sono nel ramo
IT da almeno 30 anni - ricorda Feitma - e prima
di sbarcare nel mondo dei data center ho fatto
molta assistenza a domicilio ad aziende
che mi chiamavano per problemi ai loro apparati.
Ho visto di tutto: server stipati in sottoscala
e surriscaldati, collegamenti con modem
analogici e altre cose di questo genere.
Alla fine, quindi, lasciatemi dare un consiglio
a chi pensa di mettere su un data center:
valutate sempre bene ogni spesa e ogni passo
che fate, perch nella maggior parte dei casi
conviene affidare i servizi a un centro
specializzato, anzich cercare di mettere in piedi
uninfrastruttura mal gestita. LXP

Star Distro

In questo modo, anche il flusso daria che passa sotto


i server ne risente in positivo, godendo cos
di un raffreddamento migliore.
Sicurezza interna
Tutti gli accessi alla struttura sono chiusi
con porte di sicurezza. Ogni entrata viene
poi accuratamente monitorata.

11

Generatori diesel demergenza


In un data center come quello di UKFast
non esiste la possibilit che venga
a mancare la corrente. Infatti, nellistante in cui
la rete elettrica cade, entrano in funzione tre
generatori diesel che in 60 sono in grado di fornire
elettricit allintero complesso per 24 ore al giorno,
sette giorni alla settimana, per 52 settimane. Questi
generatori vengono provati settimanalmente e hanno
50.000 litri di gasolio a portata. Potrebbe sembrare
scontato, ma la corretta tenuta di questi sistemi
permette alla societ di essere sicuri di poterli
utilizzare senza problemi in qualsiasi momento.

12

Linux pro 144 27

024_027_LXP_144_LXF185.feat_data 27

22/07/14 01:28

Linux sul tuo Chromebook

Installa

Linux
sul tuo

Chromebook

Se avete appena comprato un Chromebook ma sentite


la mancanza di un sistema operativo completo, ecco come
installare una bella distribuzione di Linux!

Tip
apt-get
il programma
che si usa per
installare nuovi
programmi
su Debian,
Ubuntu e altre
distribuzioni
di Linux.

hrome-OS, per il tipo di persone a cui sono indirizzati


i Chromebook, quasi perfetto: veloce, facile da usare
e fa esattamente quello che gli viene chiesto. Perch, quindi,
volere di pi? Fondamentalmente perch con il passare del tempo
potreste incominciare a sentirvi un po limitati dallassenza
di caratteristiche e strumenti normalmente disponibili sugli altri sistemi
operativi. In questo caso, niente paura, la soluzione di tutti i mali
si chiama Crouton ed una raccolta di programmi che implementano
un ambiente chroot in seno a ChromeOS, grazie al quale possibile
eseguire un sistema Linux, con Ubuntu e Debian correntemente
supportati. Un ambiente chroot non esattamente come una

macchina virtuale: in esecuzione c sempre lo stesso sistema


operativo, ma con una marcia in pi. Questo metodo presenta
numerosi vantaggi: per esempio, non va a toccare il sistema operativo
preesistente, facilitando leventuale rollback; usa i driver di ChromeOS
per lo schermo, ladattatore Wi-Fi e gli altri dispositivi, evitando
problemi di compatibilit. stato scritto dagli stessi autori
di ChromeOS, ragion per cui non dovrebbe subire contraccolpi quando
il sistema sar aggiornato. Lunico svantaggio nelluso di Crouton
potrebbe essere il piccolo prezzo che chiede in termini di velocit
complessiva del sistema ma, anche in questo caso, che problema c?
Di sicuro non avete comprato il Chromebook per una gara
di benchmarking. Nel caso vi potesse interessare, Crouton
un acronimo complesso: sta infatti per ChRomium Os Universal
chrooT EnvirONment, significato evidentemente deciso solo a posteriori.
Prima di iniziare linstallazione, pu essere una buona idea creare
un disco di ripristino per il vostro chromebook: anche se i passaggi
non dovrebbero costituire un grosso pericolo per lintegrit del sistema
operativo, non si sa mai. In ogni caso, tutto ci che vi serve una
chiavetta USB o una memory card SD da almeno 4 GB. Grazie alla
natura cloud-centrica di ChromeOS, 4 GB saranno pi che sufficienti,
visto che dovrete copiare solo il sistema operativo, mentre dati
e impostazioni sono sui server di Google.

Si parte!
LXDE mentre
gira su un
Chromebook.
Ma Chrome OS
sempre l

28

Quando siete pronti, scaricate Crouton dallindirizzo http://goo.gl/


fd3zc. uno script che scarica e installa tutto ci che vi serve.
Per quanto possa suonarvi strano, dovete avviarlo da una shell:
ChromeOS ne ha una pure lui, chiamata Crosh, che si pu attivare
in una finestra del browser premendo Ctrl+Alt+T

Linux pro 144

028_031_LXP_144_LXF185.feat_chromebook 28

22/07/14 12:36

Linux sul tuo Chromebook


Abilitare la modalit sviluppatore
Per usare Crouton necessario mettere il vostro
Chromebook in Developer Mode, cos da ottenere
laccesso di root e una shell Bash. Non un hack
ma unopzione assolutamente legittima e supportata,
sebbene normalmente nascosta. Cominciamo con
un doveroso avvertimento: abilitare la modalit
sviluppatore canceller il contenuto del disco locale.
I vostri dati nel cloud rimarranno al sicuro, ma ogni file
eventualmente stoccato in locale andr preventivamente
spostato su Google Drive (o copiato altrove) per essere
al sicuro. Il modo per entrare in Developer Mode
cambia in base alla marca e al modello di Chromebook,

tuttavia facile trovare le istruzioni necessarie sul sito


di Chromium, allindirizzo http://bit.ly/1gDHPGd.
SullAcer C720 che abbiamo usato per i test, cos come
sulla maggior parte dei dispositivi Samsung, basta
spegnere lunit e riaccenderla tenendo premuti i tasti
Esc e Aggiorna. In questo modo entrerete nella
schermata di recovery e potrete accedere al Developer
Mode con i tasti Ctrl+D. Altri computer dispongono
invece di un pulsante fisico. Una volta che la modalit
sviluppatore sar attiva, sar necessario premere
Ctrl+D o attendere 30 secondi dallaccensione perch
il sistema operativo si carichi correttamente.

contemporaneamente. molto limitata, ma basta digitare shell per


entrare in una Bash vera e propria. Crouton deve sapere quale
distribuzione intendete installare; le chiama release e si selezionano
con lopzione -r. Poi ha bisogno di conoscere lambiente che volete
installare, detto target environment: in pratica una raccolta
di pacchetti software, come per esempio un particolare desktop.
Questi due comandi possono visualizzare le opzioni disponibili:
sh -e ~/Downloads/crouton -r list
sh -e ~/Downloads/crouton -t list 2>&1 | more
Loutput del secondo comando deve essere dato in pasto a more
perch richiede diverse schermate per la visualizzazione. Premete
la barra spaziatrice per proseguire nella lettura. Una volta che avrete
deciso la release e il target da installare, potrete avviare Crouton.
Per installare Ubuntu 13.10 con il desktop Unity, per esempio, inserite:
sudo sh -e ~/Downloads/crouton -r saucy -t unity
Va usato sudo perch sono necessari i diritti di root. Potete anche
specificare pi target, come in questo esempio che installer Debian
Wheezy con desktop LXDE e il media center XBMC:
sudo sh -e ~/Downloads/crouton -r \wheezy -t lxde,xmbc

I primi passi
In base ai target selezionati e alla velocit della vostra connessione
a Internet, il download potrebbe richiedere parecchio tempo.
Al termine, vi verr comunicato il comando necessario a lanciare
la distribuzione scelta nellambiente chroot. Per esempio:
sudo startunity
Lanciate questo comando e vi ritroverete in un ambiente Ubuntu
standard, da cui potrete uscire liberamente, tornando cos a Chrome
OS, effettuando il logout nel solito modo. Potete passare da un sistema
operativo allaltro premendo contemporaneamente i tasti Ctrl+Alt+
Shift e Avanti/Indietro, visto che questi tasti corrispondono ai tasti
funzione F1 e F2. Lambiente che otterrete non sar uninstallazione
completa di Linux, ma sar possibile aggiungere qualsiasi pacchetto
nella solita maniera. Se avete installato Unity, il Software Center
non sar installato, ma potete ovviare cos:
sudo apt-get update
sudo apt-get install software-center
Da questo momento in poi, potrete installare qualsiasi altro
programma dallinterfaccia grafica. Potete installare anche altri
ambienti con il parametro -u. Per esempio, questo comando
aggiunger lambiente LXDE al chroot Ubuntu generato in precedenza:
sudo sh -e ~/Downloads/crouton -r saucy -u -t lxde

Un po di privacy
Come avrete notato, abilitando la modalit sviluppatore otterrete
i permessi di root attraverso sudo, senza la necessit di una password.

Fate un salto su www.chromium.org per


sapere come attivare la modalit sviluppatore sul
vostro Chromebook

Unity perfetto
per eseguire
qualsiasi cosa
a schermo intero

Ci diminuir sensibilmente la sicurezza di Chrome OS, perch se i file


stipati sui server di Google rimarranno protetti dalle vostre credenziali,
quelli nel vostro ambiente chroot saranno a disposizione di tutti.
Se la cosa vi preoccupa, Crouton vi permette di crittografare lintera
area chroot con il parametro -e. Aggiungendolo, vi verr chiesta una
password senza la quale non potrete leggere o avviare lambiente:
sudo sh -e ~/Downloads/crouton -e -r wheezy -t xfce
Ci sono tante distribuzioni e tanti possibili ambienti fra cui scegliere;
potete anche installarli tutti insieme, ma alla fine il vostro sistema
ne uscirebbe con le ossa rotte. Per cui, quanti installarne? La risposta
dipende unicamente dallo spazio che avete a disposizione.
Se volete provare diversi ambienti installandoli insieme, allora meglio
aggiungere al comando anche il parametro -n, con cui possibile dare
un nome diverso a ciascuno di loro. Dare un nome fondamentale
quando si installano pi release, perch vi servir al momento
di lanciarle, altrimenti Crouton caricher il primo ambiente disponibile:
sudo startunity -n saucy
Crouton installa anche un paio di strumenti utili, in particolare editchroot, che vi servir per effettuare un backup dellambiente:
sudo edit-chroot -b saucy
creer unimmagine di backup in ~/Downloads, da cui possibile
effettuare un ripristino con il comando:
sudo edit-chroot -r ~/Downloads/backup-file.tar.gz
Mettetelo al sicuro da qualche parte. Perfino dopo un reset
di fabbrica, in situazioni di emergenza, potrete sempre scaricare
nuovamente Crouton e avviarlo direttamente con il comando:
sudo sh -e ~/Downloads/crouton -f backup-file.tar.gz
Potete usare delete-chroot per eliminare un ambiente chroot, anche
se pi facile cancellare direttamente la sua directory partendo dal
percorso /usr/local/chroots. Eliminandoli tutti, tornerete alla situazione
originaria di Chrome OS. Sempre che, naturalmente, desideriate
davvero fare una cosa del genere...

Tip
Chroot
Un po come
una sandbox,
la directory
in cui costretto
a operare un
programma,
senza poter
vedere nullaltro.

Tip
Se decidete
di provare
pi ambienti
diversi, eliminate
immediatamente
quelli che non
vi servono pi:
a furia
di occupare
diversi GB,
si fa presto
a esaurire
lo spazio
disponibile!

Linux pro 144

028_031_LXP_144_LXF185.feat_chromebook 29

29

22/07/14 12:36

Linux sul tuo Chromebook


Passo passo Installare una distribuzione

Aprite una shell

Lanciate una finestra del terminale con Ctrl+Alt+T. Si aprir una finestra di Crosh
in un pannello del browser, che offre un set limitato di comandi. Potete avere una lista
con il comando list. Uno di essi shell, che apre una Bash vera e propria. Ebbene
s, anche sotto il cofano di Chrome OS si nasconde un motore basato su Linux.

Proteggete i vostri file

Aggiungendo -e al comando Crouton (non la stessa cosa di sh -e), il vostro ambiente


chroot verr memorizzato in una directory crittografata. Vedete di scegliere una
password decente, perch sar lunica cosa che protegger i vostri file, ma in fin dei
conti lo spazio sempre poco, per cui la maggior parte di essi finir nel cloud.

Aggiungete un package manager

Gli ambienti normalmente integrano solo apt-get, un gestore di pacchetti da riga di comando.
Per molti di voi, il primo passo naturale sar installare un gestore pi amichevole, che funzioni
da interfaccia grafica, come software-center per Ubuntu o Synaptic anche per Debian. Lanciate
sudo apt-get update e sudo apt-get synaptic per lultima versione disponibile.

30

Scegliete release e target

Avviando Crouton con -t list apparir un elenco dei target disponibili. Se desiderate
un ambiente desktop standard di Linux, ricordatevi che i Chromebook sono macchine
normalmente poco potenti, quindi un desktop leggero come LXDE pu essere lideale.
Unity, invece, va bene per eseguire i programmi a pieno schermo.

Installate la distribuzione

Dato che Crouton soltanto un installer, avr bisogno dei file della distribuzione per
poterla installare, per cui prendetevi tutto il tempo necessario. Anche con una connessione
veloce, ci vorr come minimo mezzora per gli ambienti di dimensioni considerevoli.
Con gli switch -t list possibile vederne le dimensioni prima dellinstallazione.

Avviate synaptic

Una volta a disposizione Synaptic, sar molto pi semplice avere accesso a tutti i pacchetti
presenti nel repository della distribuzione. Molti ambienti sono ridotti allosso per salvare spazio,
ma voi potete aggiungere in questo modo tutto ci che vi serve, aiutandovi con il pulsante
Search o spulciando i titoli fra le categorie. Tenete sempre docchio, per, lo spazio disponibile!

Linux pro 144

028_031_LXP_144_LXF185.feat_chromebook 30

22/07/14 12:36

Linux sul tuo Chromebook


Passo passo Creare un disco di ripristino

Avviate la procedura

Inserite nella barra dellindirizzo la stringa chrome://imageburner e collegate


al computer una chiave USB o una memory card SD, delle dimensioni richieste.
Il quantitativo pu variare, nel nostro caso sono 4 GB. ChromeOS scaricher
e installer limmagine di ripristino corretta per il vostro Chromebook. Se ne avete
pi di uno, dovrete usare pi pendrive o memory card.

Create il disco di ripristino

Al terminedello scaricamento, limmagine sar scritta sul vostro dispositivo


rimovibile (tutti i dati eventualmente gi presenti saranno effettivamente
cancellati). Volendo possibile effettuare anche il ripristino da un altro computer,
seguendo le istruzioni su http://google.com/chromeos/recovery, ma in questo
caso assicuratevi di aver scelto limmagine giusta.

In caso di emergenza

Qualora doveste corrompere la vostra installazione di Chrome OS o ricevere


il messaggio ChromeOS danneggiato o mancante, inserite il vostro disco
di ripristino. Potete anche forzare un ripristino premendo il tasto di reset
fisico, o una combinazione di tasti che varia a seconda del modello e del
produttore. Controllate sulla documentazione che accompagna il vostro
Chromebook per saperne di pi.

Crouton: pro e contro


Mettere a confronto un chromebook da 250
euro con un portatile vero e proprio pu
sembrare un po infame, siamo sulla stessa fascia
di prezzo di un netbook, e pure sullo stesso
target di mercato, ma noi lo facciamo lo stesso.
Eseguire Ubuntu o Debian su un chromebook
alla fine non diverso dal farlo su un portatile
pi potente, ci che cambia in questo caso
luso di una sessione chroot. Questo significa
dover avviare preventivamente ChromeOS
e aprire una shell per avviare la sessione
chroottata, il che non nemmeno un dramma
se si considera che i Chromebook sono pensati
per essere sospesi e non spenti al termine

dellutilizzo. Poich lhardware andr


necessariamente condiviso fra i due ambienti,
sar necessario configurare la rete in Chrome OS
e lo stesso vale per il resto dei dispositivi. Niente
di grave visto che non stiamo usando un dual boot
ma possiamo switchare continuamente
da un sistema allaltro. Il vero problema
costituito dallendemica mancanza di spazio
a disposizione e dalla stretta dipendenza
da applicativi e sistemi di stoccaggio in cloud:
laddove ChromeOS gestisce tutte queste cose
in modo trasparente, la vostra distribuzione
di Linux andr necessariamente istruita a farlo.
Ci sono anche altri modi per installare Linux

su un Chromebook, ma Crouton quello meno


intrusivo ed lunico che non toccher la vostra
installazione di Chrome OS neanche con un dito.
Ultimo aspetto ma non per questo meno
importante, Crouton portato
avanti dagli stessi sviluppatori
di Chrome OS: semmai
un aggiornamento
di questultimo dovesse
creare problemi allambiente
chroot, baster certamente
aggiornare anche
Crouton
per risolverli.

Linux pro 144

028_031_LXP_144_LXF185.feat_chromebook 31

31

22/07/14 12:36

ADV_doppia_ClassicRock_207x285.indd 2

22/07/14 11:38

E
N
O
I
Z
O
UNEM
MAI!
E
C
S
I
N
I
F
N
O
N
CHE

ANCHE
SU IPAD

TUTTI I MES
I IN EDICOL
A
ADV_doppia_ClassicRock_207x285.indd 3

22/07/14 11:39

Sysadmin

Premiata Amministreria
Dr Chris Brown

Dottor Brown

Il Dottore si occupa di formazione, scrittura


di articoli e consulenze su Linux.
Trova che il suo PhD in fisica delle particelle
non sia di alcun aiuto in questo tipo di lavoro.

Che ore sono?

Nostalgia

Tecniche esoteriche per i sysadmin direttamente


dai recessi pi impenetrabili della sala server

ecentemente AT&T ha reso di nuovo


disponibile un antico video su UNIX,
intitolato The UNIX System: Making
Computers Easier to Use (Il sistema UNIX:
rendere i computer pi facili da usare),
che risale al 1982. Si tratta di 23 minuti
di nostalgia pura per quelli che hanno memoria
dei terminali VT100, dei DECtape e dei dischi
con carica dallalto. Lo potete trovare allindirizzo
http://techchannel.att.com. Con contributi di
Ken Thompson e Dennis Ritchie (rispettivamente
linventore di UNIX e del linguaggio C), il filmato
trasmette un messaggio che appare senzaltro
vero se si confronta UNIX con i sistemi operativi
che lo hanno preceduto. Visto con occhi moderni
appare invece leggermente ironico. In questi
giorni molti di noi si sforzano di convincere gli altri
che la riga di comando di Linux facile
da usare. Nella parte centrale del video
compare Brian Kernighan, che illustra i benefici
offerti dallusare i programmi in combinazione
tra loro, magnificando le virt degli strumenti
semplici combinati in pipeline. Per illustrare
il concetto crea unapplicazione per il controllo
ortografico concatenando un certo numero
di strumenti standard di UNIX. Kernighan
commenta: UNIX un esempio di un nome
appropriato; probabilmente non comparir mai
nel dizionario. In effetti il mio Oxford English
Dictionary descrive UNIX come un sistema
operativo analogo a DOS e Windows.

Il Network Time Protocol facile da usare ed efficace


nel garantire che lorologio del vostro computer sia esatto

uanto a libert di scelta, a casa mia


persino possibile scegliersi lora,
che varia a seconda che consultiate
lorologio sul forno a microonde, quello sul
fornello oppure quello del frigorifero. Lunico
modo per sincronizzarli consiste nel visitarli uno
per uno, premere qualsivoglia improbabile
combinazione di tasti il progettista abbia deciso
sia necessario usare per impostare lora
e regolarli manualmente. La sincronizzazione
di data e ora sui computer molto pi
semplice, grazie a NTP, il Network Time
Protocol. Questo protocollo, che in
circolazione da una trentina danni, in grado
di sincronizzare gli orologi dei computer
sparsi per il mondo con unaccuratezza di 0,1
secondi o migliore e con unaccuratezza
di un millisecondo su una rete locale.
NTP definisce unarchitettura stratificata di time

NTP permette la sincronizzazione degli


orologi sia su rete geografica sia su rete locale

Perch importante sincronizzare?


Le differenze tra gli orologi
di computer diversi pu causare
problemi di tutti i tipi. Programmi
come make, che confronta data
e ora di modifica dei file, vanno
in confusione, specialmente

34

se scoprono una modifica che


sembra avvenuta nel futuro.
La cronologia degli elementi
in un file di registro difficile
da sbrogliare se scritta
da computer che non sono

daccordo sullora. Alcuni


protocolli di autenticazione
accettano solo credenziali con
data e ora allinterno di una
ristretta finestra per prevenire
attacchi nella risposta.

server. I computer nello strato pi elevato


(stratum 0) usano sofisticati orologi atomici
per sincronizzare data e ora: queste misure
di tempo si propagano verso il basso attraverso
i server degli strati 1, 2 e 3.Naturalmente
dei semplici mortali come voi e me
interagiranno probabilmente solo con gli strati
pi bassi della struttura. Configurare la propria
macchina come client NTP semplice. Di solito
basta installare il pacchetto ntp e assicurarsi
che il demone ntpd venga avviato. C un file
di configurazione (/etc/ntp.conf) le cui
principali righe sono quelle che iniziano
con server e dicono al demone dove
si trovano i time server con cui sincronizzarsi,
ma probabilmente la vostra distro ha gi
dei valori di default accettabili. Aiuta molto
impostare manualmente lorologio a unora pi
o meno giusta (usando il comando date) prima
di lanciare il demone. Se lora di sistema
differisce per pi di 1.000 secondi da quella
ricevuta dal server il demone perde fiducia
nella realt e termina lesecuzione. Di solito
il demone ntpd rimane in esecuzione,
correggendo gentilmente lorologio di sistema
per mantenerlo sincronizzato. anche possibile
fare una correzione una tantum cos:
# ntpd -q
ntpd: time set +42.230535s
Alcuni amministratori di sistema preferiscono
lanciare periodicamente questo comando come
job di cron anzich lasciare perennemente
in esecuzione il demone. Naturalmente
la disponibilit di ricevitori GPS a basso
costo e in grado di fornire data e ora
con unaccuratezza di qualche decina
di nanosecondi ha messo un po in crisi questo
schema, permettendo a tutti di ottenere
la precisione di un server di strato 0.

Linux pro 144

034_037_LXP_144_LXF181.sysadmin 34

22/07/14 12:35

Sysadmin

Secure Shell
Proprio quello che ci vuole per chi soffre di agorafobia. Seguite il Dottore
nella sua esplorazione del meraviglioso mondo al di l della porta 22

robabilmente avrete gi letto qualcosa a proposito di SSH


in queste pagine. Si tratta per di uno strumento cos
importante che non mi sento in dovere di scusarmi se ne parlo
di nuovo. SSH sta per Secure SHell, ma non un nome del tutto
appropriato. Non si tratta infatti di una shell nel senso della Bash,
quanto piuttosto di uno strumento che permette di collegarsi
in maniera sicura con un computer remoto. Il suo uso pi comune
consiste nel connettersi a una shell vera e propria sul computer
remoto, cosa che da limpressione di lavorare direttamente col prompt
di comando di quella macchina. per possibile fare molto altro,
come vedremo. Luso pi semplice di SSH il seguente:
[chris@ubuntu1204 ~]$ ssh centos64
chris@centos64s password:
Last login: Mon Dec 2 06:35:29 2013 from ubuntu1204.home
[chris@centos64 ~]$
In questo esempio il primo prompt quello della shell della mia
macchina locale (ubuntu1204), mentre il secondo quello della shell
sulla macchina remota (centos64). Parto dallipotesi che il nome
dellhost centos64 sia risolvibile (per esempio potrebbe trovarsi
nel file /etc/hosts). In caso contrario possibile usare al suo posto
un indirizzo IP. Per default SSH usa come account per collegarsi
alla macchina remota lo stesso account con cui siete collegati alla
macchina locale, cio chris nellesempio qui sopra. Se cosi non fosse
possibile specificare laccount da usare:
[robert@ubuntu1204 ~]$ ssh bob@centos64

Chiave privata

Server

Archiviata in
/etc/ssh/ssh_host_key

Chiave privata

Client

Opzionalmente cifrata
con una passphrase
e archiviata in
~/.ssh/id_rsa

anche possibile usare SSH per eseguire un singolo comando


sul server. Per esempio potremmo creare una directory cos:
$ ssh centos64 mkdir /home/chris/demo
Tutto questo appare piuttosto semplice dal punto di vista dellutente,
ma dietro le quinte ha avuto luogo un lavoro crittografico piuttosto
sofisticato. Per prima cosa il server si autenticato in maniera sicura
con il client, in modo che questultimo possa essere ragionevolmente
certo di collegarsi con la macchina con cui sta effettivamente
pensando di collegarsi. In secondo luogo stata generata e condivisa
in forma sicura tra le due macchine una chiave di sessione casuale.
Tutto il traffico tra client e server (e viceversa) stato poi cifrato con
questa chiave. Questo scambio iniziale di informazioni crittografiche
richiede che il server abbia generato una coppia di chiavi pubblica/
privata (questo di solito succede quando viene installato il demone
sshd) e che il client abbia una copia della chiave pubblica.
Probabilmente la prima volta che vi collegate a una macchina con
SSH il vostro client non ha una copia della chiave pubblica del server.
Il server la offre al client, ma questultimo non si fida: a questo punto
compare un messaggio piuttosto inquietante, qualcosa di simile a
quanto segue:
$ ssh centos64
The authenticity of host centos64 (192.168.1.79) cant be
established.
RSA key fingerprint is f2:97:9f:44:e3:d5:41:0f:6f:1e:49:76:df:1a:15:f6.
Are you sure you want to continue connecting (yes/no)?

Coppia di chiavi del server generate


durante linstallazione di sshd

Server

Archiviata in
/etc/ssh/ssh_host_key.pub

Coppia di chiavi dellutente generate


usando ssh-keygen

Client

Archiviata in
~/.ssh/id_rsa.pub

Chiave pubblica

Client

Archiviata in
/etc/ssh/ssh_known_hosts
per tutto il sistema
e/o
~/.ssh/known_hosts
per lutente
Chiave pubblica

Server

Copiata in
~/.ssh/auhorized_keys

SSH usa
coppie di chiavi
pubbliche
e private
per autenticare
il server presso
il client e per
autenticare
lutente presso
il server.
Semplice!

Linux pro 144

034_037_LXP_144_LXF181.sysadmin 35

35

22/07/14 12:35

Sysadmin
Se siete autenticamente paranoici dovreste richiedere un incontro
faccia a faccia con lamministratore del server per chiedergli
di confermare le impronte digitali (fingerprint) della chiave del server.
Lamministratore potrebbe ricavarle con il comando
$ ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
e poi leggerle ad alta voce mentre voi verificate che corrispondono
a quelle che compaiono nel messaggio di SSH riportato sopra.
Quanto spesso accade questo scenario idealizzato? Probabilmente
mai. Di solito si inserisce yes in risposta al messaggio inquietante
e il client SSH aggiunge la chiave pubblica del server a un file locale
(in genere ~/.ssh/known_hosts), in modo da non dover chiedere
di nuovo conferma in futuro. Tenete per a mente che in questa
situazione state in effetti affermando mi prendo la responsabilit della
verifica dellautenticit di questo server e che siete vulnerabili
a un attacco di tipo man in the middle. La cattura della chiave
pubblica del server in un file sotto la vostra directory home
ovviamente funziona solo per il vostro account. Se ci sono altri utenti
nel sistema dovranno anchessi salvare una copia della chiave. In

client
MySQL

client
MySQL

5000

3306

ssh

Canale
cifrato

Host ubuntu1204

22

sshd

Host centos64

ssh L 5000 localhost : 3306 centos 64


Linoltro di una porta locale. il risultato dellesecuzione del comando ssh -L
5000:localhost:3306 centos64

questo caso una soluzione migliore potrebbe consistere nello spostare


il file known_hosts in /etc/ssh/ssh_known_hosts, dove sar
utilizzato da tutti gli utenti. SSH non ha per ancora terminato la fase
di autenticazione. Il prossimo passo consiste nellautenticare voi,
lutente, sul server. in grado di farlo in diversi modi, ma noi ne
considereremo solo un paio. Primo, SSH pu usare il buon vecchio
metodo nome utente pi password per lautenticazione, con il
vantaggio che queste credenziali sono passate sulla rete attraverso un
canale cifrato gi stabilito. Con la configurazione di default di SSH
probabilmente questo lunico metodo che funziona. SSH per in
grado di utilizzare anche la tecnologia con chiave pubblica/privata per
permettervi di collegarvi. Configurare questa modalit di accesso
richiede un po di lavoro ed un rito di passaggio per un aspirante
amministratore di sistema. Per prima cosa dovete generare una
coppia di chiavi sul client:
ssh-keygen -t rsa
Accettate la posizione di default proposta da SSH per salvare
la chiave, a meno che non abbiate delle ragioni per non farlo. Vi sar
richiesto di inserire una passphrase per proteggere la chiave privata,
ma per ora potete fare a meno di farlo. Non la soluzione pi sicura,
ma ne riparleremo tra breve. Ora avete una chiave privata in ~/.ssh/
id_rsa e la corrispondente chiave pubblica in ~/.ssh/id_rsa.pub
(si tratta di chiavi relative allutente, non hanno nulla a che fare con
le chiavi della macchina di cui abbiamo parlato prima). A questo punto
occorre copiare la chiave pubblica sul server. Potete farlo a mano
se desiderate: prendete semplicemente il file ~/.ssh/id_rsa.pub sul
client e inseritelo al fondo del file ~/.ssh/authorized_keys sul server.
Una maniera pi semplice la seguente:
$ ssh-copy-id centos64
Questo script esegue un login SSH, quindi vi verr richiesta la vostra
password su centos64. Se tutto va bene la prossima volta che
proverete a collegarvi con SSH al server non vi verr pi richiesta
la password (se non funziona date unocchiata al box La diagnosi
istantanea del Dottore per i malanni di SSH). Se per caso avete
usato unistanza Linux su Amazon Web Service probabilmente avrete
gi eseguito questa serie di operazioni. Infatti di solito queste istanze
usano lautenticazione con chiave RSA per il login come root.

La diagnosi istantanea del Dottore per i malanni di SSH


Cominciate leggendo i messaggi di errore.
Se non hanno senso la prima volta provate
a rileggerli pi lentamente. Guardate nei file

di registro, specialmente in quelli del server


(probabilmente /var/log/secure, ma dipende
da come configurato il sistema).

Sintomo: ssh: connect to host centos64


port 22: No route to host (dopo un bel po
di tempo).
Diagnosi: Probabilmente il server gi.
Problema non specifico di ssh. Il server
risponde al ping?

Sintomo: ssh: connect to host centos64 port


22: Connection refused (immediatamente).
Diagnosi: Il server su ma il servizio sshd non
in ascolto. stato installato? in esecuzione?

Sintomo: ssh: connect to host centos64


port 22: No route to host (immediatamente).
Diagnosi: La connessione potrebbe essere
bloccata dal firewall del server. Verificate
che la porta 22 sia aperta.

36

Sintomo: La coppia di chiavi RSA dellutente


stata generata, ma ssh continua a chiedere
la password al login.
Diagnosi: Cercate qualche indizio nel file
di registro del server. Assicuratevi che la vostra
chiave pubblica sia stata copiata sul server e che
i permessi di ~/.ssh e ~/.ssh/authorized_keys
siano sufficientemente restrittivi (dovrebbero
essere 700 e 600 rispettivamente).

Provate a lanciare ssh con lopzione -v


(verbose): probabilmente vi dir perch non
ce la fa.

Sintomo: Durante un login ssh c una lunga pausa


(15 circa) prima che venga richiesta la password.
Diagnosi: Si tratta di un problema comune. Di solito
causato da un timeout sulla risoluzione inversa
DNS lato server. Di solito possibile risolvere
il problema correggendo il DNS oppure (forse
pi praticabile) disabilitando la risoluzione DNS
nel file di configurazione del server /etc/ssh/sshd_
config. Basta aggiungere la riga
useDNS no
In passato ho anche dovuto disabilitare
lautenticazione CSSAPI aggiungendo la riga
GSSAPIAutentication no
Non dimenticate di riavviare il server dopo aver
modificato questo file.

Linux pro 144

034_037_LXP_144_LXF181.sysadmin 36

22/07/14 12:35

Sysadmin
I collegamenti SSH senza password sono comodi, ma dovreste fare
una riflessione sulla sicurezza di questa configurazione. Senza la
protezione di una passphrase sulla chiave privata chiunque abbia
accesso al vostro account sulla macchina locale potr anche accedere
al server. facile impostare una passphrase per proteggere la vostra
chiave privata e di solito lo si fa quando la si crea. Per aggiungerla
n seguito occorre usare ssh-keygen -p. Una volta impostata
la passphrase vi verr richiesta ad ogni tentativo di collegamento
con SSH, cosa che dal punto di vista dellutente altrettanto scomoda
dellinserimento della password originale. Molte distribuzioni per
forniscono un sistema di gestione della chiave privata come lo Gnome
Keyring Manager o come Seahorse o ancora come SSH-agent,
che gestir per voi le vostre chiavi private e le sbloccher quando
necessario. Ho per deciso di non parlarne qui per ragioni di spazio.

Giocare con la pipe


possibile utilizzare il canale cifrato creato da SSH per trasportare
traffico destinato ad altri servizi. Supponiamo di amministrare uno
stack LAMP su un server remoto, su cui sono in esecuzione Apache
e un server MySQL. Ovviamente sul vostro firewall aperta la porta
80 in modo che il sito sia accessibile dallesterno, ma la porta
di MySQL (3306)? Non conviene aprire quella porta allaccesso
dallesterno, perch il database deve essere accessibile solo
da Apache e dal codice PHP del sito, eseguiti sulla stessa macchina.
Come fare allora per amministrarlo? In questo caso viene in aiuto
labilit di port forwarding (inoltro di porta) di SSH. Se date il comando
$ ssh -L 5000:localhost:3306 centos64
il client SSH rester in ascolto sulla porta 5000 (sulla vostra macchina
locale). Se un client, come MySQL o MySQL Workbench si connette
a questa porta SSH accetter la connessione e inoltrer il traffico sulla
porta 3306 della macchina remota. Il nome localhost in questo caso
fuorviante: viene interpretato sulla macchina remota (centos64).
I vantaggi di questa soluzione sono duplici. Per prima cosa non dovete
aprire la porta 3306 sul firewall che protegge il server. In secondo
luogo la vostra conversazione con il server MySQL risulter cifrata. SSH
anche in grado di eseguire linoltro di porte remote, anche se,
in base alla mia esperienza, meno utile. Ecco un esempio:
$ ssh -R 4023:ubuntu1204:23 centos64
In questo caso il server SSH (che gira su centos64) rester in ascolto
sulla porta 4023. Se qualcuno si connette la connessione verr
accettata e il traffico verr inoltrato alla porta 23 della vostra
macchina (ubuntu1204). Ecco un altro esempio che pu essere
classificato alla voce giocare con la pipe. Supponiamo che io abbia
un archivio tar su una macchina remota (di nuovo centos64!)
che voglio ripristinare sulla macchina locale. Potrei usare scp
per copiare il file sulla macchina locale e poi ripristinarlo da qui,
ma questo richiede la creazione di una seconda copia dellarchivio.
Ecco una soluzione pi pulita:
$ ssh -n centos64 cat /tmp/demo.tar | tar xvf Dal punto di vista della macchina locale in questo caso stiamo
eseguendo due comandi: ssh e tar. La pipe sulla macchina locale
e collega loutput standard di ssh allinput standard di tar. Il comando
cat invece eseguito sulla macchina remota: il suo output viene

stdin
ssh
stdout

Canale
cifrato

stdin
Comando
remoto

sshd
stdout

copiato da sshd, il demone SSH remoto, sulloutput standard di ssh.


Non si tratta di un caso speciale: quello che succede di solito.
Anche quando eseguo un semplice login SSH, come
$ ssh centos64
loutput della shell Bash remota viene trasmesso da sshd allo standard
output di ssh, che arriva sul mio schermo (vedere figura). C un
ultimo (ma importante) esempio di giocare con la pipe: linoltro di
X11. Questa tecnica consente di eseguire unapplicazione grafica su
una macchina remota e inoltrare il traffico prodotto al server X sulla
macchina locale. Sembra difficile, ma non lo . Tutto il lavoro svolto
dallopzione -X di ssh. Quindi, per esempio, il comando
$ ssh centos64 -X mysql-workbench
lancer lo strumento grafico mysql-workbench su centos64 e
linterfaccia utente sar visibile sulla macchina locale. Non solo
incredibilmente semplice, ma anche totalmente sicuro perch il
traffico X11 cifrato.

SSH trasporta
i flussi
di ingresso
e uscita avanti
e indietro
tra la macchina
locale
e il comando
remoto

Parenti e amici
Un parente stretto di SSH scp, il programma di secure copy.
Sembra molto simile al buon vecchio comando cp, ma a differenza
di esso permette di copiare file remoti. Ecco il pi semplice esempio
funzionante che mi viene in mente:
$ scp gnomes.txt centos64:
Sono i due punti finali a essere importanti. Senza di essi centos64
sarebbe interpretato semplicemente come il nome di un file e scp
si comporterebbe come un normale comando cp. scp invece
interpreta la parte che precede i due punti come il nome di una
macchina ed esegue un login stile SSH su quella macchina prima
di copiare il file gnomes.txt nella directory home su di essa. Forse
un esempio pi lungo risulta pi facile da comprendere:
$ scp gnomes.txt centos64:/home/chris/pointyhats
In questo caso abbiamo specificato il file destinazione usando
un percorso assoluto (sul server). Se usate lo schema di
autenticazione di default di SSH, nome utente pi password, scp vi
chieder la password tutte le volte che lo usate, cosa a dir poco
alquanto noiosa. Limpostazione di un sistema di autenticazione con
chiave pubblica/privata per lutente, come descritto sopra, permette
di utilizzare molto pi comodamente scp in forma non interattiva
(anche da uno script). I miei esempi usano un client SSH su Linux.
E se la vostra macchina desktop usa Windows? Ci sono alcune
soluzioni possibili, tra cui i prodotti di bitvise (www.bitvise.com/
tunnelier) e il client SSH che fa parte di Cygwin. Lo strumento pi
noto probabilmente putty (www.putty.org/). Se avete intenzione
di collegarvi ai vostri server mentre prendete il sole in spiaggia ci sono
anche client SSH per Android (ConnectBot e JuiceSSH). LXP

State al sicuro
Se avete un server SSH in esecuzione su di una
macchina connessa a Internet vi raccomando
caldamente di disabilitare i login come root,
perch laccount di root un ovvio vettore
dattacco. facile da fare... basta accertarsi che

nel file di configurazione di sshd, /etc/ssh/sshd_


config sia presente la seguente riga:
PermitRootLogin no
Una volta eseguita la modifica dovrete per
prima cosa collegarvi come utente normale

e poi usare su (o forse sudo) per ottenere una


shell di root. Naturalmente disabilitare i login
diretti come root sui vostri server in ogni caso
una buona idea; Ubuntu e derivati lo fanno
per default.

Linux pro 144

034_037_LXP_144_LXF181.sysadmin 37

37

22/07/14 12:35

Diventa protagonista
del mondo Linux

038_039_LXP_144_Doppia_Abbo_LinuxPro 38

22/07/14 01:29

ABBONATI
SUBITO

SCEGLI il metodo pi comodo PER ABBONARTI:


POSTA Compila, ritaglia e spedisci il coupon in busta chiusa a: Sprea Editori S.p.A. - Servizio Abbonamenti - Via Torino 51 - 20063 Cernusco Sul Naviglio (MI)

FAX invia il coupon al N. 02


TELEFONA al N. 02

700537672

ONLINE sul sito

www.myabb.it/linuxpro

87168074

Dal luned al venerd dalle ore 9,00 alle ore 18,00. Il costo massimo della telefonata da linea fissa pari a una
normale chiamata su rete nazionale in Italia. Da telefono cellulare il costo dipende dal piano tariffario in uso. Via mail: abbonamenti@myabb.it

1 anno - 12 numeri

90

,80

,
39
invece
di
70
39,90 invece 70,80
sconto
43% 43%
sconto
COUPON DI ABBONAMENTO

SI! Mi abbono a Linux Pro

Ricever 12 numeri di Linux Pro a soli 39,90


anzich 70,80 con lo sconto del 43%.

ABBONANDOTI

Inviate Linux Pro al mio indirizzo:


Cognome e Nome

avrai diritto ai
SEGUENTI vantaggi

038_039_LXP_144_Doppia_Abbo_LinuxPro 39

Prov.

email

Scelgo di pagare, in un unico versamento:


Con il bollettino postale che mi invierete
Con carta di credito:

Visa

American Express

Diners

Mastercard

Numero
Firma

Scad. (mm/aa)

Regalo Linux Pro a:


Cognome e Nome
Via

N.

Localit

CAP

Prov.

Tel.
Compila, ritaglia e invia questo coupon in busta chiusa a:
Sprea Editori S.p.A. - Servizio abbonamenti - Via Torino 51, 20063 Cernusco Sul Naviglio (MI)

ABBONATI ANCHE IN INTERNET!

Collegati subito a: www.myabb.it/linuxpro


Accetto di ricevere offerte promozionali e di contribuire
con i miei dati a migliorare i servizi offerti (come specificato
al punto 1 dellinformativa privacy): SI NO

Accetto che i miei dati vengano comunicati


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

LXP144

Informativa ex Art.13 LGS 196/2003. I suoi dati saranno trattati da Sprea Editori S.p.A., 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
anagrafici. Inoltre previo suo consenso i suoi dati potranno essere trattati dalle Titolari per le seguenti finalit: 1) Finalit di indagini di mercato e analisi di tipo
statistico anche al fine 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, finanziario, assicurativo, automobilistico e ad enti pubblici ed Onlus, per propri utilizzi aventi le medesime finalit di cui al
suddetto punto 1) e 2). Per tutte le finalit menzionate necessario il suo esplicito consenso. Responsabile del trattamento Sprea Editori S.p.A. via Torino 51
20063 Cernusco SN (MI). I suoi dati saranno resi disponibili alle seguenti categorie di incaricati che li tratteranno per i suddetti fini: addetti al customer service,
addetti alle attivit di marketing, addetti al confezionamento. Lelenco aggiornato delle societ del gruppo Sprea Editori S.p.A., delle altre aziende a cui saranno
comunicati i suoi dati e dei responsabili potr in qualsiasi momento essere richiesto al numero +39 0287168074 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, modificare o
cancellare per violazione di legge, o opporsi al loro trattamento scrivendo a Sprea Editori S.p.A. via Torino 51 20063 Cernusco SN (MI).

N.
CAP

Tel.

Tagliare lungo la linea tratteggiata

PREZZO BLOCCATO: per tutta la durata


dellabbonamento non pagherai un euro in pi, anche
se il prezzo di copertina dovesse subire aumenti.
TUTTI I NUMERI ASSICURATI:
se per cause di forza maggiore qualche numero della rivista non venisse stampato, labbonamento verr prolungato
fino 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.

Via
Localit

OFFERTA VALIDA SOLO PER LITALIA

22/07/14 01:29

Langolo di

Android

News, recensioni e guide sul sistema operativo libero per smartphone


Se hai news da segnalarci o dei commenti scrivici ad angolo_android@linuxpro.it

LAndroid che ci aspetta


Durante lannuale conferenza I/O riservata agli sviluppatori, Google ha annunciato
le novit che ha in serbo per Android

ome tutti gli anni,


gli sviluppatori di tutto
il mondo si sono ritrovati
a San Francisco per
ascoltare direttamente dai
responsabili di Google le novit
dei prossimi mesi. E come negli
scorsi anni non sono rimasti delusi:
gli annunci pi importanti riguardano
la prossima versione di Android,
che al momento ha solo il nome
in codice L (dopo la K di KitKat),
ma che da qui allautunno potrebbe
proseguire la tradizione e prendere
il nome di un dolce. Le novit
di Android L vanno per ben oltre
il nome e riguardano prima di tutto
un nuovo framework grafico,
Material Design, che coinvolger tutti
i servizi Google, sia quelli mobile
che quelli Web. Si tratta in pratica
di un nuovo linguaggio grafico
comune a tutte le piattaforme e alle
principali app, molto pi colorato
e lineare rispetto al passato, e che
secondo alcuni abbastanza simile
alla nuova interfaccia di iOS. Arriva
poi finalmente anche il supporto
ai SoC da 64 bit che dovrebbero
arrivare entro un anno anche
per i terminali Android. Con Android
L cambia anche la virtual machine
che ora la ART che avevamo visto
in via sperimentale su KitKat
e che secondo Sundar Pichai,
ingegnere capo di Android,
permetter di migliorare
le prestazioni fino a 4 volte rispetto
al passato. Cambiano poi aspetto
le notifiche, che non appaiono pi
nella barra superiore ma vengono
visualizzate al centro del display
per garantire una migliore
visualizzazione e in pi vengono
visualizzate come un fumetto

al di sopra delle applicazioni


che si stanno utilizzando, senza per
interromperne automaticamente
il funzionamento ma lasciando
la possibilit allutente di decidere
il da farsi.

Autonomia, foto
e sicurezza
Il resto delle novit riguardano
quelli che da sempre sono i punti
deboli dei terminali Android:
autonomia, foto e sicurezza.
Per aumentare lautonomia Google
ha introdotto alcune nuove funzioni
come Battery Historian che in
ogni momento permette di sapere
quali sono le app che consumano
di pi e soprattutto Battery Saver,
una speciale funzione che nel
momento in cui la batteria scende
al di sotto del 10% garantisce altri
90 minuti di autonomia diminuendo
automaticamente la velocit
del SoC, la luminosit
e le connessioni wireless.
Per garantire migliori risultati
in campo fotografico, Google
ha introdotto nuove API
che permetteranno ai modelli
con un buon processore (Google
ha usato lesempio del Nexus 5)
di scattare fino a 8 foto consecutive
alla massima risoluzione senza
rallentamenti. Ci sar anche lHDR+
e una modalit molto simile
a quella dei file RAW delle reflex.
Infine la sicurezza, vero tallone
dAchille di Google, rispetto alla
quale gli ingegneri hanno garantito
maggiori controlli nel Play Store
linserimento del Factory
ResetProtection, una funzione
che permetter di formattare
a distanza il dispositivo in caso

di furto o smarrimento dello


smartphone. La prima versione
beta di Android L gi disponibile
per gli sviluppatori, ma come
di consueto da qui allautunno
verranno inserite altre importanti
novit. Nel frattempo chi vuole
impratichirsi con la nuova
interfaccia di Android L potr
scaricare gratuitamente da Play
Store il launcher Nova che integra
gi alcune delle migliorie grafiche
che troverete sui terminali
del 2015.
Per farvi unidea in anteprima
di quello che potr offrire la nuova
versione di Android potrate
scaricare lultimo aggiornamento
del Launcher Nova da Play Store

La chiave Chromecast

a speciale chiave HDMI


da 35 euro di Google
che allinizio consentiva
solo il trasferimento
sulla TV di immagini e video
di YouTube, con lultimo
aggiornamento permette anche
di effettuare il mirroring, cio
la duplicazione completa
del display dello smartphone
o del tablet. A oggi la
possibilit limitata ad alcuni
terminali di ultima generazione:
i Nexus 4, 5, 7, i Samsung
Galaxy S4 ed S5, gli HTC One
e gli LG 2 e 3, anche se poi
praticamente tutti i terminali
con i privilegi root possono
provare il mirroring
semplicemente modificando

il nome con cui vengono


riconosciuti da Chromecast.
Le prestazioni sono veramente
buone e il tempo di latenza
che si aggira sui 200
millisecondi permette anche
di divertirsi con qualche gioco
non troppo movimentato.
Il vero limite rimangono
i consumi, durante le nostre
prove abbiamo calcolato
un consumo di circa l1%
al minuto, in pratica duplicare
sul televisore anche solo
un film da 100 minuti esaurir
completamente la batteria
dello smartphone e quindi
assolutamente consigliato
mantenerlo collegato
allalimentazione. LXP

40 Linux pro 144

040_LXP_144_news android 40

22/07/14 01:29

Smartwatch Langolo di Android

LG G Watch e Samsung Gear Live


I primi due smartwatch con il sistema operativo Wear di Google sono potenti e ricchi
di funzioni, ma anche molto acerbi

rano in tanti ad aspettare


con impazienza il sistema
operativo Wear di Google
dedicato agli smartwatch,
e insieme a questo anche i primi
orologi intelligenti a montare
il sistema ufficiale di Mountain
View. Entrambe le richieste sono
state accontentate durante
lannuale conferenza I/O di San
Francisco dedicata agli sviluppatori,
che hanno potuto vedere
in anteprima LG G Watch
e Samsung Gear Live. La bella
sorpresa per noi italiani che gi
dai primi di luglio possibile
acquistare i due smartwatch
direttamente dal Play Store,
noi abbiamo avuto la possibilit
di provarli velocemente e non
ce la siamo certo fatta sfuggire.
Gli smartwatch con Google Wear
sono sicuramente superiori
ai modelli precedenti di Samsung
e Sony proprio perch hanno
a disposizione una piattaforma
condivisa con gli smartphone
Android. Si tratta per di una
soluzione ancora acerba come
dimostrano alcuni dei limiti
pi evidenti: il fatto che abbiano
unautonomia che permette
di arrivare solo alla fine della
giornata e la presenza di schermi
che risultano poco visibili sotto
la luce diretta del sole. Ci sono
per anche i punti di forza,
a partire dal sistema di notifiche
basato sulle schede di Google Now,
con in pi la possibilit di ricevere
notifiche sullorologio non solo dalle
app ufficiali di Google ma
da qualsiasi app presente sullo
smartphone. Inoltre i comandi
vocali sono attivi anche in italiano
e anche se non sono ancora cos

LLG G Watch ha maggiore


autonomia grazie alla sua batteria

completi come quelli in lingua


inglese, permettono di formulare
richieste, rispondere con la voce
ai messaggi e alle mail ricevute.
La maggior parte delle altre
funzioni, cio le app per il fitness,
calendario, sveglia, agenda, erano
gi disponibili sugli smartwatch
di generazioni precedenti ma con
Android Wear risultano pi stabili.
Inoltre la piattaforma Wear ha gi
a disposizione uno store dedicato
che, anche per ora conta solo
poche decine di app, destinato
a crescere in tempi brevi.

Molto simili, poco


rivoluzionari
Come struttura LG G Watch
e Samsung Gear Live non
si discostano molto dai primi
smartwatch visti in questi anni
e per vedere qualche vera novit
stilistica bisogner aspettare
lo smartwatch di Motorola, il Moto
360, che con la sua forma sferica
ha sicuramente un look speciale,
ma di cui ancora non si sa niente
su una eventuale disponibilit
nel nostro paese. A differenza dagli
smartphone Android, che vengono
personalizzati ampiamente
dai produttori, gli smartwatch
con Android Wear mantengono
linterfaccia originale e questo
sicuramente positivo e dovrebbe
ridurre la frammentazione
che uno dei problemi di Android.
A livello hardware sia il modello
di LG che quello di Samsung
si basano sulla stessa piattaforma
Snapdragon 400, cio un quad
core da 1.2 GHz con GPU Adreno
305, 512 MB di RAM e 4 GB
di memoria interna. Si tratta
di una configurazione sicuramente
superiore alle necessit
del sistema e che vediamo
normalmente sugli smartphone
di fascia media. Tutta questa
potenza per al momento incide
solamente sui consumi della
batteria, che invece limitata
a 400 mAH sul modello di LG
e addirittura a 300 mAH su quello
di Samsung (al contrario in uno
smartphone la capacit della

Il Samsung
Gear Live ha buone
funzioni ma autonomia
un po limitata

batteria varia dai 2.000 ai 3.000


mAH) e che obbliga quindi
a ricaricare tutti i giorni lorologio.
Oltretutto a oggi non sono previsti
giochi o app particolarmente
complesse che potrebbero
giustificare questa potenza,
ma lorologio funziona quasi
esclusivamente come raccoglitore
di notifiche e lunica app davvero
intensiva il sistema
di riconoscimento della voce.
Probabilmente Google ha voluto
in questo modo fornire agli
sviluppatori una piattaforma su cui
realizzare app complesse, e se cos
vedremo i primi risultati entro
qualche mese. Le vere differenze
tra LG G Watch e Samsung Gear
Live riguardano il display da 1,65
pollici, che nel modello di Samsung
un Amoled, mentre in quello
di LG un classico LCD IPS,
entrambi sono luminosi ma sotto
la luce diretta del sole risultano
veramente poco visibili.
In pi il Gear Live di Samsung
ha il rilevatore del battito cardiaco
mentre il contapassi presente
su entrambi, cos come
la resistenza allacqua e alla
polvere. Si tratta in definitiva di due
smartwatch che rappresentano
lo stato dellarte della tecnologia,
che in questo momento non
particolarmente evoluta,
ma che hanno comunque il

vantaggio di appartenere a un
ecosistema che non potr che
crescere a breve. LXP

Giudizio
LG G Watch
Produttore: LG
Web: www.lg.com
Prezzo: 199

Caratteristiche
Autonomia
Prestazioni
Qualit/prezzo

8
6
7
7

Pu vantare una maggiore


autonomia rispetto al concorrente
grazie alla batteria pi capiente.

Il voto di
Linux Pro

Giudizio
Samsung Gear Live
Produttore: LG
Web: www.samsung.it
Prezzo: 199

Caratteristiche
Autonomia
Prestazioni
Qualit/prezzo

8.5
5.5
7
7

Bene il rilevatore di battiti


cardiaci e la tecnologia Amoled
ma male la batteria da 300 mAH.

Il voto di
Linux Pro

Linux pro 144

041_LXP_144_rec_android 41

41

22/07/14 12:47

Langolo di Android Acer Liquid S2

Acer Liquid S2
In seguito al rinnovamento della propria gamma, Acer ci propone uno smartphone
tecnologicamente avanzato e dal grande schermo

i recente, Acer
ha compiuto
il rinnovamento della
propria gamma
di smartphone e tablet.
Tra i nuovi modelli proposti,
spicca il Liquid S2 che, grazie
allampio schermo da 6 pollici,
a tutti gli effetti un phablet.
Tuttavia, ci non sarebbe
sufficiente a renderlo
interessante. Sono invece le sue
caratteristiche tecnologiche
a farne un prodotto
di primordine. Tanto per
cominciare, fin dal primo
momento in cui labbiamo
tra le mani, il Liquid S2 ci d una
sensazione di solidit
e di comodit, nonostante
le dimensioni (166 x 86,2
x 9 mm). Poi lo schermo
ad attirare la nostra attenzione.
Si tratta infatti di uno dei punti
di forza di questo dispositivo.
La risoluzione Full HD a 1920
x 1080 pixel e la tecnologia IPS
lo rende estremamente
luminoso, con bellissimi colori
e un contrasto invidiabile.
Oltretutto, grazie ad applicazioni
come Display Ai Color, possiamo
migliorarne ulteriormente
la resa cromatica, in base
ai nostri gusti personali. Anche
langolo di visualizzazione dello
schermo non delude affatto
e la reattivit al tocco
estremamente precisa.
Prestazioni di questo genere
si ottengono anche grazie alla
presenza di un processore
molto potente, il quad-core
Snapdragon 800 da 2.3 GHz,
affiancato da 2 GB di RAM.
Di conseguenza, questo

smartphone non teme affatto


le applicazioni multimediali
e i videogiochi, comportandosi
sempre benissimo in ogni
situazione, anche la pi estrema.
Per quanto riguarda la memoria
interna, abbiamo a disposizione
16 GB che possono essere
espansi, inserendo una microSD
nellapposito slot, che troviamo
accanto allalloggiamento per
la SIM telefonica, sul lato destro
del phablet. Due sono
le fotocamere in dotazione.
Quella frontale, da 2 megapixel,
ha un obiettivo molto luminoso,
adatto ad affrontare qualsiasi
situazione. Ma quella che
ci sorprende piacevolmente
la fotocamera posteriore,
con un sensore da ben 13
megapixel, che ci permette
di girare filmati 4K in altissima
risoluzione. Naturalmente,
possiamo riprendere video anche
in Full HD a 60 fps e perfino
al rallentatore. La qualit
di queste riprese davvero
invidiabile e i dettagli risultano
piuttosto nitidi. Buone
le prestazioni, anche quando
si scattano foto, sebbene sia
meglio farlo disponendo di una
luminosit adeguata. In ogni
caso, sempre possibile fare
intervenire il potente flash
a quattro LED, disposti attorno
allobiettivo posteriore;
una soluzione estetica
che sottolinea la cura nel design
che stata dedicata a questo
dispositivo. Intelligente anche
il posizionamento dei due
altoparlanti stereo,
che si trovano sul lato sinistro
del Liquid S2. Cos, quando

Scheda tecnica
Sistema operativo
Android 4.2.2
Processore Qualcomm
Snapdragon 800 da 2,3 GHz
Memoria 2 GB di RAM,
interna da 16 GB

42

Dimensioni 166 x 86,2 x 9 mm


Peso 206 grammi
Schermo IPS da 6
Risoluzione schermo
1920 x 1080 pixel
Espansione MicroSD

Lo schermo IPS da 6, con una risoluzione Full HD da 1920 x 1080


pixel, e la dotazione tecnica completa sono tra i principali punti di forza
di questo ottimo smartphone marcato Acer, che dispone anche di una
fotocamera da 13 megapixel e un potente flash a 4 LED

guardiamo filmati, tenendo


il dispositivo in orizzontale, non
rischiamo di coprirli con le mani.
Nonostante non possano vantare
una grande potenza, la qualit
sonora comunque buona,
grazie alla presenza del Dolby
Digital. Il Liquid S2 ha unottima
dotazione software a cominciare
dal sistema operativo, lAndroid
4.2.2 personalizzato da Acer.
La gamma delle applicazioni
disponibili completa.
Si comincia da quelle dedicate
ai servizi cloud del produttore
e si arriva a quelle multimediali
e per il collegamento con le radio
che trasmettono in FM.
Disponibile anche il pacchetto
per ufficio Polaris Office, comodo
per chi vuole usare questo
phablet per lavoro. Unaltra
ottima sorpresa, che ci riserva
il Liquid S2, la dotazione
tecnica. La connettivit
completa e dispone di 4G LTE,
Wi-Fi a/ac/b/g/n, Bluetooth 4.0
e GPS. Collegando un cavo MHL
(opzionale) la porta microUSB

potr supportare la gestione


dei video. Dal punto di vista
dellautonomia, questo dispositivo
nella media. Infatti la batteria
da 3.300 mAh ci concede
unintera giornata duso, a patto
di non esagerare con videogiochi
e altre attivit multimediali.
Eventualmente possiamo affidarci
alle funzioni per il risparmio
energetico ma le prestazioni
si riducono. LXP

Giudizio
Acer Liquid S2
Produttore: Acer
Web: www.acer.it
Prezzo: 499

Caratteristiche
Autonomia
Prestazioni
Qualit/prezzo

9
8
10
9

Uno smartphone dalle ottime


prestazioni, adatto a chi ha
bisogno di un grande schermo.

Il voto di
Linux Pro

Linux pro 144

042_LXP_144_rec_android_1 42

22/07/14 01:30

Galaxy Note PRO Langolo di Android

Samsung Galaxy Note PRO 12.2


Un prodotto che rappresenta una piccola
rivoluzione nel settore dei tablet

isto il successo
ottenuto dai
precedenti phablet
della serie Note,
Samsung ha pensato bene
di puntare su questa gamma
di prodotti e di espanderla
ulteriormente nel campo
dei tablet veri e propri.
Con il Galaxy Note PRO 12.2,
il marchio coreano porta al suo
estremo anche il concetto
di tablet, dotandolo di uno
schermo enorme ma dalle
prestazioni davvero eccezionali.
Cominciamo proprio da qui.
Come suggerisce il nome stesso
di questo prodotto, le dimensioni
del display sono di 12,2 pollici,
cio pressoch uguali a quelle
di un foglio A4. Ovviamente,
ci comporta un peso
complessivo di tutto rispetto
(753 grammi) che pu stancare
se lo si deve usare a lungo.
Comunque, queste dimensioni
ci permettono di avere
a disposizione una tastiera
virtuale comodissima da usare,
con tanto di tasti Shift, TAB
e Caps Lock, proprio come
quelle vere. Pi che mai
soddisfacente anche la resa
delle immagini, a cui questo
schermo TFT da 2560x1600
pixel, nitido e brillante, rende

ampiamente giustizia.
Ottimo anche langolo
di visualizzazione, caratteristica
non certo trascurabile
in dispositivi di questo tipo, visto
che possono essere usati anche
per guardare un film
in compagnia. Unaltra
caratteristica di questo super
tablet, che ci ha piacevolmente
colpito, lo stilo S Pen. Grazie
a esso possiamo realizzare
disegni davvero accurati
e scrivere con la massima
comodit sullampia superficie
dello schermo. Oltretutto,
il riconoscimento della scrittura
eccellente. In poche parole,
il controllo offerto da Samsung
con il proprio stilo superiore
a quello della concorrenza.
La sua capacit di gestire
le applicazioni e di compiere
facilmente operazioni come
copiare e incollare, lo rendono
uno strumento indispensabile.
A maggior ragione se si pensa
che questo tablet in grado
di visualizzare quattro
applicazioni in contemporanea,
portando il concetto
di produttivit ai massimi livelli.
Tra queste, vale la pena citare
la lavagna virtuale, chiamata
eMeeting, progettata per
la collaborazione lavorativa.

Scheda tecnica
Sistema operativo Android 4.4
Processore Snapdragon 800
quad-core 2,3 GHz
Memoria 3 GB di RAM ,
interna 32 GB

Dim. 295,6x204x7,95 mm
Peso 753 grammi
Schermo 12,2
Ris. schermo 2560x1600 pixel
Espansione MicroSD

Ottimo riconoscimento della scrittura, stilo sensibile alla pressione per


scrivere e disegnare in modo accurato, schermo da 12,2 pollici. Sono
queste alcune delle principali caratteristiche del Galaxy Note PRO 12.2

Inoltre c unapplicazione
per la sicurezza, progettata
da Samsung, che si chiama
Knox. Ma sul sistema operativo
che il marchio coreano imprime
il proprio DNA, modificandolo
pesantemente, con laggiunta
delle funzioni smart.
Per quanto riguarda la memoria,
il Galaxy Note PRO 12.2
si dimostra piuttosto generoso,
perch ce ne mette
a disposizione ben 25 GB
dei 32 di partenza. Se vogliamo
espanderla fino a 64 GB baster
usare una scheda MicroSD.
Passando ai dispositivi
multimediali, abbiamo una
fotocamera frontale da 2
megapixel che serve anche
a tenere acceso lo schermo
quando lo guardiamo,
superando cos le impostazioni
per il risparmio energetico.
La fotocamera posteriore
raggiunge invece gli 8 megapixel
e, per quanto sia capace
di realizzare immagini di buona
qualit, le dimensioni del tablet
la rendono poco pratica
da usare. Per il collegamento
online, il Galaxy Note PRO
12.2 dotato di Wi-Fi
e di connessione 4G, inoltre
ha una porta a infrarossi che
ci permette di trasformarlo
in un vero e proprio
telecomando universale.

Per il trasferimento dei dati,


abbiamo una porta USB 3.0
che rende questa operazione
estremamente veloce.
Per quanto riguarda il sonoro,
nonostante le casse siano
piuttosto potenti, non sono
di qualit eccelsa quindi,
in questo caso, dovremo
accontentarci. Le eccellenti
prestazioni di questo tablet sono
garantite da un processore
quad-core Snapdragon 800
a 2,3 GHz, supportato da ben 3
GB di memoria RAM veloce.
Con il tablet disponibile anche
una cover dotata di tastiera
fisica integrata di ottima qualit,
che piacer sicuramente a chi
non ama in modo particolare
le tastiere virtuali. LXP

Giudizio
Samsung Galaxy Note PRO 12.2
Produttore: Samsung
Web: www.samsung.it
Prezzo: 899

Caratteristiche
Autonomia
Prestazioni
Qualit/prezzo

9
8
10
7

Ottimo strumento per


lavorare, con prestazioni
eccellenti.

Il voto di
Linux Pro

8,5

Linux pro 144

043_LXP_144_rec_android_2 43

43

22/07/14 12:50

Se leggi Linux Pro,


ti possono piacere anche...

OFFERTA
SPECIALE
COD. LP132

N 132 - aGOSTO 2013

COD. LP133

N 133 - settembre 2013

COD. LP134

COD. LP135

N 134 - ottobre 2013

N 135 - novembre 2013

Confronto: editor video liberi Guida allottimizzazione del kernel


229

PRO

Diventa protagonista nel mondo Linux

A PROVA DI

PRO

T A I LS

AT

TRU

Y
ECRYP T GPG CR

N 136 - DICEMBRE 2013

COD. LP137

N 137 - GENNAIO 2014

COD. LP138

Google ha dato un giro di vite


al suo SO: ecco come rimediare

Alla scoperta di Rust


Il linguaggio di programmazione
per un Web a prova di hacker

Raspberry Pi

COD. LP139

COD. SLP7
9,90

Android libero!

Silenzioso
e ricco di porte,
ideale come
media center

Come raggiungere il mito


dellinstallazione perfetta

LXP_cover_139.indd 1

N 138 - FEBBRAIO 2014

COD. SLP8
9,90

Sistema operativo

Le migliori espansioni
per la scheda dei miracoli

COD. LP136

Inoltre

Penguin Wee Desktop

Linux Pro 139 - 2014 - Mensile - 5,90 - CHF 13,60

TOC

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, S/NA - DISTRIBUTORE: PRESS-DI, MILANO

ACCADEMIA
DEL CODICE

OT

10 pagine di pura programmazione

Concetti I segreti della compressione JPEG


Scratch Il linguaggio ideale per i neofiti
Firefox OS Realizzare e pubblicare unapp

415

Schermo da urlo
e prestazioni al top

Y
AC

Spioni ed enti governativi


penetrano le tue difese...
lOpen Source li blocca!

COD. SAJ4
4,90

Kindle HDX

YOUR PR
CT
IV
TE

SSL TOR

NSA

I segreti dello
smartphone Android
pi acclamato
dellanno

27/02/14 15:40

N 139 - MARZO 2014

Dai stabilit al sistema operativo con Systemd Crea la tua piattaforma di blogging

Pro

Diventa protagonista nel mondo Linux

Raspberry Pi
Stampa in 3D il case
personalizzato!

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, s/na - DisTribuTOre: Press-Di, milanO

una linux box

PERFETTa
Abbiamo messo
alla prova i componenti
migliori per creare
il computer ideale
per gli utenti Linux
pi esigenti

le fantastiche 5
Quale distro vale
davvero la pena di tenere
sul proprio computer?
Ecco il verdetto!

Inoltre

11 pagine di pura programmazione

AccAdemiA
del codice

Gambas Il Basic orientato agli oggetti


Python Crea il tuo client Twitter su misura
MySQL Lavorare in SQL coi fogli di calcolo
Linux Pro 143 - 2014 - Mensile - 5,90 - CHF 13,60

Monitoring professionale
Gli strumenti avanzati per controllare
le prestazioni dei PC in rete

GnuPG: privacy totale


Tieni alla larga occhi indiscreti
con questa tecnologia

DRM no problem

Panorami a 360

Come visualizzare i video


in formati proprietari sul Web

COD. LP140

N 140 - APRILE 2014

COD. LP141

N 141 - MAGGIO 2014

Realizzare foto panoramiche


un gioco da ragazzi con Hugin

LXP_cover_143 1

COD. LP142

N 142- GIUGNO 2014

COD. LP143

25/06/14 12:26

N 143 - LUGLIO 2014

Completa la tua collezione ordinando gli arretrati

su

www.spreastore.it/linuxpro

oppure utilizzando il modulo qui sotto

Scegli larretrato Che vuoi ordinare

NOME

SE VUOI ORDINARE VIA POSTA O VIA FAX, COMPILA QUESTO COUPON

COGNOME

Ritaglia o fotocopia il coupon, invialo in busta chiusa a: Sprea Editori S.p.A. Via Torino, 51 20063 Cernusco s/n
(MI), insieme a una copia della ricevuta di versamento o a un assegno. Oppure via fax al numero 02.700537672.
Per ordinare in tempo reale i manuali collegati al nostro sito www.spreastore.it. Per ulteriori informazioni puoi scrivere a store@sprea.it oppure telefonare allo 02/87158224 tutti i giorni dalle 14.00 alle 18.00

via

INSERISCI I CODICI delle pubblicazioni che desideri ricevere:

CITT

TEL.

e-mail

Totale Ordine

C.A.P.

PROV.

SCELGO IL SEGUENTE METODO DI PAGAMENTO (Indica con una quello prescelto)

Versamento su CCP 99075871 intestato a Sprea Editori S.P.A. ABBONAMENTI Via Torino 51
20063 Cernusco Sul Naviglio MI (Allegare ricevuta nella busta o al fax)

SCELGO IL SEGUENTE METODO DI SPEDIZIONE:

Bonifico intestato a Sprea Editori S.P.A. Abbonamenti sul conto

Indica con una la forma di spedizione desiderata


Spedizione tramite posta tradizionale al costo aggiuntivo di

2,90

Spedizione tramite Corriere Espresso al costo aggiuntivo di

7,00

Totale COMPLESsIVO
Data

Firma del titolare

IBAN IT05 F076 0101 6000 0009 9075 871

Carta di Credito N.
(Per favore riportare il numero della Carta indicandone tutte le cifre)
Scad.

CVV


Nome e Cognome del Titolare della carta (pu essere diverso dallabbonato)

Informativa e Consenso in materia di trattamento dei dati personali - (Codice Privacy d.lgs. 196/03) Sprea Editori S.p.A. Socio unico Sprea Holding S.p.A. con sede legale in via Beltrami 21,
26100 Cremona, il Titolare del trattamento dei dati personali che vengono raccolti, trattati e conservati ex d.lgs. 196/03. Gli stessi potranno essere comunicati e/o trattati da Societ esterne
Incaricate. Ai sensi degli artt. 7 e ss. si potr richiedere la modifica, la correzione e/o la cancellazione dei dati, ovvero lesercizio di tutti i diritti previsti per Legge. La sottoscrizione del presente modulo deve
intendersi quale presa visione, nel colophon della rivista, dellInformativa completa ex art. 13 d.lgs. 196/03, nonch consenso espresso al trattamento ex art. 23 d.lgs. 196/03 in favore dellAzienda.

044_LXP_144_arretrati 44

24/07/14 16:40

Recensioni

Tutte le novit in campo software e hardware testate e valutate ogni mese dai nostri laboratori
Se vuoi segnalarci qualche novit scrivi a recensioni@linuxpro.it

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.

questo mese...
Test >>
Aria G25 Starter Kit
Una buona scheda di sviluppo
pag. 46

tutta italiana

Scheda audio
Wolfson
Potente ed economica scheda
pag. 47

di espansione audio

Asus VivoPC

Asus VivoPC
Un computer pensato per essere
messo in salotto e utilizzato come
pag. 48

Media Center

Libri
Stampa 3D e Wordpress pag. 49

AOC A2472PW4T
Un interessante dispositivo Android
pag. 50

davvero all-in-one

Eclipse

Giochi
Enigmi musicali con Circuits
e una galassia da esplorare
con The Last Federation pag. 51

Confronto >>
IDE per programmare

pag. 52

Aptana Studio Bluefish


Eclipse Geany
Komodo Edit

Da non
perdere >> pag. 58

Enlightenment 18
Linux pro 144

045_LXP_144_introRecens 45

45

22/07/14 13:34

Test Aria G25 Starter Kit

Aria G25 Starter Kit


Una economica scheda di sviluppo ARM

i Aria, il noto modulo


ARM Made In Italy,
avrete probabilmente
gi sentito parlare.
Oggi analizziamo una scheda
di sviluppo basata su tale
hardware. Pur essendo leggera,
lAria G25 non sotto-dotata:
quasi tutti i segnali necessari alle
operazioni principali sono portati
fuori da Aria e replicati su una
doppia fila di piedini a passo
standard (2,54 mm), che possono
essere lasciati nudi o dotati
di strip maschio o femmina. Sono
presenti 5 pulsanti, comodissimi
per testare al volo i programmi
che si stanno sviluppando.
Due porte USB sono pi
che sufficienti per eventuali
periferiche (per esempio: antenna
wireless, unit di memoria, dischi
esterni, ecc.). Lalimentazione
fornita tramite una porta
mini-USB: una scelta intelligente
che permette di riciclare cavi che
avrete sicuramente gi in casa,
rendendo lutente indipendente
dalla moltitudine di connettori
che, come una maledizione,
sono sempre diversi da quello
dellalimentatore che si ha in casa.
Su un lato della scheda
presente un bus dedicato
a un pannello LCD ed
di responsabilit dellutente
decidere se acquistarlo o meno:
un altro modo per risparmiare,
nel caso non sia necessario.
Intelligente la scelta dello slot
per la batteria tampone allo scopo
di mantenere allineato lorologio
interno nel caso di assenza
di alimentazione. Non poteva
certo mancare una porta
di debug: tramite un adattatore

USB-RS232, eccoci connessi


al sistema a riga di comando,
pronti a sviluppare software
o risolvere problemi. inoltre
presente la porta Ethernet, per
poter mettere in rete la scheda
e gli eventuali sensori da essa
controllata. La dotazione
completata da un comodo tasto
di reset, che evita il fastidiosissimo
stacca-attacca
dellalimentazione quando
necessario resettare la scheda.
Ovviamente, essendo pensata per
attivit embedded, la scheda non
presenta una uscita video, quindi
la gestione e il controllo dovr
avvenire da remoto, utilizzando
la porta di debug (usando
il programma minicom o similari)
oppure attraverso la classica
connessione in SSH tramite porta
di rete. La scheda bifronte
in quanto, pur essendo pensata
per una rapida prototipazione,
pu essere usata direttamente
come scheda definitiva: le sue
dimensioni modeste (10 x 10
cm) la rendono usabile pi
o meno dappertutto e le risicate
esigenze energetiche consentono
di alimentarla senza problemi
a batteria. Visto che ci sono
quattro fori di fissaggio, non sar
un problema dotarla di piedini
di supporto se deve essere usata
sul tavolo o assicurarla
direttamente alla struttura
del progetto finale tramite
le classiche colonnine metalliche.

Software
Il sistema operativo GNU/Linux:
pi specificamente, la distribuzione
Debian, la cui immagine
per microSD pu essere prelevata

Scheda tecnica
CPU: ARM9 @ 400Mhz
RAM: 256 MB DDR2
LAN: 10/100 Mbit
UART: fino a 6 linee seriali

46

I2C: fino a 2
SPI: fino a 2
GPIO: fino a 60 linee I/O
A/D: fino a 4 canali a 10 bit

La scheda Terra alla quale


T2 Engineering si ispirata
per creare lAria G25

dal sito acmesystems.it.


Puntualizziamo che non si avr
a che fare con qualche strano
rimaneggiamento, qui parliamo
proprio di Debian 7.x a tutti
gli effetti, che, a parte la fase
di boot che su ARM differisce
dallequivalente per x86, non
presenta alcuna differenza
da quella per desktop: apt-get
e gli applicativi sono gli stessi
ai quali si abituati. Anche
i linguaggi di programmazione
sono identici: Perl, Python, C,
Java e tutti gli altri sono presenti,
quindi potrete portare il software
sviluppato su x86 con nessuna
modifica (a parte le eventuali
attivit di I/O) sullo Starter Kit.
La documentazione e gli esempi
didattici li troverete sul sito del
produttore di Aria, cio www.
acmesystems.it/aria.

CONCLUSIONI
La scheda onesta: fa quello che
promette e lo fa bene. Al pari del
modulo che utilizza, progettata
e costruita in Italia e il produttore,
col quale abbiamo parlato
al telefono, si dimostrato
competente e sollecito a fornire
consigli e rispondere alle

domande, per cui non faticherete


a ottenere supporto post-vendita.
Infine, Lo Starter Kit della T2
engineering costa solo 79 euro:
un prezzo aggressivo raggiunto
grazie alleliminazione
di componenti inutili per lhobbista
che vuole contenere i costi. Infatti
non presente il modulo GSM
e c un numero inferiore
di connettori specialistici
per espansioni dedicate rispetto
ai modelli di fascia pi alta.
Se vi serve una scheda di sviluppo,
questa la scelta giusta. LXP

Giudizio
Aria G25 Starter Kit
Produttore: T2 engineering
Web: www.t2engineering.it
Prezzo: 79

Caratteristiche
Prestazioni
Facilit duso
Documentazione

8
8
8
9

Scheda economica basata


su Aria, usabile sia per sviluppo
sia come prodotto finito per
i vostri progetti elettro-Linux.

Il voto di
Linux Pro

Linux pro 144

046_LXP_144_rev_arm 46

22/07/14 12:43

Scheda audio Wolfson Test

Scheda audio Wolfson


Date alla vostra Raspberry una scheda audio come si deve: collegatela al bus GPIO
e delizier davvero laudiofilo che in voi!

nche se di base
la RaspberryPi in grado
di gestire i segnali audio,
fornendo altres
un discreto segnale un uscita tramite
HDMI, pur vero che la qualit non
di tipo professionale oltre al fatto che
non ci sono funzioni avanzate dedicate
alla registrazione. Per sopperire
a queste carenze, ecco entrare in
scena la scheda audio Wolfson, forte
di un signor chip come il WM5102.
Questa scheda di espansione
compatibile con i modelli A e B della
Rpi, a patto per che non siano del
vecchio tipo, cio i modelli senza fori
di fissaggio. La Wolfson si connette
al bus GPIO e ha dei connettori
a molla che premono contro il jack
audio della Raspberry: a pochi mm
da l, troviamo un bus audio a 8 pin.
La stabilit meccanica assicurata
da una colonnina di nylon e un paio
di viti per fissarvi entrambe le schede.
La stabilit importante: se non ben
fissate, le due schede potrebbero
perdere i segnali e generare un audio
disturbato. Va bene, ma la domanda
: cosa ci si pu fare con questa
espansione?. Cominciamo col dire
che ci sono i soliti jack audio
di ingresso e uscita per periferiche
alimentate e luscita cuffie per cose
come VOIP e chat audio, comodo
quando fate selvagge partite con
qualche sparatutto in Rete con gli
amici. La parte professionale
rappresentata dai connettori S/PDIF
per la gestione dellaudio ad Alta
Fedelt. presente un jack
di alimentazione dedicato: non tanto
per la scheda in s ma per fornire
potenza agli eventuali altoparlanti
stereo. Ciliegina sulla torta, sono
i connettori (destro e sinistro)
per il microfono digitale MEMS.

Problemi
di compatibilit
Adesso viene la parte meno simpatica:
prima di tutto, la scheda non
compatibile con altri moduli
di espansione come la PI Face Rack
e poi lutilizzo di replicatori USB
fortemente sconsigliato. In definitiva,
non siete nel posto giusto se avete
una scheda della prima ora dotata
solo di una porta USB, vale a dire
il modello A della Raspberry.
A complicare il tutto, non dovrete
connettere e/o sconnettere periferiche
usb (tipicamente tastiera e mouse)
a sistema acceso, pena il riavvio
forzato dellapparato e perdita delle
attivit in corso. Ah, s: per avere
il software adatto occorre una
completa reinstallazione di Raspbian!
Per fortuna qualcuno ha gi lavorato
per noi e presso il sito di Wolfson
disponibile una immagine
da riversare sulla schedina SD...
peccato che sia di dimensioni doppie
rispetto alla versione standard, quindi
probabilmente sar necessario
comprare una unit di memoria pi
capiente. Essendo limmagine oltre i 7
GB, dobbligo comprare un modello
da 16 GB per avere spazio di riserva
in caso di acquisizioni massicce. Per
registrazioni audio ad Alta Fedelt
raccomandata ununit di memoria
almeno di Classe 6: per dalle prove
eseguite tale standard non sempre
allaltezza delle aspettative e a volte
in fase di registrazione non riesce
a tenere il passo col flusso dati in
arrivo, causando la perdita di segnale.
In conclusione, serve una scheda
di buona qualit, cio una Classe 10
e 16 GB di spazio. Al boot, ci si ritrova
sul desktop di LXDE, dove troviamo
un programma di riproduzione audio
con 5 file di esempio, registrazioni

Specifiche tecniche
CODEC Audio WM5102
Hub audio a 24-bit
Sei ADC, 96dB SNR mic input
Sette DAC, 113dB SNR

Fino a sei input microfonici A/D


Due uscite stereo
Campionamento
fino a 192 kHz

La Wolfson connessa alla RPI: alimentata e pronta alluso

di alta qualit. Sul tipo di musica si pu


avere a ridire ma sicuramente
nessuno potr storcere il naso per
quanto riguarda la purezza del suono.
La prima volta che si attiva Raspbianper-Wolfson, serve aprire il Terminale
ed eseguire alcuni script per
configurare la scheda audio: nello
specifico, viene definita la posizione
sul filesystem dove immagazzinare
il risultato delle registrazioni e altri
parametri di servizio. C la possibilit
di fare in modo di registrare laudio
in due file diversi. In totale, sono dieci
gli script di configurazione
a disposizione: un sistema poco
pratico, ma probabilmente non si avr
bisogno di usarli. Sul sito del
produttore sono presenti le istruzioni
dettagliate. Ricordiamo che, come
sempre quando si parla di GNU/Linux,
i comandi pretendono che si rispetti
nella digitazione degli stessi luso
del maiuscolo/minuscolo. Dopo aver
definito i percorsi di lavoro possibile
cominciare a usare il Riproduttore
Musicale per ascoltare i file di esempio
gi presenti, oppure usare la riga
di comando per avviare
la riproduzione/registrazione di flussi
audio. Luscita tramite il Jack Line
Out di eccellente qualit, mentre
linput da microfono ha dato problemi
a fornire lingresso stereo: o un canale
o niente, a seconda di quanto

tenevamo premuto il jack nellingresso


audio. La registrazione audio
ha funzionato bene su tutti gli ingressi,
salvando in formato WAV ad alta
qualit. Purtroppo ancora abbiamo
da riportare anche qui il
comportamento erratico dellingresso
microfonico, sensibile al tipo di jack
che era in nostro possesso. Il miglior
uso di un file audio avviene dopo
un processo di elaborazione digitale:
visto che tale attivit non svolta
al volo dalla scheda in fase di
acquisizione, occorre farla via software
in un secondo momento. Per i soldi
che costa, la Wolfson vi assicurer
parecchie soddisfazioni audio. LXP

Giudizio
Scheda audio Wolfson
Produttore: Wolfson Micro
Web: www.element14.com
Prezzo: 30

Caratteristiche
Prestazioni
Facilit duso
Documentazione

8
8
6
9

Potente scheda di espansione


audio, economica anche
se purtroppo non facilissima
da configurare e usare.

Il voto di
Linux Pro

Linux pro 144

047_LXP_144_LXP_184_rev_wolfson 47

47

22/07/14 13:42

Test Asus VivoPC

Asus VivoPC
Un PC perfetto come Media Center. Peccato
solo abbia Windows 8, ma noi abbiamo risolto

l VivoPC di Asus
un computer pensato
per essere messo
in salotto e utilizzato come
Media Center. Piccolo, elegante,
pu essere scambiato per un
oggetto darredamento. Viene
venduto con Windows 8, ma noi
gli abbiamo fatto una piccola
modifica: tolto il sistema
Microsoft, lo abbiamo sostituito
con Mint 16 e il formidabile
Media Center Open Source
XBMC, ideale per ogni uso.

Struttura e design
Come abbiamo appena detto,
questo PC si distingue fin
da subito per la forma piuttosto
inusuale, simile a un decoder
per il digitale terrestre. Racchiuso
in una scocca di alluminio
spazzolato, ha dimensioni
contenute e peso altrettanto
ridotto. Alloccasione, possiamo
anche portarlo tranquillamente
in giro e utilizzarlo per vedere
film sul TV durante le serate con
gli amici. Infatti, pesa solo 1,2 Kg
e metterlo in una borsa per PC
portatili un gioco da ragazzi.
La dotazione di porte molto
buona e troviamo tutto
il comparto al gran completo:
quattro USB 2.0, due USB 3.0,
una HDMI, una VGA per
il collegamento con i monitor
pi datati, un lettore di schede
SD MMC, luscita S/PDIF

e il connettore per il cavo di rete


Ethernet. Non mancano poi
gli ingressi e le uscite audio
per microfono e cuffie. La cover
pu poi essere rimossa
facilmente per effettuare degli
upgrade, come per esempio
laggiunta di un disco fisso pi
capiente o di un SSD. Il VivoPC,
infatti, supporta fattori di forma
da 3,5 e 2,5 pollici. Data la sua
spiccata vocazione da Media
Center, incluso nella confezione
troviamo anche un particolare
telecomando (VivoMouse)
da utilizzare come mouse.

Come si comporta
Le specifiche tecniche non
lo configurano come un mostro
di potenza. Infatti, troviamo un
Intel Celeron 1007U con 2 GB
di memoria RAM DDR a 1.600
MHz, che volendo possiamo
espandere fino a 16 GB.
Non sappiamo come si comporti
con Windows, ma con Mint
andato tutto a meraviglia.
Il sistema si dimostrato fluido
e reattivo e non ha fatto capricci
neppure quando lo abbiamo
messo un po sotto stress.
Il disco fisso interno da 500 GB
SATA 6 GB/s. Se siete abituati
a un SSD, dovrete rassegnarvi
a una velocit nella media.
Da questo punto di vista, avremmo
comunque preferito laggiunta
di una cache SSD da dedicare

Asus MX279
LAsus MX279 un monitor
da 27 adatto alluso in ufficio.
Una volta acceso, si distingue per
la luminosit, anche se i contrasti
risultano troppo accesi per i nostri gusti
e si rende quindi necessario aggiustarli
tramite i tasti funzione. La definizione
molto buona e permette di lavorare anche
per diverse ore senza risentire di alcun
fastidio agli occhi. Il design, infine,
particolarmente solido e ben strutturato. Peccato non
sia molto versatile nelladattamento della posizione.

48

Messo vicino al televisore, il VivoPC pu essere scambiato per


un decoder. La struttura solida, ma allo stesso tempo leggera.
Lalluminio spazzolato, infine, gli dona un tocco di eleganza

allavvio del sistema per renderlo


pi veloce. Se per parliamo
puramente di archiviazione,
importante sottolineare
la presenza dei 32 GB aggiuntivi,
forniti sulla Cloud da Asus
WebStorage. Dal punto di vista
della connettivit siamo rimasti
pienamente soddisfatti. Il Vivo PC,
infatti, dotato del supporto
per lo standard AC e Bluetooth
4.0, che ci ha permesso
di collegarlo alla nostra rete
di ultima generazione, utilizzando
poi il NAS per la trasmissione
di contenuti audio video.
Operazione peraltro riuscita senza
alcun problema e con unottima
fluidit. Utilizzare XBMC una vera
gioia. Al di l dellottimo sistema
sfruttato dal Media Center per
gestire film e musica, siamo riusciti
a mettere in piedi un sistema
per lintrattenimento domestico
a costo zero (escluso, ovviamente,
quello per lacquisto del VivoPC).
I video in Full HD non hanno mai
sofferto di scatti o rallentamenti,
cos come la gestione dellaudio.
A questo proposito, il VivoPC
si fregia della specifica
SonicMaster, che permette
di migliorare notevolmente la resa
sonora generale. Sfrutta due
altoparlanti integrati 2x2 W
che possono andare bene per
le attivit di routine. Se per volete
godervi al meglio il suono,

opportuno utilizzare soluzioni


dedicate, acquistando un set
di altoparlanti per lo scopo.

In fin dei conti


Lesperienza duso con questo PC,
nonostante nasca con Windows 8
preinstallato, ci ha soddisfatto.
Versatile e pratico da usare,
pu essere adattato senza
problemi alle esigenze degli amanti
del mondo Open Source. Dotarlo
di una distro funzionale come Mint
16 e di un ottimo Media Center
come XBMC, trasforma il VivoPC
in un centro dintrattenimento
domestico, capace di gestire
la maggior parte dei formati
audio/video. LXP

Giudizio
Asus VivoPC VM40B
Produttore: Asus
Web: www.asus.com
Prezzo: 207

Caratteristiche
Documentazione
Facilit duso
Qualit/Prezzo

7.5
8
8
8.5

Un PC pensato per divertirsi


con film e musica, da utilizzare
in salotto come Media Center
per un intrattenimento
davvero a tutto tondo.

Il voto di
Linux Pro

Linux pro 144

048_LXP_144_rec_AsusVivoPC 48

22/07/14 01:31

In libreria Test

Stampa 3D
Non basta premere un pulsante per farsi un Tux in tre dimensioni

opo aver provato


per qualche tempo
una stampante 3D
non industriale (cio
di quelle da tenere in casa/ufficio)
siamo giunti a due conclusioni.
Primo: sono veramente
rivoluzionarie, divertenti

e versatili. Secondo: il termine


stampante sicuramente
fuorviante, perch non sono
dispositivi duso immediato come
le stampanti tradizionali.
La loro manutenzione non
un gioco da ragazzi allinizio
e, inoltre, c tutto un mondo
di software, materiali e metodi
da imparare. Se per il primo
aspetto, la manutenzione,
lunica via chiedere a chi
la sa fare, per il secondo
sufficiente leggere un po.
Da questo punto di vista
un buon libro quello proposto
da Tecniche Nuove dal titolo
Stampa 3D Concetti
di base, tutorial e progetti.
Questo volume raccoglie
una serie di testi scritti
dagli esperti di Make (rivista
americana che illustra il mondo
dei maker) che trattano
largomento a 360 gradi:

si va dai vari tipi di stampanti 3D


esistenti al software da usare,
per passare poi ai materiali
utilizzabili (plastiche ma anche
metalli e cioccolato), ai servizi
di stampa 3D a cui rivolgersi
se non se ne vuole acquistare
una personale, e alla spiegazione
su come si fanno le scansioni 3D.
Il capitolo 4 dedicato
ai principianti e mostra le basi
della progettazione grafica
3D con un esempio pratico
ben spiegato. Ci sono piaciuti
molto i capitoli 12, 13 e 14
in cui gli autori svelano alcuni
dei segreti della fase di post
processing delle forme 3D
stampate (cio le operazioni
da fare dopo aver stampato
un oggetto): come colorarle,
come saldare i vari pezzi e come
invecchiarle. Se cercate un testo
che vi spieghi passo passo come
si crea una figura 3D complessa

dovete rivolgervi altrove,


ma se volete capire cosa c
dietro al termine stampante 3D
e volete imparare a usarne
una in maniera produttiva
e con cognizione di causa,
questo volume rappresenta
una buona lettura. LXP

Giudizio
Stampa 3D Concetti
di base, tutorial e progetti
Autori: Anna Kaziunas France e altri
Editore: Tecniche Nuove
ISBN: 978-88-481-2967-1
Pagine 240
Prezzo: 24,90 (stampato),

22 (PDF)

23 capitoli utili ai principianti ma che


possono interessare anche chi ne sa
effettivamente un po di pi.

Il voto di
Linux Pro

WordPress
Un completo manuale per una piattaforma che per richiede molte competenze

lzi la mano chi non


conosce WordPress,
uno dei CMS (cio
uno strumento per
la creazione di siti Web, per dirla

in maniera spiccia) pi usati


in Rete e forse uno dei pi facili
da usare. Nonostante la sua
facilit, per, nasconde
comunque mille dettagli che
bisogna conoscere per usarlo
al meglio. Tecniche Nuove
pubblica nella sua collana
Quickstart il volume
intitolato proprio
WordPress, una guida
per i principianti di questo
CMS. Il taglio del testo
decisamente pratico:
a fianco del testo trovate
sempre numerose immagini
che mostrano lelemento,
il menu o il brano di codice
che si sta spiegando in quella
pagina. Questo suggerisce
che il modo migliore per leggere
il libro quello di procedere
avendo sempre sottomano
un computer acceso con
WordPress installato, in modo

da provare le cose man mano


che se ne leggono le spiegazioni,
che altrimenti rimangono un po
astratte seppur illustrate dalle
schermate. Si parte dalle basi
(cos WordPress e a cosa
serve, che differenze ci sono
tra uninstallazione propria
locale o in Rete - del CMS
e la sua versione WordPress.
org/com, come si installa)
con la spiegazione di ogni
singolo elemento del software
per passare poi alla
personalizzazione dellaspetto,
dei widget aggiuntivi e dei temi.
Il testo sempre molto preciso
ma a volte un po troppo
limitato, troppo conciso.
Di ogni aspetto vengono
illustrate le basi, ma mancano
spiegazioni approfondite pi
estese in alcuni casi, e questo
riduce un po lefficacia del testo.
Comunque gli autori riescono

a coprire, seppure velocemente


in alcuni casi, quasi tutti gli
aspetti che un principiante deve
conoscere per muovere i primi
passi con WordPress.
Per diventare veramente
esperti, purtroppo, non
sufficiente. LXP

Giudizio
WordPress
Autori: Jessica Neuman Beck,
Matt Beck

Editore: Tecniche Nuove


ISBN: 978-88-481-2966-4
Pagine: 288
Prezzo: 29,90 (stampato),

25 (PDF)

Una buona introduzione a questo


CMS, ma serve di pi per diventare
dei guru di WordPress.

Il voto di
Linux Pro

Linux pro 144

049_LXP_144_inlibreria 49

49

22/07/14 13:44

Test AOC A2472PW4T

AOC A2472PW4T
Il pi intelligente degli Android all-in-one?
Scopriamo insieme se effettivamente cos

e il futuro della tecnologia


degli schermi sta nei
dispositivi touchscreen,
AOC decisamente sulla
strada giusta. Il suo A2472PW4T
un monitor touchscreen all-in-one
per Android e PC da 23,6 pollici
con una quantit di funzioni che non
mancheranno di ingolosire tanto
gli appassionati quanto gli utenti
professionali. In un moderno
ambiente dufficio, dove ci si attende
il massimo in termini di produttivit,
comunicazione mobile e grafica
deccezione, questo scattante
all-in-one pu fare faville. Il pannello
IPS ha una risoluzione nativa
di 1820 x 1080 pixel e offre una
gamma di colori vivace e brillante
senza troppe sfocature (pur
essendo meno nitido di un monitor
convenzionale). Il processore
quad-core Nvidia T33 da 1,6 GHz,
insieme ai ben 2 GB di DD3 RAM
e alla memoria flash eMMC da 8
GB, conferisce a questo Android
4.2 una notevole potenza, che
lo rende visibilmente pi capace
di un ViewSonic VSD220
o di un TD2340, per restare
nel campo dei touchscreen.
Le caratteristiche aggiuntive (due
porte USB, Micro USB, VGA, HDMI
con supporto MHL, Bluetooth,
Ethernet, standard di trasmissione
802.11 b/g/n, Webcam frontale
720P, lettore di schede SDHC
e due altoparlanti incorporati da 2

watt) contribuiscono a rendere


lofferta decisamente allettante.
Per utilizzarlo nel lavoro
sufficiente attivare lA2472PW4T
in modalit Android e collegare
porta Ethernet, tastiera e mouse.
Lunit non comprende applicazioni
di produzione preinstallate ma basta
perlustrare un po Google Play
Store per trovare strumenti utili
come Kingsoft Office. Il display
smart vi permette di navigare
su Internet, organizzare i vostri
calendari e perfino modificare
contenuti multimediali; ma la qualit
dipende in ultima analisi da quella
delle applicazioni Android disponibili.
Come strumento di produzione,
lA2472PW4T se la cava piuttosto
bene ( servito anche a scrivere
questa recensione, con tastiera
e unapplicazione di elaborazione
testi); ma la mancanza di controllo
che caratterizza in s le applicazioni
mobili rispetto ai programmi
di produzione installati in Linux
rischia di far apparire questo
dispositivo pi come un gingillo
che come un rivale vero e proprio
per i PC all-in-one standard. Daltro
canto, il lavoro non tutto: potete
divertirvi con la sconfinata raccolta
di giochi del Google Play Store
e visualizzare praticamente
qualunque tipo di contenuto
multimediale HD, grazie alle sue
robuste caratteristiche tecniche.
Gli altoparlanti hanno un suono

Come monitor
LAOC A2472PW4T un buon
monitor. Non possibile regolarne
laltezza ma solo linclinazione
ma le opzioni di connessione
incorporate sono pi che sufficienti.
La funzione touchscreen funziona
ottimamente con Windows 8
e abbiamo rilevato ottime prestazioni
anche con varie distribuzioni di
Linux basate su Ubuntu. Purtroppo
limmagine risulta meno nitida
di quanto avevamo sperato. I colori e
la luminosit sono nella media

50

ma nelleffettuare le normali
operazioni quotidiane abbiamo
rilevato una generale carenza
di dettaglio, definizione e nitidezza.
Le principali attrattive
del dispositivo sono, ovviamente,
la modalit Android e lintegrazione
touchscreen; tuttavia i modelli
touchscreen di grande formato
sono tuttora prodotti decisamente
di nicchia. Nellattesa che vengano
adottati dalle masse, rimane ancora
molto lavoro da fare.

piuttosto elegante, anche


se un po poco maneggevole

un po metallico come nella maggior


parte dei dispositivi all-in-one
ma sufficiente collegare allunit
una cuffia o un set di casse decenti
per notare subito la differenza.

Toccare con mano


Chinarsi sulla scrivania per usare
il touchscreen una mezza
scocciatura. Certo, potete avvicinarlo
a voi; ma a quel punto vi ritroverete
con lo schermo a pochi centimetri
dalla faccia. In tutta onest, usare
un monitor touchscreen
inizialmente divertentissimo
ma diventa ben presto una
seccatura. La possibilit di utilizzare
tastiera e mouse quindi
provvidenziale e, in termini pratici,
ci che distingue questo
dispositivo da un qualunque tablet
in formato gigante. Sul piano della
progettazione, lA2472PW4T
ha le sue pecche. Per cominciare,
la cornice nera spessa pi di due
centimetri fonte di distrazione,
tanto pi che finita quella ci sono
altri due centimetri di pannello
prima di arrivare allo schermo vero
e proprio: tutto ci crea
limpressione che lo schermo sia pi
piccolo di quanto in realt. Inoltre,
il dispositivo alquanto pesante
e poco maneggevole: il supporto
duro e regolarlo nella posizione
giusta faticoso a causa del peso
del dispositivo. Daltro canto,
lA2472PW4T ben costruito.

La cornice in plastica non scricchiola


e una volta fissato il supporto non
dovrete preoccuparvi che il monitor
precipiti al suolo. Il touchscreen
multipoint funziona ottimamente
e rileva ogni tipo di gesto
e movimento senza alcun problema.
Come monitor per presentazioni,
lA2472PW4T praticamente
ideale e anche giocare risulta pi
divertente su uno schermo cos
grande. Nel complesso e malgrado
qualche neo, siamo di fronte a un
buon monitor touchscreen basato
su Android. Il prezzo piuttosto
salato per questo tipo di tecnologia
(tablet e monitor) ma il dispositivo
ha notevoli potenzialit. Anzi, uno
dei migliori dispositivi del genere
attualmente sul mercato. LXP

Giudizio
AOC A2472PW4T
Produttore: AOC
Web: http://goo.gl/kANfKq
Prezzo: 359 euro

Funzioni
Prestazioni
Facilit duso
Qualit/prezzo

8
7
6
7

Pur presentando alcuni


inconvenienti, offre uno
sguardo interessante sul
futuro dei dispositivi all-in-one.

Il voto di
Linux Pro

Linux pro 144

050_LXP_144_rev_AOCA24 50

22/07/14 01:32

Giochi Linux Test

Circuits
Ci siamo misurati molto volentieri
con questo gioco di enigmistica musicale

a maggior parte dei giochi


di enigmistica punta a farvi
lavorare di meningi,
presentandovi rompicapi che vi
costringono a ragionare su come
comporre le tessere del puzzle
e passare al livello successivo.
Circuits, tuttavia, un gioco
di enigmistica molto diverso.
A giudicare dal nome o dalle
immagini, si potrebbe benissimo
credere che al centro del gioco
ci sia effettivamente la creazione
di circuiti elettrici. In realt,
questo gioco non ha davvero
assolutamente niente a che fare
con lelettronica. Per risolvere gli
enigmi, invece di fare ricorso alla
vostra agilit mentale, dovrete
effettivamente usare le orecchie.
Al momento del caricamento,
il gioco vi suggerisce di utilizzare
delle cuffie per poter gustare
al meglio lesperienza; e non

scherza (seriamente: usate le


cuffie per giocare). Ogni livello
costituito da una breve traccia
musicale, che dovete ascoltare
attentamente, riprodotta
in forma visiva per mezzo
di un circuito integrato i cui
componenti rappresentano
strumenti, note e riff. A voi
il compito di riprodurre la traccia
collocando varie icone lungo
il circuito. Allinizio piuttosto
semplice ma la difficolt
aumenta con lintroduzione
di tracce pi complesse con pi
strumenti e livelli. La musica
ambient utilizzata nel gioco potr
non piacere a tutti; per ben
fatta e, insieme alla grafica
minimale, contribuisce a creare
un gioco tranquillo e rilassante.
I primi livelli ci hanno permesso
di afferrare il meccanismo
di gioco e non ci hanno dato

In Circuits risolvere gli enigmi


significa creare tracce musicali

grosse difficolt, malgrado


i nostri timpani sfondati dalle
troppe feste. Nonostante ci,
non abbiamo impiegato molto
a perdere interesse. A piccole
dosi, Circuits davvero un modo
originale e rilassante per
trascorrere qualche minuto;
ma non si pu certo dire che
sia il videogioco pi avvincente
su cui abbiamo messo le mani.
Fortunatamente, il prezzo
veramente contenuto ne fa
un giochino interessante. LXP

Giudizio
Circuits
Sviluppatore: Digital Tentacle
Web: http://bit.ly/DigTentacle
Prezzo: 2,50

Giocabilit
Grafica
Longevit
Qualit/prezzo

6
7
6
7

Se siete in cerca di un gioco


di enigmistica, non farete male
a spenderci un paio di euro.

Il voto di
Linux Pro

The Last
Federation
Un intero sistema solare nei pasticci
e la sua unica speranza siete voi

ortare la pace in un sistema


solare, con miliardi di abitanti
pronti a entrare in guerra
con i loro vicini galattici, pu essere
un lavoro complicato. A una prima
occhiata, le missioni di The Last
Federation possono essere superate
utilizzando la semplice potenza
di fuoco e sconfiggendo la nave
da guerra nemica mediante la propria;
ma potete optare anche per la via
diplomatica e cercare di risolvere
i conflitti in modo pacifico. C per
un ostacolo. The Last Federation un
gioco di strategia a turni, il che significa
che quando tocca a voi potete
stabilire la destinazione della vostra
astronave e le eventuali navi nemiche

da attaccare. Viene quindi il turno del


vostro avversario, un po come in una
partita a scacchi. A differenza
di quanto avviene negli scacchi,
tuttavia, non potete vedere la mossa
dellavversario prima di compiere la
vostra: entrambi i giocatori stabiliscono
cio le proprie mosse insieme, per poi
assistere ai loro sviluppi, conflittuali
o meno. Quando attaccate una nave,
facendovi transitare sopra il mouse
potete scoprirne le difese e stabilire
quale delle vostre armi provocher
maggiori danni. Questo conferisce al
combattimento una certa profondit;
in ogni caso, potete superare i vari
livelli anche pacificamente. Per farlo
dovete permettere al nemico

Non sar la Guida Galattica


per autostoppisti ma non male

di attraccare e cedergli delle risorse.


Questo pu essere utilizzato contro di
voi ma in compenso migliora la vostra
reputazione presso lo schieramento
opposto, il che potrebbe fruttarvi
in seguito unalleanza. Lazione
di gioco divertente e strategica;
grafica e colonna sonora, bench non
eccezionali, sono pi che decenti.
Il gioco riporta alla memoria alcuni
vecchi titoli di strategia a turni, il che
non affatto male. Inoltre, un certo
umorismo impedisce al gioco
di prendersi troppo sul serio. LXP

Giudizio
The Last Federation
Sviluppatore: Arcen Games
Web: www.arcengames.com
Prezzo: 19

Giocabilit
Grafica
Longevit
Qualit/prezzo

8
6
7
7

Un titolo spaziale di strategia


a turni divertente e complesso, con
un piacevole senso dellumorismo.

Il voto di
Linux Pro

Linux pro 144

051_LXP_144_LXP185_rev_game 51

51

22/07/14 01:32

Roundup Office suites

Test Confronto

Ogni mese mettiamo a confronto prodotti


e programmi per farvi scegliere al meglio!

IDE per programmare


Non importa se vi considerate programmatori alle prime armi, oppure
veterani. Linux Pro, questo mese, vi porta alla scoperta dei migliori IDE per
la stesura del codice e sicuramente troverete quello che fa al caso vostro

Modalit del test


Abbiamo installato tutti gli IDE
seguendo le procedure
consigliate. Per coerenza,
abbiamo provato tutti i software
su Mint e inoltre ci siamo fatti
carico di soddisfare le necessit
di ciascuno per quanto riguarda
le dipendenze. Eclipse e Aptana
Studio, per esempio, devono
avere Java per funzionare.
Tutti gli IDE supportano pi
linguaggi di programmazione
e visto che siamo alla ricerca
di un editor di uso generale,
ci siamo sbizzarriti provando pi
progetti su ogni singolo
programma. Per valutare la loro
abilit nella gestione generale
del codice, li abbiamo messi alla
prova con i prodotti pi popolari
del mondo Open Source, tra cui
WordPress, scritto in PHP,
e TWiki, codificato in Perl.
Abbiamo anche provato
frammenti di codice in altri
linguaggi come Java, HTML5,
JavaScript, Ruby e CSS.

La nostra
selezione
Aptana Studio
Bluefish
Eclipse
Geany
Komodo Edit

52

n Integrated Development
Environment, o se preferite
ambiente di sviluppo
integrato o IDE, un software
progettato per aiutare gli sviluppatori
a creare i propri programmi. Quando
si tratta di programmare, infatti, una
buona applicazione che permette
di gestire il codice in modo preciso, pulito
e veloce fondamentale per il corretto
sviluppo del progetto. Per fortuna,
i tempi in cui gli sviluppatori modificavano
il codice sorgente dalla riga di comando
sono finiti. Al giorno doggi, infatti,

un moderno IDE fornisce tutti


gli strumenti di cui avete bisogno:
completamento automatico, interfaccia
utente specializzata, debugger e molto
altro ancora. Gli IDE non aiutano solo
i principianti, ma anche i programmatori
esperti, in quanto semplificano il flusso
di lavoro in svariati modi. Tuttavia, non
tutti gli IDE sono uguali; troviamo quelli
pi semplici, simili a editor di testo
un po pi avanzati, e quelli complessi,
con menu e finestre per ogni esigenza.
Nel nostro confronto ci troveremo
di fronte alcuni IDE popolari, progettati

per soddisfare le esigenze della maggior


parte dei programmatori, in quanto
supportano una grande variet
di linguaggi. Li proveremo in tutte le loro
funzioni, a cominciare dalla possibilit
di lavorare in team sullo stesso codice,
ma anche valutando aspetti pi strutturali
come la loro interfaccia e il controllo
dei plug-in. Insomma, ci sbizzarriremo
in una carrellata a tutto tondo, cos
da fornirvi un metro di paragone quanto
pi possibile affidabile, per scegliere
leditor che pi si adatta alle vostre
esigenze e preferenze.

Linux pro 144

052_057_LXP_144_LXF183.round 52

22/07/14 12:02

Confronto Test

Funzioni
delleditor

La Snippet Bar
di Bluefish
permette
di migliorare
lesperienza
duso delleditor

Come assistono i programmatori?

a parte pi importante di qualsiasi


IDE leditor del codice,
un ambiente molto simile
a un semplice editor di testo. In pratica,
dove scriviamo ed eseguiamo il debug
delle istruzioni per ottimizzarle.
A differenza di un editor di testo, un IDE
ha diverse caratteristiche, tra cui
levidenziatore della sintassi,
il completamento del codice e molto altro.
Geany, sotto questo profilo, fornisce
un aiuto di base e lo fa evidenziando
la sintassi e raggruppando alcuni blocchi
di codice. Anche se non usa la chiusura
automatica della sintassi, c comunque
un codice a colori che vi permette
di individuare immediatamente le righe
non chiuse. Gli sviluppatori Web, infine,
apprezzeranno anche la capacit di Geany
di gestire lauto-chiusura dei tag HTML
e XML. Bluefish consente sempre
di aggregare il codice e inoltre evidenzia
anche gli indicatori di inizio e fine per i tag

e le righe di codice. Quindi, quando si fa


click su un tag, ne viene evidenziata
la corrispondente apertura e chiusura.
Leditor esegue anche un ottimo lavoro
di auto-completamento e riesce a chiudere
i tag per diversi linguaggi
di programmazione. Inoltre, visualizza
le indicazioni di riferimento anche
se vi trovate in condizione di agire
su pi linguaggi ramificati, come quando
troviamo codice Javascript allinterno
di un programma scritto in PHP.
Una specifica, questa, utile se non siete
ancora esperti di un dato linguaggio.
Unaltra caratteristica molto utile di Bluefish
la Snippets Bar, che vi consente
di aggiungere i frammenti di codice pi
comune per una variet di linguaggi.
Oltre a raggruppare il codice e a gestire
il controllo della sintassi, Komodo evidenza
anche le variabili. Infatti, sufficiente fare
doppio click su queste ultime per osservare
tutte le varie derivazioni. Un altro grande

vantaggio il supporto per il refactoring del


codice. Anche Eclipse lo supporta e potete
utilizzarlo per estrarre ci che selezionate
in forma di variabile locale. Oltre a fornire
la solita assistenza per la gestione
del codice, Eclipse consente di rimodellare
linterfaccia delleditor. Potete sganciare
le finestre e combinarle come preferite,
cos da rendere pi semplice e immediata
la gestione del programma su pi monitor.
Aptana Studio, infine, permette
di personalizzare il layout dellinterfaccia.
In pi, oltre alle tradizionali funzioni di cui
godono anche gli altri editor, Aptana
permette di aiutare gli sviluppatori
suggerendo e spiegando i vari tag. Quando
se ne scrive uno, per esempio, viene
visualizzato un elenco di istruzioni simili
e per ognuna presente una descrizione.

Verdetto
Aptana Studio
Bluefish
Eclipse
Geany
Komodo
Bluefish
implementa
un gran numero
di funzioni davvero
molto utili.

Revisione e controllo
Permettono di collaborare tra pi persone?

l modo pi comune per collaborare


su un progetto il sistema di controllo
della revisione, che consente a pi
persone di gestire il codice che viene scritto.
Da questo punto di vista Bluefish una
delusione, in quanto non supporta n Git,

n Subversion. Geany utilizza il plug-in Geany


VC per consentire laccesso a Bazaar, Git,
Mercurial, Subversion e CVS. Tuttavia
supporta solo diff, log, status, revert e commit.
Komodo Editor non ha alcuna capacit
di controllo della revisione. LIDE, per, pu

Con Eclipse potete collaborare con pi sviluppatori

lavorare con CVS, Subversion e i sistemi


di controllo del codice sorgente Perforce,
anche se a tuttoggi non possibile creare
o configurare repo allinterno dellIDE.
Tuttavia, questultimo consente di modificare
contemporaneamente un documento,
nonch condividere frammenti e macro
tramite la funzione pubblica. Aptana Studio
ha un client integrato per CVS, che permette
di accedere ai repo. inoltre possibile
aggiungere il supporto per altri plug-in
(la documentazione non molto chiara), ma
alcuni link ai componenti aggiuntivi sono
inattivi. Eclipse gestisce il controllo versione
molto bene. Il plug-in EGit aggiunge il Git
distribuito in VCS allinterno dellIDE, mentre
il plug-in Sublipse incrementa il supporto
per Subversion. I plug-in Xpairtise e Saros,
infine, sono molto popolari, in quanto
consentono a pi sviluppatori di lavorare
su un file in contemporanea e vedere tutti
i cambiamenti in tempo reale.

Verdetto
Aptana Studio
Bluefish
Eclipse
Geany
Komodo
Se avete
intenzione
di lavorare
insieme ad altri,
il consiglio
migliore che
possiamo darvi
usare lIDE Eclipse.

Linux pro 144

052_057_LXP_144_LXF183.round 53

53

22/07/14 12:02

Test Confronto

I primi passi
Le interfacce utente sono davvero intuitive?

e applicazioni che trattiamo nel nostro


confronto offrono una grande quantit
di funzioni e supportano una vasta gamma
di linguaggi di programmazione, pi alcuni addon e plug-in. Questi ultimi possono per
aggiungere funzioni complesse, che dovrebbero
poter essere gestite da uninterfaccia intuitiva.

Tutti gli IDE hanno un layout chiaro e alcuni


permettono addirittura di personalizzarne
la struttura, cos da adeguarsi al meglio al flusso
di lavoro. Detto questo, tale flessibilit dovrebbe
essere considerata come un surplus e non
come qualcosa da usare in modo forzato,
in quanto lambiente grafico gi di per s ben

gestito. Un altro aspetto che siamo andati


a guardare proprio il numero e la quantit
di menu che vengono messi a disposizione.
Un IDE non deve sommergere di informazioni,
quanto pi metterle a disposizione in modo
giusto e mirato. In altre parole, non devono
sovraccaricarci di input.

Geany
Geany facile da utilizzare, in quanto un editor di testo avanzato, la cui
interfaccia mette subito in risalto i comandi principali. Lultima versione
disponibile nei repo ufficiali di tutte le distro pi comuni. Avrete
comunque bisogno di installare anche i 20 plug-in essenziali al suo
funzionamento. Quando avviate lapplicazione, vi trovate di fronte
a un editor pulito e ordinato, con un layout semplice che porta in risalto
il codice. Da qui poi possibile modificare o creare nuovi file sorgente,
utilizzando addirittura alcuni modelli predefiniti. Ci sono poi diverse
comodit che aiutano a sviluppare le istruzioni, come per esempio
la possibilit di eseguire il debug del codice allinterno dellIDE stesso.
Geany, in definitiva, dimostra di avere la giusta quantit di opzioni
di configurazione per essere definito un editor davvero flessibile.

Bluefish
possibile installare Bluefish utilizzando gli strumenti del gestore pacchetti dopo
laggiunta di alcuni repo personalizzati. Questo IDE si distingue per la velocit
di avvio e in pi per linterfaccia chiara e ben strutturata. Anche in questo caso,
possibile iniziare da zero tramite modelli predefiniti, oppure modificare file
gi esistenti. La Snippets Bar e la barra degli strumenti HTML sono degli aiuti
formidabili per la stesura del codice. Permettono anche a chi a digiuno di un
linguaggio di prendere immediatamente confidenza con la sintassi. Tutto quello
che dovete fare selezionare lelemento che desiderate aggiungere dal menu,
quindi definirne le opzioni e i valori. Al resto pensa Bluefish, che creer il codice
per voi in base ai valori selezionati. inoltre possibile gestire il comportamento
dei tag tramite le preferenze, cos da ottimizzare luso dellIDE e delleditor.

Compatibilit

Aptana Studio

Quali linguaggi di programmazione supportano?

Bluefish

utti gli IDE vi aiuteranno a scrivere


il codice di pi linguaggi
di programmazione. Tuttavia, molti
di loro sono progettati per una specifica
sintassi. Aptana Studio, per esempio,
pensato per realizzare applicazioni Web
Ajax e supporta le pi recenti specifiche
HTML5. Tuttavia si pu utilizzare anche
il tradizionale codice HTML, nonch CSS,
JavaScript, PHP e Ruby. Komodo,
in aggiunta a questi linguaggi, consente
di sviluppare in Node.js, XSLT, Python

54

e molti altri. Sfruttando poi le sue


caratteristiche di auto-completamento,
lesecuzione di questi codici sar molto pi
facile che in altri ambiti. Tuttavia,
il debugger accetter solo PHP, Python,
Perl, Ruby, Node.js, Tcl, e XSLT. Anche
Bluefish specializzato in applicazioni Web
ed capace di gestire Perl, PHP, Python,
C/C++, CSS, Google Go HTML5, JavaScript
e altro ancora. Inoltre, supporta anche
i pi popolari CMS Open Source come
MediaWiki e WordPress. Geany, invece,

Verdetto

gestisce programmi scritti in C, PHP, HTML,


Python, Perl, Pascal e Java. Se per
si vuole lavorare con maggior soddisfazione
proprio su Java, consigliamo di utilizzare
Eclipse, che stato progettato proprio
per questo compito. Tuttavia, tramite diversi
plug-in possibile usarlo anche per C++,
Python, Perl e PHP. LIDE ha anche diversi
ambienti dev, compresi gli strumenti
di sviluppo Eclipse Java (JDT) per Java
e Scala ed Eclipse CDT per C/C++, nonch
Eclipse PDT per PHP.

Eclipse
Geany
Komodo
Bluefish supporta
un gran numero di
linguaggi e quindi
pu essere definito
una delle migliori
scelte per chi vuole
versatilit
e funzionalit.

Linux pro 144

052_057_LXP_144_LXF183.round 54

22/07/14 12:02

Confronto Test
Komodo Edit
ActiveState produce due IDE. Il primo, disponibile gratuitamente, Komodo
Edit, mentre quello a pagamento Komodo IDE, che comunque possiamo
valutare gratuitamente per 21 giorni. Lapplicazione disponibile come
archivio compresso, che include uno script di installazione. Quando si avvia
il programma, trovate subito una schermata di aiuto, che vi reindirizza a una
documentazione a schermo. Come con Geany e Bluefish, possibile creare
un progetto basato su modelli predefiniti per 50 linguaggi di programmazione,
oppure modificare i documenti gi presenti. Tra i predefiniti, troviamo esempi
di HTML5, Perl, Python e Tcl. Leditor del codice fa un bel lavoro nella
presentazione della sintassi e ritroviamo tutti i comfort pi utili, che rendono
luso del programma semplice e intuitivo. Inoltre, consente di creare
frammenti di codice riutilizzabili.

Aptana Studio
LIDE basato su Eclipse e richiede Java Runtime Environment per funzionare
a dovere. Per il controllo versione, necessario anche Git e se avete
intenzione di utilizzare Ruby su Rails, dovrete assicurarvi che lambiente
di sviluppo sia completamente configurato. Vi consigliamo comunque di dare
unocchiata alla guida introduttiva e al sito Web del programma, per soddisfare
ogni altra esigenza. Quando avviate lapplicazione per la prima volta,
necessario scegliere una cartella in cui salvare i progetti. Come con altri IDE,
possibile creare un nuovo flusso di lavoro utilizzando dei comodi modelli
predefiniti. LIDE eredita poi alcune delle migliori caratteristiche di Eclipse,
tra cui la possibilit di visualizzare solo i comandi in base al tipo di file che state
modificando. Inoltre, integra un pratico sistema di spiegazione delle parole
chiave e di altri elementi pi o meno importanti.

Eclipse
Eclipse lIDE che ha pi funzioni tra quelli presi in considerazione. Nella
guida introduttiva, non c molto da consultare se avete gi tutti i componenti
necessari. Basta infatti scaricare larchivio compresso, estrarlo ed eseguirlo.
Eclipse comunque piuttosto lento e riesce a essere sufficientemente rapido
solo su macchine con hardware abbastanza potente. Linterfaccia principale
divisa in diversi pannelli. A prima vista scoraggia un po, e se siete nuovi
di questo programma potreste perdere un po di tempo per familiarizzare
con le funzioni principali. Una caratteristica unica la Prospettiva, che
permette di personalizzare il layout e il contenuto delle finestre. Tuttavia,
questa potrebbe essere anche un ostacolo, soprattutto se siete dei principianti
intenti a mettere mano sulle principali funzioni del programma.

Supporto e documentazione
Cosa succede quando avete bisogno di assistenza

causa delle tante funzioni di cui


dispongono, gli IDE sono software
piuttosto complessi. Non importa
quanti anni di esperienza avete nella
programmazione, prima o poi dovrete
comunque far riferimento alla
documentazione che vi permette di sfruttare
al meglio una data funzione. Bluefish
non brilla per quanto riguarda il supporto:
non include alcun tipo di documentazione
offline a ha un solo manuale ospitato sulla
propria wiki. Tuttavia, lapplicazione molto

popolare tra gli sviluppatori e quindi non


farete fatica a trovare risorse non ufficiali
sul Web. Geany, sotto questo aspetto,
si comporta un po meglio anche se sulla
propria wiki, oltre alle FAQ, non troviamo
niente di particolare. Aptana Studio offre
lhelp integrato e in pi ha una wiki online
che condivide con Titanium Studio, un altro
IDE per lo sviluppo di applicazioni mobile.
La documentazione di Aptana comprende
anche una serie di risorse su Stack Overflow.
Komodo dispensa aiuto tramite i suoi forum

Verdetto
Aptana Studio
Bluefish

online che ospitano una buona serie di FAQ.


Inoltre, possiamo trovare un paio di canali
su YouTube, che ci aiutano nella
configurazione generale. Komodo anche
lIDE con la documentazione pi accurata,
capace di coprire tutte le funzionalit
nel dettaglio. Eclipse, infine, si comporta
altrettanto bene, mettendo a disposizione
grandi quantit di informazioni e un canale
YouTube. Lapplicazione, poi, include alcuni
progetti desempio molto comodi
da sviluppare per imparare le basi.

Eclipse
Geany
Komodo
Se fate un salto
su YouTube
troverete una
grande quantit
di canali dedicati
a questi IDE, con
tanto di tutorial
e spiegazioni.

Linux pro 144

052_057_LXP_144_LXF183.round 55

55

22/07/14 12:02

Test Confronto

Supporto del debug


abbastanza facile utilizzare questa funzione?

n aspetto molto importante


per gli sviluppatori il debug
del codice. Questo consente
di analizzare la sintassi e quindi
semplificarla, rimuovere le incoerenze
e perfezionare il tutto con un processo
di sviluppo quanto pi possibile mirato.
La quantit di tempo da impiegare
in questa pratica direttamente
proporzionale agli strumenti messi

a disposizione dagli IDE. Il pi popolare


debugger Open Source GNU Debugger
(GDB), che pu essere sfruttato per una
grande quantit di linguaggi e ampie
funzioni per il tracciamento e la modifica
del codice. Molti IDE utilizzano quindi
GDB, mentre altri fanno uso di un proprio
debugger. Sia Komodo Edit sia Bluefish
non includono alcuna procedura di debug,
per provare il vostro codice, pertanto

Aptana consente di creare, gestire ed eseguire diverse configurazioni di debug

dovrete fare affidamento su strumenti


di terze parti. La versione commerciale
di Komodo per fornita di un debugger
grafico capace di analizzare PHP,
Python, Perl, Ruby, Tcl e Node.js.
Una caratteristica notevole del debugger
lHTTP Inspector, che pu controllare
la corretta gestione delle comunicazioni
tra server e browser. Anche se Geany
si basa su GDB, ha un proprio plug-in
di debug che permette di eseguire
la procedura allinterno dellapplicazione.
Attualmente il plug-in supporta solo GDB,
ma prevista la gestione anche di altri
back-end. Aptana Studio ha un proprio
debugger personalizzato in grado
di gestire il codice scritto in Ruby, Rails
e JavaScript. Usando questo debugger
si possono compiere le pi comuni attivit,
tra cui limpostazione dei punti
di interpunzione, lispezione delle variabili
e il controllo dellesecuzione. Come
Aptana, anche Eclipse offre un set
preconfigurato di visualizzazione
per il debug del codice Java. In questa
prospettiva, possibile controllare
il processo di esecuzione dei programmi
ed esaminare lo stato delle variabili.
inoltre possibile collegare GDB
con Eclipse e con altri strumenti di debug
di terze parti.

Verdetto
Aptana Studio
Bluefish
Eclipse
Geany
Komodo
La maggior
parte degli IDE
provati nel
confronto tende
a utilizzare
i vari debugger
per i linguaggi
pi supportati.

Add-on e plug-in
Cosa si pu fare in pi?

utti gli IDE possono contare


su svariati plug-in per estendere
i propri strumenti. Gran parte delle
funzioni di Bluefish sono basate proprio
sui componenti aggiuntivi, tanto che
quando sinstalla lIDE trovate anche
un pacchetto di plug-in annessi.
Lapplicazione dispone di componenti
per creare finestre di dialogo HTML,
aggiungere frammenti di codice,
una mappa dei caratteri, pi una serie
di ottimizzazioni per migliorare il flusso
di lavoro con HTML e CSS. Geany
un altro IDE con parecchi plug-in.
Alcuni consentono di inserire caratteri
HTML, creare file di origine per nuovi tipi
di classe, inserire schede nel browser,

56

pi tutta unaltra serie di azioni per


il salvataggio dei file. Il progetto, alla
pagina http://plugins.geany.org,
raccoglie anche diversi componenti
aggiuntivi in via di sviluppo. Sul sito poi
possibile leggere le informazioni di base
di ciascuno, pi le istruzioni duso
e per linstallazione. Alcuni dei plug-in pi
utili sono dedicati al debug. Un esempio
GenDoc per lauto-generazione della
documentazione. C poi Geany Macro
che permette di realizzare macro definite
dallutente, pi Addons che aggiunge altri
elementi come un elenco di segnalibri,
icone di stato e via dicendo. Komodo ha
una sezione del proprio sito Web dedicata
ai componenti aggiuntivi, dove ne trovate

almeno 100. Tra le tante ci sono Emmet


per il miglioramento dellHTML, NTS Code
Browser lhelper ToDo, un explorer
per i database MySQL e Cake PHP
per il codice PHP. I plug-in di Eclipse sono
disponibili tramite il marketplace
dellapplicazione. Molti sono gratuiti,
mentre altri a pagamento. A differenza
di altri IDE, il market di Eclipse un
mondo a s. possibile sfogliare e cercare
componenti aggiuntivi, vedere screenshot
e molto altro ancora. Alcuni sono perfino
correlati da guide utente e forum
di supporto. Per installare un plug-in, tutto
quello che dovete fare trascinarne uno
in Eclipse Workplace. Anche Aptana
Studio pu essere inserito in Eclipse.

Verdetto
Aptana Studio
Bluefish
Eclipse
Geany
Komodo
Elicpse trionfa
di nuovo su tutti,
ma anche gli
altri si difendono
bene con una
serie di plug-in
molto utili.

Linux pro 144

052_057_LXP_144_LXF183.round 56

22/07/14 12:02

Confronto Test
System Monitoring

Il verdetto
L

a scelta di un IDE dipende dalle


vostre necessit. Il linguaggio
di programmazione e le dimensioni
del progetto sono due scelte fondamentali
per orientarsi verso un programma anzich
un altro. Strumenti potenti e complessi
possono far comodo anche per lavorare
su piccoli progetti, ma se lIDE non dispone
di funzioni appropriate, sar difficile gestire
qualcosa di diverso dai flussi di lavoro pi
esigui. Il caso di cui stiamo parlando si pu
accomunare a Bluefish, che pu essere
considerato un programma adatto alla
progettazione Web-based, compresi
gli strumenti che consentono di mettere mano
ai CMS come WordPress e MediaWiki. Tuttavia
lIDE manca di un debugger e non c alcun
supporto per qualsiasi sistema di controllo
versione, portando quindi lapplicazione
a essere esclusa per i progetti in team. C poi
Komodo di ActiveState, che disponibile in pi
versioni. Komodo Edit gratuito e possiamo
catalogarlo come editor di base con in pi
la possibilit di gestire diversi plug-in.

Purtroppo, per, il fratello in versione


commerciale sembra fargli ombra, poich
questultima ha tutte le caratteristiche che
ci aspetteremmo da un IDE professionale,
debugger compreso. Gli altri due ci hanno
soddisfatto in pieno. Se siamo pi concentrati
sul Web e sui linguaggi di scripting, Aptana
sicuramente la migliore soluzione: supporta
benissimo PHP, Ruby on Rails e Python,
nonch Adobe Air. Se invece preferite
utilizzare un IDE pi completo, con la possibilit
di utilizzare numerosi plug-in, allora Eclipse
perfetto. Per i singoli sviluppatori, comunque,
la scelta migliore Geany: pratico, intuitivo,
supporta tutti i principali linguaggi
di programmazione. Nonostante la sua natura
leggera, lapplicazione offre una serie
di caratteristiche che la rendono perfetta per

Eclipse

Unapplicazione un po limitata, che non offre niente di speciale

Geany

Web: www.geany.org Licenza: GNU GPL v2 Versione: 1.24.1

Un IDE flessibile per uso individuale

Bluefish

Web: http://bluefish.openoffice.nl Licenza: GNU GPL v2 Versione: 2.2.6

Non male, ma sulle funzionalit perde terreno rispetto ad altre soluzioni

A voi la parola...

Aptana

Web: www.aptana.org Licenza: GNU GPL v2 Versione: 3.4.2

LIDE perfetto per i progetti Web

Komodo Edit

Web: http://komodoide.com/komodo-edit/ Licenza: MPL Versione: 8.5.3

Il miglior IDE del nostro confronto

Geany
lavora su pi
piattaforme, tra
cui quelle mobile

Eclipse vi offre un ambiente


che potrete sfruttare anche
quando sarete diventati esperti

Web: www.eclipse.org Licenza: EPL Versione: 4.4

tutti i programmatori. Infine, In termini


di funzionalit e di esecuzione, difficile
trovare qualcosa di meglio rispetto a Eclipse,
che supporta una vasta gamma di linguaggi;
per i nuovi utenti pu avere uninterfaccia forse
troppo carica ma fornisce un ambiente ideale
per quando diventerete esperti.

Non siete daccordo con le nostre scelte? Avreste usato altri IDE? Inviate
le vostre opinioni su questo Confronto a: recensioni@linuxpro.it

Considerate anche...
Nel nostro confronto abbiamo considerato gli IDE
pi popolari, ma ce ne sono molti altri che possono
essere sfruttati con soddisfazione. Se siete abituati
a emacs o vi, non ci pensiamo lontanamente
a indirizzarvi verso altri editor. Questi vanno
benissimo. Tuttavia, nonostante la loro flessibilit,

non li consiglieremmo per chi si avvicina alla


programmazione, in quanto hanno una curva
di apprendimento piuttosto ripida. Chi rimasto
impressionato da Eclipse pu dare unocchiata
a NetBeans, che comprende uninterfaccia a dir
poco meravigliosa. Chi si diletta con il C potrebbe

considerare MonoDevelop. Altrimenti provate njuta,


KDevelop e Code::Blocks. Di recente troviamo
anche diversi IDE Web che funzionano direttamente
nel browser. Alcuni esempi sono Cloud9, ShiftEdit
e Codeanywhere. Supportano tutti HTML, CSS, PHP,
Java, Javascript e altri. LXP
Linux pro 144

052_057_LXP_144_LXF183.round 57

57

22/07/14 12:02

Da non
perdere
Test
I migliori
nuovi
programmi

Open Source del pianeta

Da non perdere
Englightenment GnuCash Devcoin Abc2midi Octave AudioScope
FatRat GoldenDict Avogadro Phatch PlaneShift Hnefatafl

Brackets

Windows manager e desktop environment

Enlightenment
Versione: E18 Web: www.enlightenment.org

17 ha richiesto la bellezza di 12
anni di lavoro. E18, invece, ha
impiegato un anno in meno e per
questo gli sviluppatori potrebbero essere
accusati di aver fatto un lavoro frettoloso.
Tuttavia, le 242 modifiche raccontano
una storia diversa, fatta di notevoli
miglioramenti. Enlightenment viene
installato abbastanza facilmente su Ubuntu
Saucy con il repository Universe abilitato
e laggiunta di un altro PPA:
sudo add-apt-repository ppa:vase/ppa
sudo apt-get update
sudo apt-get install enlightenment
Il tempo di leggere questo articolo
e dovreste aver completato linstallazione.

Aspettate, pero! Come mai tutto sotto


sopra? Nel nostro primo test, siamo stati
soggetti al bug dei driver EGL plus GLS
e pertanto, se anche voi ne siete colpiti,
ricompilate con glx/desktop-gl
per risolvere. Caricando il PPA di Ubuntu
in una macchina Debian Sid, non avrete
questo problema e potrete procedere
con uninstallazione semplice e veloce.
Enlightenment estremamente

E18 pronto per


entrare nel nuovo mondo
dei dispositivi mobili

Linterfaccia di Enlightenment 18
Anteprima
Passando il cursore del
mouse su una cartella, si apre
una finestra di anteprima
con i file in essa contenuti,
pi le informazioni
sui permessi, il proprietario
e lultima modifica effettuata.

Colori
I colori scuri sono tornati
di moda. E18, comunque,
permette di configurare
questo aspetto come meglio
credete.

58

Task bar

Configurazione

Il programma mette a disposizione


una barra degli strumenti per menu,
finestre, widget e molto altro ancora.

E18, per gestire le impostazioni,


non chiede di modificare file di testo,
ma permette di agire con un paio di click.

Enlightenment funziona perfettamente


anche sulle distro basate su Debian

personalizzabile. Accedendo al nuovo


ambiente, potrete selezionare la lingua,
la tastiera e la modalit di input a seconda
che si utilizzi un dispositivo con schermo
touch o una semplice tastiera. Come
potrete notare, anche Enlightenment
si distingue per le capacit
multipiattaforma al pari di Ubuntu 14.04.
Una volta fatte le personalizzazioni
del caso, avete un desktop facile
da configurare e gestire. A una prima
occhiata, anche in presenza di hardware
datato, il sistema piuttosto veloce.
Il merito di questa reattivit da ricercarsi
soprattutto nelle EFL, vale a dire le
Enlightenment Foundation Libraries.
Sviluppate per E17, le EFL integrano Evas
e Edje, due elementi che gestiscono
il motore grafico, pi il set di strumenti
Elementary: un insieme di librerie che
separa le parti grafiche dei programmi
da quelle funzionali e rendono pi
semplice il lavoro di programmatori
e designer. Lultima versione del software,
vale a dire E18, migliora il file manager,
offre unesperienza di integrazione con
il desktop ancora pi perfezionata e rende
maggiormente stabile lintero sistema.

Linux pro 144

058_064_LXP_144_LXF182.hot 58

22/07/14 13:49

Da non perdere Test


Gestore finanziario

GnuCash
Versione: 2.6.3 Web: http://gnucash.org

a convenienza e il risparmio stanno


guidando sempre pi persone
ad affidarsi ai servizi Cloud,
con relativa perdita della privacy e di tutti
i diritti annessi. Per la gestione finanziaria,
per, consigliamo di rivolgersi sempre
a un programma installato sul vostro PC.
GnuCash, a tal proposito, la soluzione
perfetta per privati e professionisti. Gratuito,
un software di contabilit sviluppato
oramai da 15 anni nei quali sono stati
aggiunti notevoli miglioramenti e funzioni,
proteggendoci poi dai pi comuni errori
aritmetici. Ha i suoi lati negativi, ma per
quanto riguarda la contabilit imbattibile
e consente di gestire molteplici aspetti:
partita doppia, fondi multi-valuta, conti
da pagare, crediti e molto altro ancora.
Insomma, si tratta di uno strumento perfetto
per gestire il budget finanziario
a disposizione. Lo trovate disponibile
nel gestore software di tutte le distro

pi famose. Solo chi utilizza distribuzioni


non Gnome potrebbe avere la necessit
di installare diversi componenti aggiuntivi.
Nella versione 2.6 sono stati poi apportati
miglioramenti grafici, come jqplot che viene
utilizzato per rappresentare i nuovi rapporti.

Per i professionisti
Per chi deve avere a che fare con fatture
e bilanci, GnuCash mette a disposizione
una serie di funzioni molto utili: note
di credito, gestione ed elenchi di fornitori
e clienti, elenco delle note saldate e molto
altro ancora. Possiamo addirittura stampare
i documenti fiscali e tutto quanto ci serve
su carta. Il resto dei miglioramenti della

La maggior parte delle procedure di configurazione pu


avvenire tramite comodi e pratici wizard

GnuCash dedicato
tanto ai privati quanto
ai professionisti

2.6.3 sono piccoli aspetti che comunque


consentono di rendervi la vita pi semplice.
Per esempio la possibilit di esportare
i documenti in formato PDF, cos da
condividerli pi velocemente con chiunque.
Non solo, ma potrete anche gestire
i permessi dei vari libri contabili, abilitando
la sola lettura per quelli che non volete
vengano toccati. Infine, possiamo dire che
GnuCash non ancora al pari di KMyMoney,
ma per gli utenti professionali sicuramente
una scelta da prendere in considerazione.

Criptovalute

Devcoin
Versione: 1.0.12 Web: http://devcoin.org

l carrozzone chiamato criptovaluta


sembra proseguire per la sua strada,
anche se iniziano a vedersi alcuni
effetti collaterali. Devcoin si inserisce
in un progetto ispirato eticamente
e basato a Bitcoin, creato per aiutare
artisti, scrittori e sviluppatori
di software nella realizzazione di progetti
Open Source. Da un punto di vista
tecnico, Devcoin molto simile a Bitcoin.
In realt, gli utenti impegnati nel mining
di Bitcoin possono ricercare allo stesso
tempo anche i Devcoin. Infatti, con
50.000 coin per blocco, il 90% va
al finanziamento di progetti Open Source:
5.000 vengono dati ai minatori e 45.000
distribuiti agli artisti e ai collaboratori.
Dopo aver scaricato il file jard di Linux
e installato il programma, venite accolti
dal portafogli. Qui dovete sincronizzare
una grande quantit di informazioni.
A differenza di Bitcoin, non c un limite

per il numero di Devcoin prodotti, anche


se la quantit ufficialmente rilasciata ogni
anno si aggira intorno ai 2,6 miliardi,
causando cos una diminuzione delle
pressioni inflazionistiche. Lapertura
di uno scenario di inflazione, infatti,
sarebbe controverso, in quanto
lo scambio di criptovalute con le valute
nazionali in gran parte sostenuto
da una speculazione febbrile.

Prima di iniziare a usare il programma, necessario


sincronizzare 100 settimane di transazioni

Cosa c nel portafogli?


Una volta terminata la sincronizzazione,
il passo successivo quello di iniziare
a guadagnare un po di coin. In giro
per la Rete troviamo delle liste di premi

Devcoin un progetto
etico ispirato a Bitcoin
e alla criptovaluta

per la scrittura di software Open Source.


Questi includono anche un portafogli
Devcoin per Android seguendo le linee
guida di GoldCoin (http://gldcoin.
com). La scelta dei progetti per i quali
viene offerto un premio frutto di una
discussione piuttosto lunga, che trovate
su http://bitcointalk.org. Magari non
saremo riusciti a convincere gli scettici,
ma se siete gi impegnati nel mining
di Bitcoin, racimolare Devcoin pu
essere un ottimo modo per sostenere
i progetti FOSS.
Linux pro 144

058_064_LXP_144_LXF182.hot 59

59

22/07/14 13:49

Test Da non perdere


Convertitore MIDI

Abc2midi
Versione: 20140424 Web: http://abcplus.sf.net

ello scorso Da non perdere


abbiamo parlato di Philips Music
Writer per la produzione di ottime
colonne sonore. Abc, invece, consente
di realizzare notazioni musicali basate
su testo, che rendono ancora pi semplice
la realizzazione di brani. Abc2midi, come
avrete intuito, permette di creare MIDI dagli
spartiti creati in Abc. Aggiunto nei 400.000
strumenti su http://abcnotation.com, uno
di quelli che vi consigliamo caldamente
di provare. La vostra distro potrebbe avere
una versione piuttosto vecchia del
convertitore, ma basta dare unocchiata
sul sito del produttore per avere
a disposizione il pacchetto DEB o RPM
pronto per linstallazione. Troverete anche
diverse utility, tra cui il convertitore LaTeX
e molto altro ancora. Le estensioni della
sintassi di Abc consentono ad Abc2midi
di gestire in modo sofisticato la trasposizione
delle singole parti, il controllo sulla velocit

delle note, cos come la possibilit di inserire


testi che vengono poi essere gestiti in file
MIDI Karaoke.

Musica maestro
Abc2midi pu utilizzare un buon numero
di effetti, cos come una serie di melodie
che abbiamo trovato sui vari siti Abc.
C un grande patrimonio musicale pronto
per essere utilizzato e quindi basta mettersi
alla ricerca del pezzo che vogliamo.
La notazione inizia con diversi campi indicati
da una serie di lettere, come per esempio:
X:11
T:Dio salvi il Re
A:Wyresdale, Lancashire

Il file musicale Abc (in alto a destra), convertito in MIDI


(in basso a destra) e Postscript (a sinistra)

Per creare MIDI


da uno spartito, Abc2midi
davvero ottimo

B:A John Winder Book, Aprile 1789


L:1/8
M:3/4
Poi continuano le note divise da |:
d2d2 e2 | c3d e2 | f2f2 g2 | f3e d2 |
e2d2 c2 | d6 ::
a2a2 a2 | a3g f2 | g2g2 g2 | g3f e2 | \
f2 (gf)(ed) | f3g a2 | ((3bag) f2e2 | d6:|
Ci sono per dei compromessi da accettare
tra un semplice input Abc e un sofisticato
output per gerenare la tablatura. Tuttavia,
come generatore di MIDI, ABC ottimo.

Linguaggio di computazione

Octave
Versione: 3.8.1 Web: http://octave.sourgeforge.net

NU Octave un linguaggio di alto


livello per il calcolo numerico,
lineare e non, in gran parte
compatibile con Matlab. Funziona tramite
riga di comando, con la possibilit di usare
eventualmente una GUI. Questultima,
tuttavia, diventer linterfaccia di default
della versione 4. La maggior parte delle
operazioni che potete effettuare su GNU
Octave funzionano anche su R (GNU S)
o Python con le sue eccellenti librerie
(compresi NumPy e matplotlib),
ma in genere si tende a utilizzare Matlab
o Octave. Seppure questultimo non possa
essere definito un clone di Matlab,
la recente domanda di compatibilit
tra i due ha spinto gli sviluppatori a fornire
una struttura interoperabile. Se compilate
il sorgente, avrete bisogno del compilatore
Fortran77, nonch di OpenBLAS e delle
librerie LAPACK. In pi, se volete stampare
o salvare i dati con grafica OpenGL, ci sar

60

bisogno anche di gl2ps. La compilazione


piuttosto lunga e prima che sia finita
si fa in tempo a fare un giro dellisolato.
In alternativa, sulle distro pi famose, stanno
cominciando a comparire i pacchetti.
Se volete lavorare con linterfaccia grafica,
immettete il comando:
octave --force-gui &
La prima cosa che noterete luso
da parte degli sviluppatori di FLTK
e OpenGL.

Per sfruttare GNU Octave potete utilizzare anche linterfaccia


grafica, che dalla prossima release verr considerata di default

Matey con Matlab


Le nuove funzioni abbondano, molte delle
quali sono perfettamente compatibili
con Matlab. GNU plot ancora disponibile

GNU Octave stato


sviluppato per essere
compatibile con Matlab

per coloro che non possono eseguire


il nuovo plotter OpenGL. Inoltre, ci sono
diverse estensioni disponibili direttamente
sul sito http://octafe.sf.net. Se avete
qualche vecchio codice Matlab, molto
probabilmente riuscirete a visualizzarlo
senza particolari difficolt e solo
con qualche minima differenza (a meno
che non sia dipendente da particolari
estensioni). Magari sar necessario
riordinare un po la sintassi, ma possibile
aggiungere diverse opzioni in ~/.octaverc
per farvi sapere se il codice scritto
non compatibile.

Linux pro 144

058_064_LXP_144_LXF182.hot 60

22/07/14 13:49

Da non perdere Test


Oscilloscopio testuale

AudioScope
Versione: 1.8.0 Web: http://bit.ly/1eMWaDQ

udioScope un oscilloscopio
in modalit testo che cattura
il suono da /dev/dsp, SO e gli
input demo, restituendovi unautentica
opera darte in ASCII. Scritto come
un semplice esercizio di apprendimento
per lo scripting in Bash, questo software
rapidamente cresciuto fino a diventare
uno strumento didattico utilizzabile
anche dai bambini. In pi, per gli
smanettoni, sono disponibili le istruzioni
per la realizzazione di un circuito utile
a costruire un vero e proprio dispositivo
oscilloscopico. In pratica, si tratta
di un progetto che mette in campo
le conoscenze hardware per realizzare
qualcosa di tangibile partendo
dal software. Una soluzione davvero
encomiabile, che ci piacerebbe vedere
pi di frequente, soprattutto
se accoppiata con programmi Open
Source come questo.

Un esercizio in Bash
AudioScope.sh dispone di una modalit
demo senza dipendenze in /dev/
random/. Quando viene eseguita
la prima volta e in versione dimostrativa,
lapplicazione non ancora calibrata
per i tempi pi veloci. Le opzioni
per gestire il tutto, per, possono essere
trovate tramite il file Readme
o mediante il codice sorgente.
Da qui possibile modificare la velocit
dei tempi, lautosaving e vari altri
parametri pi o meno importanti.
Il Readme punta poi alla pagina http://
unix.com, su cui continua lo sviluppo
del programma. A questo proposito,

Di oscilloscopi ne esistono tanti, ma uno che riesce a riprodurre


la nostra musica in ASCII qualcosa di sorprendente

AudioScope nasce
come esercizio
di scripting in Bash

consigliamo a chiunque sia interessato


a imparare un po di scripting in Bash
di dare unocchiata a un progetto
in continua evoluzione come questo.
Potrete cos osservare da vicino
le capacit della shell e levoluzione
di un buon prodotto, cogliendo quindi
gli spunti per le vostre idee. Tra le altre
cose, proprio poco tempo fa, lo script
apparso sulla repo di GitHub
ed quindi possibile scaricarlo anche
dalla pagina http://bit.ly/1bR6MPi.

Editor HTML

Brackets
Versione: 0.41 Web: http://brackets.io

rackets un editor HTML


che supporta una serie
di standard Web, tra cui
JavaScript e CSS. Attualmente gira
allinterno di una applicazione C++/GTK,
vale a dire la Brackets-shell. Il livello con
cui la comunit si impegna nello sviluppo
di questo progetto impressionante.
La release 0.41, nel momento in cui
stiamo scrivendo, stata rilasciata solo
pochi giorni fa. La squadra di sviluppo
si sta concentrando sulle priorit per
farne un editor ancora pi versatile
e pratico da usare. La versione per Linux
apparsa un po in ritardo rispetto
a quelle per Mac e Windows. Tuttavia,
lultima versione vede notevoli
miglioramenti nellinterfaccia utente,
ma anche nella funzione Trova
e sostituisci che dimezza i tempi
di ricerca rispetto alle versioni precedenti.
Questo programma, inoltre, permette

di sviluppare HTML in tempo reale: ogni


volta che modifichiamo il codice,
le modifiche vengono inviate direttamente
al browser che le visualizza allinstante.
Leditor attualmente disponibile
su GitHub in DEB per Ubuntu e distro
basate su Debian, in versione 32 e 64 bit.
Non avrete pertanto alcun problema
dinstallazione.

Brackets vi mette a disposizione tutti gli strumenti per scrivere


un codice HTML pulito e ordinato

Leggero e veloce
Theseus il debugger JavaScript
di Brackets per le applicazioni di Chrome
e Node.js. Questo provvede a ispezionare
e aggiornare le azioni, come per esempio
quando fate click su un pulsante in una

Brackets mostra
le vostre modifiche
in HTML in tempo reale

pagina. Il software gode poi di parecchie


estensioni, che vanno da quella per Ruby
a PhoneGap, passando per lintegrazione
con Dropbox e la possibilit di sfruttare
un menu contestuale per aggiungere
caratteri speciali in HTML.
La documentazione per gli sviluppatori
formidabile, mentre quella dedicata
agli utenti pu essere definita altrettanto
buona, ma solo per una rapida occhiata.
In definitiva, si tratta di un editor il cui
sviluppo sta segnando ottimi passi verso
la versione 1 e che si ripromette di darci
parecchie soddisfazioni.
Linux pro 144

058_064_LXP_144_LXF182.hot 61

61

22/07/14 13:49

Test Da non perdere


Gestore download

FatRat
Versione: 1.2.0_beta2 Web: http://fatrat.dolezel.info

a gestione dei download una cosa


serie, ma spesso i soli strumenti
messi a disposizione dal browser
non bastano. Sebbene evitiamo di trattare
programmi che non vengono aggiornati
in modo frequente, dobbiamo fare
uneccezione per FatRat, un gestore
di download davvero ricco di funzioni.
Lultima versione, vale a dire la 1.2 ancora
in beta2, risale al 2012, tuttavia possiamo
gi definirla completa di tutto quello
che pu servire. Scritto in C++, basato
sulle librerie Qt4 ed capace di gestire
una larga serie di protocolli, pi
la possibilit di sfruttare diversi plug-in.
Tra i vari supporti, troviamo il pacchetto
completo per Radpishare.com, ma anche
RapidSafe, pi la disponibilit per Torrent
sia per il download sia per la ricerca,
lupload e il download via FTP e perfino
un feed RSS. Infine, consente di scaricare
video da YouTube.

Tutto a portata
FatRat pu essere scaricato senza
problemi dal gestore software della
maggior parte delle distro. Linstallazione,
pertanto, non crea alcun tipo
di problema. Linterfaccia grafica
semplice e intuitiva. Sulla destra, sotto
la voce Queue, troviamo la coda
dei download, mentre al centro
presente la schermata che riporta
nel dettaglio i file in fase di scaricamento.
Se diamo unocchiata alla voce Settings,
possiamo configurare tutti gli aspetti
del programma, a partire dallinterfaccia
grafica e dalla gestione dei vari profili
di download. Alla funzione Network

Il pannello Settings permette di gestire fin nei dettagli tutte


le impostazioni di FatRat, nonch di installare le estensioni

FatRat non viene


aggiornato da molto, ma
un software completo

possibile limitare luso della banda


sia in download sia in upload. Il menu
Extension, invece, ancor pi
interessante, perch permette
di aggiungere una vasta serie di plug-in.
Basta semplicemente spuntare
il componente aggiuntivo che volete
implementare, quindi confermare
il download con il pulsante Install.
Per esempio possiamo aggiungere
fatrat-youtube, che permette
di scaricare video dal popolare sito.

Dizionario elettronico

GoldenDict
Versione: 1.0.1 Web: http://goldendict.org

otremmo definire GoldenDict


un aggregatore di informazioni,
ma preferiamo chiamarlo
dizionario elettronico. Questo
programma estremamente ben fatto,
infatti, permette di recuperare
informazioni da una quantit
impressionante di fonti. In gergo
vengono chiamati dizionari, ma in realt
si tratta di raccolte dati. Per esempio,
collegando al programma un database
audio, potete aggiungere un dizionario
per indicare la pronuncia dei termini
stranieri. Se invece volete avere una
raccolta di dizionari morfologici, potete
usare Hunspell o Myspell, sempre
collegandoli a GoldenDict. La funzione
pi interessante, per, luso
di Wikipedia. La famosa enciclopedia
online, infatti, pu essere connessa
al programma e sfruttata al suo interno
immettendo un semplice termine

62

di ricerca. La cosa ancora pi


interessante che oltre a Wikipedia
possiamo collegare anche Wiktionary.
Il tutto in pi lingue.

Gestire i dizionari
Il programma sempre disponibile
dal gestore software della maggior parte
delle distro; quindi sinstalla in un baleno
e senza bisogno dei sorgenti. Linterfaccia
grafica suddivisa in tre comparti:
a sinistra la barra di ricerca, al centro
la pagina che riporta le informazioni
trovate e a destra lelenco dei dizionari.
Al primo avvio, dovete accedere alla voce
Dizionari che trovate in Modifica, cos

Scrivendo un termine di ricerca nella barra Cerca sulla


destra, vengono riportate tutte le parole relative

GoldenDict permette
di consultare Wikipedia
direttamente dalla distro

da collegare le fonti di informazioni che


ritenete opportune. A questo proposito,
se date unocchiata alla scheda
Wikipedia, noterete come siano gi
collegati i siti dellenciclopedia in inglese,
russo, tedesco e portoghese. Manca per
litaliano, che potete comunque
aggiungere al volo. Basta premere
il pulsante Aggiungi, quindi inserire
lindirizzo http://it.wikipedia.org/w.
Attenzione alla w finale. Se non viene
aggiunta, GoldenDict non riuscir
a collegarsi. Da questo momento in poi,
avremo la potenza di Wikipedia sul PC.

Linux pro 144

058_064_LXP_144_LXF182.hot 62

22/07/14 13:49

Da non perdere Test


Oscilloscopio testuale

Avogadro
Versione: 1.1.1 Web: http://avogadro.cc

vogadro un programma che fa


la felicit di appassionati, studenti
e professori di chimica, ma pu
essere utilizzato anche per diversi progetti
didattici nelle scuole superiori. Si tratta
di un software per la modellazione
tridimensionale delle molecole. Niente paura,
perch non dovete certo imparare
i rudimenti della grafica 3D per usarlo,
in quanto la creazione delle forme
automatizzata. Per veder comparire
le sfere e i bastoncini che indicano
le molecole e i rispettivi legami, basta
solamente trascinare il cursore nella parte
principale dellinterfaccia. La documentazione
di supporto ottima, tanto che avete
a disposizione una vera e propria wiki
allindirizzo http://avogadro.cc/wiki.
Da qui potrete anche accedere a una mailing
list, pi a tutte le istruzioni di configurazione.
Avogadro presente sotto forma di pacchetti
per la maggior parte delle distro e nei

rispettivi gestori software. Il codice sorgente


comunque disponibile anche su
SourceForge. Se per volete procedere
da riga di comando, per Ubuntu dovrete
usare il repo Debichem:
sudo sh -c echo deb http://ppa.launchpad.
net/debichem/ubuntu jaunty main > /etc/apt/
sources.list.d/debichem.list
sudo apt-get update
sudo apt-get install avogadro

Non abbiamo idea del composto creato. Che sia qualcosa


che ci apre la strada al premio Nobel?

Legami chimici
Le due principali funzioni che permettono
di iniziare lesperienza duso di Avogadro
sono Impostazioni dello strumento
e Mostra impostazioni. Da qui, infatti,

Avogadro perfetto
per progetti didattici
nelle scuole superiori

potete selezionare il tipo di riferimento


grafico da utilizzare tra sfera e bastoncino,
sfere di Van der Waals, Diplo, Anello
e molto altro. Sempre da queste funzioni
sar poi possibile scegliere lelemento
da disegnare tra quelli presenti in tutta
la tavola periodica. Una volta impostati
questi parametri, siete pronti per creare
il composto chimico e, dopo aver trascinato
il cursore, ecco che compariranno
le molecole. Per legarle, baster poi
accorparle con il cursore.

Elaboratore fotografico

Phatch
Versione: 0.2.7 Web: http://photobatch.stani.be/

hatch, al contrario di molti


programmi che permettono
di elaborare le foto, semplice
e leggero. Si installa al volo sia tramite
il pacchetto DEB per Ubuntu e distro
basate su Debian, sia con il sorgente
presente sul sito ufficiale. Questo
programma ha il grande pregio
di gestire la maggior parte dei file grafici
in circolazione e consente di eseguire
una serie di operazioni in batch.
Tra queste troviamo ridimensionamenti,
rotazioni, creazione di viste prospettiche,
ombreggiature, arrotondamenti e molto
altro ancora. Inoltre, pu agire sui dati
EXIF e IPTC per modificare i dettagli
testuali che accompagnano le foto.
A questo proposito, una volta installato,
il programma accessibile in due
diverse modalit: Image Inspector
e Processore Batch. Il primo, come
detto, permette semplicemente

di modificare gli EXIF, il secondo


consente la modifica grafica in sequenza.

Tutto in un click
Lutilizzo del software davvero
semplice. Tutto ruota attorno alla
finestra principale del programma,
che poi anche lunica. Per aggiungere
le azioni da attuare basta premere
il pulsante pi (+) nella parte superiore,
quindi scegliere quali tipi di attivit
compiere. Per ciascuna, peraltro resa
molto bene dalle icone larghe
e colorate, riportata anche la rispettiva
spiegazione. Per creare una cornice,
per esempio, potete selezionare la voce

Non si pu chiedere uninterfaccia pi semplice di cos:


pratica, leggera e ben disegnata. Una vera gioia!

Phatch permette
di risparmiare tempo
nella modifica delle foto

Bordi, che consente di realizzare una


bordatura interna o esterna alla foto.
Se invece volete rendere anonima
unimmagine, basta usare Cancella
etichette, cos che i dati EXIF o LPTC
vengano eliminati. Una volta selezionata
lazione, dovete specificare le opzioni
per la sua corretta configurazione:
nel caso del ridimensionamento,
il valore da dare ad altezza e larghezza,
la risoluzione e via dicendo. Potete
quindi creare liste di azioni complesse,
in modo da far compiere al programma
pi attivit allo stesso tempo.
Linux pro 144

058_064_LXP_144_LXF182.hot 63

63

22/07/14 13:49

Test Da non perdere


Giochi Applicazioni per il tempo libero
MMORPG

PlaneShift
Versione: 0.6.1 Web: www.planeshift.it

uesto MMORP stato


sviluppato per parecchio
tempo e a ogni nuova
release le novit sono sempre tante.
Atomic Blue ha iniziato
la progettazione, ma poi gran parte
del lavoro stato svolto dalla
fiorente comunit che vi gravita
intorno. Anche se il gioco
incompleto, il mondo realizzato
davvero complesso e ben fatto
e non farete fatica a immergervi
nelle sue dinamiche. Coloro che sono
benedetti dalla banda larga non
avranno problemi a scaricare il GB
necessario a installare il gioco sul PC.
La registrazione necessaria per
la connessione al server e basta
andare su www.planeshift.it/
account per portarla a termine.

Prima di creare un personaggio,


vi suggeriamo comunque di leggere
la selezione delle razze e delle
specifiche. Alcune persone amano
il gioco di ruolo, soprattutto in mondi
di fantasia ma per mantenere lambiente
aperto e accogliere una grande quantit
di persone, questo tipo di giochi deve
essere anche facile da giocare. A questo
proposito, PlaneShift fa di tutto
per mettervi a vostro agio, offrendovi
una grande quantit di risorse per
lapprendimento. Infatti, trovate
un canale di aiuto direttamente in gioco,

PlaneShift ha una
grande comunit
molto attiva,
che si prodiga
nella creazione di
manuali, documenti
e aiuti di tutti i tipi

Troverete un mondo
interattivo ricco di dettagli
e tutto da esplorare

una chat e unampia documentazione


sul sito Web, cos come una guida
scaricabile e un forum di supporto.
Il mondo interattivo ricco
di dettagli ed completamente
esplorabile, in pi ci sono davvero
molti personaggi non giocanti,
che permettono di ottenere missioni
e quest secondarie. In definitiva,
un gioco facile, che permette
di divertirsi senza troppi sforzi
e complicazioni di varia natura.

Gioco da tavolo scandinavo

Hnefatafl
Versione: 140617 Web: http://hnefatafl.se

Vichinghi ci stanno invadendo!


Non contenti di storie animate
e film, nonch di renderci la vita
facile con i mobili dellIkea, gli svedesi
hanno prodotto questo interessante
gioco da tavolo basato sul classico
binomio delle pedine nere e bianche.
Hnefatafl, a dispetto del nome non
facile da pronunciare, ha un obiettivo
piuttosto semplice. Ce lo facciamo
spiegare dagli specialisti di http://
boardgamegeek.com: il lato
di difesa comprende dodici soldati
e un re, che iniziano il gioco
in formazione a croce al centro.
Il loro obiettivo far fuggire il re,
riuscendo a raggiungere una delle
quattro caselle dangolo. Potete
giocare su un blocco da 11x11
o 13x13. Se poi avete una stampante

64

3D, potreste anche cimentarvi nella


realizzazione di una scacchiera e dei
pezzi necessari per giocare.
Se nel frattempo non lavete, potete
scaricare la versione per Linux
di Alexander Sderlund dal DVD allegato
alla rivista. Se vi sentite ben disposti verso
lo svedese, potete anche visitare il sito
ufficiale del gioco. Lunica accortezza
da avere sar utilizzare Google Translate,
perch non disponibile n una versione
in inglese, n tantomeno in italiano.
Abbiamo installato il pacchetto libxpmdev dallheader del file xpm, cambiato

In prima istanza il computer vi batter sicuramente, ma una


volta imparate le strategie, potrete rendergli la vita dura

Hnefatafl ideale
per quei momenti in cui
volete svuotare la testa

la lingua predefinita dal file config.mk


(se non volete giocare in svedese),
quindi lanciato make; make install.
Per conoscere meglio le regole
e le strategie da adottare durante
il gioco, vi consigliamo di dare
unocchiata al sito http://tafl.
cyningstan.org.uk. In definitiva,
si tratta di un passatempo interessante,
da utilizzare quando vogliamo svagare
la mente per qualche ora. LXP

Linux pro 144

058_064_LXP_144_LXF182.hot 64

22/07/14 13:49

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

Tutorial

OpenSUSE

Personalizzate questa distro per renderla


pronta allazione e avere cos
un sistema superaccessoriato! pag. 66

Etherpad e NixNote

Due tool Open Source per lediting


collaborativo in tempo reale
pag. 70

Cron e at

Risparmiate un bel po di tempo


pianificando le attivit periodiche
e gli eventi una tantum
pag. 74

Ampache

Portate sempre con voi la vostra musica


preferita in Rete ovunque siate pag. 76

Apt-get

Limportanza di questa istruzione nella riga


di comando del terminale
pag. 78

Tar

Scopritene i segreti per comprimere


e decomprimere i vostri file
pag. 80

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


DevStack

Create un cloud di sviluppo in una macchina


virtuale con OpenStack
pag. 82

Python

Cambiate il mondo del gioco come preferite

interagendo con Minecraft sulla vostra


pag. 86
Raspberry PI

Python

Proseguite con Minecraft Pi e divertitevi


a costruire la casa dei vostri sogni per poi
distruggerla con TNT e catapulte! pag. 88

Linux pro 144

065_LXP_144_introTutorial 65

65

22/07/14 14:23

Tutorial Xxxx
OpenSUSE Aggiungere repo, sistemare

il wireless e accedere a tonnellate di software

Una guida per smanettoni


Ecco come potete personalizzare OpenSUSE per renderla pronta
allazione e avere un sistema superaccessoriato!

software.opensuse.org.
2 Se possibile usate BitTorrent per il download.
3 Controllate sempre lMD5SUM dellISO scaricata.
4 Utilizzare una penna USB al posto di un CD/DVD rende
linstallazione pi veloce.
5 Usate il Media Check dal menu di boot.
6 ll DVD vi d accesso ad altre opzioni, come alcuni ambienti
desktop quali Xfce e LXDE.
A seguito dellinstallazione la procedura raccomandata
linstallazione di tutte le patch, aprendo un terminale e lanciando
su zypper patch
Lasciatelo girare, fatelo nuovamente, quindi riavviate la macchina.
Notate lutilizzo di su - al posto di sudo (usato in Mint e Ubuntu,
per esempio). Il comando zypper patch aggiorner il sistema
con le patch di sicurezza. Prima di proseguire utile prendere
confidenza con il forum di OpenSUSE come fonte di aiuto dalla
community: http://forums.opensuse.org/forum.php. Oltre
a parlare direttamente con le persone, il forum ricco
di informazioni che possono aiutarvi con linstallazione.

facile

Lavorare con i repo

In Yast2
il cambio di
vendor una
parte vitale
del processo
multimediale.
Qui potete
modificare
i repo e spostare
i pacchetti
installati
ai nuovi repo

66

nche se le fondamenta di Linux sono le stesse, lesperienza


post-installazione pu variare molto tra le distribuzioni.
Come suggerisce il nome, OpenSUSE Open, il che
implica che non arriva con software proprietario o non libero.
Per qualcuno unottima cosa, altri possono trovarlo frustrante.
Anche se sono riassunti qui alcuni trucchi, questa non una guida
allinstallazione quanto una guida alla post-installazione,
configurazione e manutenzione per approfittare di tutte
le funzionalit di questo sistema operativo. Linstallazione analoga
a quella di qualsiasi altra distribuzione Linux. Oltre alla separazione
di /home in una partizione a s ci sono altri punti da considerare:
1 Scaricate sempre la distribuzione dalla fonte originale: http://

I repository standard di OpenSUSE contengono unottima quantit


di materiale. Per alcuni potr essere sufficiente, la maggior parte
degli utenti per vorr una migliore esperienza multimediale.
Per ragioni legali i repo multimediali devono essere aggiunti
dallutente finale. Scoprirete di pi sui repo fra un momento
ma prima di aggiungere alcunch ecco alcune regole fondamentali:
Aggiungete repo con parsimonia (il meno possibile).
Non usate il repository VideoLan (VLC) assieme
ai repo Packman.
Evitate luso degli installer OneClick.
Al momento della scrittura, la versione di OpenSUSE la 13.1
e con ogni rilascio viene scritto un articolo nel blog con le istruzioni
passo per passo per il multimedia. Larticolo attuale allindirizzo
http://bit.ly/1mVj5Bp. Attualmente, ed stato il caso per molti
anni, la fonte principale per app e librerie multimediali il repo
Multimedia del progetto Packman. Per la riproduzione di DVD
potete anche aggiungere il repo libdvdcss. Notate che questultimo
fornito anche nel repo VLC ma non consigliato combinare VLC
e Packman poich contengono librerie in conflitto.
Packman include VLC Media Player ed anche possibile usare
solo il repo VLC senza Packman al costo di ridurre di molto
il numero di applicazioni multimediali a disposizione. I repo
Packman possono essere divisi in quattro directory. Tipicamente,
come qui, si aggiunge la directory principale. Il discorso
sullincompatibilit con VLC non verr approfondito ulteriormente
per questioni di spazio e ci si limiter a concentrarsi su Packman
dal momento che sono stati i repo pi popolari da lungo tempo.
Packman ha anche diversi mirror nel mondo quindi se la velocit
di scaricamento un fattore importante, date unocchiata
alla pagina seguente per la lista completa: http://packman.
links2linux.org/mirrors.

Linux pro 144

066_069_LXP_144_LXF183.tut_SUSE 66

22/07/14 01:33

OpenSUSE Tutorial
Sostituzione dei vendor
OpenSUSE utilizza il cambio dei vendor per mantenere la priorit
degli aggiornamenti in un particolare repository. Pu suonare
stupido o inutilmente complicato, tuttavia unutilissima funzione
che gestisce la situazione in cui ci sia pi di un repository
che fornisce lo stesso pacchetto. Per esempio, k3b viene fornito
dal repository di default di questo sistema operativo ma anche
dal repository opzionale Packman. Passare a Packman implica
che k3b e altri pacchetti forniti da pi fonti verranno prelevati solo
da questultimo. un passo importante per avere una parte
multimediale pienamente funzionante. Per prima cosa dovete
aprire Yast D Software D Software Management e scegliere
View By Repositories. Notate che le interfacce di Gnome
(pagina precedente) e KDE (qui sotto) sono leggermente
diverse luna dallaltra, quindi ne sono state incluse una schermata
per ciascuna. A volte, applicando il cambio in Yast vi apparir
un errore di dipendenze, simile a quello citato pocanzi nel
terminale. Se succede dovreste controllare che lopzione Solutions
ammetta Vendor Change D Packman. Tenete a mente anche
che se utilizzate repository aggiuntivi come fanno in molti
e, per esempio, usate i repository KDE che forniscono gli ultimi
rilasci stabili di KDE, dovete usare lo stesso metodo di cambio
vendor, per dovrete riapplicare il cambio su Packman come
ultimo passaggio. Congratulazioni, avete appena completato
i passaggi chiave per impostare i multimedia in OpenSUSE!
Ricordate, tuttavia, che sono solo ottime fondamenta, ci sono
centinaia di altre applicazioni in Packman che possono facilmente
diventare parte della vostra installazione. Siete gi stati avvisati
di mantenere il numero dei repository aggiuntivi al minimo;
comunque, mano a mano che acquisite esperienza, potreste
considerare la possibilit di usare alcuni repository della community
dallOpenSUSE BuildService (OBS). Un set standard e popolare
di repo della community sono disponibili aprendo Yast D
Software D Repositories e dopo aver scelto Add seguito dalla
spunta sullopzione community, vedrete un elenco di scelte. Alcuni
utenti ci capitano e scelgono di selezionarli tutti, pensando che pi

grande meglio... ma non esattamente cos. Una lista pi


profonda di repo si trova su http://download.opensuse.org/
repositories. Questo il livello pi alto di selezione, per scendere
in profondit potete andare per esempio a http://download.
opensuse.org/repositories/home e vedere cos i repository degli
utenti individuali, comparabili al sistema PPA utilizzato da Ubuntu.
Tipicamente, comunque, se volete trovare del software che non
nei repo di default n in quelli Packman consigliati come standard,
potreste cominciare a cercare qui: http://software.opensuse.
org/search. Tale funzione di ricerca fornita potente e molto utile.
Dovete utilizzarla con attenzione: in particolare scoraggiato
lutilizzo dellopzione OneClick che vi viene proposta. Se non siete
familiari con i repository OBS solitamente meglio chiedere nel
forum o nel canale IRC prima di tuffarvi di testa. Il principale
problema con gli installer OneClick che possono in primo luogo
aggiungere dei duplicati ai repository di default; in secondo luogo
potrebbero iscrivervi a repo ai quali potreste non voler essere
aggiunti, e in terzo luogo possono provocare linstallazione
di software che non richiesto n dipendenza del software
che state cercando di installare. Detto questo, possono funzionare
correttamente, ma dovrete utilizzarli con un briciolo di coscienza
e con una ragionevole conoscenza della gestione del software
di OpenSUSE. La gestione dei driver grafici e il funzionamento
della rete senza fili sono due tra gli argomenti caldi per qualsiasi
installazione di un nuovo sistema Linux. I driver grafici di sistema
sono sufficienti per installare e aggiornare adeguatamente il vostro
sistema. Una volta applicati gli aggiornamenti ricordatevi di riavviare
per assicurarvi che sia in funzione lultimo kernel. La modalit
standard per installare i driver Open Source per hardware grafico
ATi o Nvidia :
1 Entrate nel gestore di repository: Yast D Software D
Software Repositories D Add D Community.
2 Scegliete Nvidia o ATI come appropriato per il vostro sistema
e quindi semplicemente cliccate OK.
3 Aprite Software Management e, nella maggior parte dei casi,
i driver video saranno gi selezionati per linstallazione. Controllate

Tip
Se il vostro
dispositivo
Broadcom non
supportato
da b43,
potrebbe
esserlo da wl.
Questo driver
disponibile nel
repo Packman:
trovate una
guida allindirizzo
http://bit.ly/
LXFBroadcom.

Per utenti KDE,


linterfaccia per
il cambio
di vendor Qt
leggermente
diversa da quella
di Gnome,
ma segue
lo stesso metodo
di selezione,
spostamento
e applicazione
di modifiche

Linux pro 144

066_069_LXP_144_LXF183.tut_SUSE 67

67

22/07/14 01:33

Tutorial OpenSUSE
Tip
YaST pu
funzionare anche
senza display X
con uninterfaccia
testuale basata
su Ncurses.

il sommario dellinstallazione prima di accettare le modifiche.


4 Procedete con attenzione nel caso doveste scegliere
manualmente il driver, oppure se sapete che il vostro hardware in
qualche modo non comune (per esempio schede grafiche ibride).

Far funzionare la rete senza fili


OpenSUSE pi o meno come qualsiasi altra distro mainstream,
eccezion fatta naturalmente per quelle che contengono driver
proprietari nel loro media dinstallazione o nei repository di default.
I driver proprietari sono disponibili per il sistema operativo solo
a seguito di aggiunta e abilitazione manuale dallutente. Come
vi diventer chiaro, il supporto aperto per i dispositivi wireless
determinato enormemente dalla versione del kernel. Se state
facendo girare una versione live e la wireless funziona, potete
sorridere.Non possibile coprire tutte le possibili wireless in questo
articolo, il forum di OpenSUSE per ha un articolo fisso a riguardo:
http://bit.ly/Nzx6VC. Per quelli con dispositivi Broadcom
le informazioni di supporto sono disponibili qui: http://bit.
ly/1ngPqPW. Se il vostro dispositivo supportato da b43 e avete
una connessione Ethernet attiva installate il firmware b43 con:
sudo /usr/sbin/install_bcm43xx_firmware
Una volta completata linstallazione del firmware caricate i moduli:
sudo /sbin/modprobe -rv b43
sudo /sbin/modprobe -v b43
Questi due comandi rispettivamente rimuovono e aggiungono
il modulo b43 e servono a facilitare linserimento dello stesso;
alternativamente potete riavviare. Tutto quanto di cui sopra
dovrebbe lasciarvi con una macchina funzionante: avete
il software, il multimedia e i driver ed ora di capire come
effettuare la manutenzione di tutti i giorni. Una volta ottenuto
un sistema solido e fluido facile mantenerlo aggiornato.
Tutte le opzioni desktop (Gnome, KDE, Xfce, LXDE) hanno degli
aggiornatori che se ne occupano. Solo KDE ha un problema
in Apper (il gestore di pacchetti) che in alcuni casi ignora il cambio
di vendor, quindi stateci attenti. Esistono delle opzioni alternative
per aggiornare e una delle pi semplici utilizzare il terminale.
Qualsiasi desktop utilizziate il seguente comando aggiorner
effettivamente lintero sistema:
su zypper up
Il terminale potrebbe non essere il modo pi fashion di aggiornare,
per raccomandato perch elimina tutte le complicazioni
che potrebbero essere introdotte da uninterfaccia grafica.

Aggiornamenti e strumenti
Tumbleweed lopzione rolling release di OpenSUSE: non
lideale per i novellini e trovate un articolo sul forum a riguardo
allindirizzo http://bit.ly/1ngSzzf. Prima di eccitarvi troppo, non
crediate che vi porti sempre le cose pi belle e migliori: lo fa,
ma non pi di quello che potreste ottenere gestendo in modo
corretto il rilascio corrente con un paio di repository in pi.
Effettivamente vi pu capitare di aspettare di pi un aggiornamento
in Tumbleweed di quello che potreste ottenere manualmente.
Detto questo, Tumbleweed comunque una bella aggiunta
a OpenSUSE che offre aggiornamenti stabili e continui. Il portale
principale http://en.opensuse.org/Portal:Tumbleweed.
YaST lacronimo per Yet another Setup Tool, una descrizione
piuttosto scarna per le potenzialit di questo strumento.
Non scambiatelo per uno strumento impostazioni del sistema
qualsiasi disegnato per configurare laspetto e il comportamento
del desktop. Yast il Centro di Controllo del sistema e per
essere lanciato richiede privilegi di root. Dopo linstallazione
potete usarlo per configurare la stampante, impostare Samba
o modificare il nome del computer e via dicendo. Offre una vasta
gamma di opzioni. Avete cos gi visto il Software Manager
per fare il cambio di vendor e laggiornamento software; unaltra
utile area il firewall, che in OpenSUSE abilitato per default.
Immaginate dunque di voler aprire una porta non-standard
per utilizzare un client torrent. Molti utenti Linux scaricano
le immagini ISO utilizzando BitTorrent. Ammettiamo che abbiate
scelto la 6000 e ne abbiate gi fatto port forwarding nel router.
Aggiungere la porta alle regole del firewall facile: Yast D
Security and Users D Firewall D Allowed Services D
Advanced e aggiungete 6000 sia a TCP sia a UDP, quindi
cliccate OK. Una volta applicate le modifiche, la porta 6000
aperta e in ascolto per connessioni TCP/UDP. Assumendo
che nel router sia abilitato il forward di tali porte e il vostro
software la usi, dovrebbe essere tutto ok. Naturalmente potete
aprire un qualsiasi numero di porte o di range. Questo
solamente un esempio di quello che pu fare Yast. Se siete
intimoriti dalla configurazione da riga di comando, questo
strumento vi offrir unopzione pi amichevole, specialmente
se venite da Windows. Non tutti i servizi sono cos semplici
da gestire, ma lUI ha un utile pulsante Help in ogni sezione
per corrervi in soccorso nei momenti bui. Ora dovreste essere
in grado di gestire alcune delle particolarit di OpenSUSE
e godere i benefici di una distribuzione con una solida base
e una forte community.

Una interessante caratteristica di Yast-Qt


Linterfaccia Qt di Yast ha alcune
interessanti e potenti caratteristiche.
Quando si tratta di aggiornamenti,
solitamente potete solo dire s o no.
In Yast, particolarmente in KDE,
invece possibile vedere cosa succede.
Potete effettuare un aggiornamento
dellintero sistema utilizzando Yast D
Software D Software Management
seguito da View by repository.
Dal menu potete quindi scegliere
Package D All in this List D Update
if Newer Version Available
e scegliere Accept. Come potete

68

vedere dallimmagine sulla destra un


processo piuttosto semplice da seguire.
Prima di accettare, date unocchiata
alle modifiche che verranno applicate
nella scheda Installation Summary.
Una nota: questo metodo
di aggiornamento funziona
analogamente al comando zypper up.
Oltre a regolari aggiornamenti c molto
poco che dovrebbe preoccuparvi, quindi
divertitevi con OpenSUSE.
Gli aggiornamenti possono arrivare
molto velocemente, particolarmente
usando Packman.

Una delle caratteristiche migliori di Yast Qt la possibilit


di scegliere ed effettuare gli aggiornamenti in modo specifico

Linux pro 144

066_069_LXP_144_LXF183.tut_SUSE 68

22/07/14 01:33

OpenSUSE Tutorial
C un
ventaglio
di opzioni nello
Yast Control
Center che offre
una grande
flessibilit nella
configurazione
e impostazione
del sistema

Consigli indispensabili
Pre-Installazione

Post Installazione

Live test: Potete usare il DVD Live su lettore o via USB


per provare OpenSUSE Live sul vostro hardware. Via USB
solitamente rende lesperienza molto pi liscia e se la rete senza fili
funziona nella sessione live almeno saprete che non sar
un problema una volta installata. Notate che limmagine completa
del DVD non ha una modalit Live ma permette tuttavia
linstallazione di altre opzioni desktop quali Xfce e LXDE.
Partizionamento OpenSUSE per default usa una partizione
/home separata, ottimo modo per mantenere i vostri file personali
al sicuro. Il miglior modo per partizionare il Custom, che vi
permette di gestire esattamente quello che succede. Alla prima
schermata di partizionamento nellinstaller scegliete Create
Partition Setup e quindi Custom Partitioning (for experts).
Il partizionamento non effettua modifiche fino allultimissimo passo
del processo di installazione: assicuratevi di esaminare con
attenzione le modifiche proposte quando arrivate al sommario
di installazione finale.
Controllo dei media OpenSUSE non diversa dalla maggior
parte delle distribuzioni Linux nellavere uno strumento
per il controllo dellintegrit del media di installazione. Lanciate
il Media Check per assicurarvi che non ci siano stati errori nel
processo di masterizzazione o di scrittura. I DVD sono i pi proni
a errori, specialmente se usate quelli di scarsa qualit o con
velocit di scrittura troppo elevate. Potete fare due tipi di controllo:
1 Controllare lmd5sum dellISO scaricata. I client Torrent lo fanno,
cos come k3b quando caricate unISO per la masterizzazione.
Se fallisce il controllo non ha senso masterizzare o scrivere alcunch.
2 Controllare lintegrit del media scritto. Anche se lISO scaricata
buona, una scrittura pu andare male. Controllare entrambe
una doppia sicurezza.
Etichette per le partizioni Non prettamente specifico
di OpenSUSE ma buona norma dare alle vostre partizioni
unetichetta, specialmente se avete diverse partizioni oltre
alleffettiva installazione. Il partizionatore pu farlo, cos come
strumenti quali Partition Magic. Utilizzate etichette che abbiano
un senso per voi: per esempio, se avete una partizione da 1 TB
che pensate di usare per i film, usate Film come etichetta.
Questa verr poi visualizzata nel file manager con letichetta, invece
di avere qualche nome autogenerato e insignificante.

Installare gli aggiornamenti Lanciate zypper patch due


volte per installare tutte le patch di sicurezza e i bugfix,
quindi riavviate. Questo importante per varie ragioni,
perlopi perch diversi driver che potreste voler installare
sono compilati per gli ultimi kernel. Installare le ultime patch
vi assicurer di essere aggiornati. Per tenervi sempre
al passo con i tempi potrete poi usare:
zypper up
Wireless La rete senza fili continua a essere un punto
debole per alcuni. Le informazioni pi utili per aiutare voi
stessi sono quelle riguardanti il dispositivo stesso:
sbin/lspci -nnk | grep -iA2 net
Assicuratevi di avere il pacchetto kernel-firmware installato.
Font I font in OpenSUSE potrebbero aver bisogno
di qualche sistemazione. Provate a cambiarli in Droid Sans
e abilitare lopzione Slight. Esiste un pacchetto che potete
installare chiamato fontconfig-infinality che alcuni utenti
hanno scoperto migliorare il rendering. Alternativamente,
alcuni utenti hanno i repo OpenSUSE BuildService con
miglioramenti di font subpixel-hinting. Potete cercarli
su http://software.opensuse.org/search.
Tuttavia non mescolate infinality con altri repo che offrano
una build modificata di subpixel-hinting. Naturalmente
c la possibilit di integrare i font Microsoft con il pacchetto
fetchmsttfonts.
Altro software Tutti hanno aspettative e richieste diverse
che rendono impossibile soddisfare tutti ma ricordate
di usare la funzione di ricerca in Software Management
per controllare cosa c di gi disponibile nella vostra attuale
configurazione. Per software proprietario o non standard
(per esempio Skype, Steam) potete controllare lindirizzo
http://search.opensuse.org.
Zypper Non cos diverso da apt o yum forniti con
Debian e RedHat. Gli utenti KDE possono leggerne
la documentazione in Konqueror navigando man:zipper;
nel terminale lanciate man zypper. Se volete cercare
un tema, per esempio, aprite un terminale e cercatelo
semplicemente per nome o per pacchetto, generalmente
con zypper se theme. LXP

Top tips

Linux pro 144

066_069_LXP_144_LXF183.tut_SUSE 69

69

22/07/14 01:33

Tutorial Xxxx
Collaborazione

Impostare NixNote
o Etherpad per lavorare in gruppo

Memorizzare e collaborare

Lo staff di Linux Pro vi mostrer come utilizzare due tool Open Source
per creare il vostro sistema in stile Evernote per lavorare online

in una piattaforma ottimizzata per il Web per prendere,


catalogare ed etichettare appunti di qualsiasi tipo. Potete
condividere questi appunti con altri utenti dal servizio Web
o dal client desktop dedicato (anche se dovrete farlo tramite
Wine dato che non supporta Linux nativamente). In questo
articolo parleremo principalmente di due cose: come
utilizzare il vostro account Evernote da Linux senza
un browser e quando, come e perch sostituire Evernote
(e Google Docs, se vi bastano documenti semplici)
con del Software Libero eseguito sul vostro computer.

facile

NixNote

nternet pu fare miracoli per aiutarci a mantenere i nostri


impegni e i nostri appunti in ordine e sotto controllo
e per aiutare la collaborazione tra gruppi se, ovviamente,
utilizziamo il giusto strumento. Due servizi molto popolari
in questo ambito sono Google Docs e Evernote. Il primo offre
(tra le altre cose) storage online, pianificazioni su calendario
e una suite office Web per i lavori in collaborazione. Evernote
dice di volerci aiutare a organizzare la nostra vita, il che
molto carino da parte sua e in termini reali si traduce

NixNote 2
ancora
una beta,
ma si connette
a Evernote
e ha tutte
le funzionalit
di base

70

Evernote pu essere utilizzato con qualunque browser Web


moderno ma molta gente preferisce il client nativo che
pi integrato con il computer, tablet o smartphone
che lo esegue. Sfortunatamente non c nessun client
ufficiale di Evernote per Linux. In pratica, la sola alternativa
Open Source in giro mentre scriviamo lapplicazione
di terze parti chiamata NixNote (formalmente Nevernote,
http://nevernote.sourceforge.net). Al momento della
stesura di questo articolo NixNote disponibile in due
versioni: 1.6 e 2.0 beta. Entrambe possono essere installate
e utilizzate sullo stesso computer (non contemporaneamente,
ovviamente) perch inseriscono i binari, i database e i file
di configurazione in cartelle differenti. Comunque, per delle
ragioni che spiegheremo tra poco, la maggior parte degli
utenti Linux non ha molta scelta. NixNote 1.6 disponibile
in RPM e in formato Deb, oltre che in archivi Tar generici
per distribuzioni a 32 o 64 bit. In questo caso, una volta
scompattato larchivio, vi basta eseguire come root lo script
install.sh. Questo creer anche usr/share/nixnote/nixnote.
sh. Poi siamo bloccati. In teoria NixNote 1.6 dovrebbe
essere pi semplice da configurare ed eseguire, oltre che
meno rischioso da utilizzare rispetto alla sua nuova beta.
Purtroppo a meno che non stiate eseguendo una vecchia
distribuzione Linux non sarete in grado di sincronizzare
i vostri appunti, perch non riuscirete a fare login su www.
evernote.com con questa versione di NixNote. Il motivo
che le distribuzioni aggiornate utilizzano la versione 1.0.0
delle librerie libssl.so e libcrypto.so. NixNote 1.6 funziona
soltanto con la versione 0.9.8 di queste librerie e dato
che lo sviluppo stato spostato sulla versione 2 probabile
che non subir ulteriori aggiornamenti. Il modo per aggirare
questo problema proposto dai forum quello di installare
la versione vecchia delle librerie a fianco di quella nuova,
che, ovviamente, va mantenuta per tutte le altre applicazioni.
Da un punto di vista strettamente tecnico una cosa fattibile.
In pratica, un po complesso e a meno che non sappiate
esattamente cosa state facendo ci sentiamo di sconsigliarlo.
Se veramente avete bisogno di un client Evernote per Linux,
fareste meglio a provare NixNote 2 beta. Ci che possiamo
dire che, finch fate backup frequenti di tutti i vostri dati
(che trovate nella cartella $HOME/.nixnote) e seguite

Linux pro 144

070_073_LXP_144_LXF185.tut_note 70

22/07/14 01:33

Etherpad e NixNote Tutorial


Node.js e npm, cosa sono?
Node.js (http://nodejs.org) una piattaforma
javascript progettata per applicazioni veloci
e molto scalabili, eseguite su device distribuiti
(come server internet o Pc) e che gestiscono
molti utenti contemporaneamente. In questo
scenario il potere di calcolo della CPU conta
meno della capacit del software di gestire molti

flussi di dati contemporanei, indipendenti


e asincroni. Node.js riesce a far fronte a queste
necessit abbastanza bene, gestendo tutti i dati
in input e output con un sistema di eventi
guidati non bloccante. Molte applicazioni Node.js
non sono costruite da zero, ma raccolgono dei
blocchi di codice riutilizzabile chiamati Node

qualche piccolo suggerimento questa beta va molto bene.


In alcuni casi per far partire Nixnote 2 avrete bisogno
di qualche aggiustata da riga di comando, anche se richiede
meno lavoro di NixNote 1.6. A volte Nixnote 2 non riesce
a trovare le librerie di cui ha bisogno. In questo caso,
se la vostra distribuzione ha le librerie richieste sufficiente
trovarle e creare dei link simbolici alle stesse con un nome
diverso. In Fedora, per esempio, potrebbe essere necessario
creare questi tre link come root:
#> ln -sf /usr/lib64/libssl.so.1.0.0k /usr/lib64/libssl.so.1.0.0
#> ln -sf /usr/lib64/libcrypto.so.1.0.0k /usr/lib64/libcrypto.
so.1.0.0
#> ln -sf /usr/lib64/libpoppler-qt4.so.3.7.0 /usr/lib64/
libpoppler-qt4.so.4
Anche se questo problema sembra essere stato ormai risolto
con le ultime versioni. Una volta avviato NixNote vi verr
richiesto di effettuare il login su www.evernote.com
e autorizzare lapplicazione (di default lautorizzazione
per un anno) per recuperare, creare, organizzare
e modificare i vostri appunti. Linterfaccia semplice e chiara,
anche se non tutte le funzioni al momento sono operative.
Per esempio, la crittografia degli appunti, cos come
la sincronizzazione automatica con www.evernote.com
a volte fa le bizze. Potrebbe capitarvi anche che i font siano
impostati in modo illeggibile. Niente paura, andate
su Preferences D Appearance D Default editor font
e impostateli nel modo che pi vi aggrada. A parte i tool
di base per la formattazione, leditor di Nixnote 2 offre
supporto per tabelle ed elenchi puntati. possibile visualizzare
PDF e impostare il formato per data e ora. Potete aggiungere
ai vostri appunti sia lurl sia la posizione geografica: basta
cliccare due volte sul triangolino in alto a destra della
schermata delleditor e inserire i valori che volete. Il modo
di gestire gli appunti, le categorie e tutte le altre informazioni
condivise di NixNote leggermente diverso rispetto agli altri
client Evernote. Questo dovuto al fatto che non un client
ufficiale, sviluppato da volontari con meno risorse e alcune
scelte di sviluppo differenti. Per esempio, in NixNote i taccuini
personali e quelli condivisi si trovano nella stessa lista.
Le categorie collegate a un taccuino condiviso hanno lo stesso
aspetto di tutte le altre categorie ma sono utilizzabili soltanto
in quel taccuino. Inoltre, potete spostare appunti
da un taccuino condiviso a uno privato soltanto se sono nuovi,
cio se non sono ancora stati sincronizzati con www.
evernote.com. Lultima cosa che dovete sapere su NixNote
che in grado di gestire diversi account in modo
indipendente, ma non pu farlo contemporaneamente.
Se dovete lavorare su due account in parallelo, dovete lanciare
il programma due volte da riga di comando, passando il nome
dellaccount da utilizzare ogni volta:

Packaged Modules. Il repository ufficiale


di questi moduli http://npmjs.org. Il Node
Package Module, il cui eseguibile chiamato
npm, cerca i pacchetti nel repository online
e installa i moduli e le loro dipendenze in modo
molto simile a come fanno yum, apt e i vari
front-end per i normali pacchetti Linux.

Linstallazione
(relativamente)
complessa,
ma una volta
conclusa, la
collaborazione
online veloce
e semplice

nixnote2 --accountId=<id1> &


nixnote2 --accountId=<id2> &

Etherpad
Per quanto bello sia NixNote rimane sempre un client
Evernote. E come tale non pu risolvere due grandi problemi
critici per molti utenti. Il pi ovvio la privacy e la propriet
dei dati: non molto carino salvare appunti confidenziali
nel server di qualcun altro, se esiste la possibilit di salvarli
sul proprio. Un altro limite ovvio sia di Evernote che
di Google Docs che funzionano soltanto quando si ha una
connessione a Internet disponibile. Scuole rurali, ONG
e organizzazioni simili i cui utenti dispongono solo di una rete
locale e non di una connessione a Internet, per scelta
o per necessit, come possono fare? Etherpad (che a volte
viene chiamato Etherpad-lite - http://etherpad.org) una
buona soluzione free per risolvere questo problema. Il modo
pi veloce, anche se forse un po impreciso, per definire
questo programma che un mix ridotto tra Evernote
e Google Docs. Volendo dare una descrizione migliore,
un editor Web based progettato per la modifica cooperativa
in tempo reale. Questo significa che voi e i vostri
collaboratori potete scrivere diversi paragrafi dello stesso
documento contemporaneamente e ogni partecipante
ha la possibilit di vedere in tempo reale quello che stanno
scrivendo gli altri con colori diversi. Se necessario, un click
sul pulsante Presentazione cronologia mostra lintera
sequenza di modifiche fatte fino a quel momento allappunto
corrente. Linterfaccia di ogni utente impostata
in automatico nella lingua di default del browser di quella
persona. Il modo pi semplice per avere il vostro Etherpad
privato di installare lapplicazione Etherpad su di un server
virtuale. http://www.turnkeylinux.org/etherpad per
esempio unimmagine di una distribuzione Linux dotata
dellultima versione di Etherpad gi configurata, incluso

Tip
NixNote gestisce
i taccuini
e le categorie
in modo
differente dai
client Evernote.
Consultate la
documentazione
online per evitare
sorprese.

Linux pro 144

070_073_LXP_144_LXF185.tut_note 71

71

22/07/14 01:33

Tutorial Etherpad e NixNote


Tip
Come gestire
la modifica
condivisa dei
vostri appunti
quando volete
tenerli appunti
privati
o non avete
a disposizione
una connessione
a Internet?
Con Etherpad
ovviamente!

un server MySQL con lutente corretto e relativo database


e un server mail Postfix per inviare notifiche via email. Lunico
aspetto negativo di questa soluzione che richiede il suo
server (fisico o virtuale) dedicato, senza niente altro
in esecuzione. Per installare una copia di Etherpad sul proprio
server, non serve essere un Webmaster professionista
o un amministratore di sistemi, anche se comunque
pi complicato che installare WordPress, Drupal o anche
Owncloud. La prima ragione la memoria (guardate il box
Problemi di memoria qui sotto) e laltra larchitettura
software. Tutti gli altri programmi sono applicazioni LAMP, cio
un set dinamico di pagine Web scritte in PHP che salvano
i loro dati in un database MySQL eseguiti da un Web server
(normalmente Apache su Linux, che corrisponde alla A
di LAMP). Per installarli ed eseguirli, tutto ci di cui avete
bisogno un po di spazio Web e un database MySQL.
Etherpad invece un Web server indipendente scritto
interamente in JavaScript utilizzando la piattaforma Node.js/
npm (guardate il box Node.js e npm, cosa sono?). Questa
la ragione per cui non ci sono binari ufficiali o pacchetti
precotti per le distribuzioni Linux. Avete bisogno di accesso
a un terminale come utente root per installare Etherpad
su di un server Linux. I dettagli e la sequenza corretta per
linstallazione varia da distribuzione a distribuzione. La guida
specifica per alcune distribuzioni disponibile online
ma non sempre aggiornata. Vediamo una descrizione
sintetica dei passi principali e i problemi pi comuni che
potreste incontrare. Questo dovrebbe aiutarvi a capire un po
pi velocemente la documentazione ufficiale, cercando di darvi
unidea in anticipo di dove guardare se qualcosa va storto.

Preparare lambiente
A meno che non siano gi presenti nel vostro server, dovete
installare (utilizzando il vostro gestore di pacchetto
e i repository della vostra distribuzione) almeno questi
pacchetti: git, curl, OpenSSL, le librerie di sviluppo,
il compilatore GCC, lutility Make, Node.js e npm (potrebbe

La gestione
dei plug-in
di Etherpad,
un po scarna
ma funzionale

essere necessario aggiungere un nuovo repository per gli


ultimi due, per esempio ppa:chris-lea/node.js per lultima
versione di Node.js in Ubuntu). Tutto questo necessario
perch per ottenere la versione corrente di Etherpad dovete
scaricare i sorgenti utilizzando il sistema di controllo
di versioni Git e poi compilare e/o configurare parti di essi
con Gcc e Make. Dovete anche creare un database MySQL
e un utente riservato per Etherpad, oltre che un utente Linux,
il cui unico scopo installare ed eseguire il software.
Nel comando di esempio qui sotto lutente si chiama
etherpad, ma potrebbe essere chiunque. Un altro passo
necessario, dato che Etherpad non utilizza un server Web
standard ma deve avere la sua porta TCP dedicata, di
aprire una porta nel vostro firewall. Nel sistema CentOS/Red
Hat utilizzato in questo tutorial, questo compito viene assolto
aggiungendo questa riga al file /etc/sysconfig/iptables:
-A INPUT -m state --state NEW -m tcp -p tcp --dport
9001 -j ACCEPT
Quanto detto finora deve essere fatto come root.
Per effettuare linstallazione dovreste utilizzare come identit
il nuovo utente e scaricare Etherpad con Git:
su - etherpad
#> cd /home/etherpad
#> git clone git://github.com/ether/etherpad-lite.git
A questo punto finalmente possibile preparare il file
di configurazione ed eseguire lo script di setup. Per eseguire
il primo passo, andiamo nella directory etherpad-lite creata
da Git, copiamo il file settings.json.template in settings.
json e apriamo questultimo con un editor di testo.
Qui necessario impostare i parametri MySQL, cambiare
il titolo, la porta TCP e la stringa sessionKEY:
title: Etherpad,
...
port : 9001,
...
sessionKey : LXP-la-miglior-rivista
Se volete utilizzare linterfaccia Web di amministrazione,
dovreste anche impostare un utente amministratore allinizio
della sezione users:
)users: {

light: {

password: lxp,

is_admin: true
},
Dalla directory di etherpad-lite, sempre come utente
etherpad, eseguiamo questi comandi:
#> ./bin/installDeps.sh
#> ./bin/run.sh
Il primo script controlla che tutte le dipendenze siano

Problemi di memoria
Etherpad consuma molta memoria, se confrontato
con altri Content Management System.
Se lo eseguite in un server privato (VPS)
assicuratevi di avere almeno 256 MB disponibili.
Ci molto importante perch altrimenti
potreste non essere in grado nemmeno
di avviare Etherpad dopo averlo installato.
La ragione principale che Etherpad si basa

72

su npm per trovare e installare aggiornamenti


e moduli opzionali. Ma per fare ci la copia
di npm inclusa in Etherpad deve creare un indice
locale. Costruire questo indice dal nulla
il compito pi impegnativo che uninstallazione
di Etherpad deve gestire. Potrebbe capitarvi
che la pagina amministrativa di Etherpad
si blocchi lasciando nel log da riga di comando

una riga come questa:


./bin/run.sh: line 38: 16471 Killed node
$SCRIPTPATH/node_modules/ep_etherpad-lite/
node/server.js $*
Quasi certamente significa che crashato npm
o stato ucciso perch non cera abbastanza
memoria. La sola soluzione di aumentare
la memoria disponibile nel vostro server.

Linux pro 144

070_073_LXP_144_LXF185.tut_note 72

22/07/14 01:33

Etherpad e NixNote Tutorial


soddisfatte mentre il secondo esegue il server. Se tutto
andato a buon fine, una volta lanciati questi comandi
il server Etherpad sar disponibile allindirizzo http://
vostrosito.it:9001. A differenza di Evernote, Etherpad
non ha un client desktop grafico pronto alluso per lutente
medio. Esistono applicazioni da riga di comando, come
Ethersync (https://github.com/payload/ethersync)
e Etherpad streams (https://www.npmjs.org/package/
etherpad-stream) che rendono possibile la modifica degli
appunti da riga di comando o uploadare in Etherpad loutput
di qualche script, ma sicuramente non sono per tutti.
Linterfaccia grafica di Etherpad, comunque, abbastanza
semplice da far s che praticamente qualunque utente possa
facilmente capire come utilizzarla. La funzionalit pi
importante da notare il pulsante con le parentesi uncinate:
cliccando su di esse otterrete il link o il codice HTML
per condividere con tutti il pad in cui vi trovate.

Mantenere Etherpad aggiornato


e funzionante
Esattamente come per linstallazione gli aggiornamenti
di Etherpad funzionano diversamente rispetto a quelli
che potete aver visto con altri Content Management Systems
(CMS). Per verificare la presenza di nuove versioni
e scaricarle dovete eseguire questo comando git:
#> git pull origin
Quando lo eseguite, la successiva esecuzione di run.sh
eseguir realmente laggiornamento. Per quanto riguarda
lesecuzione automatica allavvio non ci sono problemi,
Etherpad funziona pi o meno come gli altri servizi Linux/
Unix: dovete scaricare, configurare come necessario
e abilitare lo script da shell per la vostra distribuzione,
seguendo le istruzioni della wiki di Github (http://bit.
ly/1sZpBYo). Se volete eseguire istanze multiple
e indipendenti di Etherpad sullo stesso server con la stessa
installazione potete farlo, ecco come:
Associate una porta TCP differente a ogni installazione
e configurate il firewall del vostro server Web per accettare
connessioni su quelle porte.
Create un file settings.json diverso per ogni istanza.
Nello script di init e in tutti gli altri posti dove richiesto,
sostituite le chiamate a run.sh con una chiamata per ogni
istanza di Etherpad, ognuna deve contenere il proprio file
di configurazione:
run.sh -s impostazioni_etherpad_lavoro.json
run.sh -s impostazioni_etherpad_famiglia.json
Data la sua architettura Etherpad ha due caratteristiche
che potrebbero creare problemi in certi casi. La prima
il suo URL di default, luso della porta pu confondere
gli utenti meno esperti specialmente quando c pi di una
istanza di Etherpad in esecuzione sullo stesso server. Laltra
il fatto che il controllo soltanto a livello di sito: utilizzando
i giusti plug-in potete obbligare i vostri utenti a inserire
una password per leggere e/o modificare gli appunti,
ma di default Etherpad un sito pubblico. Entrambi
i problemi possono essere risolti nascondendo Etherpad
dietro a un server Apache, che pu gestire lautenticazione
e rinominare gli url per gli utenti. Questo trucco, chiamato
reverse proxy, spiegato nellapposita guida allinterno della
wiki di Etherpad (http://bit.ly/1guEg59). Alcune attivit
amministrative di Etherpad possono essere eseguite senza
utilizzare la riga di comando, se abilitate lutente

Documentazione
Esiste moltissima documentazione
disponibile per NixNote (alcuni
documenti sono anche in formato
Evernote come www.evernote.com/
pub/baumgarr/nevernote). Esistono
delle FAQ, guide per linstallazione,
manuali utente e documentazione per
gli sviluppatori. Per Etherpad oltre alla
documentazione nel sito Web,

consigliamo di leggere il tutorial nel sito


Digital Ocean (bit.ly/1p2yO2u)
per CentOS, e quello per Ubuntu nella
wiki di Etherpad Lite (http://bit.
ly/1m0M8jt) ovviamente valido per tutti
i derivati Debian. Entrambi sono in
inglese ma offrono tutti i dettagli specifici
per le distribuzioni che non abbiamo
potuto includere in questo tutorial.

amministratore nel file di configurazione. Andate con il


browser nella sottodirectory /admin del vostro Etherpad,
inserite utente e password e vi troverete davanti a una
schermata con tre sezioni: Plugin Manager (gestore plugin), Settings (impostazioni) e Troubleshooting information
(informazioni per risolvere i problemi). La sezione Settings
soltanto un editor di testo in cui potete vedere e modificare
il file settings.json. Troubleshooting contiene lelenco
completo delle informazioni di configurazione della vostra
installazione. Per quanto riguarda i plug-in, ne esistono per
tutti i gusti e per tutte le necessit, con funzioni che spaziano
dalle aggiunte di formattazione alleditor, allelenco dei
compiti da svolgere o addirittura alla gestione di temi grafici
(potete trovare un elenco completo dei plugin allindirizzo
http://bit.ly/1iMF8np). Di default, Etherpad pu importare
ed esportare appunti solo come testo semplice o HTML
ma esistono plug-in per convertire in molti altri formati
tramite AbiWord. Altre estensioni permettono
allamministratore di gestire gruppi di utenti o (come potete
vedere nellimmagine qui sotto) inserire contenuti
multimediali negli appunti. Il plug-in manager vi consente
di abilitare tutte queste funzionalit in Etherpad con pochi click,
ma non sempre il modo migliore per farlo. Linstallazione
da riga di comando tramite npm utilizza la semplicissima sintassi
che vedete qui sotto:
npm installa ep_<nome-plugin>
produce gli stessi risultati ed molto utile quando dovete
configurare pi di un Etherpad. Laggiornamento e la
rimozione dei plug-in funzionano allo stesso modo:
npm install --upgrade ep_<nome-plugin>
npm uninstall ep_<nome-plugin>
Ricordatevi di riavviare Etherpad quando avete finito. LXP

Tip
Confrontato con
gli altri Content
Management
System (CMS),
Etherpad
molto
dispendioso
in termini
di memoria!
Ricordatevi
di controllare
quanta
RAM potete
sacrificargli!

Il giusto
plug-in pu fare
meraviglie
per il vostro
Etherpad,
dal convertire
i vostri appunti
in molti formati
allincludere file
multimediali

Linux pro 144

070_073_LXP_144_LXF185.tut_note 73

73

22/07/14 01:33

TutorialPianificazione
Xxxx

Sfruttare la potenza di Cron


per automatizzare le attivit periodiche

Organizzazione perfetta
Avete Cron? Ecco come risparmiare molto tempo pianificando le attivit periodiche
e gli eventi una tantum affinch vengano eseguiti come e quando volete

facile

i ricordate di quando ci dicevano che i computer


ci avrebbero reso la vita pi facile e ci avrebbero fatto
risparmiare molto tempo? Deve essere vero visto
che gli utenti Windows hanno cos tanto tempo da buttare
via cercando di ripulire i loro computer da virus e malware!
Avere un programma che fa il backup del vostro disco
o controlla le nuove uscite del vostro podcast favorito bello,
ma vi serve sempre il tempo per lanciarlo. Se un software
pu farlo al posto vostro, dovrebbe farlo quando lo volete
voi senza bisogno che siate voi a chiederglielo, o che ve
ne dobbiate ricordare. Linux offre un paio di possibilit per
eseguire dei task in un determinato momento, in questo
tutorial andremo a vedere come far s che il vostro computer
si ricordi per voi le cose da fare, anche se le avete scordate.
I due programmi pi utilizzati per svolgere questi compiti sono
Crone at. Il primo serve per lesecuzione periodica delle
operazioni, il secondo utilizzato per eseguire le operazioni
una sola volta in un momento specifico.

I demoni Cron
Esistono diversi demoni Cron disponibili in Linux, ma noi qui
parleremo di vixie-cron perch il pi utilizzato. Anche
se nella sostanza tutti i demoni Cron sono uguali, possono
differire nei dettagli, quindi se ne utilizzate uno diverso,
prendetevi un momento per dare un occhio alla sua
documentazione. I demoni Cron vengono eseguiti
in background, risvegliandosi una volta al minuto per
controllare se avete delle attivit pianificate da eseguire.
Queste attivit sono definite allinterno di file chiamati
crontab. Esiste anche un comando chiamato allo stesso
modo (crontab) per gestire questi file. Quello principale del
sistema /etc/crontab. Le attivit definite in questo file sono
gestite ed eseguite come root, ma possono essere eseguite

Un editor di testo come questo il modo tradizionale per gestire le pianificazioni


cron, grazie a crontab che utilizza il vostro editor preferito

74

con i privilegi di uno specifico utente. Gli utenti hanno anche


il loro crontab personale contenente le attivit da eseguire
per quellutente e con i suoi privilegi. Il formato dei file
leggermente diverso, per prima cosa diamo unocchiata
al formato del crontab personale dellutente. Se eseguite:
crontab -l
vedrete la lista dei lavori definiti per il vostro utente.
Ovviamente potrebbe essere (o meglio quasi sicuramente
sar) vuota, quindi pianifichiamone uno. Lanciate
crontab -e
in un terminale per iniziare. Dovreste utilizzare sempre
crontab -e per modificare questo tipo di file invece di aprirlo
direttamente con un editor. Crontab utilizza il vostro editor,
ma controlla anche che la sintassi sia corretta quando avete
finito di modificarlo, rendendo pi difficile, ma non
impossibile, sbagliare. In realt utilizza leditor definito nella
variabile di ambiente EDITOR, quindi potete utilizzare leditor
che pi vi piace. Come esempio, aggiungete questa riga:
0 * * * * aplay /usr/share/sounds/pop.wav
Una riga del crontab dellutente costituita da sei campi.
I primi cinque definiscono la pianificazione mentre il resto
della riga il comando da eseguire. Questo esempio esegue
un suono abbastanza fastidioso a ogni ora. Ovviamente,
questo solo un esempio; potete lanciare uno script
che fa il backup del vostro disco, oppure utilizzare Flexget
per controllare eventuali aggiornamenti dei vostri podcast
preferiti. I campi temporali sono: Minuto, Ora, Giorno
del mese, Mese e Giorno della settimana.
Il carattere * significa sempre, quindi la nostra riga verr
chiamata a qualsiasi ora di qualsiasi giorno di qualsiasi mese
purch il minuto sia zero, quindi una volta ogni ora. I giorni
della settimana sono numerati da 0 a 7 partendo da
domenica, quindi domenica sia 0 che 7. Se consideriamo
come primo giorno della settimana il luned basta utilizzare
i numeri da 1 a 7, altrimenti da 0 a 6 a Cron non fa nessuna
differenza. Abbiamo impostato un singolo valore per i minuti
nel nostro esempio, ma possiamo anche utilizzare una lista
o un range. Una lista una serie di valori separati da virgola,
in una lista possono essere inclusi anche dei range.
Non inserite spazi in una lista oppure Cron penser che
il resto appartiene al campo successivo. Un esempio un po
pi complesso di questa operazione potrebbe essere:
*/10 7-10,17-22 * * 1-5 aplay /usr/share/sounds/pop.wav
In questo esempio levento si scatena nelle ore tra le 7
e le 10 del mattino e tra le 17 e le 22, nei giorni da luned
a venerd. Il campo dei minuti ci mostra unaltra opzione,
*/10 corrisponde a quando i minuti sono divisibili per 10,
quindi questa pianificazione eseguir un suono fastidioso ogni
dieci minuti durante i giorni lavorativi nella mattinata e nel
pomeriggio. Soltanto una persona molto cattiva installerebbe
questa attivit nel computer di un amico mentre non sta
guardando Tutti i campi devono essere compilati
correttamente affinch unoperazione venga eseguita, quindi

Linux pro 144

074_075_LXP_144_LXF183.tut_job_cron 74

22/07/14 01:33

Cron e at Tutorial
normalmente non utilizzerete il campo dei giorni della
settimana insieme a quello del giorno nel mese, a meno
che non vogliate delle pianificazioni molto particolari, come
per esempio eseguire un backup eccezionale di venerd 17,
giusto per maggior sicurezza. Il crontab di sistema segue
un format simile, a parte per il fatto che c un campo
in pi tra il giorno del mese ed il comando da eseguire.
Questo campo serve a specificare con quale utente deve
essere eseguita loperazione, di solito root per
le pianificazioni di sistema. Soltanto lutente root (o qualcuno
che utilizza sudo) pu modificare questo file.

Altre impostazioni
Quando un lavoro di cron in esecuzione vengono impostate
diverse variabili di ambiente, in base allutente impostato,
come per esempio $LOGNAME, $HOME, $SHELL.
possibile anche definire variabili nel file crontab inserendo
la definizione in testa, sia per sovrascrivere una variabile
standard che per aggiungerne una. Uno dei pi utili :
MAILTO=io@esempio.it
In questo modo loutput generato da cron viene inviato via
email. Se effettuate un redirect dello standard output
su /dev/null nella definizione del crontab, dovrebbero
rimanere in output soltanto i messaggi di errore, che vi
verranno spediti via posta se qualcosa dovesse andare storto.
Non viene inviata alcuna email se non c output. Eseguire
un comando con Cron non uguale a unesecuzione
manuale da terminale, il vostro profilo non viene caricato
e i percorsi potrebbero essere limitati. buona regola
utilizzare sempre percorsi completi per i comandi nel
crontab. Se state eseguendo uno script, potreste dover
aggiungere qualcosa, come per esempio:
source /etc/profile
oppure
source $HOME/.bash_profile
se volete che il comando venga eseguito in un ambiente
simile alla vostra shell. Esistono diverse scorciatoie che
possono essere utilizzate per le pianificazioni pi frequenti
al posto dei normali cinque campi, come per esempio
@hourly (una volta allora), @daily (una volta al giorno),
@weekly (una volta a settimana) e via di seguito.
Nel manuale li trovate tutti. Nel vostro sistema potete trovare
anche /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly
e /etc/cron.monthly. Basta inserire uno script allinterno
di una di queste directory perch venga eseguito a tempo
debito. Queste attivit vengono sempre eseguite come utente
root e non necessariamente allo scoccare dellora, vengono
distribuite in funzione del carico della macchina.

Il pianificatore di operazioni di KDE offre tantissimi pulsanti per permettervi


di impostare le vostre pianificazioni con il mouse

sembrare inutile (potreste effettivamente semplicemente


lanciarlo direttamente), pu diventare:
echo comandochevolete | at now + 1 hour
in questo modo il comando verr eseguito esattamente dopo
unora. Oppure pu diventare:
echo comandochevolete | at 5pm + 1 day
per eseguire il comando alle 17 di domani.
Potete vedere lelenco delle vostre attivit in coda, o di tutti
se siete root, con atq. at d a ogni evento un numero,
che potete utilizzare per eliminare loperazione in coda
con il comando atrm o per vedere il suo contenuto con:
at -c numeroattivit
Mentre le pianificazioni di Cron sono eseguite di default
con un profilo minimo, eseguire at -c vi mostrer che
at imposta tutto in modo da avere una copia esatta del vostro
ambiente prima di eseguire il suo lavoro. Ora che abbiamo
Cron e at che si prendono cura di tutto dietro le quinte,
possiamo lasciare che il nostro computer si occupi da solo
delle cose noiose e noi possiamo pensare solo a divertirci. LXP

Cos at
Se volete eseguire un comando una volta, in un momento
specifico, at ci che vi serve. A differenza di Cron,
non sempre installato di default ma lo trovate nel gestore
pacchetti della vostra distribuzione. Richiede come
argomento un tempo e legge il lavoro da eseguire
direttamente dallo standard input. Per esempio:
echo comandochevolete --con-opzioni | at 13:30
eseguir il comando specifico alle ora 13:30, come si vede
dalla fine della riga. La definizione del momento molto
flessibile e potete utilizzare delle operazioni. Anche se
echo comandochevolete | at now
che esegue immediatamente il vostro comando pu

Il gestore delle pianificazioni di Gnome offre molti meno pulsanti di KCron ma


fornisce comunque una comoda alternativa agli editor di testo. Comunque, leditor
di testo rimane il modo pi flessibile per creare pianificazioni Cron

Linux pro 144

074_075_LXP_144_LXF183.tut_job_cron 75

75

22/07/14 01:33

Tutorial
Xxxx
Tutorial
Hugin
Ampache

Organizzate un server
per distribuire musica in rete

Musica sempre con voi


Linux Pro vi insegna a utilizzare questo software per gestire la vostra musica
da un server domestico, cos da ascoltarla in streaming su PC e smartphone

intermedio

ervizi musicali come Spotify e Google Music hanno reso


del tutto inutile portarsi dietro un supporto fisico
per ascoltare la musica quando si fuori casa. Tuttavia
stiamo parlando di piattaforme che permettono di ascoltare
brani memorizzati sui propri server. In nostro possesso, quindi,
non abbiamo praticamente niente. Chi invece ha il disco fisso
pieno di brani non detto che debba per forza metterli
nel cassetto. Anzi, esistono sistemi per sincronizzare tutta
la raccolta e passarla su dispositivi mobili o PC collegati in Rete.
Inoltre, sufficiente una tradizionale connessione ADSL
per gestire il flusso necessario per lo streaming e non ci sar
neppure bisogno di avere una grande potenza di calcolo.
Volendo, infatti, potete realizzare un servizio di questo genere
anche con una Raspberry PI. Tutto quello che vi serve
un software che possa gestire queste operazioni senza
richiedere risorse particolari. Nel nostro caso abbiamo scelto
di utilizzare Ampache (www.ampache.org). Leggendo
il nome, non dobbiamo essere scienziati per capire che questo
programma utilizza Apache, anche se non in versione di server
Web. A questo proposito, seppure il programma sia la scelta
primaria in quanto a database, niente vieta di utilizzare
il software con altre piattaforme, come lighttpd e Nginx.

Installazione
Prima di iniziare avrete bisogno di uno stack LAMP (per chi non
lo sapesse, LAMP si riferisce a Linux, Apache, MySQL e PHP/
Python/Perl in base alle preferenze). Di solito si fa affidamento
a PHP e quindi necessario che tutti i componenti relativi
a questo standard siano installati. Per essere sicuri di avere
tutto a disposizione, basta che utilizziate il gestore pacchetti
della vostra distro. A questo proposito, nelloperazione non c

La prima cosa che Ampache fa controllare che nel sistema


siano installati tutti i componenti di cui ha bisogno

niente di complesso: basta cercare e installare, quindi lasciare


tutte le impostazioni di default cos come le trovate. Dopo
esservi assicurati di avere tutto quanto vi serve in relazione
a PHP, necessario installare Ampache. Purtroppo, lultima
versione stabile non funziona con le recenti release di PHP
e pertanto gli sviluppatori si raccomandano di utilizzare
la versione di sviluppo dai loro repository Git. Il modo pi
semplice per farlo, se avete installato Git, aprire un terminale,
spostarvi nella directory principale del server Web (che di solito
da qualche parte sotto /var/www o /srv) ed eseguire:
sudo git clone https://github.com/ampache/ampache.git
Questo creer una directory ampache. In alternativa,
possibile scaricare lultimo tarball da GitHub, allindirizzo
https://github.com/ampache/ampache/releases,
scompattarlo e rinominare la directory con i comandi
che seguono. Nello specifico dovete modificare il numero
di versione per adattarlo allultima release, quindi sostituire
semplicemente /var/www/html con il percorso in cui sono
collocate le vostre pagine Web:
tar xf ampache-3.7.tar.gz
sudo mv ampache-3.7/var/www/html/ampache

Configurazione Web

LAccess Control List (ACL) consente ai client remoti di collegarsi ad Ampache.


Inoltre viene utilizzata per controllare la transcodifica per la connessione Web

76

Adesso puntate il browser su http://localhost/ampache,


se lo avete installato su un server online, sostituite localhost
con lindirizzo del server. Visto che non c alcun file
di configurazione, Ampache caricher la propria pagina
dedicata alla prima installazione, che controlla il sistema
affinch trovi tutto ci di cui ha bisogno. Se visualizzate
eventuali errori, installate ci che viene richiesto, quindi
ricaricate la pagina. Lultima voce presenta comunque
un errore, perch il sistema che esegue il server Web, di solito
apache o www-data, non pu scrivere nella directory
di configurazione. Dovrete cambiare le propriet o limitarvi

Linux pro 144

076_077_LXP_144_LXF184.tut_ampache 76

22/07/14 01:33

Ampache Tutorial
Transcodifica
La vostra musica potrebbe non essere in un formato
adatto per lo streaming, soprattutto se siete soliti
utilizzare FLAC. Ampache pu eseguire la transcodifica
al volo, basta impostarla nel file ampache.cfg.php.
Per configurazione predefinita non abilitata e tutte
le variabili sono commentate. Le sezioni principali sono
il tipo di input, che determina i file da transcodificare,
e il formato delloutput predefinito. A questo proposito,

potete eseguire le seguenti operazioni:


transcode_flac = required
encode_target = mp3
Con questi comandi, fate in modo che tutti i file FLAC
siano transcodificati in MP3. Inoltre, possibile forzare
la transcodifica basata sulla connettivit di rete.
Se si crea un ACL di lipo Local Network Definition,
definite il range IP della LAN e impostate:

a modificare i permessi in 777. La pagina successiva creer


il database MySQL. Dovrete avere la password dellutente root
del database (non il root di sistema) per essere in grado
di crearne uno nuovo. Per loccasione, dovreste anche generare
un nuovo utente adatto allaccesso al database che state
per realizzare, in quanto laccount root viene utilizzato solo
per le operazioni di installazione. La pagina successiva, quindi,
crea il file di configurazione. Se avete reso scrivibile la directory
di configurazione, possibile utilizzare il pulsante Write
per installare il tutto, altrimenti dovrete scaricare il file e copiarlo
manualmente. Se vi viene restituito di nuovo un errore
di configurazione, necessario fare click su Recheck Condig,
che vi porter cos a una pagina di debug, dove potrete vedere
cosa non va. Nel nostro caso, abbiamo scoperto che il nome
utente e la password per il database di Ampache non sono stati
salvati nel file di configurazione e correggere questo problema
ha eliminato lerrore. Gi che ci siete, sarebbe anche il caso
di controllare limpostazione web_patch relativa alla radice
del documento, che dovrebbe essere impostata su /ampache.
Il passo finale, quindi, creare un account amministratore,
dopodich potrete collegarvi con questo profilo.

Dov la musica?
Adesso venuto il momento di entrare nel vivo e aggiungere
un po di musica. Fate click sullicona Admin nella parte
superiore del menu, quindi selezionate Add Catalog. Ampache
infatti in grado di gestire due tipi di cataloghi: locali e remoti.
Il secondo si connette a unistanza dellapplicazione
in esecuzione su unaltra macchina, mentre il primo utilizza
qualsiasi percorso accessibile tramite il filesystem locale.
Questo prevede quindi che abbiate condivisioni NFS e Samba
sulla vostra rete. Per aggiungere un catalogo locale,
sufficiente dargli un nome, specificare il percorso
e facoltativamente selezionare lopzione Gather Album Art.
Ampache utilizza quindi i tag ID3 per catalogare i brani.
Se non dovessero essere presenti, sfrutter il nome della
directory e del pezzo che state per ascoltare. Tuttavia,
se la vostra libreria gi ottimamente organizzata, non ci sar
da preoccuparsi di questo passaggio. Ampache fornisce diverse
opzioni per la riproduzione della raccolta musicale, che trovate
nella parte superiore della finestra. Lascolto in locale parte
dal server ed quindi comodo da utilizzare quando vi trovate
sulla stessa macchina o, in alternativa, per il controllo remoto
del player, un po come MPD (Music Player Daeom).
La riproduzione sul browser, invece, affidata a HTML5,
che utilizza un lettore incorporato capace di inviare le playlist
M3U al computer. Con Firefox, per esempio, potete scegliere
di inviarle a qualsiasi player che supporti le playlist M3U,
mentre con Chromium sar necessario salvarle in un file.
Riprodurre musica sul computer locale piacevole,

downsample_remote = true
Nel file di configurazione, tutti i collegamenti che non
corrispondono a una rete ACL verranno transcodificati
per adattarsi alle migliori impostazioni di bitrate. Cos,
quando siete connessi alla rete Wi-Fi di casa, la qualit
audio sar migliore, mentre se siete collegati alla Rete
mobile, il bitrate scender in base alle potenzialit della
banda di cui disponete.
possibile
sfogliare, cercare
e riprodurre
la vostra raccolta
musicale dal
browser Web

ma in definitiva piuttosto inutile, in quanto basta usare


un riproduttore audio standard, per ascoltare tutti i pezzi
che avete archiviato. Dove Ampache fa davvero la differenza,
invece, nello streaming dei contenuti sui vari dispositivi,
indipendentemente dalla loro posizione. A questo scopo, potete
utilizzare qualsiasi browser Web, ma ci sono anche le app
per dispositivi mobile, che rendono pi semplice e piacevole
ascoltare la musica in movimento. Facendo una rapida ricerca
sul programma in Play Store, ecco che avrete a disposizione
alcune alternative. Tuttavia, se provate a utilizzare queste app,
probabilmente non riuscirete a connettervi. Infatti, dovrete
prima accedere ad Ampache tramite il browser Web, quindi
entrare nel pannello di amministrazione e fare click su Add
ACL. Una volta aggiunto lhost API/RPC, sar sufficiente inserire
un nome utente e un intervallo di indirizzi IP. LXP

Esistono
diverse app per
ascoltare musica
in streaming
su dispositivi
mobili.
Noi abbiamo
usato Ampache.
NET su Nexus 5

Linux pro 144

076_077_LXP_144_LXF184.tut_ampache 77

77

22/07/14 01:33

Tutorial
Xxxx
Tutorial
Hugin
Terminale

Scoprire la sua versatilit


e la potenza del comando apt-get

Apt-get in azione
Siete nuovi del mondo Linux? Lasciatevi guidare da Linux Pro nei meandri
della riga di comando, cos da conoscere lutilit dellistruzione apt-get

facile

e si arriva da Windows e si approda a Linux, uno dei


maggiori cambiamenti cui si sottoposti il modo
in cui viene installato il software. Invece di scaricare
un eseguibile da qualche sito Web, lanciarlo e sperare
che non vada a sovrascrivere le librerie esistenti (DLL),
oppure installare qualche adware di dubbia provenienza,
sulle distro Linux avrete a che fare con i repository. Si tratta
di pacchetti confezionati e garantiti per il funzionamento
con la distribuzione che utilizzate. In questo tutorial vedremo
come funzionano nelle distro che usano il sistema di gestione
del software Advanced Packaging Tool (APT), sviluppato
su Debian e usato da distribuzioni come Ubuntu e Raspbian
di Raspberry Pi.

Repository
Un repository un insieme di pacchetti software sviluppati
per una distro. Ogni major release di una distribuzione
ha il proprio pubblico e ognuno dei pacchetti messi
a disposizione stato realizzato e provato per quella release.
Un repository, anche abbreviato in repo, per molto pi
di un semplice insieme di file. Ognuno indicizzato, rendendo
cos pi facile trovare ci che si vuole. Il controllo degli
aggiornamenti, inoltre, automatico e avviene tramite
il vostro gestore pacchetti, senza necessit di visitare il sito
Web per controllare se sono disponibili nuove release.
Un aspetto ancora pi importante che ogni pacchetto viene
firmato con una chiave GPG (crittografata), che viene
controllata durante linstallazione. Questo sistema garantisce
lassoluta affidabilit del software che state scaricando
ed evita di dovervi preoccupare di scambiare un normale
programma per un trojan o un virus di altra natura.
Un repository ha anche il compito di rendere la gestione delle

dipendenze una cosa molto pi semplice. Una dipendenza


un programma di cui un software ha bisogno per funzionare
senza problemi, come per esempio una specifica libreria.
Invece di mettere tutto allinterno di un pacchetto, finendo
cos per avere pi copie della stessa libreria sul computer
(esattamente ci che succede in Windows), un pacchetto
elenca semplicemente le sue dipendenze, in modo che
il gestore sia in grado di verificare se ci di cui ha bisogno
gi installato, oppure deve recuperare altri repo. In aggiunta
ai repository predefiniti forniti con ogni distro, ce ne sono
diversi di terze parti, che possono essere aggiunti dal vostro
gestore pacchetti. Questi non sono garantiti per
il funzionamento come quelli ufficiali, ma molti di loro sono
comunque perfettamente funzionali. Spesso, infatti, vengono
addirittura consigliati da siti e piattaforme di terze parti.
Ubuntu ha poi introdotto il concetto di PPA o Personal
Package Archive, vale a dire piccoli repository per progetti
individuali. Questi possono essere aggiunti singolarmente
al vostro gestore pacchetti, ma fate sempre attenzione
a implementare quelli provenienti da fonti attendibili.

Gestione dei pacchetti


Come avrete notato, abbiamo utilizzato il termine gestore
pacchetti un paio di volte, ma di cosa si tratta?
Fondamentalmente un programma che consente
di installare, aggiornare e rimuovere software, tra cui prendersi
cura delle dipendenze. Permette anche di cercare vari
programmi interessanti, oltre a svolgere altre funzioni. Tutte
le distribuzioni hanno un proprio gestore pacchetti a riga
di comando. inoltre possibile accedervi tramite lo strumento
di ricerca, inserendo la parola terminale (nei desktop come
Unity, Gnome o Xfce potete usare la combinazione di tasti

Passo passo Gestione dei pacchetti

Installate

Utilizzando apt-get install controllate


le dipendenze dei pacchetti da installare e quali sono
necessari. Aggiungete --dry-run ad apt-get install
per fare in modo di vedere loperazione in anteprima,
senza in realt scrivere niente sul disco. Se siete
soddisfatti, riscrivete il comando senza dry-run.

78

Cercate

Usate apt-cache search per cercare il nome


corretto dellapplicazione. Lopzione --names-only
permette di sfruttare un insieme pi gestibile
di risultati. Altrimenti potete lasciare apt-cache
search per tralasciare le descrizioni e visualizzare
i risultati con less. Non serve usare sudo con search.

Aggiornate

Lanciate apt-get update per aggiornare tutte


le liste dei pacchetti, seguito da apt-get upgrade
per aggiornare il software installato con le versioni
pi recenti. apt, prima di procedere, vi mostrer ci
che deve essere aggiornato e la quantit di materiale
da scaricare, dopodich vi chieder conferma.

Linux pro 144

078_079_LXP_144_LXF184.tut_terminal 78

22/07/14 12:02

apt-get Tutorial
Less visualizza
il testo
da qualsiasi
fonte: file,
output di altro
programma o nel
caso anche lhelp

Ctrl+Alt+T). I comandi principali che potete utilizzare sono:


apt-get Installa, aggiorna, disinstalla i pacchetti.
apt-cache Funziona come un indice dei repository, vale
a dire come una specie di motore di ricerca per pacchetti.
add-apt-repository Aggiunge repository extra al sistema.
dpkg Un comando di basso livello per la manipolazione
dei pacchetti.
Ognuno di questi comandi richiede laccesso root (super
utente), quindi devono essere utilizzati dallAdmin o con sudo.
Abbiamo gi detto che i pacchetti sono indicizzati come
in una specie di database. quindi necessario aggiornarne
lelenco locale con i cambiamenti apportati di recente
nei repository. Il comando per eseguire questo compito :
sudo apt-get upgrade
Questo elencher i pacchetti che volete installare e vi dir
quanto spazio c bisogno per il download, quindi proseguir
nelle proprie attivit non appena glielo confermate.
Quando volete installare un nuovo software, a meno che non
siate gi a conoscenza del suo nome esatto, vi consigliamo
di usare il comando:
apt-cache search gimp
Avrete quindi una lista di pacchetti ordinata per nome
e descrizione, in cui, nel nostro caso, presente la parola
gimp. Visto che molto probabilmente troverete una moltitudine
di riferimenti, potete perfezionare la ricerca restringendola
al solo nome con lopzione -n o --names-only.
apt-cache search -n gimp
Anche questo comando, seppure sia pi gestibile rispetto
a quello sopra descritto, vi fornir una quantit impressionante
di risultati, che scorreranno davanti ai vostri occhi troppo
velocemente per poter essere letti. Per risolvere questo

inconveniente, usate:
apt-cache search -n gimp | less
In questo modo, riuscirete a leggere il testo pagina per pagina
e a scorrere lentamente verso la fine della lista.
Potete utilizzare questo comando con qualsiasi programma
che genera un output da terminale troppo caotico, cos
da rendervi pi facile la lettura. Una volta trovato il pacchetto
che volete installare, non vi resta che utilizzare il comando:
sudo apt-get install gimp
possibile installare pi programmi, usando una sola volta
apt-get. Ecco come fare:
sudo apt-get install program1 program2
Ci saranno anche situazioni in cui anzich installare
un programma vorrete disinstallarlo. Niente di pi facile,
perch basta usare:
sudo apt-get remove program1
oppure, semplicemente:
sudo apt-get purge program1
Entrambi i comandi rimuovono il software, ma mentre remove
elimina i file di configurazione sul posto, con purge cancellate
ogni riferimento. Ci sono comunque una serie di comandi extra
che potete utilizzare con apt-get. La pagina man li elenca tutti
(scrivete man apt-get nel terminale), ma uno dei pi utili
-dry-run. Questo permette di vedere in azione apt-get
senza che compia realmente alcunch. In altre parole, si tratta
di una simulazione. molto utile per capire se si sta usando
il comando giusto. Ricordate, comunque, che i computer fanno
esattamente quello che gli dite di fare e non ci che volete
che facciano. Questo tutto! Finalmente non dovrete pi
usare dpkg, anche se conviene sfruttarlo per elencare tutto
ci che avete installato con dpkg-L. LXP
Linux pro 144

078_079_LXP_144_LXF184.tut_terminal 79

79

22/07/14 12:02

TutorialTerminale
Xxxx
Impariamo a comprimere i nostri

file con Tar e spostiamoci dallo zip

Archiviare i propri file


Larte dellarchiviazione ricca di segreti, ma lo staff di Linux Pro qui
per fare luce completa su compressori e decompressori

M
facile

olti lettori di questa rivista avranno probabilmente


familiarit con il creare, inviare o ricevere file ZIP.
Zip raccoglie un insieme di file e li racchiude
in un archivio ZIP, comprimendo i dati durante il processo.
Oltre a salvare il contenuto del file, salva anche tutti i relativi
metadati che sono le informazioni aggiuntive associate
alloggetto. Nel caso dei file, includono la data di ultima
modifica, i proprietari, i permessi, il nome e molto altro.
Quando scompattate un archivio, tutte queste informazioni
vengono estratte, al fine di ricreare il set originale di file
esattamente comera prima di essere compresso. Molto
comodo! Gli archivi sono utili in molte circostanze, per
esempio per permettere il download di un intero set di file
con un solo click, un singolo file molto pi facile da gestire
e la compressione rende il download pi rapido, oppure
per eseguire dei backup. Dato che Zip in circolazione
da molto tempo tutti possono utilizzarlo e tutti i sistemi
operativi sono in grado di gestirlo. Tuttavia, ha una serie
di limitazioni. Il problema principale che la sua
compressione scarsa se rapportata agli standard moderni.
Negli ultimi 25 anni la tecnologia per la compressione
si evoluta e anche se ci sono stati miglioramenti anche
in Zip, esistono diverse alternative migliori. Un altro
svantaggio di Zip che stato progettato per archiviare
in un file, ma a volte pu far comodo inviare i dati a un altro
device o servizio. Il programma di archiviazione standard
dei sistemi operativi tipo Unix Tar, chiamato cos perch
stato originariamente pensato per effettuare backup
su nastro (Tape ARchive). Funziona in modo differente da Zip
perch invia tutti i dati archiviati allo standard output

e di default non comprime i dati. Questo perch molti


dispositivi a nastro offrono direttamente una compressione
hardware. La mancanza di compressione potrebbe sembrare
uno svantaggio, ma in effetti un punto di forza. Dato
che Tar in grado di inviare i dati a un programma esterno,
pu utilizzare qualsiasi compressione desideri, anche una
che non esisteva quando il programma Tar stato sviluppato.
I programmi di compressione lavorano su di un file
o un flusso di dati e producono un file, o flusso di dati,
compresso, quindi questo suddivide il lavoro in due parti,
larchiviazione e la compressione. Anche se pu sembrare pi
complesso, Tar perfettamente in grado di gestire i dettagli
in autonomia. Supponiamo di avere una cartella chiamata
prova. Vogliamo creare un archivio di essa, chiamato anche
tarball. Possiamo utilizzare uno dei seguenti comandi:
tar cf prova.tar prova
tar czf prova.tar.gz prova
tar cjf prova.tar.bz2 prova
tar cJf prova.tar.xz prova
Lopzione c dice a Tar che stiamo creando un archivio,
mentre f lo avverte che vogliamo salvare larchivio
allinterno di un file con un nome specifico. Quindi, il primo
comando crea un archivio non compresso in un file
chiamato prova.tar. Gli altri comandi aggiungono
unopzione che dice a Tar che tipo di compressione
utilizzare: z corrisponde a gzip, j alla compressione bzip2
e J alla compressione xz. Attenzione a maiuscole
e minuscole! Gli argomenti hanno anche una versione estesa
che rende il comando pi leggibile, ma molti di noi sono
pigri e utilizzano i comandi pi corti da scrivere il pi

Pipe e stream
Una delle parti principali della filosofia dei sistemi
operativi Unix-like la specializzazione di ogni
cosa, ogni tool dovrebbe fare un solo lavoro
e farlo bene. Ci significa che abbiamo bisogno
di un modo per concatenare i programmi insieme
per eseguire operazioni complesse, per fare ci
si utilizza la pipe. Ogni programma da terminale
ha uno stream su standard input, standard output
e standard error (solitamente ci si riferisce
a questi con stdin, stdout e stderr). Lo standard
input il modo in cui un programma accetta
le informazioni e di default la tastiera quando
eseguite un comando da terminale. Lo standard
output loutput proveniente da un comando
che di default stampato sulla finestra del
terminale. Lo standard error contiene gli errori
e viene visualizzato nello stesso posto, ma tutto
ci pu essere cambiato. Consideriamo lesempio:

80

tar c prova | scd > prova.tar.scd


il carattere | la pipe e connette lo standard
output di un programma allo standard input
di un altro. Quindi Tar archivia i contenuti
di prova e li invia allo stdout, che viene inviato
come input a scd. La maggior parte dei software
per comprimere lavora di default su di un file:
gzip ilfile
questo comando comprime il file in ilfile.gz.
Quando non viene passato alcun file,
comprimono lo standard input e inviano
il risultato allo standard output. Il carattere >
effettua un reindirizzamento e sposta
lo standard output dal terminale a un file, cos
otteniamo un archivio compresso chiamato
prova.tar.scd. Lo standard error non
influenzato da >. Se qualcosa va male,
il messaggio di errore viene visualizzato

nel terminale, se fosse stato inviato al file non


ci accorgeremmo se qualcosa andato storto.

Eseguire Tar con lopzione t (test) non


verifica solo lintegrit dellarchivio ma mostra
anche tutti i suoi contenuti, che di solito sono
abbastanza da richiedere di essere inviati tramite
pipe a un paginatore come Less

Linux pro 144

080_081_LXP_144_LXF185.tut_terminal 80

22/07/14 13:53

Tar Tutorial
Tipi di compressione
Esistono due tipi di compressione: lossless
e lossy. La compressione lossy offre una
maggior riduzione delle dimensioni del file
prodotto ma scarta dei dati che impattano
leggermente sul risultato. I JPEG e gli MP3
utilizzano delle compressioni lossy. Archiviando
i dati con una compressione lossless invece far
s che una volta scompattati abbiate gli stessi
identici dati da cui siete partiti. Esistono diversi
metodi di compressione lossless, vediamo
i pi comuni.
Deflate la compressione di default
utilizzata da Zip obsoleta e non
particolarmente efficace, ma veloce
e molto supportata.
Compress un vecchio programma
di compressione Unix. I suoi file hanno come
estensione .Z, ma non se ne vedono

effettivamente pi molti in giro. Ci sono anche


dei problemi con le sue licenze.
Gzip Questo rimpiazzo di Compress
completamente Open e molto usato anche
oggi. GZip utilizza Deflate, ma di solito produce
degli archivi pi piccoli di Zip. Non offre
la migliore compressione ma comprime
e decomprime molto velocemente, rendendolo
una buona scelta quando le dimensioni non
sono un problema.
Bzip2 un compressore pi efficace,
ma piuttosto lento. La compressione pu
essere particolarmente lenta, ma offre
dei risultati pi compatti.
xz il pi recente e utilizza lalgoritmo
di compressione LZMA2 utilizzato anche da
7-Zip. veloce, specialmente nel
decomprimere, e funziona bene. il software

velocemente possibile. Comunque, possiamo anche utilizzare


un comando come questo se vogliamo:
tar --create --gzip --file prova.tar.gz prova
Lestensione del file non obbligatoria, ma una
convenzione che rende pi semplice capire che tipo
di compressione stata utilizzata, il sistema in se non ha
bisogno di questo aiuto, si arrangia da solo. Per scompattare
un archivio sufficiente sostituire c con x, o --create
con --extract. Possiamo omettere inoltre il tipo
di compressione perch Tar lo capisce da solo:
tar xf prova.tar.gz
Unaltra opzione che potreste voler aggiungere v
o --verbose che vi mostra quello che Tar sta facendo.
Se vi stato dato un archivio tar potreste voler vedere cosa
c dentro senza scompattarlo. Se avete creato un archivio,
in particolare un backup, potreste voler controllare che sia
corretto prima di fidarvi di lui. Lopzione di test controlla
lintegrit dellarchivio ed elenca i file contenuti in esso.
tar tvf prova.tar.gz
Queste sono le opzioni principali di Tar, ma il programma
offre molto altro, come per esempio A o --concatenate
per aggiungere dei file a un archivio gi esistente invece
di crearne uno nuovo.

di compressione utilizzato da molti progetti


Linux incluso Coreutils e il kernel stesso.

Ecco lo stesso archivio ottenuto utilizzando


programmi di compressione diversi.
La versione Gzip la pi pesante, ma anche
la pi veloce da comprimere e decomprimere

comando inverte il processo, scompattando larchivio e inviando il tutto


a Tar affinch venga effettivamente estratto. LXP

Tar e i software di compressione hanno dei manuali molto dettagliati. Anche


se normalmente vi saranno sufficienti le informazioni presenti in queste pagine

Il futuro
Abbiamo detto che Tar pu gestire un qualsiasi nuovo
formato di compressione perch delega la compressione
a un altro programma. Esistono delle opzioni da riga
di comando per farlo automaticamente per gzip, bzip2 e xz,
ma cosa succederebbe se uscisse un nuovo algoritmo
di compressione? Per esempio scd, super compattatore
definitivo? Potremmo creare una tarball e poi utilizzare scd
per comprimerla, ma sarebbe uno spreco di tempo,
utilizziamo invece:
tar c prova | scd > prova.tar.scd
unscd prova.tar.sdc | tar xv
In questo caso abbiamo utilizzato soltanto lopzione --create
con Tar. La mancanza di destinazione fa s che Tar mandi
larchivio allo standard output, che viene a sua volta
dirottato al programma di compressione scd. Il secondo

Molti ambienti sono in grado di visualizzare i contenuti degli archivi. State


vedendo il contenuto della tarball di LXDE (un ambiente desktop molto leggero,
perfetto per Raspberry Pi)

Linux pro 144

080_081_LXP_144_LXF185.tut_terminal 81

81

22/07/14 13:53

DevStack

Apri il tuo cloud virtuale

Lo Staff di Linux Pro vi dimostrer come DevStack possa essere usato


per creare un cloud OpenStack di sviluppo in ununica macchina virtuale
di informazioni anche per i processi di installazione. In questo
articolo comunque, andremo a utilizzare unalternativa:
DevStack.

Introduzione

Tip
sempre un
buon momento
per fare uno
snapshot della
nostra nuova
macchina
virtuale. Usando
il Gestore di
VirtualBox
facciamo click in
alto a destra su
Istantanee e poi
sullicona Crea
istantanea (la
piccola macchina
fotografica blu).
Questo ci evita di
dover rifare tutta
linstallazione se
qualcosa dovesse
andare storto.

82

penStack in continua evoluzione e progredisce molto


rapidamente, mantenendo un ciclo di rilascio delle
versioni principali semestrale (la nona versione, chiamata
Icehouse stata rilasciata in aprile del 2014) ed stata adottata
da molte aziende incluse IBM e Red Hat. In verit la sua comunit
cresciuta a un ritmo elevato, aiutata da una fondazione
indipendente con quasi 16.000 membri registrati. Questo
incremento dellinteresse per OpenStack e della sua popolarit
va di pari passo con la crescita dellinteresse nei confronti
del cloud computing, in tutte le sue forme, come piattaforma
per il business e per le aziende. In precedenza queste compagnie
avevano soltanto lopzione di possedere o ospitare un server
fisico in un data centre. C molto spazio in questo mercato
e OpenStack con il suo marchio di fabbrica il sistema operativo
cloud Open Source sembra stia acquistando slancio. Per questo
motivo, per gli affezionati di Linux darci unocchiata quasi
un atto dovuto, ma da dove iniziare? Esiste una quantit di opzioni
sconcertante per chi vuole entrare in questo mondo: cloud
pubblici del calibro di Rackspace e HP, versioni personalizzate
come Piston OpenStack, e pacchetti inseriti in molte
distribuzioni principali di Linux (date unocchiata a http://www.
openstack.org/software/start per un elenco pi esaustivo
dei punti di da cui partire). Molto merito va dato alla
documentazione http://docs.openstack.org/ ricca

Questo programma non altro che uno script shell documentato


e rappresenta unottima opzione per avere un cloud OpenStack
funzionante in un ambiente locale in modo relativamente veloce.
Noi utilizzeremo VirtualBox per eseguirlo allinterno di una
macchina virtuale ma una macchina reale sarebbe unopzione
ancora migliore (e sicuramente pi performante). Le istruzioni
in questo articolo si applicano a entrambi i casi. Una piccola nota:
non cercate di lanciare lo script di installazione nella vostra
distribuzione desktop: DevStack scarica e configura in automatico
un intero gruppo di applicazioni. Non soltanto probabilmente
non funzioner senza un bel po di lavoro di configurazione,
ma impiegherete moltissimo tempo per riportare le cose alla
condizione iniziale. Vale anche la pena di dire che DevStack
non adatto a sostenere un ambiente di produzione (quindi
non sarete in grado di costruire un concorrente per Amazon
Cloud per esempio). Come spiegato nelle FAQ del sito http://
devstack.org: DevStack makes some implementation choices
that are not appropriate for production deployments. We warned
you! che in italiano significa In DevStack sono state fatte scelte
di implementazione che non sono appropriate per un ambiente
di produzione. Vi abbiamo avvisati!. Non ultime le scelte sulla
sicurezza: le password sono salvate allinterno di un file e la distro
presenta una configurazione molto aperta dei privilegi da sudo
per lutente. Per i fini di questo articolo supponiamo
che linstallazione avvenga in una tipica rete domestica,
con un router/modem ADSL che funge da gateway, da DNS
e da server DHCP per gli altri device nella rete. In questo
esempio quel dispositivo ha come indirizzo IP 192.168.1.254
e la rete ha come subnet mask 255.255.255.0. Andremo
a creare la nostra macchina virtuale con lambiente cloud
raggiungibile soltanto dalla macchina Linux su cui eseguiamo
VirtualBox e nessunaltra. La cosa migliore utilizzare una
distribuzione minimale come punto di partenza per linstallazione.
In questo articolo utilizzeremo Ubuntu 12.04 LTS ISO disponibile
sul sito http://bit.ly/1eQePdF, che pesa circa 30 MB o gi
di l (anche Fedora e CentOS/RHEL sono valide alternative).
necessario utilizzare limmagine corretta per la propria
macchina 32 o 64-bit, nel nostro caso la seconda. Avviamo
VirtualBox e dal menu principale selezioniamo Preferenze D
Rete. Creiamo due reti solo host: vboxnet0 (Con indirizzo IP
172.16.0.254 e mask 255.255.255.0) e vboxnet1
(10.0.0.1/255.0.0.0). Ora creiamo una nuova macchina virtuale.
Necessita di almeno 2 GB di RAM (ovviamente pi ce n
e meglio ). Sfortunatamente, durante questo tutorial ci siamo
imbattuti in un bug di QEMU, che ci ha obbligato a disabilitare
lopzione Abilita I/O APIC. Disabilitare questa opzione
fa s che VirtualBox utilizzi soltanto un processore. Ovviamente
la vostra situazione potrebbe essere diversa!

Linux pro 144

082_085_LXP_144_LXF185.code_openstack 82

22/07/14 12:02

DevStack
DevStack
Tutorial
Creare un nuovo host
Abbiamo impostato come dimensione per il disco di sistema 8
GB per una macchina virtuale a 64-bit e abilitato anche
lopzione Abilita PAE/NX. Nelle Impostazioni di Rete
abilitiamo la Scheda 1 come Scheda con bridge chiamata en0.
E abilitiamo la Scheda 2 come Scheda solo host chiamata
vboxnet0. Configuriamo allo stesso modo anche Scheda 3
ma con il nome vboxnet1. Le rimanenti impostazioni
le lasciamo come sono. Aggiungiamo ora limmagine mini.iso
che contiene limmagine di Ubuntu nel lettore DVD virtuale
e avviamo la nostra macchina virtuale. Potete vedere
le impostazioni che abbiamo utilizzato nello screenshot di Fig.1
in questa pagina. Inizia a questo punto il processo
di installazione. La maggior parte delle opzioni si spiega da sola
e sar familiare a chiunque abbia installato Linux almeno
una volta nella sua vita. Diamo allhost il nome devstack
e permettiamo allinstaller di utilizzare lintero disco per
semplicit. Quando il processo ci chiede di creare un utente,
aggiungiamone uno chiamato stack e diamogli una password.
Quando dobbiamo scegliere quali pacchetti installare,
selezioniamo quelli base di Ubuntu e lopzione OpenSSH
(da notare la presenza di unopzione OpenStack da non
selezionare). Dopo un po di tempo linstallazione conclusa,
riavviamo la nostra macchina virtuale (rimuovendo prima il DVD
per evitare di far ripartire linstaller) e ci ritroveremo davanti alla
schermata di login. Inseriamo le credenziali dellutente stack
per fare il login nel sistema. A questo punto una buona idea
eseguire un rapido aggiornamento (in teoria non dovrebbe
esserci molto da aggiornare):
sudo apt-get update && sudo apt-get upgrade
Ora dobbiamo installare il pacchetto Git (e le sue dipendenze),
che verr utilizzato molto durante linstallazione di DevStack:
sudo apt-get install git -y
Sarebbe meglio se lhost avesse un indirizzo IP statico.
Modifichiamo /etc/network/interfaces:
sudo vi /etc/network/interfaces
Variamo la parte relativa alleth0 nel modo seguente (qui usiamo
192.168.1.100, cambiatelo in base alle vostre necessit):
auto eth0
iface eth0 inet static
address 192.168.1.110 #vostro IP
netmask 255.255.255.0
network 192.168.1.0

broadcast 192.168.1.255
gateway 192.168.1.254 #lip del vostro router/gateweay
dns-nameservers 192.168.1.254
Inoltre aggiungiamo le seguenti righe nello stesso file
# Interfaccia pubblica di OpenStack
auto eth1
iface eth1 inet static
address 172.16.0.1
netmask 255.255.0.0
broadcast 172.16.255.255
network 172.16.255.255

Fig.1
Con un po
di configurazione,
VirtualBox pu
eseguire un cloud
OpenStack

# Interfaccia privata OpenStack


auto eth2
iface eth2 inet manual
up ifconfig eth2 up
Fatto ci riavviamo linterfaccia eth0 e controlliamo
che le modifiche siano corrette utilizzando ifconfig:
sudo ifdown eth0 && sudo ifup eth0
ifconfig eth0

Cos OpenStack?
Originariamente sviluppato in collaborazione
da Rackspace e Nasa, OpenStack stato lanciato
nel 2010 per permettere a chiunque di eseguire
dei servizi di cloud-computing sul proprio hardware. Nel
2012 stata formata una fondazione indipentende ed
stato definito un sistema operativo cloud in grado di
controllare un vasto insieme di computer, dati e risorse
di rete attraverso un data centre, il tutto gestito da un
cruscotto che offre agli amministratori il controllo sulla
fornitura di servizi ai loro utenti tramite uninterfaccia
Web. Questo sistema operativo costituito da diversi
componenti, rilasciati da diversi programmatori
che lavorano nel grande gruppo OpenStack.
OpenStack Compute (nome in codice Nova) abilita
la possibilit di utilizzare e gestire macchine virtuali.

OpenStack Networking (nome in codice


Neutron) un sistema api-driven per gestire
le reti e gli indirizzi IP.
OpenStack Object Storage (nome in codice
Swift) un servizio di memorizzazione di oggetti.
OpenStack Block Storage (nome in codice
Cinder) un servizio di memorizzazione di blocchi.
OpenStack Identity (nome in codice Keystone)
un sistema di autenticazione per il cloud OpenStack.
OpenStack Image Service (nome in codice
Glance) offre servizi di gestione, registrazione
e diffusione di immagini di dischi e server.
OpenStack Dashboard (nome in codice Horizon)
uninterfaccia grafica per accedere, fornire
e automatizzare risorse.

SHA1: The magic behind the magic

OpenStack Telemetry (nome in codice


Ceilometer) gestisce una collezione centralizzata di dati
di misurazione e monitoraggio.
OpenStack Orchestration (nome in codice Heat)
permette una gestione di automazione di sistemi
complessi basata su template.
Molti altri progetti sono in diverse fasi del loro sviluppo
e stanno per entrare a far parte della famiglia
OpenStack: un servizio di database (Trove), un gestore
di sistemi bare metal (Ironic), un servizio di gestione
delle code (Marconi) e un servizio di data processing
(Sahara). Lobiettivo di Sahara quello di fornire
cluster Hadoop al di sopra di OpenStack. Tutto questo
software disponibile con la licenza Apache 2.0
(e ovviamente eseguibile sotto Linux).

Linux pro 144

83

DevStack

Fig.2
Finalmente!
La mitica
schermata
di login
di OpenStack
apparsa

Se tutto va come sperato linterfaccia dovrebbe utilizzare


le impostazioni che le abbiamo appena dato. Ora alziamo anche
eth1 ed eth2:
ifup eth1
ifup eth2
Per finire dobbiamo dare allutente stack il permesso di utilizzare
i comandi sudo senza bisogno di inserire la password.
Normalmente questa unidea pessima, ma qui necessario
per permettere linstallazione:
sudo -i
echo stack ALL=(ALL) NOPASSWD: ALL >> /etc/sudoers
exit

Installare DevStack

Tip
Lesecuzione
di DevStack pu
essere interrotta
utilizzando lo
script unstack.
sh nella stessa
directory
che contiene
lo script stack.
shche abbiamo
lanciato per
installare il cloud
OpenStack.
Lanciare
nuovamente
lo script stack.
sh far s che
il tutto venga
riprocessato.
Per rilanciare
il tutto basta
utilizzare rejoinstack.sh.

84

DevStack un progetto che riceve aggiornamenti molto


frequenti (come tutti i progetti collegati a OpenStack,
specialmente quando c un aggiornamento importante).
Fortunatamente per noi, abbastanza facile specificare quale
versione vogliamo utilizzare puntando al suo ramo con
il comando git clone (al momento della stesura di questo
articolo la release pi stabile disponibile Havana):
git clone http://github.com/openstack-dev/devstack.git -b stable/
havana devstack/
cd devstack
Ora che abbiamo scaricato una copia degli script di DevStack,
creiamo un file localrc per configurare quali servizi
di OpenStack vogliamo utilizzare. Dato che questa una guida
semplice, utilizzeremo Nova, Cinder, Glance, Horizon e Keystone
(date unocchiata al box Cos OpenStack? nella pagina
precedente per capire a cosa servono). Un template di localrc
a nostra disposizione nella sottodirectory sample:
cp samples/localrc .
vi localrc
Nella sezione Minimal Contents cambiamo i seguenti valori:
ADMIN_PASSWORD=devstack
MYSQL_PASSWORD=devstack
RABBIT_PASSWORD=devstack
SERVICE_PASSWORD=devstack
SERVICE_TOKEN=token
Questo evita che lo script di installazione ce li chieda durante
lesecuzione. Da notare che i valori per la password sono tutti
uguali. Questo stato fatto semplicemente per comodit
e in un qualunque altro ambiente sarebbe una terribile idea.
Sotto a questa sezione (non veramente importante dove)
aggiungiamo le seguenti righe per specificare i nostri servizi

Linux pro 144

# rami
NOVA_BRANCH=stable/havana
CINDER_BRANCH=stable/havana
GLANCE_BRANCH=stable/havana
HORIZON_BRANCH=stable/havana
KEYSTONE_BRANCH=stable/havana
Infine, aggiungiamo le seguenti righe. FLOATING_RANGE
dovrebbe essere un range non utilizzato dalla rete locale.
Configura una serie di indirizzi IP che serviranno per le istanze
virtuali di OpenStack che verranno create. FLAT_INTERFACE
linterfaccia Ethernet che connette lhost alla nostra macchina
locale. I parametri FIXED si riferiscono alla VLAN interna privata
di OpenStack.
FLOATING_RANGE=172.16.1.0/24
FLAT_INTERFACE=eth0
LOGFILE=/home/stack/stack.log
FIXED_RANGE=10.11.12.0/24
FIXED_NETWORK_SIZE=256
Salviamo il file e torniamo alla riga di comando. Ora possiamo
eseguire lo script di installazione semplicemente con:
./stack.sh
Lo script impiega un po di tempo per concludere
linstallazione, diciamo il tempo di prendere un bel caff,
e mostra moltissimo output a schermo dato che diversi
pacchetti vengono installati. Una volta che il caff pronto,
mentre aspettiamo possiamo dare unocchiata a http://
devstack.org/stack.sh.html per avere unidea di cosa
sta facendo lo script. Alla fine del processo la cosa migliore
da fare creare un bello snapshot della nostra macchina
virtuale come spiegato nel box di pagina 82.

Utilizziamo DevStack
Da un browser allinterno della nostra rete locale proviamo
ad andare allindirizzo http://192.168.1.100 se tutto va come
sperato ci apparir una schermata come quella di Fig.2.
DevStack ci offre due account utente: admin e demo. Entrambi
hanno come password devstack grazie alle nostre
configurazioni di prima. Eseguiamo il login come utente admin
e clicchiamo sul menu Images nella barra a sinistra. Dovreste
vedere tre immagini Cirros che una piccola distribuzione
di Linux progettata per fungere da immagine di test per servizi
cloud e che la rende perfetta per la nostra demo. Volendo
comunque possibile aggiungere altri tipi di immagini. Ubuntu
ha delle immagini cloud disponibili allindirizzo http://cloud-

Fig.3 Cirros limmagine perfetta per testare OpenStack


e le sue funzioni

DevStack
DevStack
Tutorial
images.ubuntu.com/ che possiamo provare. Clicchiamo
su Create image e inseriamo lURL del file dellimmagine
in image location. Impostiamo a Public e lasciamo vuote
le impostazioni per dischi e memoria. Come formato scegliamo
QCOW2. Limmagine mostrer come stato Queued, per poi
passare a Saving una volta finito il download e iniziata lazione
del servizio Glance. Dopo un po (la durata delloperazione
dipende molto dalla banda disponibile), diventer Active.
Effettuiamo il logout e rientriamo come utente demo.
Controlliamo che il progetto corrente sia impostato a demo,
altrimenti cambiamolo con il menu a tendina. Andiamo nel
menu Istances e clicchiamo sul pulsante Launch Istance.
Inseriamo le informazioni (come in Fig.3) utilizzando i menu
a tendina dove necessario per lanciare una nuova istanza.
Da notare in particolare la tendina Flavor, vale la pena
di perder qualche secondo per vedere cosa fa. Noi abbiamo
deciso di utilizzare m1.tiny, ma in un cloud di produzione
in esecuzione su hardware vero le opzioni small, medium, large
e xlarge sono potenzialmente pi utili. I Flavor possono essere
aggiunti e modificati in modo simile alle immagini. Sulla destra
potete vedere le referenze ai dischi Root e Ephemeral. Il disco
Root il disco per il sistema operativo. I dischi Ephemeral invece
sono dei dischi che possono essere aggiunti alla macchina virtuale
ma che scompaiono quando viene terminata.

Permettere laccesso
Nel tab Access & Security possibile impostare una coppia
di chiavi ssh che pu essere iniettata in una macchina virtuale.
Il tab Post-Creation permette di impostare un elenco
di comandi da eseguire dopo che stata creata la macchina
virtuale; pu essere utilizzato per installare pacchetti o lanciare
script. Cliccando il pulsante Launch la nostra nuova istanza
andr in esecuzione. A seconda dellhardware a disposizione
questo potrebbe richiedere diversi minuti. La nostra istanza
di Ubuntu chiamata lxp ora in esecuzione e ha ricevuto
lindirizzo IP 10.11.12.2, nel range che avevamo specificato
prima. Per rendere la nostra macchina virtuale accessibile
dal nostro host Linux ora dobbiamo associargli un floating IP.
Nella colonna Action sulla destra clicchiamo su More e poi
su Associate Floating IP. Dopo una breve attesa un nuovo
indirizzo IP verr aggiunto alloriginale, nel nostro caso
172.16.1.1. Ora selezioniamo il menu Access and Security
dalla barra a sinistra. Questo ci porta alla pagina dei Security
Groups, ne troviamo solo uno chiamato Default. Clicchiamo
il pulsante Edit Rules sulla destra e nella pagina che comparir
clicchiamo su Add Rules. Questo aprir una finestra di dialogo
chiamata appunto Add rule. Dalla tendina Rule selezioniamo
ALL ICMP e lasciamo gli altri campi come sono, facciamo click

su Add. Questo ci permetter di fare ping sullhost dallesterno


del nostro cloud. Aggiungiamo unaltra regola, questa volta
scegliendo SSH. (Potete vederle nello screenshot di Fig.4)
Queste regole vengono applicate istantaneamente, quindi
possiamo aprire un terminale nel nostro host Linux ed eseguire
ping 172.16.1.1 a questo punto dovremmo riuscire anche
ad accedere alla nostra istanza cloud tramite ssh.
ssh cirros@172.16.1.1
La password di default dellimmagine Cirros cubswin.
Evviva! Ora possediamo un cloud personale con unistanza
funzionante. Diamo unocchiata ai Volumi, torniamo
nellinterfaccia Web di OpenStack e scegliamo Volumes
dal menu (sempre come utente demo). Facciamo click
su Create Volume e diamogli un nome (evitando di utilizzare
spazi vuoti). Impostiamo le dimensioni e selezioniamo no
source, empty volume. Clicchiamo Create Volume per far
s che OpenStack ricavi un po di spazio per noi. A questo punto
possiamo attaccarlo alla nostra istanza lxp: basta scegliere
semplicemente Edit Attachments dal menu a destra,
selezionare la nostra istanza dal menu a tendina e cliccare
su Attach Volume. Stranamente durante i nostri test abbiamo
notato che listanza utilizza come nome il primo disponibile
(/dev/vdb) invece di quello suggerito da noi (/dev/vdc)
nellinterfaccia. Un piccolo bug probabilmente. Questo device
quindi disponibile per essere formattato e montato come
un qualunque disco fisico. Qui si conclude il nostro tour sulle
funzionalit di base di OpenStack ma c ancora molto
da scoprire che non abbiamo potuto trattare in questo articolo.
OpenStack un progetto in continua evoluzione con molte
opzioni di configurazione. La prossima volta, daremo unocchiata
ad alcune funzionalit avanzate in un ambiente effettivamente
pi vicino alla produzione. LXP

Fig.4 Definiamo
delle regole
di sicurezza per
poter accedere
al nostro host
dallesterno
del cloud

Come possiamo contribuire?


Bella domanda! La comunit di OpenStack molto
accogliente, stato fatto molto lavoro per far
s che tutti i potenziali aiutanti possano avere tutto
ci di cui hanno bisogno per iniziare (e ovviamente
il progetto Open Source). La wiki ufficiale
(https://wiki.openstack.org/wiki/) un buon
punto di partenza per scoprire quali parti del
progetto hanno bisogno di supporto e di che tipo di
aiuto richiedono. Esiste un accordo da sottoscrivere
prima di poter inviare qualcosa, ma solitamente

un processo molto rapido. Da notare che a chi ha


contribuito a un aggiornamento importante stato
offerto un ingresso gratuito al summit OpenStack.
Questo progetto un po insolito perch il codice
sorgente aperto e disponibile pubblicamente con
il solito sistema di repository a controllo di versione
ma la documentazione e anche linfrastruttura
di test utilizzano lo stesso metodo per accettare
modifiche e aggiornamenti. Inoltre lintero processo
di progettazione pubblico, ogni sei mesi

la comunit tiene un summit di progettazione


per raccogliere le richieste e scrivere le specifiche
della release successiva. Questi incontri sono aperti,
chiunque pu partecipare, e producono la roadmap
per i successivi sei mesi di sviluppo. Allo stesso
modo, le elezioni dei capi di ogni progetto sono
pubbliche. La fondazione OpenStack ama dire
che il progetto governato da una comunit
meritocratica ed difficile trovare un argomento
per obiettare.

Linux pro 144

85

Python

Hackerare Minecraft
Ecco come sfruttare Python sulla vostra RPI per interagire con Minecraft
e cambiare il mondo del gioco come preferite

erosimilmente pi divertente del precedente Wolfram


Mathematica: Pi Edition il Minecraft: Pi Edition
generosamente offerto da Mojang, una versione ridotta della
popolare Pocket Edition, come tale mancante di tutta la parte dei
mostri ma inclusiva di nuovi blocchi di costruzione. Questo significa
nuovo carburante per dar sfogo a tutta la vostra creativit, ma tutto
questo cliccare faticoso: con lAPI Python inclusa potete realizzare
dunque i vostri sogni bloccosi pi segreti con un pugno di righe
di codice. Dato per scontato che abbiate gi configurato la vostra Pi,
il primo passo scaricare lultima versione da http://pi.minecraft.net
nella vostra home. Gli autori lhanno sviluppato per Raspbian che
pertanto la distribuzione consigliata: con le altre il vostro
chilometraggio potrebbe variare. Minecraft richiede il server X
in esecuzione quindi se siete tipi da avvio-in-console dovrete lanciarlo
con startx. Lanciate LXTerminal, decomprimete e lanciate il contenuto
dellarchivio con
$ tar xvzf minecraft-pi-0.1.1.tar.gz
$ cd mcpi
$ ./minecraft-pi
Visto come gira fluidamente? Nellangolo in alto a sinistra trovate
le coordinate x, y e z che cambieranno mano a mano che vi sposterete
nellambiente. Gli assi x e z scorrono paralleli al terreno, mentre
la dimensione y indica laltitudine. Ogni blocco (o voxel, per utilizzare
il termine tecnico) che compone il panorama descritto da coordinate
intere e da un Block Type. Il pavimento non ha effettivamente alcuna
profondit, quindi composto da tessere. Lo spazio vuoto ha
BlockType AIR ed esistono circa altre 90 sostanze pi tangibili, incluse
delizie come GLOWING_OBSIDIAN e TNT. Le coordinate del vostro
giocatore, al contrario dei blocchi, sono decimali per permettervi
di muovervi continuativamente tra i blocchi AIR. LAPI vi consente
di connettervi a unistanza attiva di Minecraft e manipolare personaggio
e ambiente in base alle vostre tendenze megalomaniache.
Per servirvene la prima cosa da fare copiare la libreria fornita
in modo da non modificare linstallazione pura di Minecraft. Creerete
una directory speciale per le vostre prove in ~/picraft e metterete
tutta lAPI in ~/picraft/minecraft. Aprite LXTerminal e lanciate
le direttive seguenti:

$ mkdir ~/picraft
$ cp -r ~/mcpi/api/python/mcpi ~/picraft/minecraft
Dopodich, senzaltro aggiungere, cominciate a modificare la vostra
installazione di Minecraft. Lanciate una sessione Python interattiva
n parallelo a Minecraft aprendo unaltra scheda in LXTerminal, lanciate
Minecraft, quindi tornate al terminale con Alt+Tab, selezionate
la scheda di Python e lanciate:
import minecraft.minecraft as minecraft
import minecraft.block as block
mc = minecraft.Minecraft.create()
posVec = mc.player.getTilePos()
x = posVec.x
y = posVec.y
z = posVec.z
mc.postToChat(str(x) + + str(y) + + str(z))
Vedrete la posizione mostrata sullo schermo per qualche
momento (se cos non fosse avete sbagliato qualcosa). Queste
coordinate fanno riferimento al blocco attuale occupato
dal vostro personaggio e non hanno decimali. Confrontandole
con le coordinate in alto a sinistra vedrete che tali valori sono
arrotondamenti ad intero verso il basso (per esempio -1.1
arrotondato a -2). Le coordinate sono recuperabili con
mc.player.getPos(), quindi da un certo punto di vista
getTilePos() superfluo, ma sfrutta tre int in luogo di tre float
risparmiando memoria. LAPI ha una classe chiamata Vec3
per gestire vettori tridimensionali come la posizione del giocatore.
Include operazioni su vettori standard come laddizione
e la moltiplicazione scalare, cos come altre cose pi esotiche
che vi aiuteranno pi in l. Potete anche recuperare dati sul
blocco sul quale sta il giocatore:
curBlock = mc.getBlock(x, y - 1, z)
mc.postToChat(curBlock)
Qui, getBlock() ritorna un intero che specifica il tipo di blocco: 0
indica aria, 1 pietra, 2 erba e potete trovare tutti gli altri tipi
di blocchi nel file block.py nella directory ~/picraft/ creata
pocanzi. Sottrarre 1 dal valore y necessario perch a voi interessa il
blocco sottostante al giocatore: chiamare getBlock() sul blocco del

Dov Steve?
Qui potete vedere il vostro intrepido protagonista
(Steve) allinterno del blocco (0,0,0). Pu muoversi
allinterno di questo blocco, e qualche passo nelle
direzioni x e z lo faranno arrivare nel blocco
azzurro. Durante questo viaggio (invero piuttosto
corto) sar in pi blocchi contemporaneamente,
ma la funzione getTilePos() dellAPI di Minecraft
vi dir quale blocco ne contiene la maggior parte.
Nel cercare di tradurre concetti standard come
linee e poligoni dallo spazio Euclideo in blocchi

86

discreti pu nascere qualche problemino.


Una versione 2D di tale problema la incontrate
nel renderizzare qualsiasi tipo di grafica vettoriale:
per esempio, se volete disegnare una linea tra due
punti nello schermo, a meno che la linea si
orizzontale o verticale, dovete decidere quali pixel
vengono colorati e quali no. La soluzione pi datata
a questo problema fu fornita da Jack Elton
Bresenham nel 1965 e voi generalizzerete questo
classico algoritmo in tre dimensioni.

Le proiezioni isometriche permettono


al mondo di Minecraft di stare in questa pagina

Linux pro 144

086_087_LXP_144_LXF185_code_minehack_minecraft 86

22/07/14 01:34

Python
giocatore ritorner sempre 0, altrimenti sareste inseriti in qualcosa
di solido oppure stareste annegando. Come al solito, lanciare istruzioni
dallinterprete Python utile per sperimentare, ma levoluzione
naturale inserirle in un file, quindi create ~/picraft/gps.py
con il codice seguente:
import minecraft.minecraft as minecraft
import minecraft.block as block
mc = minecraft.Minecraft.create()
oldPos = minecraft.Vec3()
while True:

playerTilePos = mc.player.getTilePos()

if playerTilePos != oldPos:

oldPos = playerTilePos

x = playerTilePos.x

y = playerTilePos.y

z = playerTilePos.z

t = mc.getBlock(x, y - 1, z)

mc.postToChat(str(x) + + str(y) + + str(z)

+ + str(t))
Ora lanciate Minecraft, entrate nel mondo, poi aprite un terminale
e lanciate il vostro programma:
$ python gps.py
Il risultato dovrebbe essere che le vostre coordinate e il tipo di blocco
vengono visualizzate mano a mano che vi muovete. Una volta
memorizzati tutti i tipi di blocco (scherzo!) premere Ctrl+C in Python
vi permetter di uscire. Queste sono alcune funzioni passive dellAPI,
divertenti solo quando accoppiate con opzioni pi costruttive
(o distruttive). Eccone una in azione: come prima lanciate Minecraft
e una sessione Python, importate i moduli e impostate loggetto mc:
posVec = mc.player.getTilePos()
x = posVec.x
y = posVec.y
z = posVec.z

for j in range(5):

for k in range(x - 5, x + 5)

mc.setBlock(k, j, z + 1, 246)
Voil! Avete eretto un muro 10x5 di ossidiana vicino alla vostra
posizione. Potete anche distruggere blocchi convertendoli in aria, quindi
per fare un piccolo tunnel nel muro potete usare:
mc.setBlock(x, y, z + 1, 0)
Ovviamente assumendo che non vi siate mossi dopo il codice
precedente. Nel prossimo articolo imparerete a costruire e distruggere
delle strutture complesse, giocare con la fisica e diventare pazzi
allinterno dei confini 256x256x256 del vostro mondo. Fino ad allora
perch non giocare con la funzione mc.player.setPos()? LXP

Tutte le possibili
e improbabili
strutture nelle
vostre mani

Tip

Non provateci a casa, ragazzi... anzi, fatelo subito, decisamente consigliato!

Date unocchiata
al sito di Martin
OHanlon www.
stuffaboutcode.
com che include
alcuni ottimi
esempi di quello
di cui capace
lAPI

Linux pro 144

086_087_LXP_144_LXF185_code_minehack_minecraft 87

87

22/07/14 01:34

Python

Una catapulta con la RPI


Costruite una casa fatta su misura per voi e poi distruggetela con strumenti
di guerra con la vostra RPI e un sano tocco di Python...

ra che avete preso confidenza con le basi dellAPI,


il momento di diventare degli scienziati folli.
Costruire una casa difficile, vero? No. Con solo
poche righe di dolce Python la casa dei sogni pu essere
vostra. Ammesso che la vostra casa dei sogni sia simile a una
scatola piuttosto standard, chiaramente. Se i vostri sogni
fossero pi grandi, il vostro chilometraggio potrebbe variare.
Non dovrete per preoccuparvi di permessi di costruzione,
utenze, contributi ministeriali e conflitti con gli archeologi.

Ecco casa
vostra.
Ora fatela
saltare in aria!

88

In Minecraft Pi non piove mai, quindi una casa con tetto


piatto sar sufficiente. Cominciate definendo due angoli
per la casa: v1 il blocco vicino a voi in direzione x
e un blocco sopra laltitudine attuale, mentre v2 una
distanza a vostra scelta:
pos = mc.player.getTilePos()
v1 = minecraft.Vec3(1,1,0) + pos
v2 = v1 + minecraft.Vec3(10,4,6)
Ora create un cubo di pietra tra questi vertici e scavatelo
creandone uno pi piccolo allinterno.
mc.setBlocks(v1.x, v1.y, v1.z, v2.x, v2.y, v2.z, 4)
mc.setBlocks(v1.x+1, v1.y, v1.z+1, v2.x-1, v2.y, v2.z-1, 0)
Perfetto, a eccezione del fatto che ingresso e uscita sono
solo tramite il tetto, e un bel pavimento di legno sarebbe
carino. Se abitate in unarea pianeggiante noterete che i muri
di casa vostra stanno un blocco sopra il terreno: in questo
spazio ci andr il pavimento. Se la vostra topografia locale
non cos piatta, la vostra casa potrebbe affondare in una
collina o essere una palafitta, ma non preoccupatevi:
vi prenderete cura in seguito di tutte le modifiche
per il terraforming. Create il pavimento rustico in legno:
mc.setBlocks(v1.x, v1.y-1, v1.z, v2.x, v2.y-1, v2.z, 5)
Le finestre sono solo unaltra variazione sul tema:
mc.setBlocks(v1.x,v1.y+1,v1.z+1,v1.x,v1.y+2,v1.z+3,102)
mc.setBlocks(v1.x+6,v1.y+1,v1.z,v1.x+8,v1.y+2,v1.z,102)
mc.setBlocks(v2.x,v1.y+1,v1.z+1,v2.x,v1.y+2,v1.z+3,102)
mc.setBlocks(v1.x+2,v1.y+1,v2.z,v1.x+4,v1.y+2,v2.z,102)
Il tetto utilizza un tipo particolare di mezzo blocco 44,
che ha alcuni tipi diversi: impostarne il blockType lo render
uguale al pavimento:
mc.setBlocks(v1.x,v2.y,v1.z,v2.x,v2.y,v2.z,44,2)
La porta un po pi complicata: i dettagli cruenti sono nel
box in penultima pagina, intanto le tre righe seguenti faranno
il lavoro sporco:
mc.setBlocks(v1.x+2,v1.y,v1.z,v1.x+3,v1.y,v1.z,64,3)
mc.setBlock(v1.x+2,v1.y+1,v1.z,64,8)
mc.setBlock(v1.x+3,v1.y+1,v1.z,64,9)
Una volta costruita la nuova propriet con amore
e dedizione, il prossimo passo trovare modi nuovi e creativi
per distruggerla. Avete gi capito che esiste il TNT,
e un secco mulinare di spada (o invero qualsiasi altra cosa)
ne provocher la detonazione. Riempire la casa di blocchi
di TNT sarebbe triviale e potete fare di meglio. Arriva
la catapulta! Invece di simulare un proiettile che si muove
nello spazio, traccerete la traiettoria parabolica con una serie
di TNT. Facendone detonare lorigine inizierete una perfetta
reazione a catena che culminer con la distruzione di parte
della casa. Per prima cosa affronterete alcune meccaniche
bidimensionali di base. In assenza di attrito, un proiettile
traccia una parabola determinata dalla velocit iniziale
di lancio, dallangolo di lancio e dalla forza di gravit locale
che sulla Terra circa di 9,81m/s 2. Per semplicit inserirete

Linux pro 144

088_091_LXP_144_LXF185_cod_minetreb_micraft 88

22/07/14 01:34

Python

Non sembra
granch, ma
aspettate...

queste costanti in modo che la distanza orizzontale coperta


dallarco sia esattamente di 32 blocchi e al suo culmine sia
16 blocchi pi alta dellaltitudine originale. Considerando
i blocchi come metri, questo corrisponde grossomodo
a una velocit di lancio di 18m/s e unelevazione di 60.
Vi preoccuperete solo di due dimensioni, cos larco sar
tracciato sullasse z con le coordinate x fissate vicino alla
porta. Il tutto riassunto dalla semplice formula y = z(2z/16) implementabile in tale modo:
for j in range(33):

height = v1.y + int(j*(2 - j/16.))

mc.setBlock(v1.x+4, height, v1.z-j,46,1)
Lultimo argomento imposta il TNT come attivo, quindi
provate a colpirlo con la spada e ammirate i fuochi dartificio.
O forse no: le esplosioni, oltre a pesare enormemente
sul processore della RPI, causeranno la caduta di alcuni
blocchi di TNT, interrompendo la catena e salvando la vostra
amata casa. Ma non quello che volete, quindi usate questo
nuovo codice:
height = v1.y
ground = height - 1
j=0
while ground <= height:

mc.setBlocks(v1.x + 4,oldheight,v1.z - j,v1.x +
4,height,v1.z - j,46,1)

j += 1

oldheight = height

height = v1.y + int(j * (2 - j / 16.))

ground = mc.getHeight(v1.x + 4, v1.z - j)
In questo modo vi assicurate che la parabola sia senza buchi
e attraversi larco di TNT nel cielo terminando a mezzaria.

Abbiamo gestito tutto ci usando la funzione getHeight()


per determinare il livello del terreno per ogni punto dellarco,
e fermandoci nella costruzione una volta raggiunto. Notate
che dovete eseguire la chiamata a getHeight() prima
di posizionare il blocco finale di TNT, dal momento
che laltezza del mondo determinata dalloggetto non-aria
pi alto, anche se sta fluttuando. Se la costruzione sfora
i limiti del mondo di Minecraft, potete semplicemente
costruire unaltra casa in una posizione migliore, o sostituire
v1.z - j con max(-116, v1.z - j) nel ciclo soprastante,
il che creer un totem verticale al limite del mondo.
Ora che avete la traiettoria, potete costruire la catapulta:
z=v1.z-j-1
mc.setBlocks(v1.x + 3, oldheight, z + 10, v1.x + 6,
oldheight + 2, z + 7,85)
mc.setBlocks(v1.x + 4, oldheight + 2, z + 12, v1.x + 4,
oldheight + 2, z + 1, 5)
Finora avete allineato tutto a un particolare asse: la casa
(prima di farla esplodere) guarda in direzione z negativa,
ovvero pi o meno a sud, ed anche la direzione nella quale
tracciata la parabola esplosiva. Naturalmente potete
ruotare tutto di 90 gradi e il codice resterebbe pi o meno
lo stesso, a parte alcune permutazioni di x, y e z e +/-, anche
se la casa risulterebbe piuttosto stramba se costruita di lato.
Le cose diventano complicate se volete oltrepassare i vincoli
di questa griglia e costruire su un angolo di vostra scelta.
Il problema sta nellapprossimare una linea dritta avendo
come unit fondamentali blocchi di orientamento prefissato
invece di punti. Una funzione tridimensionale generica
drawline() si dimostra eccellente per successive creazioni,
permettendovi di disegnare configurazioni diverse come

Tip
Il codice della
catapulta
ispirato
ai progetti
di Martin OHanlon
basati su www.
stuffaboutcode.
com

Linux pro 144

088_091_LXP_144_LXF185_cod_minetreb_micraft 89

89

22/07/14 01:34

Python

Gruviera, baby! La vostra casa potrebbe effettivamente necessitare di qualche


riparazione dopo questo tutorial, non c dubbio

Tip
Potete scrivere
tutto il codice
che volete
nellinterprete,
ma copiare errori
frustrante.
Potrebbe quindi
essere pi facile
scriverlo in un file
house.py che
potete eseguire
con python
house.py mentre
Minecraft
in esecuzione.

parallelepipedi e pentagrammi. Quello che vi serve una


versione 3D del classico algoritmo di Bresenham risalente
agli anni Sessanta. Il github del guru della Pi Martin OHanlon
contiene diversi ottimi progetti per Minecraft Pi Edition,
incluso un cannone da cui questo tutorial trae ispirazione,
e anche unintera sezione su Python che include
il menzionato algoritmo 3D (anche se una volta capita
la versione 2D il concetto lo stesso). Immaginate di essere
in un mondo Minecraft a due dimensioni in cui volete
approssimare la linea nel piano (x, y) che connette i punti
(-2, -2) e (4, 1). Lequazione di tale linea y = 0,5x - 1.
Lalgoritmo richiede che il gradiente della linea sia tra 0 e 1,
in questo caso quindi va tutto bene. Se volete una linea
con inclinazione diversa potete invertire gli assi in modo
da renderla conforme. Il nocciolo dellalgoritmo il fatto
che la linea di pixel sar riempita con solo un pixel (blocco)
per colonna, ma molteplici pixel per riga. Cos mano a mano
che rasterizzate pixel per pixel in direzione x, la coordinata y
rester uguale o verr aumentata di 1. Unimplementazione
piuttosto banale in Python sarebbe:
dx=x1x0
dy=y1y0
y=y0

error = 0
grad = dy/dx
for x in (x0,x1):
plot(x,y)

error = error + grad

if error >= 0.5:
y+=1

error -= 1
dove plot() una funzione immaginaria di disegno e grad sta
tra 0 e 1. Lincremento di y avviene quindi quando la variabile
error cresce a sufficienza e il risultato unimmagine
soddisfacente per i nostri occhi. Il trucco di Bresenham
di ridurre tutti i calcoli a operazioni di numeri interi, molto
pi accettabili per lhardware del 1960. Al giorno doggi
potete effettuare calcoli in virgola mobile a grande velocit,
ma comunque bene apprezzare tali ragionamenti. Le variabili
float grad e error aumentano nella divisione per dx, quindi
se moltiplicate tutto per questa quantit e lavorate su questa
scala avete lalgoritmo gi disegnato. Farlo funzionare in tre
dimensioni non richiede tanto pi che unastrazione: come
prima cosa determinate qual lasse dominante (quello
con il cambiamento maggiore in coordinate) e girate gli altri
in accordo, muovendovi lungo lasse dominante un blocco alla
volta e incrementando le coordinate degli assi minori
se necessario. Dovete prestare attenzione al segno di ogni
modifica di coordinata, che conserviamo nella variabile ds.
La funzione ZSGN() ritorna 1, -1 o 0 a seconda che
largomento sia positivo, negativo o zero; la scrittura del codice
lasciata come esercizio per voi. Potete utilizzare
estensivamente una funzione helper minorList(a, j) che ritorni
una copia della lista con il j-esimo elemento rimosso. Potete
farlo in una sola riga con le funzioni lambda e il list slicing:
minorList = lambda a, j: a[:j] + a[j + 1:]
La funzione getLine() prende due vertici rappresentati
da liste di tre elementi e ritorna una lista di tutti i vertici nella
risultante linea 3D. Tutto questo basato sul codice di Martin
(al quale dovreste tutti essere grati). La prima parte inizializza
la lista di vertici e gestisce il caso limite dove entrambi i vertici
in input siano lo stesso:
def getLine(v1, v2):
ifv1==v2:
vertices.append([v1])
Dopo questo diventa un po pi difficile: impostate la lista
di segni ds e una lista di differenze assolute (moltiplicate

Dettagli: una doppia porta


Inserire porte a casa vostra il primo
incontro con il parametro aggiuntivo
blockData. Questo parametro un intero
da 0 a 15 e controlla propriet aggiuntive
dei blocchi quali colore della lana, TNT attivo,
ecc. La porta occupa quattro blocchi
ed allineata nella direzione x. leggermente
incassata rispetto ai muri che la circondano,
chiusa e ha le maniglie orientate verso
il centro. Queste propriet sono controllate
dai vari bit di blockType. Numerando
i quattro bit da 0 a 3 da destra a sinistra
in notazione little-endian, il numero 8
rappresentato in binario come 1.000.

90

Il bit 3 impostato se il blocco parte della


sezione superiore di una porta. Se il caso,
il bit 0 lunico altro bit che interessa
e che determina il piazzamento delle
maniglie. Le sezioni superiori delle porte
hanno blockType 8 o 9. Per le sezioni inferiori
ci sono le seguenti propriet:
bit 3....spento
bit 2....porta aperta
bit 1....porta incassata
bit 0....allineamento (spento=x, acceso=z)
Le sezioni superiori devono essere impostate
dopo quelle inferiori perch ereditano
da queste ultime le propriet.

Le porte sono sempre una buona idea


per quelli di voi che soffrono di claustrofobia

Linux pro 144

088_091_LXP_144_LXF185_cod_minetreb_micraft 90

22/07/14 01:34

Python
per due) a. La riga idx = tecnicamente scritta male
ma serve a trovare il vostro asse dominante e quindi lindice
del valore pi alto in a. Utilizzare il metodo index() assieme a
max implica che clicchiate sulla lista due volte, ma data
la sua lunghezza non un problema, e scritto cos risulta pi
carino. Fate riferimento alle coordinate dominanti come X
e X2. La lista s un riordino di ds con la coordinata
dominante allinizio, le altre liste servono a tener traccia
degli errori. Infine, la variabile aX si riferisce al segno della
modifica di coordinata lungo lasse dominante.
else:

ds = [ZSGN(v2[j] - v1[j]) for j in range(3)]

a = [abs(v2[j]-v1[j]) << 1 for j in range(3)]

idx = a.index(max(a))
X = v1[idx]
X2 = v2[idx]

delta = a[idx] >> 1

s = [ds[idx]] + minorList(ds,idx)

minor = minorList(v1,idx)

aminor = minorList(a,idx)

dminor = [j - delta for j in aminor]

aX = a[idx]
Impostato il tutto potete entrare nel loop principale, dove
aggiungere i vertici, esaminare le differenze sugli assi minori,
ricalcolare gli errori, incrementare le coordinate maggiori
e infine ritornare una lista di vertici.
loop = True
while(loop):

vertices.append(minor[:idx] + [X] + minor[idx:])

if X == X2:

loop = False

for j in range(2):

if dminor[j] >= 0:

minor[j] += s[j + 1]
dminor[j] -= aX

dminor[j] += aminor[j]
X += s[0]


return vertices
Per chiudere davvero con stile, testerete questa funzione
creando un misterioso e precario pilastro di legno vicino a
dove siete a imperitura memoria dei vostri sforzi. Per farlo,
scrivete questo pezzo di codice:
v1 = mc.player.getTilePos() + minecraft.Vec3(1,1,0)
v1 = minecraft.Vec3(1,1,0) + pos
v2 = v1 + minecraft.Vec3(5,5,5)
bline = getLine([v1.x,v1.y,v1.z],[v2.x,v2.y,v2.z])
for j in bline:
mc.setBlock(j[0],j[1],j[2],5)
La prossima volta scoprirete come creare un cannone
pienamente funzionante. Boom! LXP

Ora potete
fuggire dalla
griglia
e costruire
a qualsiasi
angolo il vostro
cuore vi porti

Non provateci
a casa, ragazzi

Linux pro 144

088_091_LXP_144_LXF185_cod_minetreb_micraft 91

91

22/07/14 01:34

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.
Se hai qualcosa
da segnalarci scrivi
a ecodeilug@
linuxpro.it

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

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
LUGRoma
www.lugroma.org
LUGRoma 3
www.lugroma3.org
TorLUG - Universit Tor Vergata - Roma
http://lug.uniroma2.it/
V.I.S.C.O.S.A. - Ciampino
www.viscosa.org
liguria
Genuense Lug - Genova e dintorni
http://genova.linux.it
GinLug - Genova Sampierdarena
www.sennaweb.org
Govonis GNU/LUG - Provincia di Savona
www.govonis.org
SLIMP - Software Libero Imperia
http://slimp.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/
LUGDucale - Vigevano
www.lugducale.it
LugMan - Mantova e provincia
www.lugman.org

92 Linux pro 144

092_093_LXP_144_lug 92

22/07/14 01:34

Leco dei LUG


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
MurgiaLug - Santeramo in Colle
www.open-pc.eu/index.php/murgialug/
SaLUG! - Salento
http://salug.it
Talug - Taranto
www.talug.it
sardegna
GNUraghe - Oristano
www.gnuraghe.org
GULCh - Cagliari
www.gulch.it
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
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
IPIOS - Bibbiena e valle del Casentino
www.ipios.org
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
LinuxTrent - Trento
http://linuxtrent.it
LugBz - Bolzano
www.lugbz.org
umbria
OrvietoLUG
www.orvietolug.it
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
non disponibile
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
AViLUG Schio
http://www.avilug.it/doku.php
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 144

092_093_LXP_144_lug 93

93

22/07/14 01:34

Guida

Software

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

Distro desktop

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.

SparkyLinux GameOver 3.4

volte Linux d lidea di essere troppo serioso,


di essere un mondo popolato da esperti
di sicurezza, programmatori, sistemisti
e appassionati della personalizzazione totale.
Certo, Linux tutto questo ma anche gioco!
E a soddisfare lappetito videoludico delle masse amanti
dellOpen Source arriva SparkyLinux GameOver, nella
sua ultima incarnazione. La distro, opera del polacco

pavroo, la piattaforma definitiva per videogiocatori: offre


non solo una serie di emulatori preinstallati (le ROM
dovete metterle voi per, sempre nel rispetto della legge
e dei detentori dei diritti) ma anche laccesso
preconfigurato a servizi come Desura e naturalmente
Steam. Solo un avvertimento: per via della sua natura,
un po esigente in termini di requisiti di sistema.
Per ulteriori informazioni: www.sparkylinux.org.

Caratteristiche Cosa offre SparkyLinux

La barra dei videogiochi

Non appena avviata la distro noterete subito la barra dei giochi


in alto. Da l potrete accedere velocemente a tutti gli emulatori
installati e anche ai servizi di videogioco a registrazione, come
Desura e Steam. Tutto molto comodo!

Giochi preinstallati

Vero, molte distro offrono un po di giochi installati in maniera


predefinita, ma in quale distro potete vedere cos tanti giochi che una
intera schermata arriva solo fino alla lettera B? Ideale per le brevi
sessioni di gioco in attesa dello scaricamento di titoli pi corposi.

Slackware 14.1

Titoli indimenticabili

Grazie agli emulatori preinstallati potete usare le vostre ROM dei giochi
che legalmente possedete per rivivere lepoca doro dei videogame.
Con Nestopia per esempio potete giocare ai pi grandi titoli per
Nintendo (il glorioso NES) vivendo lebbrezza della grafica cubettosa.

Una distro per tutti i gusti

Se gli 8-bit non sono la vostra passione, SparkyLinux offre comunque


una straordinaria gamma di strumenti. Oltre a Desura e Steam,
tramite i quali potete acquistare o scaricare gratis nuovi giochi,
PlayOnLinux vi permette di giocare ai vostri titoli a 16-bit preferiti.

94 Linux pro 144

094_LXP_144_guidaDVD 94

22/07/14 01:34

Ecco la RIVISTA
CHE STAVI ASPETTANDO

News, prove, guide pratiche, hacker zone


min_Android_207x285.indd 1

22/07/14 11:41

In edicola il 12 settembre

Nel prossimo numero

Hai un argomento da proporci?


Scrivi a prossimamente@linux.it

I SeGRETI PER
LA PRIVACY TOTALE
Creare una rete virtuale protetta, criptare i dischi fissi, mettere al sicuro le password:
ecco come il mondo dellOpen Source combatte hacker e spioni

E inoltre:
Toppe per Ubuntu

Ecco i replicanti!

Impatto zero

Canonical ha messo insieme una distro


che mette a dura prova la fiducia
nellOpen Source. Eppure con pochi
semplici passi anche Ubuntu pu
diventare una soluzione ideale

Direttamente dal mondo della


fantascienza? No, pura realt:
le stampanti 3D in grado di duplicarsi
da sole sono arrivate e promettono
di cambiare il mondo!

Come dare nuova vita a vecchi


computer poco potenti? Semplice,
con le giuste distro e con le giuste
applicazioni. Ecco le soluzioni ideale
per PC con poche pretese...

LINUX

Pro

Mensile - Agosto 2014 - 5,90 euro - 13,60 CHF


Direttore Responsabile:
Luca Sprea - direttore@linuxpro.it
Redazione: redazione@linuxpro.it
Ambra Palermi (segreteria)

myabb.it; puoi anche abbonarti via fax allo 02 700537672,


per telefono allo 02 87168074 dal luned al venerd dalle
ore 9 alle ore 18. Il costo della chiamata da linea fissa
pari a una normale chiamata su rete nazionale in Italia. Da
telefono cellulare il costo dipende dal piano tariffario in uso.
Arretrati
Si sottoscrivono online allindirizzo:
www.spreastore.it/linuxpro
Per informazioni o richieste: arretrati@linuxpro.it
oppure al fax 02.70.05.37.67.2
Stampa: Arti Grafiche Boccia S.p.A. - Salerno

Realizzazione editoriale: Ventidodici


Iconografia e fotografie: iStockphoto
Contenuti tratti da Linux Format - Future Publishing
Limited Plc., Bath (UK)
Pubblicit: pubblicita@sprea.it - Tel 02-92432275
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 scrivi ad abbonamenti@

096_LXP_144_prossimamente 1

Sprea Editori S.p.A.


Socio unico Sprea Holding S.p.A.

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),
Mario Sprea (Consigliere)

Collegio sindacale: Roberto Bosa (Presidente),


Susj Castenetti, Ivo Costa

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.
20134 Milano
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, S/NA
ISSN: 1722-6163
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 dai contenuti inglesi della pubblicazione
Linux Format, edita da Future Publishing Limited Plc., con
sede in Bath (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 legale in via Gramsci 17, 26100
Cremona. 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.

24/07/14 15:18

CERCALO IN EDICOLA!
NON
LASCIATEVELO
SFUGGIRE!
scoppiata la
DIABOLICI-mania.
Solo sulla nostra rivista
trovi griglie originali
accompagnate dalle
migliori varianti a tema!

Giocati un

DIABOLICO
9

3
9 4
8
3 9 5
7
6

MMMMMM

MINIMALE_DIABOLICI_207x285.indd 1

8
5

6
3

7
9 1 8
9
6 1
8

5
111

ROMA, 9 maggio 1997


Un colpo di pistola uccide la studentessa
Marta Russo nei pressi dell'Universita'
La Sapienza.

10/06/14 17:00

A
L
O
C
I
D
E
N
I

min_SpecSTAMPANTI3D_207x285.indd 1

21/07/14 14:34