100
7/21/2019 Linuxpro 125 Gennaio 2013 http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 1/100 COOLPIX S800C La fotocamera animata da Android Razor-qt Sicurezza  Scopri l’alternativa “snella” al pesante KDE  Controlla gli accessi alla LAN e respingi fieramente gli attacchi con PacketFence Con un PC piccolo come una carta di credito puoi:  Creare un Media Center  Controllare la tua fotocamera  Usarlo in remoto senza schermo Diventa protagonista nel mondo Linux . 125 - RIVISTA + DVD  5,90 IL 2013 IN PILLOLE Abbiamo chiesto ai maggiori protagonisti dell’Open Source quali sono stati gli avvenimenti più importanti dello scorso anno e cosa ci aspetta in questo ∆ RIDARE VITA AI VECCHI COMPUTER ∆ INKSCAPE ∆ IL NUOVO FILESYSTEM ZFS PRO Distributore: Press-Di, Segrate (MI) Mensile N°125 €5,90 SUPER POTENTE RASPBERRY PI I migliori trucchi degli esperti per sopravvivere alla rottura dei dischi e alla sparizione dei file

Linuxpro 125 Gennaio 2013

Embed Size (px)

DESCRIPTION

linux magazine

Citation preview

Page 1: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 1/100

COOLPIXS800C

La fotocameraanimata

da Android

Razor-qt

Sicurezza

 Scopri l’alternativa“snella” al pesante KDE

 Controlla gli accessi alla LAN e respingifieramente gli attacchi con PacketFence

Con un PC piccolo comeuna carta di credito puoi:

 Creare un Media Center

 Controllare la tua fotocamera Usarlo in remoto senza schermo

Diventa protagonista nel mondo Linux

. 125 - RIVISTA + DVD  5,90

IL 2013 IN PILLOLEAbbiamo chiesto ai maggiori protagonisti dell’Open Source quali sono statigli avvenimenti più importanti dello scorso anno e cosa ci aspetta in questo

∆ RIDARE VITA AI VECCHI COMPUTER ∆ INKSCAPE ∆ IL NUOVO FILESYSTEM ZFS

PRO

Distributore: Press-Di, Segrate (MI)

Mensile N°125 €5,90

SUPERPOTENTE

RASPBERRY PI

I migliori trucchidegli espertiper sopravviverealla rotturadei dischie alla sparizionedei file

Page 2: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 2/100

Oggi essere Root  è la mia professioneServer Dedicatiper necessità crescenti

EG 64G Hybrid HG XL

Processore

Intel Xeon E3 (IVY BRIDGE)

4 Cores (8 THREADS

)3,4 GHz

RAM

32 GB DDR3 ECC RAM

Hard disk

2x 120 GB Intel SSD 320

RAID SOFT (0/1)

Banda passante garantita

100 Mbps

Traffico illimitato

Processore

Intel Xeon E5 (SANDY BRIDGE-E)

4 Cores (8 THREADS

)3,6 GHz

RAM

64 GB DDR3 ECC RAM

Hard disk

2x 120 GB Intel SSD 320 + 2x 2 TB SATA3

RAID SOFT (0/1)

Banda passante garantita

200 Mbps (IN OPZIONE FINO A 1Gbps)

Traffico illimitato

Processore

2x Intel Xeon E5630 (WESTMERE)

2x 4 Cores (2x8 THREADS

)2x 2,53 GHz

RAM

48 GB DDR3 ECC RAM

Hard disk

12x 3 TB SATA3

RAID HARD 6 Gbps (0/1/5/6/10/50/60)

Banda passante garantita

300 Mbps (IN OPZIONE FINO A 3Gbps)

Traffico illimitato

SP 32G SSD

69,99€ al mese - IVA esclusa

139,99€ al mese - IVA esclusa

299,00€al mese - IVA esclusa

Spese di installazione gratuite Spese di installazione gratuite Spese di installazione gratuite

/dedicated-server

Page 3: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 3/100

 LINUX PRO 125 1

Domande alla redazione: [email protected] 

Abbonamenti: [email protected] 

Arretrati: [email protected] 

Problemi con il DVD: [email protected] 

Sito Web: www.linuxpro.itOppure inviate le vostre lettere a:

 Linux Pro , Sprea Editori S.p.A.,Via Torino 51, 20063 Cernusco S/N

Telefono: 02.92432.1

CONTATTI

LINUXLINUX  PROPROPROPROPROPRO

Massimiliano ZagagliaResponsabiledi redazione

LINUX  PRO

Editoriale

ORA TROVILINUX PRO 

ANCHESU ANDROID

La forza della comunitàScriviamo queste parole la mattina del 21 dicembre…se ci state leggendo i Maya avevano torto sulla fine

del mondo. Altrimenti, amen. Ma sarebbe un peccato chefinisse tutto, perché ci perderemmo il piacere di dare spazioalle tante comunità che promuovono sul campo GNU/Linux,il Free Software e l’idea di un’informatica diversa da quellache va per la maggiore. E che sono sempre pronte a dareuna mano a chi ha bisogno. Vi raccontiamo un episodio:cercando i programmi e le distribuzioni da mettere nel DVD,ci ha incuriosito Siduction, distro che non conoscevamoe che offre out-of-the-box il nuovo ambiente desktopRazor-qt. Visto che parliamo proprio di questo ambientein uno degli articoli di questo numero, ci siamo collegatial canale IRC della distro e abbiamo chiesto se per loro

andava bene di comparire nel nostro DVD. In breve tempoci hanno dato l’ok e noi siamo andati avanti scaricandol’ISO per provarla l’indomani. Il giorno dopo, poco dopoessere arrivati in ufficio, riceviamo una telefonatada un gentilissimo professore italiano (ci scusiamo,ma non ne ricordiamo il nome) che cortesementeci chiedeva di scrivere a uno dei creatori della distroperché aveva bisogno di dirci qualcosa. Ebbene, FerdinandThommes, responsabile del progetto, dopo la nostrarichiesta, si era messo a provare l’installazione in italianoe aveva notato un errore che impediva l’operazione. Conestrema gentilezza e disponibilità Ferdinand, non sapendo

come contattarci direttamente, si è preoccupato di chiamareil docente italiano che fa parte della comunità di Siduction,che a sua volta ci ha telefonato, e in giornata si è messoall’opera per sistemare il bug e poterci permettere di offrirviRazor-qt pronto all’uso. Il tutto senza che noi gli chiedessimo

nulla e senza ricevere alcun compenso se non il piaceredi vedere distribuita la propria distro. In un mondo che

sembra andare sempre più verso i personalismi, l’indifferenzae il “faccio qualcosa solo se mi porta denaro”, le comunitàOpen Source continuano a offrire questi splendidi esempidi disponibilità e impegno. È vero, a volte, quando si fannodelle richieste nei forum o nelle mailing list, qualcunorisponde un po’ bruscamente, ma poi un aiuto arriva sempre.Passando invece ai contenuti del numero, in tema di disastri,ci siamo preoccupati di darvi un po’ di indicazioni qualoraarrivasse l’apocalisse per i vostri dati memorizzati su harddisk, chiavi USB o schede SD. Trovate tutto a partireda pagina 10… ma attenti agli zombie! Un altro articoloche ci è piaciuto molto è quello di copertina. Vi mostriamo

alcuni usi, utili o solo curiosi, del piccolo computer RaspberryPi che sembra aver creato una moda aprendo un nuovomodo per diffondere GNU/Linux. Dopo Arduino (un esempiograndioso di Open Source) e la Raspberry Pi, infatti,hanno iniziato a diffondersi altre “piccole schede” animatedal sistema del Pinguino e, di conseguenza, nuoveopportunità per principianti e non di provare Linux.Il mese prossimo, salvo disguidi dell’ultimo istante,ve ne presenteremo un altro esempio. Non ci rimaneche augurarvi buona lettura e un Felice 2013!!!

Page 4: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 4/100

2  LINUX PRO 125

Sommario

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

LINUX PRO 125

LINUX 

RPRO

In primo piano

08 GNOME OS 10 Apocalisse dei dati 18 2013

SuperSuperRaspberry iRaspberry Pi

Il successodi Raspberry Pi,

il computer piccoloquanto una cartadi credito materribilmente versatile,non sembra arrestarsi.Noi vi mostriamo come

usarlo in modo utile

26

Page 5: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 5/100

LINUX PRO 125  3

Sommario

04NewsdeskLe novità del mondo Open Source

06MailserverFilo diretto con la redazione

08 FAQ: GNOME OSUn nuovo modo di intendere GNOME

 Approfondimenti 

10 Perdere i datiRecuperare file e partizioni scomparse

18 2013Cosa ci aspetta quest’anno dalle parole

dei maggiori esperti di Open Source

22 Razor-qtLa versione snella di KDE

26 Raspberry PiDistro e progetti per la piccola scheda

34 Trucchi per sysadminSeconda parte del corso per sysadmin

 Android

38 NewsTutte le novità sul sistema di Google

39 I testNikon Coolpix S800c

 Recensioni

42 I test del mese∆ ROSA Server 2012 ∆ Faster Than Light

48 Confronto

Social Network Open Source

54 Da non perdereCinque programmi da provare subito!

Tutorial 

58 InkscapeCon i potenti e versatili strumenti

di questo software potete realizzareillustrazioni d’alto impatto

62 Sistemi multipostoEcco come si crea un sistema utilizzabileda più persone in contemporaneaavendo a disposizione un computermolto potente

66 TrashwareBastano Debian e qualche piccolotrucco per ridare vita al vecchio PCabbandonato in cantina

74 SicurezzaGrazie a PacketFence riusciretea controllare gli accessi alla vostra LANe a tenere fuori gli intrusi

78 Hardcore Linux ZFS è un nuovo filesystemper GNU/Linux che presente particolaritàdavvero entusiasmanti

 Accademia 

82 Concetti di baseTutto quello che dovete fare per evitarei messaggi d’errore del compilatore

84 Reti neuraliUltima puntata della serie: facciamosimulare il Teorema di Pitagoraalla nostra rete neurale

88 PythonImparate l’arte dell’elaborazionemultiprocesso, così da sfruttare tuttii core del vostro nuovo processore

94 Guida softwareGuida al software presente nel DVD

Quando trovi

questo bollo

negli articoli,

cercail software

nel DVD

PRO

 entr

o

 

i

ldent r o i l

IL DVD IN BREVELATO A

∆ DISTRIBUZIONI∆ Siduction 12.2.0

con Razor-qt 

∆ Slax 7.0

∆ Snowlinux 3 Cinnamon

∆ DESKTOP∆ Diagnil 3.0

∆ Quamachi 0.7.0

∆ Veusz 1.16

∆ INTERNET

∆ Lightread 1.2.2∆ RIVISTA∆ Fbcmd

∆ Gmsh 2.6.1

∆ Nuvola 2.0.1

∆ QXMLEdit 0.8.3.1

∆ Toycars 1.0.6

∆ Esempi di codice Python

∆ Esempi di codice Reti Neurali

∆ SISTEMA

∆ Atop 2.0.2

∆ UFFICIO

∆ LibreOffice 3.6.4

LATO B

∆ DISTRIBUZIONI∆ ArchBang 2012.12.03

∆ Chakra 2012.12

∆ PoliArch 12.12

∆ Puppy Linux 5.4 Slacko

22 Razor-qt 

ABBONATI ALLA

VERSIONE DIGITALE 

A SOLI  14,90€DURATA ABBONAMENTO 1 ANNO

SOLO PER PC E MAC

www.sprea.it/digital

IL PROSSIMO 

NUMERO ESCE IL 

Page 6: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 6/100

4  LINUX PRO 125

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

Embedded

L’app store di Raspberry Pi

I

coder che stanno cercando

un nuovo modo per entrare

nel meraviglioso mondo

dell’hacking su Linux ora hanno

un’altra possibilità: il Raspberry Pi

app store. Inteso come una vetrina

per i lavori dei programmatori

attuali e futuri sulla RP, lo store

sarà il luogo dal quale scaricare,

condividere e trovare ispirazione

dai progetti creati per la piccola RP.

Nel giorno del lancio erano presenti

25 applicazioni nel Pi Store, tutte

gratuite tranne una. Eben Upton,

fondatore della Raspberry Pi

Foundation, aveva già anticipato

in luglio che era in programma

la creazione di uno store:

“Speriamo prima o poi di offrire

una funzionalità in stile ‘App Store’

per consentire alle persone

di guadagnare dalla vendita del

software che essi scrivono”. Dopo

l’apertura dello store, lo stesso

Upton ha detto che “fornirà ai

giovani un modo per condividere

le proprie creazioni con un’audience

più vasta, magari facendoci anche

qualche soldo lungo la strada”.

Anche se la stragrande maggioranza

dei progetti è gratuita, lo store offre

la possibilità di effettuare delle

donazioni ai programmatori dei vari

progetti gratis. Interessante anche

la possibilità di assegnare un voto

ai vari progetti, così la comunità avrà

modo di isolare quelli di scarsa

qualità ed evidenziare invece quelli

migliori. Visto che, nonostante

le previsioni di vendita di 10.000

pezzi, la RP Foundation ne ha

venduti oltre 750.000, questo store

ha buone chance di prendere piede.

Lo store è integrato nella distro

Raspbian, oppure è accessibile

via Web all’indirizzo http://store.

raspberrypi.com/.

D’ora in poipotrete acquistare

o vendereapplicazioni perla Raspberry Pi

direttamentenel suo store,

datevi da fare!

Kernel

386: il supporto è finito

Apartire dal kernel 3.8

l’architettura dei chip

386 non sarà più

supportata. Questa

è la decisione presa da Linus

Torvalds, il “papà” del kernel

Linux, e resa pubblica in un

post nella mailing list degli

sviluppatori del kernel dal titolo“Merge branch ‘x86-nuke386-

for-linus”. “Con questo ramo

si rimuove il supporto all’antica

architettura dei chip 386

eliminando quindi un po’

di complessità, che per anni

ci ha costretto a fare del lavoro

extra quando volevamo fare

cambiamenti alle primitive

SMP”. Linux era stato scritto

in origine proprio per i chip386, quindi si poteva pensare

che avrebbero avuto un posto

www.kernel.org,la casa del

kernel Linux

di riguardo. Ma sembra

che Linus sia più feliceguardando in avanti piuttosto

che rimanendo ancorato

al passato e ha consegnato

al cestino della storiail supporto a questa architettura

vecchia di 25 anni.

Page 7: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 7/100

LINUX PRO 125  5

Newsdesk 

Compatibilità

Samba 4, si balla!

Gli eroi poco celebratimeritano maggior

attenzione di tanto

in tanto, quindi ecco

una notizia che magari non tutti

hanno saputo: è avvenuto

il rilascio di Samba 4! Questo

è un progetto chiave per l’Open

Source, perché si tratta

dell’unica implementazione

libera di Active Directory,

il servizio di directory creato

da Microsoft per fornire

un unico punto centrale per

l’amministrazione di rete,l’autenticazione e la sicurezza.

Se la vostra macchina Linux

deve lavorare in una rete che

include computer Windows, è

molto probabile che essa possa

lavorare proprio grazie a

Samba. Le versioni precedenti

di questo software forniscono

solo le funzionalità per lavorare

con i protocolli del Domain

Controller di Windows NT.

Thomas Pfenning, General

Manager di Microsoft, ha parolepositive per quel che riguarda

l’importanza di Samba: “Active

Directory è un componente

chiave degli ambienti IT

enterprise e Microsoft

spinge molto per il supporto

all’interoperabilità tra le

piattaforme”, ha detto. “Siamo

felici che la documentazione

e i laboratori che Microsoft

ha messo a disposizione siano

stati fondamentali nello sviluppo

delle funzionalità di Active

Directory di Samba 4”.

Invito apertoNonostante l’approccio aperto

di Microsoft verso il nuovo

Samba, la release 4 di questo

software fornisce una ragione

in meno per rimanere con

Microsoft, aprendo le porte

a pezzi da novanta come

RedHat per il controllo delle

infrastrutture che si basano

su Active Directory e che prima

erano “incastrate” con l’azienda

di Redmond. A dir la veritàSamba riesce a lavorare su

Active Directory solo per merito

di una regola antitrust della

Commissione Europea del

2004 che obbligò Microsoft

a condividere informazioni su

Windows ai suoi rivali. Questo

portò a un accordo nel 2007,

con il quale il team di Samba

ricevette informazioni sui

protocolli di Microsoft, assieme

al diritto di usarli. Il Samba 4

Active Directly Compatible

Server supporta policydi gruppo, roaming profile

e gli strumenti Windows

Administration. Samba 4

ha un’interfaccia di

programmazione in Python ed

è in grado di scalare dai poco

potenti dispositivi embedded

ai cluster di supercomputer.

Il team calcola che questa

versione è il frutto di dieci anni

di lavoro, ma i suoi effetti

dureranno molto più tempo.

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

Compatibilità

La mela nel pinguino

Da anni possiamo trarre

beneficio dal progetto

WINE, che consente

agli utenti di installare

programmi scritti per Windows su

una macchina con Linux, riducendo

o eliminando del tutto la necessitàdel dual-boot. Ora il Progetto

Darling mira a fornire la stessa

funzionalità agli utenti Linux che

vogliono usare software inteso

in origine per Mac OS X di Apple.

Si tratta di un progetto accademico

ancora alle prime fasi di sviluppo,

ma si pensa che questo progetto

fornirà un layer di compatibilità tale

da far pensare ad applicazioni come

Adobe Photoshop e InDesign di star

girando sotto un kernel Darwin.Darwin usa del codice preso da

GNUStep, un’implementazione

Open Source delle librerie Cocoa

per Objective C di Apple, assieme

ai suoi widget e ai suoi tool.

Librerie

Qt fa cinquina

In anticipo rispetto al previsto,

sono state rilasciate le librerie Qt

5.0, su cui si baserà la prossima

versione dell’ambiente desktop

KDE. Le nuove funzionalità di Qt 5.0

sono molto interessanti per gli

sviluppatori. Giusto per citarne alcune:∆ portabilità migliorata da Qt 4;

∆ nuove API e migliorie

per il motore QML;

∆ supporto a C++11;

∆ supporto

ad HTML5 con

QtWebKit 2;

∆ miglior qualità

grafica;

∆ maggiori

prestazioni

su hardware

poco potente.

Inoltre Digia,che ora gestisce

il toolkit Qt dopoSe tutto va bene sarà possibile usare iTunes sotto Linux…ma perché mai dovremmo farlo?

Un solo framework per dominarli tutti:riusciranno i ragazzi del progetto Qta raggiungere l’obiettivo?

averlo acquisito da Nokia, nel lancio

ufficiale di Qt 5.0 ha affermato

anche che nel corso dell’anno

arriverà anche il supporto di Qt

per Android e iOS. La versione

Open Source di Qt 5.0 può essere

scaricata dalle pagine del progettoQt, http://qt-project.org/, mentre

di quella commerciale è possibile

scaricare una trial a 30 giorni

da http://qt.digia.com/. LXP

Page 8: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 8/100

6  LINUX PRO 125

Un nuovo LUGGentile redazione, dopo anni d’attesa (2004)

il LUG a Pordenone, è stato costituito formalmente,

come associazione culturale a promozione sociale.

Potrà trovare tutte le informazioni di riferimento

all’ indirizzo http://pordenone.linux.it/ e in

particolare per la parte costitutiva all’indirizzo

http://pordenone.linux.it/wiki/Statuto. Non

pretendiamo un richiamo nella sua prestigiosa

rivista anche se graditissimo e propedeuticoa catturare l’ attenzione della provincia.

Anche se non “pienamente” costituiti nel 2012

abbiamo svolto alcune attività. In particolare

le segnalo il LinuxArena che ripeteremo

a primavera (http://pordenone.linux.it/wiki/Linux_ 

arena) e gli OpenTalk (http://pordenone.linux.it/

wiki/OpenTalk). La ringrazio per l’attenzione.

Un gruppo di fedelissimi lettori pordenonesi.

Roberto

R

Buongiorno Roberto, pubblichiamo molto

volentieri la tua mail. Visto che siete voi LUG

che fate il “lavoro sporco” sul campo per

diffondere l’uso di GNU/Linux e del Free Software,meritate tutta la visibilità possibile.

VideosorveglianzaBuongiorno, ho letto con interesse il vostro

articolo sulla videosorveglianza ma vorrei qualche

delucidazione dal punto legale. Credo che ci siano

delle leggi che regolano l’uso delle webcam

in luoghi pubblici o in ambienti privati, potete

darmi qualche indicazione?

Massimiliano

RCiao, in effetti l’articolo che citi è piaciuto molto

anche a noi, ma purtroppo in redazione, dal punto

di vista legale, non ne sappiamo moltissimo.

Per questo ci siamo rivolti all’avvocato Francesco Paolo

Micozzi (www.micozzi.it ), uno dei nostri più validi

collaboratori, a cui abbiamo chiesto di farci un quadro

generale della questione. Quindi lasciamo a lui la parola.

Avete mai osservato il comportamento delle persone

riprese da una telecamera? Pensate chela consapevolezza di essere ripresi alteri

il comportamento? Una volta nel campo d’azione di una

telecamera di sorveglianza avete mai pensato “chissà chi

vedrà il filmato?”. La videosorveglianza assume rilevanza

giuridica in tutti quei casi in cui le informazioni captate

dagli occhi delle telecamere consistano in dati personali.

Un dato personale è “qualunque informazione relativa

a persona fisica, identificata o identificabile, anche

indirettamente, mediante riferimento a qualsiasi altra

informazione, ivi compreso un numero di identificazione

personale”. Ovviamente – e senza addentrarci nella

distinzione tra dati comuni e dati sensibili – il volto di una

persona è un dato personale, e perciò la predisposizione

di una telecamera in grado di captare i tratti somaticidi una persona o i suoi spostamenti o le sue attività è,

comunque, soggetta a determinate regole. Gli interessati

al trattamento (ossia i soggetti che potenzialmente

saranno ripresi dalle telecamere di videosorveglianza)

dovranno essere preventivamente informati che stanno

accedendo a un’area sottoposta a videosorveglianza,

e ciò a prescindere dal fatto che le telecamere siano o

meno in funzione. Un esempio di informativa la troviamo

su www.garanteprivacy.it/Garante-Home-theme/

images/original/Allegato1.JPG. Oltre a ricevere

l’informativa, l’interessato al trattamento potrà sempre

rivolgersi al titolare del trattamento al fine di esercitare

i diritti (art. 7 Codice privacy) che gli vengono conferiti

dal Codice e, in particolare, il diritto di accedere ai datiche lo riguardano, di verificare le finalità, le modalità

e la logica del trattamento. Altri accorgimenti sono stati

predisposti dal Garante della privacy nel provvedimento

generale sulla videosorveglianza del 8 aprile 2010

(doc. Web n. 1712680). Nel caso in cui, ad esempio,

l’apparato di videosorveglianza consenta l’accesso

via Web ai dati raccolti dalle videocamere, allora

si dovranno approntare adeguate misure di protezione

contro gli eventuali accessi abusivi al sistema informatico

o telematico che consenta l’accesso da remoto. Se, poi,

il sistema di videosorveglianza trasmette le immagini

– o le rende disponibili – attraverso una rete pubblica di

comunicazioni, si dovranno adottare i sistemi di cifratura

idonei a impedire ai soggetti non abilitati dal prenderevisione dei contenuti captati dalle videocamere. Anche

la conservazione dei dati eventualmente registrati dal

Scriveteci!e avete dei dubbi di natura tecnicadei commenti inviate una [email protected] 

ppure spedite una letteraseguente indirizzo:

nux Proprea Editori S.p.A.a Torino, 510063 Cernusco S/N (MI)

vitiamo inoltre tutti i lettoripartecipare al nostro forum

he si trova all’indirizzo Web

ww.linuxpro.it, oppurecollegarsi al nostro canale IRC #lxpspitato dalla rete irc.freenode.net.

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

L'invio alla redazione di qualsiasi materiale

editoriale (testi, fotografie, disegni, etc.),

su qualsiasi supporto e tramite qualunque

canale (es. posta ordinaria, e-mail,

facebook, sito web, etc.) deve intendersi

- sia quale presa visione, nel colophon

della rivista, dell'Informativa

ex art. 13 d.lgs. 196/03, nonché quale

consenso espresso al trattamento dei dati

personali ai sensi dell'art. 23 d.lgs. 196/03

da parte della Sprea Editori S.p.A.;

- sia quale espressa autorizzazione -

in qualità di titolare dei diritti d'autore

e di utilizzazione economica, nonché

eventualmente di immagine (se del caso

anche in qualità di esercente la patria

potestà sul minore raffigurato

e/o ripreso nelle immagini) -, a titolo

gratuito e in via definitiva, alla libera

utilizzazione del predetto materiale da

parte di Sprea Editori S.p.A., per qualsiasi

fine e con qualsiasi mezzo, e comunque, a

titolo di mero esempio, alla pubblicazione

gratuita su qualsiasi supporto (cartaceo e

non) di titolarità della stessa Sprea Editori

S.p.A. e/o delle altre società in qualunque

modo ad essa collegate, nonché per

qualsivoglia altro fine, con autorizzazionealtresì 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.

Diamo il benvenuto al LUGPN (Pordenone) che si è costituito formalmentecome associazione culturale a promozione sociale

Page 9: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 9/100

LINUX PRO 125 7

GIOCATI UN SUDOKU,TE LO OFFRE:

LA REGOLA E’ UNA SOLAPer giocare a SUDOKU si deve riempire la griglia in modo che ogni riga, ogni colonna e ogni riqua-

dro contengano le cifre da 1 a 9 una sola volta. Per esempio, una riga è formata da 9 quadretti. In

ciascuno dei quali va scritta una cifra scelta tra 1,2,3,4,5,6,7,8,9. Nella riga ciascuna cifra deve

comparire una sola volta. Ci sono 9 righe e in ciascuna vale sempre la stessa regola: Sempre la

stessa regola vale anche per le colonne. Ci sono 9 colonne, da riempire con le stesse cifre da 1

a 9, senza che si ripetano. Infine ci sono i riquadri 3x3, per un totale di 9 quadretti. In ciascunriquadro ogni cifra a 1 a 9 deve comparire una sola volta. Il gioco consiste nel riempire di cifre

utte le 81 caselle, rispettando contemporaneamente le regole per le righe, le colonne e i riquadri.

 T U T  T I I  V ENER DÌ IN EDICOL A 

 A  S O L O  

€  1,0 0 

Difficoltà semplice 

sistema di videosorveglianza è soggetta ad alcuni limiti.

Questi limiti sono dettati – fondamentalmente – dal

principio di proporzionalità, in base al quale le modalità

del trattamento dei dati personali devono essere

proporzionate alle finalità che si intendono perseguire

con il trattamento stesso. In genere non si dovrebbero

conservare le registrazioni oltre le 24 ore dallacaptazione. In casi eccezionali, quando si ritenga

necessario conservare le registrazioni per un periodo

di tempo superiore a una settimana si potrà rivolgere

una specifica richiesta di autorizzazione al Garante per

la privacy che dovrà valutare che nel caso in questione

sia rispettato il principio di proporzionalità. Talvolta

possiamo scorgere delle telecamere per promozione

turistica o informazione meteorologica. Si pensi, per

esempio, a uno stabilimento balneare che posizioni delle

telecamere per finalità pubblicitarie o per consentire

ai clienti di verificare da remoto le condizioni climatiche

del giorno. In questi casi – considerate le differenti

finalità perseguite – si dovrà fare in modo che i soggetti

eventualmente ripresi non siano identificabili. Ma lavideosorveglianza non attiene esclusivamente ai profili

disciplinati dal codice della privacy. Esistono, infatti,

particolari situazioni in cui la captazione mediante

telecamere può rappresentare una situazione

penalmente rilevante. Esiste, infatti, nel nostro

Ordinamento il reato di interferenza illecita nella vita

privata (art. 615-bis c.p.) in base al quale viene punito

chi, “mediante l’uso di strumenti di ripresa visiva

o sonora, si procuri indebitamente notizie o immagini

attinenti alla vita privata svolgentesi nei luoghi indicati

nell’articolo 614”. Altro e differente reato è quello

previsto dall’art. 38 dello Statuto dei lavoratori

in base al quale è punito con arresto o con ammenda

chiunque faccia uso di “impianti audiovisivi e di altreapparecchiature per finalità di controllo a distanza

dell’attività dei lavoratori” fuori dai casi previsti dalla

legge (in cui, ad esempio, vi sia un previo accordo

con i lavoratori). Per venire, infine, alle situazioni che

normalmente potremmo definire di “videosorveglianza

domestica” è bene evidenziare che il nostro Codice

della privacy (d.lgs. 196/03) prevede l’esclusione

dall’applicazione delle norme del medesimo codice

quei trattamenti che siano effettuati da persone fisiche

per fini esclusivamente personali se i dati trattati

non siano destinati alla diffusione (ad esempio attraversola rete Internet) o a una comunicazione sistematica.

In ogni caso, si badi, si applicano le norme in tema

di responsabilità (art. 15 Codice privacy) e di sicurezza

dei dati trattati (art. 31 Codice privacy). Ciò significa

che anche il privato che appresti il sistema di

videosorveglianza per fini esclusivamente privati

(per esempio al fine di proteggere la sua proprietà

privata) non dovrà cagionare danni ai soggetti ripresi

e dovrà adottare misure di sicurezza tali da ridurre

al minimo i rischi di distruzione o perdita dei dati,

di accesso non autorizzato o di trattamento non

consentito o difforme rispetto alle finalità per le quali

sono stati raccolti. Le situazioni ipotizzabili sono tanto

numerose che – dato lo spazio a disposizione– non sarebbe possibile esaurire, per ciascuna di esse,

un’approfondita disamina. Ciò che conta è comprendere

che anche l’attività di videosorveglianza è soggetta

a particolari regole, la cui violazione potrebbe

comportare conseguenze anche spiacevoli. LXP

Se volete sapernedi più sulla videosorveglianzae la privacy, dateun’occhiata al sito delGarante della privacy,www.garanteprivacy.it 

Page 10: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 10/100

FAQ GNOME OS

8  LINUX PRO 125

GNOME OSAll’orizzonte si profilano nuove discussioni attorno al controverso ambiente GNOME…

Alcune domande su...

»Argh, com’è che tutti i progetti

 vogliono diventare dei sistemi

operativi ultimamente? Qualche

tempo fa mi hai parlato di Firefox OS

e ora questo!

Questo non è solo un fenomeno recente,comunque. Emacs agisce come un sistemaoperativo sin dagli anni 80… comunquesì, la parola d’ordine di questo periodo

è “piattaforma” e il team GNOMEnon si accontenta di scrivere un insiemedi librerie e programmi che stanno sopraun sistema di base di cui non hannoil controllo. In particolare, stannocercando di avere un maggior poteresull’esperienza utente di chi usa GNOME.

»Ma loro lo fanno già – progettano

interamente l’interfaccia di GNOME.

Esatto, ma la parte che vediamo è solo unacomponente di ciò che realizza l’esperienzatotale. Facciamo un attimo un passo

indietro e consideriamo come funzionanole cose in una tipica distribuzione Linux.Alla base hai il kernel, che parla all’hardware,esegue i programmi e gestisce le risorse.Poi hai X Window System, un livello graficosviluppato da un gruppo differente. Oltre

a questo ci sono i toolkit grafici, sviluppatia loro volta da altre persone. Dopo questohai l’ambiente desktop e così via. Questoapproccio un po’ mescolato ha funzionatomolto bene negli ultimi dieci anni ma, contutti questi team che lavorano in modoindipendente uno dall’altro, è molto difficilecreare un’esperienza utente veramenteintegrata e piacevole. Alcune volte Linuxnecessita di una funzionalità che deveessere implementata sia a livello dei driverhardware sia in quello dell’interfacciautente, e far lavorare assieme i gruppiche si occupano di queste parti è un po’

complicato. Immagina questo scenario: unprovider mobile a banda larga vuole iniziarea supportare Linux. Oltre ai modem USB,

il provider deve rilasciare un componentea basso livello (un driver) assiemeal componente di alto livello (il softwareper il dial-up). Per come stanno le cose ora,l’azienda deve lottare con diverse distroLinux, diversi gestori di pacchetti, differentiposizioni nel filesystem dei file di sistemae di configurazione, varie versioni dellelibrerie, diverse interfacce e così via.È un lavoro spaventoso.

»Certo, ma quella è la vita per

i programmatori! Non dovrebbero

fare tutto il lavoro sporco per noi?

Probabilmente è così. Ma prova a pensarecon la prospettiva dell’utente. MisterPrincipiante ha appena installato Linuxed è consapevole di stare usando il desktopGNOME. Mentre sta navigando in Internetscopre un nuovo programma per GNOME.Lo vuole provare ma i pacchetti disponibilisono per una distro differente. “Ma io sto

usando GNOME”, fa notare. “Perché nonposso semplicemente installare programmiper GNOME in GNOME?”. Quindi, alla fine,gli sviluppatori non posso avere GNOMEcome obiettivo. Devono pensare a cosìtante differenti implementazioni di questo

ambiente desktop, a così tante diverseversioni con le loro differenze “sottoil cofano” che il lavoro diventa pocoallettante. Allan Day, un designerdell’interfaccia GNOME, dice: “Al momentoè troppo difficile per gli sviluppatori crearee distribuire applicazioni per GNOME.Le nostre API sono un target in costantespostamento e la distribuzione delleapplicazioni è lenta e frammentata”.

»Ma un’altra distribuzione Linux come

farà a sistemare le cose? Penso

che ci siano già abbastanza distro…

GNOME OS sarà una distro Linux, ma nonsostituirà le distribuzioni tradizionali, névuole divenire l’unica “casa” per l’ambiente

desktop. Piuttosto, è progettato come unapiattaforma per il testing e lo sviluppo– come un’implementazione di riferimentodi un sistema GNOME ideale. TeoricamenteGNOME OS introdurrà funzionalità, ideee tecnologie che verranno poi assorbitedalle distribuzioni principali, rendendoGNOME più consistente su di esse. Con ilpassare del tempo i programmatori sarannoin grado di testare i propri programmi suGNOME OS e questi dovrebbero funzionaremolto facilmente su altre distro basatesu GNOME. Confronta questo con lasituazione attuale, dove uno sviluppatorenon può semplicemente scrivere un’appper GNOME e condividerla con gli altriutenti di questo ambiente sparsi peril mondo. Quello che deve fare, invece,è pacchettizzare il programma per tuttele differenti distro che usano GNOME,tenere in considerazione le loro differenzee poi preparare un repository peri pacchetti, trattando con tutte le questioni

tecniche che questo comporta.

»Quindi è qualcosa di simile

a un gestore di pacchetti? Anche

di questi ne abbiamo abbastanza…

Una specie. Il team GNOME non ha ancoradetto nulla di specifico in merito,ma possiamo capire il loro obiettivo. Fararrivare le applicazioni agli utenti Linux ènotoriamente complicato, a meno che essinon stiano usando una distro rolling-release(come Arch Linux) e tu sviluppatore abbiaun buon rapporto con i gestori dei suoirepository di pacchetti. Cercare di

distribuire app da soli è allo stesso modocomplesso, per le ragioni viste prima. Glihacker GNOME vorrebbero una situazionein cui gli utenti GNOME, indipendentementedalla distro sottostante, potessero provarele nuove app GNOME non appena questesono rilasciate. In modo simile GNOMEdovrebbe avere delle API e un SDK stabili.Al momento, per sviluppare un programmaGNOME devi leggere vari pezzi didocumentazione provenienti da fontidiverse, abbonarti a svariate mailing listper tenere traccia dei cambiamenti e ingenerale destreggiarti con varie cose tutte

assieme. Con API e un SDK ben gestitiche hanno un preciso ciclo di vita, il lavorosarà molto più semplice per gli sviluppatori

“GNOME OS sarà una distroLinux, ma non sostituiràle distribuzioni tradizionali”

Page 11: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 11/100

GNOME OS FAQ

LINUX PRO 125  9

stanno supplicando gli sviluppatori

di sistemare alcuni dei problemi maggiori

di GNOME 3. Certo, ci sono molte persone

che apprezzano il nuovo design,

ma GNOME 3 è ancora argomento

di discussione nella comunità Linux,

con un’infinità di opinioni che inondanoforum, blog e mailing list. La gran parte

degli utenti GNOME di lunga data pensa di

essere stata ignorata, quindi la situazione si

semplificherebbe se la soluzione ai problemi

che sono stati evidenziati entrasse

a far parte dei progetti futuri.

»Ok, mi hai quasi convinto. Forse.

Quando vedremo i risultati i primi

frutti del lavoro del team GNOME?

Essi sperano di effettuare il primo rilascio

nel marzo del 2014. Questa previsione

è realistica, secondo noi, e vuol dire che non

dovranno dedicare il loro tempo a GNOME OS,potendo quindi lavorare anche per sistemare

GNOME 3 nel frattempo. Poi tenere sotto

controllo i progressi visitando l’URL http://live.

gnome.org/GnomeOS/Design/Whiteboards ,

GNOME. In particolare, ciò farà avvicinare

a Linux i programmatori di app proprietarie,

perché potranno focalizzarsi sul porting del

codice e non battagliare con un milione di

combinazioni di distro e gestori di pacchetti.

» Questo vuol dire che finiràl’ossessione di GNOME di diventare

un’interfaccia per tablet?

Sì e no. Anche se GNOME 3 è stato

un ambiente molto controverso, con un

gran numero di fan che si sono sentiti

frustrati dai cambiamenti radicali avvenuti,

gli sviluppatori sono ancora consapevoli

che il desktop è importante. Ecco

il pensiero di Mr. Day: “I dispositivi esistenti

– in primis portatili e desktop – devono

rimanere l’obiettivo primario di GNOME”.

Allo stesso tempo sta proseguendo il lavoro

per rendere GNOME adatto ai dispositivi

touch, quindi siamo curiosi di vedere cosasuccederà. Comunque andranno le cose,

è interessante la tempistica di questo

importante annuncio da parte degli hacker

GNOME, un momento in cui gli utenti

che mostra le varie idee esistenti per

l’implementazione del sistema operativo e dei

cambiamenti all’interfaccia utente. Ovviamente,

non appena i ragazzi di GNOME produrranno

qualcosa, noi saremo in prima fila per provarlo.

» E cosa succederà se tutto andràin fumo?

Non essere negativo. Diamo una chance

al team GNOME. L’aspetto più importante

della faccenda è che otterremo nuove

tecnologie e idee per migliorare

l’integrazione del desktop. Linux è senza

ombra di dubbio la più grande raccolta

di codice e talento nel mondo

dell’informatica, ma ci sono ancora

problemi nel far stare tutto all’interno

di un desktop coeso. Se gli sforzi

del team GNOME renderanno Linux

più facile da usare, miglioreranno

la cooperazione tra le distro e ridurrannoil lavoro duplicato, sarà una vittoria

netta per tutti. Chi lo sa, anche

se ora sei infastidito da GNOME 3,

magari in futuro li perdonerai… LXP

Page 12: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 12/100

Non importa da quanto tempo state

usando i computer, nonostante

la vostra esperienza prima

o poi capiterà anche a voi di perdere

dei dati importanti. Quando succede, si cerca

disperatamente di riportare in vita quei dati

che si sono trasformati in zombie, spesso senza

successo. Se siete dei principianti, è probabile

che almeno una volta abbiate fallito la pulizia

di un disco cancellando accidentalmente dei file

o distruggendo del tutto il contenuto di unascheda di memoria senza aver prima trasferito

le preziose immagini su un altro supporto più

sicuro. Non prendetevela con la vostra

inesperienza: succede anche ai migliori. Difatti

sono gli utenti più esperti che a volte fanno

gli errori più gravi, come far confusione con

la tabella delle partizioni, spazzare via il MBR

o peggio ancora, formattando la partizione

o il disco sbagliati. C’è una semplice soluzione:

il backup! Anche se le distro più diffuse forniscono

strumenti che semplificano l’esecuzione di backup

regolari, per molti di noi fare il backup vuol dire

cancellare i dati che non sono stati backuppati.Detto questo, ci sono ancora diversi tool che

possono farvi uscire da queste spiacevoli situazioni.

In questo articolo scoprirete dei software Open

Source in grado di tirar fuori i dati da dischi

morti, riparare un bootloader rotto, ripristinare

file cancellati e perfino intere partizioni.

Se avete un sistema dual-boot con Windows,

vi mostreremo anche come resettare

la password di Windows dimenticata e tenere

la vostra installazione al sicuro da virus e altre

minacce. Il successo di questi tool di recovery

dipende da vari fattori ma non è sicuro al 100%,

per cui il backup è sempre indispensabile,per cui parleremo anche di questa operazione,

il modo più semplice per ridare vita agli zombie!

A i  d i s c h i p o s s o n o  cap i ta r e 

 m o l t e  c o s e  b r u t t e: 

p e r d i ta  i na sp e t ta ta  d i  e l e t t

 r i c i tà,  ca mp i 

 mag n e t i c i  f o r t i…  e  i  da t i  s i  t ra s

 f o r ma n o  i n 

 ZO M B I E !  R i ma n e t e  v i c i n i a  L X P,  v i p r o t eg

g e r e m o

S op ra v v i v e r e

 t  r e  m  t e  c o s e  b r u t t e: a l l ’ap o ca l i s s e  d e i  da t i

Zombie!

10  LINUX PRO 125

Page 13: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 13/100

“Conviene usare fsckda una distro Live senzamontare la partizione”

A

nche se i filesystem sono notevolmentemigliorati nell’ultima decade, a volte permettere a soqquadro il disco è sufficiente

un’applicazione che compia un’operazione erratasul disco per non lasciarvi altra scelta che riavviareil PC (questo succede anche quando vi ritrovatea dover fuggire dagli zombie e dovete staccarerepentinamente il computer dalla corrente).Al riavvio, quando Linux individuauna chiusura non pulita, automaticamenteavvia l’utility fsck  che verifica la consistenzadel filesystem. Quasi sempre questo bastaper sistemare eventuali probleminidel disco. A volte, però, in base a fattoricome l’anzianità del disco, il tipodi filesystem e il task che è stato interrotto,questo controllo automatico può fallire.

In questi casi il sistema vi chiederàdi eseguire fsck manualmente. Anche

se è possibile usarlo in modalità recovery conil disco montato in sola lettura,noi preferiamo partire da un disco Live

e usare fsck senza montare la partizioneincriminata. Trovate fsck in qualunquedistro Live, come Redo Backupand Recovery o PoliArch (che trovatenel DVD allegato). Per verificare un filesystemspecifico, per ipotesi /dev/sda6 , aprite unterminale e digitate sudo fsck /dev/sda6.Fsck internamente usa il corretto sistemadi check del disco a seconda del filesysteme vi mostra un errore se non riescea riconoscere la formattazione. Quandorichiamate questo comando senza parametri,fsck controlla il filesystem e vi chiedese volete sistemare gli eventuali problemi

riscontrati. Se volete che si procedain automatico potete usare lo switch-y, però fate attenzione: l’interventoautomatico di fsck potrebbe rendereirrecuperabili dei dati, a secondadi che tipo di errore si è verificato.Uno dei problemi più comuni

che bloccano fsck è un superblocco corrotto.Visto che un filesystem

non può essere usato senza un superblocco

in salute, ci sono diverse sue copiedi sicurezza disseminate in diverse posizioni

del disco. Digitate sudo mke2fs

-n /dev/sda6 per trovare dove è stato

salvato il superblocco (attenti, se ometteteil -n spazzerete via il vostro disco fisso),

che dovrebbe essere elencato alla finedell’output, in modo simile al seguente:

 Superblock backups stored on blocks: 32768, 98304, 163840, 229376,

 294912, 819200, 884736, 1605632, 2654208

Ora usate uno di questi indirizzi perrimpiazzare il superblocco su quella partizione,

per esempio con sudo e2fsck -b

32768 /dev/sda6, e sarete pronti

a riavviare. Se il filesystem rovinatoè una partizione NTFS e non potete

avviare in Windows, potete provarea sistemarla usando l’utility ntfsfix.

Assicuratevi che la partizionenon sia montata e poi digitate

ntfsfix /dev/sda1, dove /dev/sda1è la partizione formattata in NTFS.

Questa utility è in gradodi controllare e correggere

alcuni problemi di base

di NTFS ma, cosa più importante,programmerà un profondocontrollo sulla consistenza di NTFS

al primo riavvio in Windows.

Prima fsck 

A volte capita che tutto quello che viservirebbe per riparare Linux si trova propriodentro il sistema, ma non potete accedervi.Forse avete danneggiato in qualche modoGRUB, oppure avete rimosso per errore

qualche pacchetto importante la cuimancanza impedisce l’avvio di Linux. In questicasi potete ricorrere a chroot . È un tool ben

fatto, presente in tutte le distro, e vi dàaccesso come root a un sistema che non siavvia. Usando chroot potete fare il boot da unLiveCD e poi eseguire i programmi come seaveste fatto il boot del sistema malfunzionante

– un po’ come fa un virus geneticamentemodificato che arriva dallo spazio e prendeil controllo della mente umana. Per usare

chroot fate il boot da qualunque distro Live,aprite un terminale e diventate l’utente root.Poi, ipotizzando che la vostra distro Linuxche non si avvia sia su / # mkdir /rotto # mount /dev/sda1 /rotto

 # chroot /rottoA questo punto qualunque comandoimpartiate avrà effetto sulla vostra installazione

di Linux, non sul LiveCD, qualunque filemodifichiate, sarà un file della vostra Linuxbox. Quindi, per esempio, potrete reinstallareGRUB nel MBR dopo aver installato Windowsusando update-grub, oppure potete

rimuovere eventuali pacchetti instabilio comunque annullare quei cambiamentiche impediscono al sistema di ripartire.

Fare chroot dentro un sistema non funzionante

Potete usare TestDisk per recuperare fileda certi filesystem, come NTFS, usandol’opzione [Undelete], sotto [Advanced]

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

Zombie!

LINUX PRO 125 11

Page 14: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 14/100

A

nche se fsck dovrebbe correggerediversi problemi dei dischi che non

si vogliono montare, qualche voltail difetto è più serio. Dei dischi morentinon sono una bella cosa da vedere.Ancor di più se contengono datiper voi preziosi – come la posizionedi un centro di ricerca top-secretche dovete raggiungere per recuperarel’antidoto contro l’infezione da zombie.In questi casi la miglior cosa che potetefare per recuperare i dati è minimizzarel’uso del disco in difficoltà. Quindi, invecedi sottoporre a stress il disco per tirarefuori i dati, dovreste subito farne una copiafedele. Potrete poi operare con i tool

di recupero direttamente sulla copia.Normalmente vi suggeriremmo di ricorrereal venerabile comando dd per copiareil disco. Però dd è progettato per arrestarsinon appena viene rilevato un errore,quindi non è di molto aiuto con un disconon funzionante. È in queste situazioni

che torna utile il tool GNU ddrescue. Funzionacome dd e fa copie a livello di blocco di un disco.

Diversamente da dd, però, GNU ddrescue salta iblocchi rovinati e copia quelli validi. Vi serve undrive in salute per copiarei dati recuperati. Potrebbe essere un’unitàesterna USB oppure un secondo discointerno. Inoltre, accertatevi che mentreil disco destinazione è montato, quellodifettoso non lo sia. Poi digitate sudo ddrescue /dev/sda1 /media/backupdrive/ sda1.image /media/backupdrive/logfileQuesto comando farà il backup della partizionesda1 del disco fallato e lo metterà nel filesda1.image nel disco montato in /media/

backupdrive. Il logfile registra tutte le attività

del comando in un file di testo, utile per capirea che punto si è fermata l’operazione in casodi un’interruzione inattesa. Una volta che aveteuna buona copia del disco, potete chiederea ddrescue di rileggere le porzioni di discoche non è riuscito a leggere al primo giro: sudo ddrescue -r 3 -C /dev/sda1 /media/backupdrive/sda1.image /media/backupdrive/logfileCon l’opzione -r dite a ddrescue il numerodi tentativi di lettura dei dati quando si incontraun errore. Questo causa un forte stress al discorovinato, ed ecco perché dovreste provarequesta operazione solo dopo aver fatto

una copia del filesystem. Grazie al file di log,ddrescue cercherà solo di riempire i vuoti senzarileggere le parti già lette correttamente inprecedenza. Ricordate anche che, nonostanteddrescue possa fare il backup di un interodisco con partizioni multiple in un unico file,vi risparmierete un po’ di problemi salvandole singole partizioni in file immagine diversi.Una volta che avete fatto tutte le immaginidelle partizioni del disco, potete provare

a recuperare i dati da esse. In base all’efficienzaraggiunta da ddrescue, il tool può essere

in grado di ripristinare interi filesystem.Quindi, partendo da un’immagine,prima controllatela con fsck, così: sudo fsck /media/backupdrive/sda1.imageQuando fsck ha terminato il suo lavoro, montatel’immagine come dispositivo di loopback: sudo mount -o loop /media/backupdrive/ sda1.image /media/sda1imageOra date un’occhiata dentro /media/sda1imagee dovreste vedere tutti i vostri file. Se il comandonon funziona, è il momento di chiamare in causagli esperti. Foremost  e Scalpel sono delle utilitydi file carving che possono estrarre i file dalleimmagini dei dischi. Entrambe le utility vanno

a caccia dei file usando gli header e i footerdi differenti formati di file, ma il secondoin genere si dimostra più efficiente. Trovatedi sicuro entrambi nei repository dellavostra distro. Foremost è il più semplicedei due da usare:sudo foremost -t all -i sda1.image -o rescued-fileQuesto comando tutti i tipi di file riconosciuti daForemost nell’immagine sda1.image e li salverànella directory rescued-file. Prima di poter usareScalpel, invece, dovete modificare il suo filedi configurazione, /etc/scalpel/scalpel.conf,e decommentare tutti i tipi di file che voletefar recuperare. Salvate il file e digitate

 sudo scalpel sda1.image -o rescued-file

Ripristinare file cancellatiGli strumenti che abbiamo visto finora sono usatiper recuperare file da dischi rovinati. Ma nonsempre si può incolpare una rottura hardwareper la perdita dei dati. Un utente goffo(per esempio uno ai primi stadi dell’infezioneda zombie che sta perdendo il controllo deimovimenti) può essere altrettanto pericoloso.

Copia bit a bit 

Anche se TestDisk e PhotoRec non hannouna GUI, la loro interfaccia basata su unwizard rende semplice il recupero dei dati

Per usare con successo TestDiskdovete prima capire come sonopartizionati i dischi. Una tabella dellepartizioni contiene quattro slot di 16byte l’uno, che limitano a quattroil numero di partizioni primarieper ogni hard disk. Di solito unadi queste quattro partizioni vienemarcata come estesa e contieneun certo numero di partizionilogiche. Potete avere tre partizioniprimarie (sda1, sda2 e sda3)e una quarta partizione estesa checontiene diverse partizioni logiche(sda5, sda6 e così via). Quandovi metterete a cercare partizioni

con TestDisk ne troverete alcunesovrapposte e altre che superano

i limiti della tabella delle partizioni.Qualche volta TestDisk si lamenteràperché troverà una partizioneprimaria in mezzo alle partizionilogiche, cosa impossibile. QuandoTestDisk non riesce a piazzare unapartizione, non solo dovrete trovarevoi quella corretta, ma dovreteanche capire se è logica o primaria.Tenete questo in mente: la primapartizione primaria, in genere iniziaal cilindro 0, testina 1, settore 1. Seavete più partizioni primarie, esseinizieranno in un cilindro diverso da

 zero (come 625), testina 0, settore1. D’altra parte, le partizioni logiche

iniziano in un cilindro diversoda 0, testina 1 e settore 1.

Capire le partizioni

Eseguite fdisk -l su un disco in salute e salvate in un file il suo output. Questeinformazioni vi aiuteranno nel trovare con TestDisk eventuali partizioni cancellate

Zombie!

12  LINUX PRO 125

Page 15: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 15/100

Quindi diamo un’occhiata agli strumenti in grado

di recuperare file cancellati accidentalmente

da dischi altrimenti ben funzionanti. Primadi iniziare, dovreste capire come vengono gestiti

i file dal filesystem. Quando cancellate un file,

esso non viene spazzato via dall’esistenza.

Piuttosto, il filesystem lo marca come cancellato

e rende disponibile alla scrittura di altri file

lo spazio che occupava. Questo vuol dire che

finché un’altra applicazione non usa questo

spazio, il file originale si trova ancora lì e può

essere ripristinato da un tool di file recovery.

Per questa ragione, se vi accorgete di aver

cancellato per errore qualcosa, è importante

che riduciate il più possibile l’interazione con

il disco. Forse il tool Open Source più completo

in questo ambito è PhotoRec. Esso può andarea caccia dei formati di file immagine più comuni

e inoltre può ripristinare file in molti altri formati,

come ODF, PDF, 7ZIP, ZIP, TAR, RPM, DEB

e anche dischi virtuali. Questo tool funziona su

ogni sorte di disco, inclusi hard disk e dispositivi

rimovibili come dischi o chiavi USB e schede SD.

Oltre a leggere i dischi che non fanno

il boot, PhotoRec recupererà file da partizioni che

sono state formattate. Viene distribuito assieme

a TestDisk, di cui abbiamo già parlato e che

useremo anche successivamente, ed è presente

in tutte le distro pensate per il recovery, inclusa

quella presente nel nostro DVD. Anche se

PhotoRec è un tool da riga di comando, esso

divide l’operazione di salvataggio in passi,

proprio come fanno i wizard grafici. Quando

avviate lo strumento, esso per prima cosa vi

chiede di selezionare il disco e la partizione che

ospita i file cancellati, e anche di specificarne

il tipo di filesystem. Poi vi chiede se volete

che faccia la ricerca solo nello spazio libero,non allocato o sull’intera partizione. Dovete

anche indicargli una directory in cui

memorizzare i file recuperati. In base alla

dimensione della partizione, PhotoRec

impiegherà più o meno tempo per fare

il suo lavoro. Di default cerca tutti i file

che è in grado di riconoscere, ma se

volete potete limitare il numero di

formati da cercare usando l’opzione

File Opt . Quando PhotoRec finisce

di cercare, troverete un’enormità di file

dai nomi strani e di tutti i formati nella cartella

che avete indicato. PhotoRec nomina i file

man mano che li trova, lasciando all’utentel’onere di ordinarli. Come per i file, non serve

un grande sforzo per rovinare un disco

in salute. Un tasto premuto per errore (questo

capita, ad esempio, se vi capita di trovarvi

un dito mezzo mangiato da un

corpo appena rianimatosi mentre

eravate distratti nel tentativo

di far funzionare PulseAudio)in fdisk  o Gparted può spazzar

via il MBR o condannare all’oblio

una partizione. Però, come

con i file, la situazione è ancora rimediabile,

sempre che smettiate di pasticciare con il disco.

Usare TestDisk TestDisk  è il miglior tool in circolazione per

sistemare tabelle delle partizioni e far tornare

in servizio dischi che non fanno più il boot.

L’uso di TestDisk è simile a quello di PhotoRec.

Quando lo avviate prima vi chiede di creare

un file di log (che torna utile per una successiva

analisi qualora il recovery dovesse fallire) e poimostra tutti i dischi collegati al computer. Dopo

che avete selezionato il disco in cui è sparita

la partizione, vi chiederà di selezionarne il tipo,

per esempio Intel, Mac, Sun e così via. Subito

dopo potete vedere le varie opzioni di recovery.

Selezionate quella di default, Analyse,

che legge la struttura delle partizioni e cerca

quelle disperse; alla fine della ricerca TestDisk

visualizza la struttura delle partizioni corrente.

Ora selezionate l’opzione Quick Search 

per chiedere a TestDisk di cercare le partizioni

cancellate. In base all’età del vostro disco,

TestDisk visualizzerà un diverso numero

di partizioni. Per capire qual è quella corretta,da recuperare, guardate le label delle partizioni

mostrate alla fine di ogni voce, tra parentesi

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

“PhotoRec funziona

su ogni tipo di disco,compresi quelli rimovibili”

quadre. Se questo non vi aiuta, premete P 

su una partizione selezionata per vedere

un elenco dei file che TestDisk ha trovato in

essa. Ripetete l’operazione finché non trovate

ciò che vi interessa. Quando avete trovato

la partizione, conviene copiarne i dati giustonel caso che TestDisk fallisca nel suo ripristino.

Per fare questo, premete P e poi con il tasto a 

selezionate tutti i file. A questo punto premete

C per copiarli e il tool vi chiederà dove volete

salvarli. Quando la copia è terminata, premete

q per tornare all’elenco delle partizioni e

premete E per continuare al prossimo passo

dell’operazione di ripristino. TestDisk mostrerà

ancora la struttura delle partizioni, questa

volta con quella scomparsa. Selezionate

Write per salvare la tabella delle partizioni

sul disco e uscite dal programma. Se tutto

è andato bene, al prossimo riavvio la partizione

sarà di nuovo al suo posto.

Con uno scanner antivirus come ClamAvpotete disinfestare la partizione Windowsdall’interno di Linux

Zombie!

LINUX PRO 125 13

Page 16: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 16/100

A

nche se si spera che TestDisksia servito allo scopo comemostrato nelle pagine precedenti,

ci sono volte in cui anch’esso fallisce.In questo caso bisogna ricorrerealle opzioni avanzate. A volte TestDiskindividua partizioni cancellate, senzaperò riuscirne a capire il tipo. Quandotrova una partizione, TestDisk ne mostrail tipo nella prima colonna, dove trovateun * se si tratta di una partizione avviabile,una P per le partizioni primarie, una L per quelle logiche e una E per quelleestese. Potete usare i tasti cursore a destrae a sinistra su una partizione ev idenziataper cambiarne il tipo. C’è un altro paiodi opzioni per le partizioni disponibili

all’inizio dell’operazione di recovery,giusto dopo che avete selezionatoil tipo di tabella de lle partizioni del disco.Subito sotto l’opzione Analyse c’è il tab

Advanced, che elenca alcunitrucchi avanzati per

i filesystem. Con l’opzioneType potete cambiareil formato della partizione,

cosa utile quando la partizioneche volete ripristinare è stata formattata.

Poi ci saranno delle volte in cuil’opzione Quick Search di TestDisknon sarà in grado di trovare tutte

le partizioni sparite. In questi casivi serve la voce Deeper Search,che scansiona ogni cilindroe interroga anche la copiadi backup del settore di boote del superblocco per trovare altrepartizioni. Non sorprendetevi

se verranno trovate più partizioni di quelleche avevate sul disco. Molte di esse sonosolo immagini fantasma di partizioni esistitein passato – non tutte saranno ripristinabili

e molte occuperanno lo stesso spazio.Nell’elenco delle partizioni trovate, quelleevidenziate in verde sono recuperabiliperché si trovano nel backup del settoredi boot e dei superblocchi. Il problemac’è se ci sono partizioni che occupanolo stesso spazio. Come con Quick Search,una volta che TestDisk ha trovato dellepartizioni, con il tasto P potete leggerel’elenco dei file presenti. Uno o piùdei duplicati non ne mostreranno e il toolvi dirà che il filesystem è rovinato.Marcate questi filesystem come Deleted (D)e continuate fino a quando non trovate

tutte le partizioni cancellate.

Boot campCi sono diversi modi per perdere il bootloaderGRUB. Forse il vostro PC è caduto vittimaalla peggior infezione di zombie possibile:l’installazione di Windows! Anche se installare

Windows dopo aver installato Linux spazzavia di sicuro il MBR (che sarà quindi daripristinare), qualche volta capita anchedi ritrovarsi con qualche esoterica distro Linux

che allo stesso modo si sbarazza del vecchioMBR impedendovi di avviare altri sistemioperativi. Ci sono vari modi per riparareun MBR danneggiato, il più semplice dei qualiprevede l’uso di Boot-Repair . Comecon gli altri tool di questo articolo, lo trovatenella maggior parte delle distro progettateper il recovery. Boot-Repair è pensatoper sistemare in automatico i problemi piùcomuni che possono capitare a GRUB. Inoltre,può essere utile agli utenti più esperti chevogliono controllare gli aspetti più sottili diGRUB, come il passaggio di opzioni addizionalial kernel, il cambiamento dell’ordine di boot

o del timeout, o la scelta del sistema operativodi default. Quando avviate questo strumento,esso cercherà gli eventuali suoi aggiornamentise è disponibile una connessione a Internet.Poi passerà a esaminare i vostri dischie le partizioni presenti. Alla fine vi mostreràuna chiara interfaccia grafica con un paio dipulsanti. Nella maggior parte dei casi il pulsanteRecommended Repair sarà sufficiente asistemare tutto. Eventualmente potete ricorrerealle opzioni Advanced e modificare i vari aspettidell’installazione di GRUB. Poi ricordatevi dicliccare su Apply. In entrambi i casi, dopo aversistemato GRUB, il tool vi mostrerà un URL che

vi porta a un report diagnostico sul vostro PC.Esso sarà utile nel caso in cui Boot-Repairha fallito nel suo compito e vi ritrovate a doverchiedere aiuto a qualcuno più esperto, adesempio nel forum della vostra distro. Poteteanche usare il pulsante Create a BootInfosummary per generare questo report primadi far operare il tool. Alla fine del report,il programma mostrerà le azioni cheintraprenderà per riparare il vostro GRUB.

Resettare la passworddi LinuxA meno che non usiate la stessa password per

tutti i vostri account online e offline (cosa chenon raccomandiamo) è possibile che primao poi vi dimentichiate quella oscura, intricata

Scavare a fondo

Anche se TestDisk vi aiuta a ripristinare eventualipartizioni perse, una tabella delle partizioni sotto soprapuò richiedere tempo per essere sistemata. Almenose non ne avete salvata una in ordine. È una buonaidea usare sfdisk  ogni volta che installate o rimuoveteuna distro, o comunque quando fate delle modifichealle partizioni. Sfdisk è una piccola utility da rigadi comando inclusa in tutte le distro, e fa il backupe il ripristino delle tabelle delle partizioni, oltrea poterle modificare. Questi pochi byte potrebbero

fare la differenza con un sistema operativo su cuisi è pasticciato. Il comando sfdisk -d /dev/sda >

sda_tabella.txt  farà una copia di sicurezza dellatabella delle partizioni del disco sda in un file di testoche dovreste tenere in un posto sicuro. Al contrario,il comando sfdisk /dev/sda < sda_tabella.txt  leggerà il file e ripristinerà la tabella delle partizioninel MBR di sda. Se avete un sistema RAID, potete fareil mirror di una tabella delle partizioni da un discoall’altro usando sfdisk -d /dev/sda | sfdisk /dev/sdb .

Salvare la tabella delle partizioni

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

Zombie!

14  LINUX PRO 125

Page 17: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 17/100

password del PC che avviate una volta ogni

tanto. Oppure siete arrivati al centro

di ricerca e i computer che contengono

la procedura per sintetizzare l’antidoto sono

protetti da password, con gli scienziatiche non sono più in grado di dirvela.

Per crisi come queste avete bisogno della

distro Rescatux (www.supergrubdisk.org/

rescatux). Questa distro possiede i soliti

tool di recovery per riparare filesystem

e bootloader in difficoltà. Ma ciò che

la distingue dalle altre distro di questo tipo

è la sua abilità di cambiare la password

di un’installazione Linux e di rigenerare

un file sudoers corrotto. Quando avviate

questa distro Live viene lanciato

automaticamente l’applicazione di ripristino,

chiamata Rescapp. Questo programma ha

vari pulsanti. Quando cliccate su Password (+), il tool vi chiede se volete cambiare

una password o rigenerare il file sudoers.

Entrambe le opzioni attiveranno la ricerca

di una installazione di Linux sul disco

e poi mostreranno l’elenco degli utenti della

distro che selezionate. Se state cambiando

la password, il tool vi chiede quella nuova

da assegnare all’utente indicato. Se state

ricreando il file sudoers, l’utente selezionato

verrà aggiunto in  /etc /sudoers .

Ora quella di WindowsSe gli scienziati stavano usando copie

del vecchio Windows Vista sul loro hardware

finanziato dal governo (cosa molto

probabilmente legata in modo stretto

a ciò che è capitato con gli zombie), ci sono

diversi tool che possono aiutarvi a recuperare

o resettare la password dell’installazione

di Windows. Uno dei più semplici

è Ophcrack  (http://ophcrack.sourceforge.

net ). Il modo migliore di usare Ophcrack

è di ricorrere al suo LiveCD basato su SliTaz.

Questo LiveCD esiste in due versioni:

una ha delle tabelle che vi aiutano

a recuperare le password da Windows XP

e versioni precedenti, mentre

l’altro fa la stessa cosa con

Vista e 7. Quando avviate uno

dei due dischi, viene lanciato

in automatico Ophcrack.

Esso scoprirà ed elencherà

tutti gli account utente presenti

nel computer e cercherà di recuperare

le rispettive password. A meno che queste

password non siano incredibilmente

complicate, con tanti caratteri, o che

voi abbiate una macchina molto vecchia,

l’operazione di crack delle password non

dovrebbe durare molto a lungo. Una volta

finito, le password verranno elencate

nella colonna NT Pwd. Questo dovrebbe

funzionare nella maggior parte dei casi, ma

se così non è potete aumentare le chance

di crackare le password scaricando

e installando delle tabelle addizionali dal sito

di Ophcrack. In base a quale L iveCD avete

scaricato, avrete rispettivamente la tabella

XP Free Small o Vista Free. Oltre a queste,

solo la tabella XP Free Fast (703 MB) è

disponibile gratuitamente. Le altre possono

essere scaricate ma bisogna pagare una

quota e possono essere usate per crackare

password che non sono basate su parole del

dizionario, che includono caratteri speciali,

caratteri germanici o numeri e che sono

di varie lunghezze. Se Ophcrack non

è in grado di trovare le password usando

le tabelle gratuite, e non volete procederecon quelle a pagamento, potete usare

Offline NT Password and Registry Editor 

(http://pogostick.net/~pnh/ntpasswd/ )

per resettare le password. Prima di

procedere, comunque, sappiate che il reset

delle password ha qualche svantaggio

rispetto al loro recupero. Se avete detto a

Windows di cifrare i file con la vostra

password, resettare la parola chiave non vi

consentirà di decifrarli. Ecco perché prima

dovreste cercare di ritrovarla. L’Offline NT

Password and Registry Editor è disponibile

sottoforma di un’immagine ISO Live da 4

MB. Quando avviate questa Live doveteselezionare la partizione che ospita il

Windows di cui dovete resettare le

password. Poi il tool vi chiede la posizione

del registro delle password. Dopo averlo

letto, lo strumento stampa un

elenco degli account e vi da la

possibilità di impostare una

nuova password, cancellare

quella vecchia, abilitare o

disabilitare un utente o far scalare

i suoi privilegi fino a farlo

diventare

amministratore.

Assicuratevi di

scrivere i cambiamenti

nel registro prima di chiudere.

Ophcrack usa tabelle rainbow preelaborate per recuperare le password

Mentre TestDisk e Photorec sono in grado di trovare

qualunque file, a volte sono un po’ sovrabbondanti.

Se tutto quello che dovete fare è recuperare

dei file JPG o MOV da una scheda SD che è stata

formattata potete usare il tool recoverjpeg. Potete

installarlo dai repository di tutte le maggiori distro.

Per usare questo tool allo scopo di recuperare le foto da

una scheda SD in /dev/sdc, aprite un terminale e scrivete

 sudo recoverjpeg /dev/sdc

Questo software ripristinerà tutte le foto che trova

salvandole nella directory in cui lo avete lanciato.

Un altro utile strumento è ntfsundelete cheè progettato per ripristinare file da un filesystem

NTFS. Come prima, dovreste trovarlo negli archivi

di pacchetti della vostra distro. Ipotizzando

che il disco NTFS sia in /dev/sda5, digitate

il comando seguente in un terminale:

 sudo ntfsundelete /dev/sda5

Questo comando mostrerà una lista dei file

che ha trovato. Potete usare lo switch -t  

per cercare i file modificati in uno specifico

periodo di tempo. Per esempio, il comando

 sudo ntfsundelete /dev/sda5 -t 2d

cercherà i file modificati negli ultimi due giorni. Questo

tool ha anche una flessibile opzione di recovery.

Il comando seguente ripristinerà tutti i file PDF e li salverànella directory ripristinati/  sotto la directory home:

 sudo ntfsundelete /dev/sda5 -u -m *.pdf -d ~/ripristinati

Tool di recovery dedicati

“Quando le opzioni basedi TestDisk falliscono,ricorrete a quelle avanzate”

Zombie!

LINUX PRO 125 15

Page 18: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 18/100

N

onostante tutti gli eccellenti strumenti

Open Source per il recovery dei dati,

c’è solo un modo sicuro per

recuperare tutti i propri file: fare un backup.Anche se non porta via molto tempo, fare

una copia di sicurezza dei dati richiede

un po’ di attenzione e di preparazione.

Per iniziare, dove vanno memorizzati i dati?

Tenerli nella stessa partizione o nello stesso

disco non serve a nulla – come rimediare

se si rompe l’intero disco? La soluzione

è usare un disco diverso. Anche il tipo

di dati da salvare e l’uso che se ne vuol fare

può influenzare la scelta dello storage.

Gli hard disk offrono il miglior rapporto

prezzo/spazio e sono anche una soluzione

facile da mettere in opera. I dischi Flash

o quelli esterni USB offrono la massimaportabilità, i CD/DVD sono distribuibili

con maggior facilità mentre lo storage

online consente di accedere ai dati

da qualunque PC.

Cosa salvare?Alcuni di noi sono più organizzati di altri.

Quindi anche se la miglior strategia sarebbe

quella di tenere tutti i dati in un disco

o partizione dedicata lontano dai file

della distro, molti di noi hanno i dati sparsi

un po’ ovunque. Quasi tutte le distro

offrono particolari cartelle in cui memorizzare

i vari tipi di file, come scaricamenti, immagini,

video e documenti. Inoltre, sempre le distro,

si preoccupano di dire ai programmi

quali cartelle usare, in modo da non

mescolare tutto. Se state usando queste

directory in modo ordinato, potete copiare

esse invece dell’intera /home . Inoltre,

la maggior parte dei programmi creano

una loro posizione per memorizzare le cose:in genere vi chiedono dove farlo, ma non

sempre. In questo secondo caso, controllate

nel menu delle preferenze per vedere

dove mettono i dati.

Backup punta e cliccaI programmi di backup in GNU/Linux

non mancano di certo, ma quello che

preferiamo è Déjà Dup. Si tratta

di un front-end grafico per duplicity 

che è facile da impostare e ha tutte

le funzionalità che ci si aspetta da un tool

di backup. In alcune distro, come Ubuntu,

Déjà Dup è preinstallato, nelle altre è presentenei repository. L’interfaccia di questo

programma è davvero minimale, in modo

da non confondere gli utenti. Prima di metterlo

in funzione, però, dovete impostarlo. Iniziate

indicandogli dove volete salvare i file.

La destinazione può essere un disco locale,

un disco remoto accessibile via FTP o SSH,

oppure un servizio di storage accessibile via

Web, come Amazon S3 o Ubuntu One. Poi

dovete specificare l’elenco delle directory

da includere o escludere dal backup.

Separando le due, Déjà Dup vi consente

di includere una directory più grande

nel backup, tipo la vostra home, dandovi

però la flessibilità di non copiare alcune parti,come la directory .cache/. Infine dovete

programmare la frequenza dei backup

in modo da automatizzare il processo.

Di default questo strumento terrà per

sempre i vecchi backup, se avete abbastanza

spazio nella destinazione, ma potete

specificare un diverso periodo di tempo

a seconda di quanto critici siano i dati salvati.

Quando avete fatto, premete l’icona Backup

per iniziare il processo. Il tool vi chiederà

di inserire una password per cifrare la copia.

Questo backup iniziale può richiedere

parecchio tempo, ma quelli successivi saranno

più rapidi perché sono di tipo incrementale,quindi verranno copiati solo i dati che sono

stati modificati. Quando si ripristina una copia

di backup, Déjà Dup consente

di rimetterli nella loro posizione

originaria o in un’altra locazione.

Per prima cosa vi verrà chiesta

la password per la decifrazione

e poi verrà mostrato un elenco

ordinato in base al tempo

di creazione dei backup da ripristinare.

Copia totaleAnche se Déjà Dup è l’ideale per fare delle

copie mirate, qualche volta c’è la necessità

di clonare l’intero disco. Per situazioni in cui,

per esempio, dovete rimpiazzare il vecchio

disco con uno nuovo, vi serve uno strumento

che sia in grado di fare una copia perfetta

di tutto quanto il sistema. Il più popolare

tra i tool di questo tipo è CloneZilla. A fronte

di una grande versatilità, però, l’interfaccia

di CloneZilla può intimidire l’utente meno

smaliziato. Se tutto quello che vi serve

è qualcosa che faccia una copia totale del

vecchio disco da mettere poi in quello nuovo,

sullo stesso computer, allora Redo Backup

and Recovery può rappresentare una

soluzione più semplice. Questo tool è

disponibile come LiveCD. Quando fate il boot

vi trovate di fronte solo due pulsanti: potete

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

Il backup è una virtù

Déjà Dup è di gran lunga il tool di backuppiù facile da usare

“L’interfaccia minimaledi Déjà Dup è creata pernon confondere l’utente”

Zombie!

16  LINUX PRO 125

Page 19: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 19/100

fare il backup del disco o ripristinare una copia

già fatta. Il processo di backup inizia con una

scansione del computer a caccia dei dischi.

Poi vi verrà chiesto di selezionare quale voletecopiare. Fatta la scelta, vedrete le partizioni

presenti: assicuratevi di selezionarle tutte.

Poi vi viene chiesto di indicare una

destinazione dove salvare l’immagine clonata

del disco. Questa può essere un secondo disco

fisso del computer, un’unità USB o un folder

condiviso in rete. Nella destinazione dovrete

creare una directory e poi scegliere un nome

che verrà aggiunto ai vari file creati dal

programma. Questo è tutto. In base alla

dimensione del disco da copiare e alla

posizione della destinazione, ci possono volere

anche delle ore per terminare. Quando tutto

è stato fatto, rimuovete il vecchio disco fissoe piazzate quello nuovo al suo posto. Ora

riavviate nuovamente dal LiveCD ma questa

volta premete il pulsante Restore. Ora

muovetevi dove si trova il file .backup 

che volete ripristinare, ovunque esso si trovi

(disco locale o in rete). Il passo cruciale della

fase di ripristino è quella in cui si seleziona

il disco target in cui scrivere l’immagine.

Fate attenzione quando lo scegliete perché

il programma cancellerà tutto quello che

è presente nel disco, incluso il MBR. Alla fine

delle operazioni il contenuto del nuovo disco

sarà esattamente identico a quello vecchio.Se il disco precedente aveva sistemi operativi

multipli, e il bootloader funzionava a dovere,

lo stesso sarà per il nuovo disco. Se il disco

nuovo è più grande di quello vecchio, dovrete

ricorrere a Gparted per reclamare lo spazio

aggiuntivo, che si trova non partizionato

alla fine del disco.

A prova di crashI dischi ottici una volta erano il mezzo preferito

per fare il backup, e forse lo sono ancora

adesso. Il loro problema, però, è che anche se

li si tratta con cura, molto spesso dopo un po’

di tempo diventano illeggibili (alla faccia dellagaranzia a vita di alcuni produttori…). Farne di

tanto in tanto una nuova copia ci sembra una

soluzione inefficiente. Un’opzione migliore è

ricorrere a DVDisaster. Questo software crea

un file con un codice di correzione d’errore

(ECC) di un disco in buono stato di salute, file

che potrà essere usato in futuro qualora

il CD/DVD risultasse difettoso. DVDisaster agisce

su immagini ISO. Per creare l’immagine del

vostro disco, inseritelo nel lettore ottico e avviate

DVDisaster. Poi selezionate l’icona Image File

Selection, digitate un nome per l’immagine

ISO e selezionate una

directory in cui memorizzare

questa ISO. Infine premete

il pulsante Read. Oraè il momento di creare il file

ECC. DVDisaster supporta

due tipi di file: RS01

e RS02. Noi vi suggeriamo

di scegliere RS01,

il metodo di default, e di

memorizzare il file ECC in un disco separato.

Cliccate su Create per generare e salvare

il file ECC. Usando le impostazioni di default,

il file ECC è grande circa il 15% della

dimensione dell’immagine ISO. Per una

protezione maggiore, andate in Preferences 

D Error Correction e selezionate l’opzione

High. Questo porterà le dimensioni del fileECC al 35% della dimensione della ISO,

ma vi darà anche una maggior possibilità

di ripristinare i dati nel caso il CD/DVD

risultasse gravemente danneggiato. Di tanto

in tanto, poi, fate una scansione dei dischi

di backup con DVDisaster usando il pulsante

Scan, dopo aver inserito il disco, ovviamente.

Se la scansione dovesse rivelare dei settori

danneggiati, è il momento di recuperare

i dati. Per fare questo, create per prima

cosa un’immagine ISO del CD/DVD

danneggiato come fatto prima. Poi

recuperate il file ECC di quel disco

e caricatelo in DVDisaster. Con l’immaginee il file ECC pronti, premete il pulsante Fix,

che leggerà e riparerà l’immagine. LXP

Se dovete clonare un’installazione Linuxsu computer diversi, scegliete CloneZilla

Browser come Firefox hanno delle opzioniper sincronizzare preferiti e passwordtra diversi dispositivi

Se un vostro vecchio CD o DVD non presentaerrori, ringraziate la fortuna e fate subitoun file ECC per sicurezza

 I residenti della simpatica città di Bristol, in Inghilterra,

possono dormire sonni tranquilli nei loro letti sapendo

che i loro rappresentanti in comune hanno realizzato

un piano d’emergenza in caso di attacco da parte

degli zombie. Il documento, che è venuto alla luce

nel 2011, sottolinea quattro livelli di attacchi degli

 zombie , da live llo amb ientale fino a una pandemia

di zombie (con tasso di infezione superiore al 30%).

Il documento evidenzia anche le zone più pericolose

(i distretti di Shirehampton, Totterdown e Whitchurch

Park) e conferma che l’ordine del consiglio per

trattare con i zombie è di “disconnettere il tronco

cerebrale dal corpo attraverso un corpo contundente

o la totale rimozione della testa”. Una richiesta fatta

al consiglio comunale di Leichester nello stessoperiodo ha rivelato che “non c’è un riferimento

agli zombie nei piani d’emergenza della città”.

Curiosità

Ecco la gente di Bristol: incredibilmente

amichevoli. www.bristolzombiewalk.com

Zombie!

LINUX PRO 125 17

Page 20: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 20/100

18  LINUX PRO 125

2013

Cosa ci aspetta 

nel 2013La redazione di Linux Pro ha sentito alcune delle stelle

più importanti del firmamento del Software Liberoper chiedere loro cosa si aspettano dall’anno che verrà.

Ecco quello che ci hanno risposto

Chi abbiamo sentito

Richard StallmanIl padre di GNU ha realizzato

la licenza GPL che consente

di mantenere libero il Free

Software. Ha anche scritto GCC,

che ci permette di compilare

il software per il kernel Linux.

Gaël DuvalHa realizzato Mandrake Linux,

la prima distro GNU/Linux

che considera la facilità d’uso

una caratteristica fondamentale.

Con Ulteo sta portando il sistema

operativo in una nuova direzione.

Damien ConwayUno dei fondatori della community

Perl, ha realizzato Perl 6

ed è quindi responsabile

del collante che tiene insieme

Internet. I blog dei gattini

non esisterebbero senza di lui.

Ciarán O’RiordanHa combattuto contro i brevetti

a Bruxelles con il suo progetto

“Fermate i brevetti sul software”.

Anche se vivete fuori dall’Unione

Europea sta cercando di rendere

migliore la vostra vita.

Clement LefebvreIn quanto creatore di Linux Mint,

è probabilmente la persona che

è più in sintonia con le richieste

degli utenti del Software Libero.

Si occupa anche di Mate

e Cinnamon.

Stefano ZacchiroliIn quanto project leader

di Debian GNU/Linux guida

la distro più libera di tutte.

Di certo non rinuncerà mai

ai suoi principi e soprattutto

sarà sempre disponibile.

Page 21: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 21/100

LINUX PRO 125 19

2013

Damien Conway: Secondo me il successoe la continua crescitadi Git e GitHub. Siala tecnologia che il sitoWeb sono attivi ormaida più di cinque anni,

ma l’ultimo anno è stato decisivo comediffusione, utilizzo e consapevolezza da partedell’intera community. Git non è solamente

uno dei migliori esempi di Software Libero,è soprattutto uno stimolo allo sviluppocollaborativo dei programmi.

Clement Lefebvre: Senza dubbioil progetto Mate.GNOME 2 è statol’ambiente desktoppiù utilizzato per la suasolidità e maturità,

inoltre integra i migliori strumenti per la stampa,la comunicazione di rete e la comunicazioneonline. È la degna conclusione di anni di lavoro,

di miglioramenti e di integrazione di componentidi terze parti, applet e temi. Essere riuscitia non farlo sparire e portarlo avanti sottoun nuovo nome rappresenta il migliore successodel 2012. Dobbiamo riconoscere al teamMate il merito di essere riusciti a gestirne consuccesso il mantenimento. Io personalmentesono coinvolto con Cinnamon, uno dei progettipiù interessanti e che stanno riscuotendoun buon successo di pubblico, come stannofacendo Canonical con Unity e GNOME conShell. Ci stiamo divertendo molto a realizzarenuove e grandi tecnologie. Si parla moltosui forum, su IRC e sui giornali di questi nuovi

ambienti desktop che si rivolgono però a unaminoranza di entusiasti di GNU/Linux che amanoprovare le novità anche quando non sonoancora a punto. Dall’altra parte ci sono moltiutenti che non vogliono aggiornare il lorosistema in continuazione, non seguono i blogcon le novità e non capiscono perché qualcosache funzionava bene come GNOME 2 non deveessere più disponibile. Mate è la testimonianzadi cosa significhi veramente Software Libero:

ci siamo trovati nella situazione in cui il piùpopolare tra gli ambienti desktop GNU/Linuxnon veniva più supportato dagli stessisviluppatori. Essendo però distribuito con licenzaGPL, altri sviluppatori della communityGNU/Linux hanno formato un gruppo in gradodi continuarne lo sviluppo. Si tratta del migliorriconoscimento a un sistema che non soloè libero, ma che può venire modificatoe ridistribuito liberamente, permettendoglicosì di continuare a vivere anche senzagli sviluppatori originali.

Gaël Duval: Nel 2012

sono successe cosemolto importantie probabilmenteuna delle piùimportanti è ladefinitiva accettazione

del modello Open Source da parte delleaziende IT. L’Open Source è ormai presenteovunque e non ci sono più le paure,le incertezze e i dubbi che erano normalisolo qualche anno fa. Comunque un fattoimportante è sicuramente la riorganizzazionedi Mandriva Linux e la creazione dellaOpenMandriva Foundation. Stanno

succedendo molte cose, cambiamentiprofondi che meritano una presenzaancora maggiore nel mondo IT.

Stefano Zacchiroli: Citerò qualcosadi sicuramentecontroverso comela guerra sui brevettitra Apple e Samsung.

I brevetti sul software continuano a essereuna minaccia al Software Libero, specialmentein nazioni come gli USA ma anche altrove,pur se in maniera minore. Sono convinto che

quello che dobbiamo assolutamente impedireè una guerra senza fine tra i maggiori

protagonisti dell’IT sui brevetti. Alla finetutti si renderanno conto (e qualcunogià lo ha fatto) che una guerra suibrevetti è controproducente per tuttie chiederanno una riforma. L’escalationprovocata dalla guerra Apple-Samsungrappresenta probabilmente un puntodi non ritorno, dobbiamo solo sperareche la riforma dei brevetti non sia peggiodi quello che abbiamo oggi. Semprea questo riguardo, mi è piaciuto leggerei pareri di molti importanti economistiche affermano che i brevetti nonpromuovono l’innovazione e che sono

stati ripresi dai media negli USAe praticamente in tutto il mondo.

Damien ConwayLXP Perché pensi che Perl abbia tanti

ardenti sostenitori?

DC Credo che ci siano diversi motivi. Primadi tutto il particolare design del linguaggiodi programmazione: se sei uno sviluppatorein sintonia con il modo in cui Perl funziona,allora Perl funzionerà al massimo per te.Questa potrebbe sembrare un’affermazionescontata, ma è molto importante. Gli altrilinguaggi di programmazione ti richiedonodi adeguarti al loro modo di funzionare, Perlfunziona nel modo in cui molti sviluppatoripensano. Inoltre, ancora più importante,Perl è un linguaggio di programmazionenato per le community. La migliorecaratteristica di Perl non riguarda eventualivantaggi tecnici, ma il modo in cui lacomunità mondiale interviene mettendoa disposizione degli sviluppatori risorseimportanti. Il CPAN (ComprehensivePerl Archive Network), offre un enormerepository di Software Libero già testato

su decine di piattaforme, e con molte partigià sperimentate e commentate da chile ha usate in prima persona. Il sistemadi controllo universale dei bug delledistribuzioni da parte del CPAN offreulteriori strumenti per gestire la qualitàdi questa importante risorsa. Esistonopoi siti Web di tipo collaborativo gestitidirettamente dalla community comeperlmongs.org e learn.perl.org, canali IRC,mailing list e movimenti di base come YAPCe OSDC che offrono un network di supportoliberamente disponibile per ognisviluppatore Perl del pianeta.

Quali sono le cose migliori capitate

al Software Libero nel corso del 2012?

Mate è una zattera di salvataggio per tuttiquegli utenti GNOME che non voglionoperdere il loro ambiente desktop preferito

Page 22: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 22/100

20  LINUX PRO 125

2013

DC: Java, senza dubbio.

Anche se ne apprezzo

il linguaggioe l’ecosistema, odio

la politica, il passaggio

di denaro e la

mancanza dei controlli

di qualità e sicurezza che lo stanno rendendo

incompatibile con molte piattaforme.

CL: Per me il maggior

“fail” è stato SCO.

Vorrei poi commentare

gli interventi di Miguel

de Icaza su Linus

Torvalds, il desktop

di Linux e Mac OS X:

ho molto rispetto per quello che ha fatto Miguel,

ma ogni volta che il mio iPhone non si sincronizza

con il mio sistema operativo perché Apple ha

fatto in modo che si sincronizzasse solo con

iTunes, allora non penso che sia il PC a essere

fatto male ma l’iPhone. Non sono d’accordo

nemmeno con il pensiero che Linux dovrebbe

ispirarsi per le interfacce desktop a Mac OS e iOS.

A me non piacerebbe lavorare con questi sistemi

e non penso nemmeno che stiano facendo un

buon lavoro, almeno non per la nostra community.

L’altro grande “fail” risale all’annuncio di Flash

come protocollo esclusivo per Chromium. Spero

che YouTube diventi pienamente compatibile con

HTML5 prima che Google riesca a fare sparire

Firefox dai nostri desktop.

Richard Stallman: 

A mio parere il termine

“fail” non riesce

a rendere l’insieme di

controlli e pubblicità che

l’ultima distro di Ubuntu

GNU/Linux ci obbliga

a subire. E non si tratta di un errore, ma di una

scelta deliberata: ogni volta che all’interno

di Ubuntu fate una ricerca i vostri dati vengonotrasferiti a Canonical, la quale, senza tenere

in considerazione la vostra privacy, vi fa mandare

pubblicità mirate da parte di Amazon. Per

conoscere i motivi che non dovrebbero spingervi

ad acquistare da Amazon potrete leggere qui:

http://stallman.org/amazon.html.

Gli sviluppatori del Software Libero normalmente

non inseriscono funzioni di controllo nei loro

programmi. Sanno che nel momento in cui

lo facessero gli utenti li abbandonerebbero per

passare ad altro software “pulito”. Il fatto che

Canonical ci abbia provato significa che si fida

talmente della propria influenza da non prendere

in considerazione questo rischio. Ed è proprioper questo motivo che dovremmo dimostrarle

che sta sbagliando a sottovalutare l’Open Source.

GD: Non sono molto

soddisfatto di come sia

diventato Android/Linux

per molte ragioni. Mi

sembra che sia ormai

legato solo ai profitti,

non all’innovazione e che

la parte Linux resti sempre più in secondo piano.

CO’R: Si tratta più di una

battuta d’arresto che

di un “fail” vero e proprio,

ma ritengo che

il “Restricted boot”

di Microsoft sia l’elemento

più negativo del 2012.

Smartphone e PC non sbloccabili rappresentano

la principale minaccia per l’Open Source.

SZ: Secure Boot

di Microsoft. Si trattadi una scelta che ha colto

di sorpresa il mondo del

Software Libero e che

si sta trasformando in una

situazione che, comunque

la si veda, farà dei danni molto seri. Da una parte

non si può negare che il rischio dell’inserimento

di un malware prima del boot esiste. Dall’altra

si tratta di una mossa che riflette la forza dei

produttori di hardware. O si è una delle poche

software house in grado di convincere i produttori

a fornire le chiavi necessarie all’inserimento del

proprio codice, oppure sarà necessario richiedere

il permesso per abilitare le immagini di booto ancora chiedere ai propri utenti di farsi carico

di una scomoda procedura di “firma” del software.

Qual è stato il principale “fail” del 2012?

Clement LefebvreLXP Tutti questi cambiamenti nelle release

dei desktop ti hanno fatto cambiare idea

sulla direzione presa dal Software Libero?

Pensi, per esempio, che ci sia troppa scelta?

CL Non c’è mai troppa scelta. Chi pensa che

Mate, Xfce, LXDE, KDE, Canonical, GNOMEe Linux Mint possano convivere all’interno di uno

stesso desktop non ha capito niente di sviluppo

del software. Questi progetti sono resi possibili

da sviluppatori appassionati a cui piace quello

che stanno facendo e hanno una propria visione

in testa. Se lavorassero insieme su un progetto,

che nessuno considera veramente suo, alla fine

non ne uscirebbe niente di buono. Non è un

segreto per nessuno che il gruppo di GNOME

considera Mate una piattaforma obsoleta e poco

interessante. Come è anche chiaro che Canonical

e Linux Mint non condividono l’idea di GNOME

di come dovrebbe essere un’interfaccia grafica.

Se provate a guardarvi intorno scoprirete che gli

utenti Cinnamon amano Cinnamon, quelli Unity

amano Unity, quelli Mate preferiscono Mate, quelli

KDE scelgono KDE e così via… Ma proprio questo

è il vantaggio del Software Libero e di tutti

i progetti in corso in questo momento. Nessuno

di voi si metterebbe in testa di convincere i propri

vicini di casa ad acquistare una stessa automobile

o di scrivere a tutti i produttori di auto pregandoli

di accordarsi in modo da evitare sprechi con

la realizzazione di modelli troppo simili tra loro.

In realtà gli sviluppatori non sono macchine che

possono essere guidate a nostro piacimento.

Questo non è sviluppo. Per realizzare un progetto

che funziona serve la passione, ci si deve

appassionare a quello che si sta facendo e quinditrasferire il proprio piacere anche agli utenti.

L’accordo tra Canonical e Ubuntu per inviare pubblicità agli utenti non è piaciuto per nientea Richard Stallman. Temete la sua ira e tremate, o abitanti di Ubuntulandia

Page 23: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 23/100

LINUX PRO 125 21

2013

GD: Ritengo che nel

2013 assisteremo

a molte interessanti

novità. Ogni secondo

che passa ci sono

sempre più persone

sul pianeta e vediamo

passare davanti ai nostri occhi avvenimenti sempre

nuovi, buoni o cattivi che siano. Nel settore

dell’IT stanno accadendo cose incredibili

come l’Internet veloce, l’archiviazione online,

PC che costano pochi euro come Raspberry Pi

e sono in grado di far girare molte e importantiapplicazioni. Per non parlare dell’importanza

dei tag RFID e delle stampanti 3D: il mondo

si sta affollando sempre più di oggetti connessi

e intelligenti.

RS: Già sappiamo

che c’è un disastro

incombente: arriveranno

infatti computer in grado

di funzionare solo

con Windows

e che non

vi permetteranno di installare distro GNU/Linux.

A mio parere dovreste impegnarvi per farpassare negli USA e nel resto del mondo

una legge che lo impedisca. Non c’è alcuna

ragione per cui a delle aziende dovrebbe

essere consentito di avere il monopolio

in una questione così delicata.

DC: Non sarò certamente

obiettivo, ma dico Perl.

Ci aspetta un anno

importante con

significativi aggiornamenti

a Perl 5 e 6. Perl 5

avrà un protocollo

meta-object, liste di parametri per le subroutine(finalmente!) e significativi miglioramenti sia

all’interprete che al debugger integrato. Senza

dimenticare che nuovi moduli, librerie e framework

Perl continuano ad apparire su CPAN a un ritmo

sempre sostenuto. Anche Perl 6 continuerà

a crescere sia in termini di diffusione che di usabilità,

con miglioramenti nella performance e sempre

nuove funzioni nei compiler. Allo stesso tempo

saranno disponibili nuovi software e librerie.

CL: Nel 2013 avremoun sacco di novità

interessanti e anche noi

offriremo la nostra quota

di innovazione, anche

se il mio auspicio per

l’anno nuovo rimane

fondamentalmente quello di crescere e di evitare

passi indietro. Se ci voltiamo a guardare quello che

è successo negli ultimi anni ci accorgiamo che tutto

ha funzionato al meglio e che noi abbiamo potuto

costruire sopra l’esistente. Oggi una nuova release

è il risultato di molto lavoro di integrazione in modo

da assicurarci che i vari componenti lavorino bene

insieme. La diversità e la popolarità di molti nuovidesktop è sicuramente positiva per Linux, ma rende

più difficile evitare regressioni. In questo momento

ci sono sicuramente molte innovazioni nei desktop

di Linux e non solo per quello che riguarda

l’ambiente, ma anche con le app di terze parti.

Si tratta di un aspetto importante ma è

ugualmente fondamentale non buttare via quello

che funziona non appena arriva qualcosa di nuovo

e magari graficamente più interessante. Possiamo

goderci entrambi gli aspetti evitando che il “nuovo”

entri in conflitto con il “vecchio”, ma facendoin modo che si integrino con successo.

SZ: Ancora non posso

sapere se assisteremo

a qualcosa di

straordinario nel corso

del 2013, ho solo

qualche preoccupazione

per quanto riguarda

l’uso del cloud che sarà sempre più diffuso e sul

quale avremo ancora meno controllo. Penso però

che qualcosa stia cambiando per il meglio grazie

alle sempre crescenti preoccupazioni per la

privacy che nel corso del 2012 hanno avutouna forte eco anche nei mass media. Sempre

più persone, anche non geek, iniziano a chiedersi

che cosa ne è dei loro dati e anche che tipo

di codice viene usato per gestirli. Si tratta di un

cambiamento culturale che dobbiamo cavalcare

anche all’interno dell’ambiente del Software

Libero, altrimenti rischiamo di conquistare il settore

dei desktop per poi accorgerci che la maggior

parte delle persone si è spostata sulla nuvola dove

il software non è libero e dove i dati non sono più

controllabili dalle persone. Il 2013 sarà un anno

decisivo da questo punto di vista. O riusciremo

a convincere gli utenti dei rischi che corrono

e a fornire delle alternative reali o saremocondannati. E per quanto riguarda Debian?

Beh, mi aspetto grandi cose da Wheezy! LXP

Quale sarà il più importante sviluppodel 2013 per il Software Libero?

Greg Kroah-Hartman Gaël DuvalLXP Cosa ci aspetta nello sviluppo del kernel

nell'immediato futuro?

GKH Un miglioramento costante, nuove caratteristiche

e la compatibilità con tutto l’hardware prodotto

nel 2013. Linux potrà così ulteriormente diffondersi

in tutto il mondo. In pratica quello che sta succedendo

ormai da 21 anni.

LXP Avresti potuto sviluppare Ulteo usando altri

modelli? Cosa ne pensano gli investitori su di un

possibile impiego di denaro sul Software Libero?

GD Ulteo riceve indubbi vantaggi dal mondo dell’Open

Source, anche nel mercato corporate con cui siamo in

trattative. E il mondo dell’Open Source è generalmente

un impulso per chi investe, specialmente in Europa.

Gli esperti sono tutti d’accordo: la funzione Secure Boot di Windows 8 è pessima per Linux,per gli utenti e più in generale per il Software Libero. Speriamo che il 2013 ci portiuna soluzione definitiva a questo pesante problema

Page 24: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 24/100

Razor-qt

Gli appassionati di GNOME hanno avuto

vita facile ultimamente. “Cosa?”

griderete. “Gli utenti di GNOME hanno

avuto un periodo terribile ultimamente.

Gli appassionati del vecchio ambiente sono stati

sconcertati dalla radicale revisione dell’interfaccia

e i sostenitori di GNOME 3 sono stati oggetto

di continui insulti”. Queste parole sono vere.Ma, vedete, questi utenti di GNOME che

amavano la vecchia grafica 2.x e odiano

quella nuova hanno avuto una via

di fuga quando GNOME 3 è uscito:

potevano passare a Xfce.

Lì, trovavano un ambiente maturo, pieno

di funzioni, basato su Gtk , simile allo

GNOME 2 che conoscevano e amavano,

sebbene con qualche differenza. Oppure

potevano provare LXDE, un altro ambiente

basato su Gtk. Perciò la (incredibilmente

fantastica/estremamente ridicola, cancellate

quello che credete) decisione del team GNOME

non ha causato la fine del mondo. Pensate agliappassionati di KDE che si sentivano a proprio

Razor-qtL’alternativa leggera a KDE

Circola un nuovo ambiente amicodella memoria e sta dando al teamdi KDE qualcosa su cui riflettere.Linux Pro vi spiega tutto...

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

che ha stracciato molto del codice di base e ha

implementato alcune funzioni chiave, questi

utenti di KDE non avevano dove andare. Non

c’era alcuna soluzione omologa di ripiego, nessun

ambiente simile basato su Qt  dove potessero

eseguire tutte e loro applicazioni Qt e KDE

preferite senza usare l’ambiente stesso (certo,si può eseguire quasi ogni programma Linux su

qualsiasi ambiente o gestore di finestre, ma ci

siamo capiti. Le applicazioni Gtk appaiono e sono

eseguite meglio in un ambiente Gtk/GNOME e le

applicazioni Qt si sentono più a casa in Qt/KDE).

Quindi c’è stato un grande vuoto nella sequenza

di ambienti Linux per quelli che amanole applicazioni Qt di alto livello come Scribus 

e VLC ma vogliono qualcosa un po’ più leggero

e semplice della imponente bestia che è KDE.

Fino a oggi: ora è pronto a entrare in scena

Razor-qt  (www.razor-qt.org). Autodescritto

come “ambiente grafico avanzato, facile da usare

e veloce basato su tecnologie Qt”, Razor-qt

è ancora in fase di sviluppo, essendo l’ultima

versione, nel momento in cui scriviamo, la 0.5.1.Ciononostante, è già pieno di funzioni

e abbastanza solido

da essere usato come

ambiente a tempo pieno.

Soprattutto, rispetto a KDE,

è molto più leggero sui

banchi RAM. Guardate

queste statistiche dell’utilizzo

della RAM in Kubuntu 11.10 dopo l’avvio:

Con KDE caricato: 315 MB

Con Razor-qt caricato: 126 MB

Quindi, solo cambiando l’ambiente grafico

si risparmiano circa 200 MB di RAM.

Razor-qt è anche più semplice e facileda utilizzare di KDE.

22  LINUX PRO 125

“È pieno di funzioni e abbastanzasolido da essere usato comeambiente a tempo pieno”

Page 25: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 25/100

Razor-qt

Poiché Razor-qt è un progetto piuttostonuovo, molte distribuzioni non lo hanno

ancora nei loro archivi di pacchetti.

Tuttavia, vale la pena dare prima un’occhiata,

poiché usare i pacchetti nativi della vostra

distribuzione è sempre il modo più facile

di iniziare. Come per altri ambienti grafici,

Razor-qt comprende diversi pacchetti, ma ci

dovrebbe essere un singolo razor-qt  base o meta

pacchetto che richiama il resto. Se state usando

Ubuntu potete installare l’interfaccia tramite

un PPA, cioè un Personal Package Archive

(archivio di pacchetti personalizzato) separato

dagli archivi ufficiali, ma che è tuttavia una

buona fonte di pacchetti affidabili e ben provati.Ci sono pacchetti per molte versioni recenti

di Ubuntu, che vanno indietro fino alla 10.04.

Perciò, se avete una vecchia macchina che

esegue una versione di Ubuntu d’epoca del

2010 e volete dargli un’accelerazione, potete

equipaggiarla con Razor-qt molto facilmente.Per installare su Ubuntu, inserite questi comandi

in una finestra del terminale:

 sudo add-apt-repository ppa:razor-qt sudo

apt-get update sudo apt-get install razorqt

Il primo comando indica a Ubuntu che vokete

usare i pacchetti dall’archivio proprio di Razor-qt.

Poi aggiornate l’elenco di pacchetti archiviato

localmente e scaricate i file di Razor-qt. Se state

eseguendo Kubuntu, per esempio, avete già

installate la maggior parte delle dipendenze

come Qt, quindi scaricherete circa 15 MB.

Se state usando, invece, una distribuzione

non Qt, come Ubuntu di base, vi sarà chiesto

di scaricare ulteriori dipendenze. Se aveteinstallato Fedora, CentOS o OpenSUSE, invece,

potete trovare gli archivi qui: http://download.

opensuse.org/repositories/X11:/QtDesktop.

Per ulteriori istruzioni e informazioni

relativamente alle altre distribuzioni, leggete

www.razor-qt.org/install. Se non avetefortuna nel farlo funzionare sulla distribuzione

che avete scelto, potete provare una delle distro

Live scaricabili dall’URL http://razor-qt.org/

install/live.php. Poi, naturalmente, c’è la strada

che prevede la compilazione dei sorgenti come

assolutamente ultima risorsa (o un po’

di divertimento se vi piace fare queste cose).

Il wiki Razor-qt GitHub su http://tinyurl.com/

cd4lgrc ha molte informazioni, compreso

un utile collegamento all’elenco delle

dipendenze. Una volta che avete installato

l’interfaccia, disconnettetevi dalla sessione

corrente e dovreste essere in grado di scegliere

Razor-qt dalla schermata di accesso. Dopo pochisecondi (si avvia in maniera

estremamente veloce in

confronto a KDE e GNOME)

vedrete lo spazio di lavoro,

perciò esploriamolo...

Approntare Razor-qt nel vostro PC non dovrebbe essere difficile

DesktopIn modo predefinito, potreste

non vedere niente qui (se non

avete niente nella vostracartella ~/Desktop), perché

Razor-qt ha un modo piuttosto

insolito di dividere lo spazio di

lavoro. Potete dedicare delle

aree alla visualizzazione dei

widget, uno dei quali può

essere una vista di una cartella,

in questa schermata è la nostra

cartella home. Vi mostreremo

come personalizzarla più avanti.

PannelloLa disposizione del pannello

è piuttosto tipica: all'estrema

sinistra avete il menu principale

per lanciare le applicazioni,

seguito da un commutatore

di spazi di lavoro virtuali. Poi

c'è un'area destinata all'avvio

rapido delle applicazioni usate

più di frequente, seguita

da un'area per passare tra le

app in esecuzione All'estrema

destra, vedrete un vassoio di

sistema e un orologio. Potete

cambiare la dimensione

e la lunghezza del pannello

cliccando con il tasto destro su

di un punto vuoto e scegliendo

Configura; per spostarlacliccate con il destro e andate

nel sottomenu Posizione.

ConfigurazioneSono incluse una manciata di piccole

utilità, che potete trovare tramiteil menu principale in Preferenze 

D Razor-qt settings. Per esempio,

potete scegliere se le cartelle

si devono aprire con un click singolo

o doppio e permettere al gestoredi finestre di avere il controllo

completo dello spazio di lavoro.

Razor-qt non comprende

un suo gestore di finestre,

ma funziona benecon KWin e Openbox.

Esplorare l'interfaccia

LINUX PRO 125 23

Page 26: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 26/100

Razor-qt

Anche se le impostazioni predefinite di Razor-qtsono abbastanza buone per il lavoro di tutti

i giorni, vi consigliamo senza dubbio

di ottimizzarlo alla perfezione. Iniziamo con lo spazio

di lavoro: come già detto, è diviso in aree, nelle quali

potete mettere widget (o plug-in come sono chiamati

qui). Fate click con il tasto destro su di un punto vuoto

dello spazio di lavoro e selezionate Unlock Desktop 

dal menu a comparsa. Questo commuta tutto alla

modalità modifica, come reso evidente dalla grande

scritta che appare sullo sfondo (guardate la schermata).

Nella configurazione predefinita Razor-qt ha due

pannelli: quello a sinistra è una vista dell’organizzazione

dei file che punta alla cartella ~/Desktop, mentre

quello a destra è un orologio. Questi sono entrambiconfigurabili tramite menu contestuali da tasto destro.

Fate click destro sulla vista dei file, per esempio,

e poi su Configure Plugin. Ora sarete in grado

di scegliere la cartella il cui contenuto deve essere

mostrato nel pannello. Questa piccola funzione

è splendidamente utile, perché se avete molto spazio

sullo schermo potete destinarne una parte ai vostri file

musicali, una alla vostra raccolta di foto, una ai vostri file

di lavoro importanti e così via. Questa flessibilità nello

spazio di lavoro, in un primo stadio di sviluppo, ci rende

veramente impazienti di vedere cosa verrà dopo.

Al di fuori della vista dei file e dell’orologio, non ci sono

molte altre estensioni di cui parlare al momento,

ma ci aspettiamo di vederne di più nelle future versioni.Una volta che avete finito di configurare, fate click

destro di nuovo in una parte vuota dello spazio di lavoro

e disattivate la casella Lock Desktop. Notate

che tramite questo menu contestuale potete anche

cambiare lo sfondo dello spazio di lavoro.

Giocare con il pannelloTutti gli elementi del pannello possono essere risistemati.

Premete il tasto destro del mouse in un’area vuota

del pannello e nel menu a comparsa andate

in Aggiungi plugin. Lì vedrete un elenco degli elementi

del pannello e potrete spostare o cancellare ciascuno

di essi. Per molte delle estensioni vedrete anche delle

ulteriori opzioni di configurazione, per esempio, nelmenu dell’estensione Gestore dei processi potete

richiamare una casella per configurare com’è mostrata

(cioè con Icone e testo o Solo icone). Aggiungere nuovielementi al pannello è semplice. Fate click destro in uno

spazio vuoto e andate in Aggiungi plugin. Lì vedrete

un elenco di estensioni disponibili con le loro descrizioni.

Aggiungere un pulsante di Avvio rapido è un po’ più

complicato, però, perché non appena fate click su

Aggiungi pulsante, probabilmente non vedrete alcuna

modifica al pannello. Potreste anche essere perdonati

per aver pensato che questa funzione non sia attiva in

questa versione... Ma quello che accade veramente

è che viene aggiunto un minuscolo spazio di tre pixel

alla parte sinistra del pannello vicino al pulsante

del Menu principale (che si è ora spostato un po’

a destra). Questo è il vostro nuovo pulsante di Avvio

rapido, ma ci sarà da divertirsi se provate a fare clickdestro su di esso. Per trasformarlo in un pulsante

utilizzabile, aprite il menu principale, trovate

l’applicazione che volete e poi trascinate la sua icona

in quel minuscolo spazio che avete appena creato.

Allora, magicamente diventerà più grande e funzionale.

Ci piace l’aspetto trascina-e-rilascia di questo, ma

sarebbe molto meglio se il pulsante Avvio rapido vuoto

avesse un punto interrogativo o qualcos’altro per attirare

l’attenzione. Sotto Menu principale D Preferenze D 

Razor-qt settings D Strumento di configurazione

della sessione di Razor troverete un pannello di

configurazione che vi permette di selezionare un gestore

di finestre diverso (se ne avete uno installato) e scegliere

quali moduli saranno lanciati all’avvio del sistema. Poteteanche ridefinire le applicazioni predefinite da usare per

navigare il Web e il terminale. Al momento, Razor-qt

non ha molte applicazioni proprie (sebbene possano

essere in arrivo, guardate il riquadro sugli sviluppatori),perciò dovrete prelevarne alcune. Ci sono due modi

di farlo. Se la vostra macchina ha un sacco di memoria,

le prestazioni non sono un problema e state

semplicemente eseguendo Razor-qt perché non

vi piace KDE, allora potete selezionare le applicazioni

di KDE come insieme di strumenti predefinito.

Cioè, potete usare KWrite come elaboratore di testi

principale, Konsole come emulatore di terminale e così

via. In questo modo avete un gruppo di applicazioni

dall’aspetto simile, senza il vasto insieme di funzioni

di KDE a complicare le cose. Tuttavia, se state

eseguendo Razor-qt per allontanarvi completamente

dalle bizzarrie succhia-memoria, vi consigliamo anche

di evitare i programmi di KDE, perché perfino il piùleggero di essi può avviare dietro le quinte un gruppo

di servizi collegati a KDE. Un approccio migliore

in questo caso è trovare applicazioni solo Qt,

cioè programmi che si basano solo sul toolkit

e non sull’intero pacchetto dell’ambiente grafico.

Qui ci sono le nostre raccomandazioni:

∆ Gestore di file: qtFM (www.qtfm.org)

∆ Terminale: qterminal

(https://github.com/qterminal )

∆ Elaboratore di testi: JuffEd

(http://www.juffed.com)

∆ Browser: QupZilla (www.qupzilla.com)

∆ Messaggistica istantanea: qutIM

(www.qutim.org)∆ Riproduttore musicale: Qmmp

(http://qmmp.ylosftware.com ).

Leggero sì, ma comunque configurabile

Attivando la modalità Modifica potete ridimensionare a volontà le aree sullo spazio di lavoroche sono associate ai widget presenti nella scrivania

Volete cambiare gestore delle finestre? Guardateil pannello Configurazione della sessione

24  LINUX PRO 12524  LINUX PRO 125

Page 27: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 27/100

Razor-qt

Peter Vanek (PV) e Alexander Sokoloff (AS) sonoi due sviluppatori principali dell’ambiente grafico.Noi li abbiamo raggiunti per scoprire com’è nato

il progetto e quali sorprese ci dobbiamo aspettare.

LXP: Da dov’è venuta l’idea di Razor-qt?

Eravate scontenti della direzione che stava

prendendo KDE o del suo utilizzo della

memoria o è stato semplicemente

per togliersi uno sfizio?

PV: Io prima usavo solo Openbox sulla miamacchina in ufficio (KDE a casa) ed ero alquantosoddisfatto. Ma ho dovuto espandere Openboxcon vari componenti di terze parti. Inoltre, lavoro

solo con un piccolo insieme di strumenti nel miolavoro e la maggior parte di queste applicazionisono basate su Qt, perciò ero interessatoa trovare una soluzione basata su questo toolkit.Ho provato vari approcci storici (il gestoredi finestre Antico, Antico-deluxe e altri derivati)ma erano tutti poco utilizzabili o non compilabili.Poi ho trovato il vecchio codice di Razor-qt.Era rudimentale ma non gonfiato dalla grafica.Sembra che più persone stiano cercandoqualcosa di simile. Non mi piace paragonareRazor-qt a KDE. Penso ancora che KDE siail miglior ambiente grafico. Suggerisco allepersone di usarlo. Ma, tuttavia, vedo alcune aree

in cui non è adatto. Razor-qt è un’alternativa.AS: Gli utenti nel mondo Gtk hanno parecchiealternative a GNOME. Gli utenti di KDE non neavevano. Abbiamo deciso di mettere le cose a posto.LXP: State progettando di creare

componenti internamente, come un gestore

di finestre e un gestore di file?

PV: Io sono pigro e penso che sia una dellemie migliori caratteristiche. Sono d’accordo,inoltre, con la strategia “dividi e conquista”, perciòquando posso trovare qualche soluzione esternaper qualsiasi problema vorrei usarla. Oggi siamoin stretto contatto con vari progetti esternie discutiamo funzioni e soluzioni. È sempre

meglio avere un gruppo o uno sviluppatorededicato a un’applicazione specializzataper le nostre risorse limitate. Alcune applicazioni“di base” come Andromeda, JuffEd , Qterminal,Qupzilla sono esaminate con Razor-qte i problemi sono sistemati nei posti appropriati(compresi Qt, X11, strumenti XDG ecc.).

LXP: Quanto lontano pensate di spingervi

con le librerie di Razor-qt? Sono indirizzatesolo alle persone che scrivono estensioni

e componenti o prevedete applicazioni

di Razor-qt complete?

PV: Ne abbiamo parlato molte volte. Al momentonon vogliamo sviluppare applicazioni per Razoreccetto gli strumenti relativi all’ambiente. Peresempio, per me non ha molto senso sviluppareun elaboratore di testo con grandi dipendenzeda Razor perché Qt è multipiattaformaper natura. D’altra parte, posso immaginareun’interfaccia del gestore della rete cheusi le librerie di Razor, perché risolverebbei problemi del solo Razor. Comunque, qualsiasi

roba potenzialmente utile per l’uso pubblico chefacciamo è distribuita come libreria o pacchettoseparato, per esempio la libreria QtXDG.AS: I toolkit dividono il mondo Linux. Abbiamomolte applicazioni che sono come gemelli. Sonosimili e al contempo differenti solo a causa deltoolkit che usano. Noi non vogliamo aumentare

l’entropia, perciò le librerie di Razor-qt

non sono un toolkit per le applicazionidi terze parti ora.LXP: Quali sono i progetti per le prossime

 versioni e avete delle scadenze per la 1.0?

PV: “Quando sarà pronta”. È un progetto ancoramolto giovane. Modifichiamo ancora alcune partiinterne fondamentali. D’altra parte, Razor-qtsoddisfa i miei bisogni personali ora. Ma capiscoche altre persone abbiano aspettative più grandi.LXP: Di quale aiuto avete più bisogno

in questo momento, cosa possono fare

i nostri lettori per essere coinvolti?

PV: Qualsiasi aiuto sarebbe gradito. Sembrache stiamo affrontando una situazione

più insolita di quella degli altri progetti OpenSource. Abbiamo molti traduttori, molti creatoridi pacchetti, utenti. Ma ci manca la potenza-sviluppo. Certo, abbiamo gli sviluppatori principalie grandi contributori, ma qualsiasi nuova manod’aiuto sarebbe gradita. Ricordate: programmareper un progetto giovane è divertente. LXP

Il duo dietro Razor-qt presenta la propria visione

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

nell'immagine, in Ubuntu), una schermata di accesso leggera

Sviluppatori, sviluppatori, sviluppatori

Se scrivete software in Qt, non dovrete fare moltoper assicurarvi che i vostri programmi si adattinobene all’ambiente grafico. Comunque, c’è una libreriadisponibile per aggiungere alcune funzioni specifiche

di Razor-qt alla vostra applicazione, migliorandonel’integrazione. Potete trovare un elenco delle classi

API su http://razor-qt.org/develop/docs/classes.html,la maggior parte delle funzioni sono per gli sviluppatoriche scrivono estensioni del pannello. Guardatehttp://tinyurl.com/92bsa58 per una breve guida

che mostra come implementare una semplice estensione“Hello world”. Non c’è molta attività in termini

di estensioni del pannello di terze parti al momento,ma speriamo che più sviluppatori saliranno a bordoe avremo presto il meglio di entrambi i mondi:un ambiente grafico minimalista con bassi sovraccarichi

nel pacchetto fondamentale, con molte funzionalitàdisponibili da altre fonti.

LINUX PRO 125 25

Page 28: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 28/100

Abbiamo già dedicato un paio di lunghi

articoli a Raspberry Pi, il computer

grande come una carta di creditodi cui tanto si parla in Rete, ma viste

le richieste che ci sono giunte in redazione

abbiamo realizzato questo articolo

con lo scopo di aiutare chi ha ricevuto

da poco la scheda o chi sta pensando

se acquistarla o meno. Raspberry Pi ha fatto

impazzire gli hobbisti di tutto il mondo come

non accadeva da tempo. La produzione

iniziale di 10.000 pezzi è andata esaurita

così velocemente che solo i più fortunati

e i fan più accaniti sono riusciti ad

aggiudicarsene un esemplare e anche ora le

schede vengono vendute non appena escono

dalla fabbrica. Questo non ci sorprende, vistoche per circa 33 Euro ottenete un computer

Linux completo con un processore ARM

e 512 MB di RAM (per le schede prodotto

dopo il 15 ottobre). Lo scopo del progetto è

quello di rivoluzionare il mondo dell’educazione

nelle scuole, ma è troppo presto per capire

se tale obiettivo verrà raggiunto. Ma una cosa

è sicura: il mondo dell’hacking hardware

amatoriale non sarà mai più lo stesso. Questi

piccoli ma funzionali sistemi sono perfetti perportare un po’ di capacità elaborativa in posti

inusuali dove lo spazio e l’elettricità sono

un plus. Sono andati nello spazio e sono stati

attrezzati per attraversare l’oceano, ma sono

stati usati anche per progetti casalinghi o per

pilotare macchine in remoto. In queste pagine

vi mostriamo alcuni dei possibili usi della

Raspberry Pi (RP d’ora in poi per brevità).

Grazie alla versatilità di GNU/Linux è facile

trasformare la RP in qualunque cosa,da un desktop a un media center

o un controller per l’hardware.

   P   o   t   e   n   z

   i   a   l

   a

   t   u   a   R   a   s   p    b

   e   r   r   y   P    i

Con il suo fidato saldatore, Linux

Pro vi mostra come ottenereil massimo dalla piccola scheda

26  LINUX PRO 125

Raspberry Pi

Page 29: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 29/100

+Questa è la distribuzioneraccomandata dalla FondazioneRaspberry Pi. A meno chenon abbiate una buona ragioneper usare altro, probabilmenteè l’opzione migliore. È basatasu Debian Wheezy, quindi poteteinstallare qualunque cosasi trovi negli enormi repositorydi Debian. L’ambiente desktopdi default è LXDE, molto leggero,ma un po’ troppo semplice peralcuni. Per chi vuole qualcosain più consigliamo Xfce.

In Raspbian trovate il toolraspi-config che probabilmenteè il modo più sempliceper configurare la vostra RP.Visto che la RP è stata pensataper avvicinare i più giovanialla programmazione, ancheRaspbian ha la stessa cosain mente. Troverete Idle(un IDE per Python) e Scratch(un ambiente di programmazioneper i più piccoli) sul desktop.È disponibile all’URLwww.raspberrypi.org.

La RP è stata progettata a scopoeducativo, ma gli hobbistisono stati velocissimi nel trovarlenuove funzioni. RaspBMCè pensata per trasformarela RP in un media centerda collegare alla TV e dacontrollare con il telecomandodel televisore. Si basa su XBMC,che vi consente di riprodurremusica e video che avetein locale, oppure di farestreaming da Internet.L’immagine del sistema

può essere scaricatada www.raspbmc.com .Per i dettagli sull’installazionee il setup, continuate a leggerequesto articolo. Se avetepronto un back-end MythTV,potete usare XBMC comefront-end. A secondadi cosa vorrete riprodurre,potreste dover acquistaredei pacchetti di codec cheforniscono accesso a formatiaudio/video che si appoggianoad algoritmi protetti da brevetti.

Mentre Raspbian è stata creatacercando di nascondereagli utenti il setup internodel sistema operativo, ArchLinux è progettata per aiutaregli utenti a capire come funzionail sistema. L’immagine iniziale,disponibile su www.

raspberrypi.org, includesolo il sistema base per farfunzionare la RP e farlaconnettere alla rete.Manca la maggior partedei programmi che di solito

si vogliono usare, ad esempioun ambiente desktop.Trovate tutte le informazioniche vi servono all'indirizzoWeb http://bit.ly/9APmgA.Partendo dallo stato inizialeci vuole un po’ di tempoper ottenere un sistema prontoall’uso, ma strada facendoimparerete per beneil funzionamento internodi una distro. Se lo sforzone valga la pena, dipendesolo dalla vostra volontà.

Una versione ufficiale di Androidper la RP è in fase di lavorazione(ufficiale nel senso cheè approvata dalla RaspberryPi Foundation). La fondazioneha fornito dei video di Androidin esecuzione ma al momentoin cui scriviamo non è disponibileper il download. Per eventualinews tenete sotto controllowww.raspberrypi.org.La comunità sta lavorandoa una versione non ufficiale,però. Le prestazioni non sono

eccelse comepromettonodi esserequelledella versioneufficiale, maè già disponibile(anche se glisviluppatorila descrivonocome “scarsamente usabile”).Controllate http://androidpi.

wikia.com/wiki/Android_ 

Pi_Wiki.

Come ci si può aspettare, esiste unadiscreta varietà di distro per la RPe ogni tanto sembra spuntarne una

nuova. In queste pagine vi illustreremo alcunedelle più popolari, assieme a qualche novità.In un computer normale l’installazionedi GNU/Linux avviene in modo diverso daquanto si fa con la RP. Visto che il sistemaoperativo per la RP funziona su una schedaSD, dovete scrivere il sistema operativo suquesto tipo di dispositivo. Il modo più semplicedi farlo da Linux è tramite il comando dd.Questo tool fa una copia bit-a-bit dei dati

tra un dispositivo e un file (o anche tra due fileo due dispositivi). Le distro sono fornite comefile immagine (simili alle ISO per i CD) chepossono essere scritte sulla SD, dopo esserestate decompresse se necessario, così: sudo dd if=<file-immagine> of=<dispositivo-sd>bs=4k 

 sudo syncIl secondo comando assicura l’esecuzionedella scrittura dei dati sulla SD (viene svuotatoil buffer di scrittura). Quindi, per esempio,nel nostro computer di test, con due hard disk(sda e sdb), il lettore SD si trova in /dev/sdc.

Se non siete sicuri di quale sia il dispositivousato dalla vostra scheda SD, digitate df -h nelterminale e vedrete un elenco dei dispositivi.Dovreste riconoscere qual è l’SD. Per fareil backup della configurazione della RP, potetesuccessivamente creare una nuova immagineinvertendo l’origine (if) e la destinazione (of)nel comando dd. Per esempio sudo dd if=<dispositivo-sd>of=<nuovo-file-immagine> bs=4k 

Questa immagine potrà poi essere compressacon gzip o bzip, quindi non occuperàmolto spazio di disco.

Raspbian

Guida alle distro

RaspBMC

Arch Linux

Android

LINUX PRO 125 27

Raspberry Pi

Page 30: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 30/100

Per la maggior parte degli utenti di RP,

Raspbian sarà l’interfaccia grafica di questo

computer. Potete ottenere l’immagine

e installarla su scheda SD come spiegato

nella pagina precedente. Una volta pronta,

è una buona idea aggiornare il software

presente collegando la RP a Internet,

aprendo un terminale e digitando

 sudo apt-get update

 sudo apt-get upgrade

Il tool chiave di Raspbian è raspi-config.

Partirà automaticamente al primo avvio,

ma potete anche richiamarlo in qualunque

momento da terminale digitando sudo

raspi-config. Presenta un buon numero

di opzioni, le più importanti delle quali sono:

∆ expand_rootfs Visto come si installa

su SD Raspbian, viene creato solo un

filesystem da 2 GB indipendentemente

dalla dimensione della scheda SD che usate.

Quindi, con una scheda più grande di 2 GB,

lo spazio rimanente non sarebbe ut ilizzabile.

Potete usare questa opzione per espandere

il filesystem in modo che occupi tutto

lo spazio disponibile.

∆ memory_split  La RP usa lo stesso blocco

di memoria sia per il processore principale

sia per il chip grafico. Usando questa opzione

potete cambiare la quantità di memoria

allocata ai due elementi.

∆ overscan Questa opzione può essere

usata con alcuni display per fare in modo

che la grafica occupi l’intero schermo.

Potete tranquillamente ignorarla

se non avete problemi.

∆ overclock  Ottenete il 50% di prestazioni

extra senza costi aggiuntivi! Guardate il box

in basso per maggiori dettagli.

∆ boot_behaviour Questa opzione dal

nome un po’ criptico cambia la modalità

di boot, grafica o testuale.

La quantità di software presente in Raspbian

è stata mantenuta al minimo indispensabile

o poco più. Questa è un’ottima idea,

ma usando la distro potreste sentire

la mancanza di qualcosa. Fortunatamente,

visto che Raspbian è legata ai repository

ARM di Debian, avete accesso a più

programmi di quanti possiate desiderare.

Se state usando un mouse, potreste voler

installare un gestore di pacchetti grafico:

vi raccomandiamo Synaptic. Per installarlo

digitate in un terminale

 sudo apt-get install synaptic

Potete aprirlo dal menu di LXDE D 

PreferencesD Synaptic Package Manager.

Ovviamente potete installare anche tutti

gli altri programmi che volete.

Raspbian

OverclockingIl processore al cuore della Raspberry Pi è progettato

per funzionare a 700 MHz. Questo vuol dire cheesegue 700.000.000 di operazioni al secondo.

Certo, “progettato per funzionare” non vuol dire

“deve funzionare”: potete incrementare quella

velocità. Facendolo, però, aumenterete i consumi

energetici e di conseguenza il calore generato. Se

la scheda si scalda troppo, rischiate di ritrovarvi con

un grumo di silicio piuttosto che con un processorefunzionante. Fortunatamente l’ultima versione di

Raspbian include un tool che vi aiuta ad aumentare

la velocità tenendo sotto controllo le temperature.

Visto che si tratta di uno strumento ufficiale, usandolo

non invaliderete la garanzia (diversamente da altrimetodi sorti in precedenza). Per overcloccare

la vostra RP non dovete fare altro che digitare sudo

raspi-config e selezionareOverclocking. Ci sono

alcune opzioni tra cui scegliere, in base a quanto

coraggiosi vi sentite. Se trovate che la vostra RP

diventa instabile, riavviate il sistema tenendo premuto

il tasto Shift per disabilitare l’overclocking e poi

cambiate le opzioni in raspi-config. L’impostazionepiù estrema dovrebbe darvi il 50% in più di

prestazioni: nelle nostre prove questo ha fatto

la differenza per quel che riguarda l’esperienza

desktop, soprattutto con la navigazione Web. Se

volete tenere sotto controllo la temperatura del core

potete aggiungere il relativo widget nel pannello

di LXDE. Comunque RP spegnerà automaticamentel’overclock al raggiungimento degli 85 gradi.

1   Trasformare una RP in un portatile: http://rpidock.blogspot.it 

2  Usare un Kindle come schermo: www.ponnuki.net/2012/09/kindleberry-pi

3  Trasformare RP in una sorta di supercomputer: http://bit.ly/OGBGfD

4  Controllare il vostro Arduino via Web: http://bit.ly/Xyjsld

5  Costruire un sintetizzatore: www.raspberrypi.org/archives/1878

6  Vagare nella notte remotamente: www.aonsquared.co.uk/the_dark_pi_rises

7  Controllare dei pannelli solari: http://bit.ly/MHwCHF

8  Conversare con uno straniero: www.willpowell.co.uk/blog/?p=219

9  Inviare un carico nello spazio: www.daveakerman.com/?p=592

10 Controllare una casa dal Web: http://bit.ly/WK1YCR

11 Birra fatta in casa: http://bit.ly/PSfdzr

12 Giocare con vecchi giochi: http://petrockblog.wordpress.com/retropie

13 Imparare a costruire un SO: www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os

14 Stampare foto: http://bit.ly/PvmWjF

L’overclocking aumenterà la quantitàd’energia consumata dalla RP, quindi

diventerà meno stabile se collegate diversidispositivi USB

Come tutte le buone distro, Raspbian include

una selezione di programmi per i "perditempo".

Nell'immagine vedete Squirrels  dei Pygames 

+

14 hack strabilianti

28  LINUX PRO 125

Raspberry Pi

Page 31: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 31/100

Potete installare un player multimedialecome VLC in Raspbian e usarlo perriprodurre musica e filmati. Questa soluzionepuò andare bene se usate RP come unnormale computer e ricorrete alle funzionimultimediali di tanto in tanto. Però, vistele ridotte dimensioni dell’hardware e il fattodi essere silenziosa, la RP è lo strumentoideale per costruire un centrod’intrattenimento multimediale. Potrestepartire da Raspbian e personalizzarlain base alle vostre necessità, e ciò va benese avete in mente un utilizzo pocotradizionale. Altrimenti, visto che comenoi di LXP probabilmente sarete un po’ pigri,sarebbe preferibile sfruttare il lavoro altruipiuttosto che fare uno sforzo in primapersona. Fortunatamente per noi e per voi,un gruppo di hacker si sono accollatile difficoltà legate alla costruzionedi un media center per la RP, creandoun’immagine scaricabile da tutti. Poteterecuperare l’installer da http://bit.ly/

PSFGIe, copiatelo nella RP (presumiamoche abbiate già installato Raspbian– in alternativa su www.raspbmc.com trovate altri modi per procurarvi RaspBMC)e poi avviatelo con sudo python install.pyper scaricare e impostare la distro.Il contenuto attuale della scheda SD verràrimpiazzato, quindi assicuratevi di avercopiato eventuali file utili prima di dareil comando. Quando l’installer ha terminato,riavviate il sistema. Noterete subito delledifferenze non appena partirà l’ambientegrafico. Questa distro usa come desktopil popolare media center XBMC, decisamentediverso da LXDE di Raspbian. Poteteriprodurre file multimediali locali, in rete,

su Internet (installando svariati add-on).

Potete aggiungere musica e filmati a XBMCcollegando un dispositivo USB, oppuremettendoli direttamente nella scheda SD viaFTP (nome utente pi, password raspberry).Più avanti vi diciamo come trovare l’indirizzoIP della RP. Forse le uniche configurazioninecessarie sono quelle relative alla lingua(se volete l’ambiente in italiano) e all’audio,per verificare che sia inviato nel posto giusto.Per impostare l’italiano andate in System D Settings D Appearance D International. Per l’audio andate in Sistema D Impostazioni D Sistema D Uscita

audio e impostate analogico o HDMI in base

a ciò che state usando. Tutto questo va bene,ma è un po’ scomodo da usare con mousee tastiera. La buona notizia è che a XBMCè stato aggiunto il supporto per il controlloremoto, oppure tramite il telecomandodel televisore. Nel secondo caso doveteverificare le impostazioni del televisorecercando la funzione HDMI-CEC (chiamatain modi diversi nei vari televisori). Perl’accesso remoto, invece, c’è una praticainterfaccia Web. Usando un qualunquedispositivo dotato di browser potrete cosìcontrollare la riproduzione in XBMC. Questainterfaccia è abilitata di default, quindi dovete

solo scoprire l’indirizzo IP della RP andandoin Sistema D Info sistema D Rete.

RaspBMC

A questo punto vi basta inserire questo

indirizzo IP in un browser e il gioco è fatto.Se poi avete a disposizione uno smartphoneAndroid o iOS, potete trovare alcune appnei vari store che vi consentono di controllarein remoto XBMC. Nelle nostre proveabbiamo notato che Raspbian portaal limite i consumi energetici. Se collegatealcune periferiche USB e notate chela distro diventa un po’ instabile, potrebbeessere questo il motivo. Il modo per mitigareil problema potrebbe essere utilizzareun hub USB alimentato. Andando oltre

È possibile ottenere il controllo completodel vostro televisore usando Linux, inclusala visione in diretta della TV e la registrazionedelle trasmissioni. Potete fare questousando MythTV (www.mythtv.org).Vi servirà un secondo computer collegatoall’antenna che agisce come server.Attenti però: configurare MythTVè complesso. Per recuperare i file videoda visualizzare con RaspBMC, poi, potetememorizzarli in un altro computer connessoin rete oppure in un NAS. Il modo in cui farlodipende da come condividete i file, ma tuttoparte da Aggiungi video. Per altre

informazioni leggete le pagine del wikiall’URL http://bit.ly/OOvXb6.

Basta poco per ottenere un media centereccellente che si può comandare anchecon il telecomando del televisore

Questo è il “telecomando” remoto di default, ma ci sono altre interfacce più carinese provate a guardare tra le impostazioni di RaspBMC

LINUX PRO 125 29

Raspberry Pi

Page 32: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 32/100

Le dimensioni della RP consentono

di usare questo computer per controllare

altri dispositivi embedded. Questo

potrebbe sembrare un po’ ridondante

– i dispositivi embedded hanno già

una qualche forma di controllo – ma vuol

dire che è possibile usare degli script

ed estenderli in modi altrimenti impossibili

(o almeno molto difficili) senza

un dispositivo extra. Quasi tutto quello

che potete collegare a un PC può essere

gestito dalla RP; in queste pagine daremo

uno sguardo alle fotocamere per un paio

di ragioni. Per prima cosa, Linux ne

supporta molte, e secondariamente esiste

un discreto range di progetti che potete

portare avanti una volta apprese le basi.

Il miglior tool da riga di comando

per la manipolazione delle fotocamere

da Linux è Gphoto2. Installatelo con

sudo apt-get install gphoto2

Ora diamo un’occhiata agli utili tool

che questo progetto ci offre. L’ambiente

desktop potrebbe cercare di montare la

fotocamera e questo potrebbe dare noia

a Gphoto2, quindi è meglio procedere

senza ambiente grafico. Aprite un

terminale e digitate sudo raspi-config 

e sotto Boot Behaviour selezionate

la voce che non fa avviare il desktop,

poi riavviate. Nel nostro sistema di test

abbiamo visto che l’energia elettrica fornita

alla RP è sufficiente, ma volendo usareun mouse è preferibile adottare un hub

USB alimentato. Ovviamente questo

dipende da che dispositivi collegate e dalla

fonte di corrente. Nell’ambiente testuale

collegate la fotocamera ed eseguite

 gphoto2 --auto-detect

Il comando cercherà di trovare

la macchina collegata alla RP. Molto

probabilmente individuerà la vostra – il

numero di fotocamere supportate è molto

ampio, ma non include tutti gli esemplari

esistenti. Se la vostra non è tra quellecompatibili, non vi rimane che cambiare

macchina. Non tutte le fotocamere sono

uguali e il prossimo passo vi serve

per capire cosa può fare la vostra.

Per elencare le azioni possibili digitate

 gphoto2 --auto-detect --abilities

Ci sono, in linea generale, due classi

di azioni: cattura e upload/download.

La prima

classe

vi consente

di scattare

le foto

dai vostriscript

ed è presente nei modelli superiori.

La seconda classe vi permette

di manipolare le foto memorizzate nella

scheda di memoria ed è attiva per la

maggior parte delle fotocamere. In queste

pagine usiamo questa seconda classe

di funzioni. Il comando più semplice

che potete inviare alla fotocamera è quello

che vi fa ottenere tutte le foto presenti

nella memoria del dispositivo:

 gphoto2 --auto-detect --get-all-files

Avviando questo comando scaricherete

tutti i file dalla fotocamera nella directorycorrente. Questo andrebbe bene su un

computer normale, ma sulla RP non può

andare perché si rischia di riempire

in breve tempo la scheda SD. Conviene

copiarle su una chiave USB. Per fare

questo in una sessione interattiva potreste

semplicemente usare un tool grafico per

montare la chiave USB, usare df -h per

vedere dov’è montata la chiave e spostarvi

al suo interno con cd. Però, volendo fare

le cose in automatico tramite script,

bisogna trovare un modo per capire dove

viene montata la chiave. Ci sono alcuni

modi per farlo, ma faremo la scelta piùsemplice: monteremo la prima partizione

“Le dimensioni della RP consentonodi usarla per controllare altri

dispositivi embedded”

Controlla la fotocameraFate il backup delle vostre foto con Raspberry Pi

In questa forma, il tutto non è molto portabile, ma con un po’ di giudizioso fai-da-tedovreste essere in grado di assemblare il tutto in modo corretto

Alimentare la RPLa Raspberry Pi trae l’alimentazione dalla porta

micro USB. Questa fornisce 5V, e la Raspberry

Pi Foundation consiglia una corrente di almeno

700mA. Questo si può ottenere con un

alimentatore da rete, oppure collegando un

cavo USB al computer o ai televisori dotati di

porta USB. Se volete rendere portabile la RP, ci

sono alcune opzioni. Quattro batteria AA

dovrebbero fornire abbastanza potenza,

supponendo che abbiate le conoscenze e i cavi

per collegare il tutto. Però noi troviamo che la

soluzione migliore sia usare una di quelle

batterie di riserva per gli smartphone dotata di

cavo micro USB.

30  LINUX PRO 125

Raspberry Pi

Page 33: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 33/100

del primo disco e memorizzeremolì le foto. Ipotizziamo che stiate usandol’utente standard, pi. Se non è così dovetemodificare lo script che stiamoper presentarvi. Per prima cosa bisognacreare un punto di montaggio per il drive.Serve quindi una cartella e può essere

messa ovunque – nello script tralasceremole convenzioni e la metteremo nella home.Quindi, prima di eseguire lo script, digitate mkdir /home/pi/pic_mountFatto questo siete pronti a proseguire.Ecco lo script per montare il drivee recuperare le foto: #!/bin/bash if mount /dev/sda1 /home/pi/pic_mount ;then

  echo “Partition mounted”  cd /home/pi/pic_mount  yes ‘n’ | gphoto2 -- auto-detect--get-all-files

  umount /dev/sda1 else  echo “/dev/sda1 could not be mounted” fiyes ‘n’ è un comando che emettesemplicemente uno stream di caratteri n.Questo vuol dire che quando Gphoto2chiede se si vuole sovrascrivere qualcheimmagine, la richiesta verrà declinata.Il comando umount  è essenziale,perché assicura che la chiave USBsia opportunamente sincronizzataprima di essere rimossa. Abbiamochiamato lo script get-pics.sh 

e lo abbiamo salvato nella home directorydella RP. Per renderlo eseguibile si usa chmod +x /home/pi/get-pics.shOra dovreste essere in grado di eseguirloa mano. Dovrete usare sudo perchébisogna montare un’unità esterna.Il pezzo finale del puzzle è l’esecuzioneautomatica di questo script. Per farequesto lo aggiungiamo a /etc/rc.local .Lo script viene eseguito al boot,con i privilegi di root, quindi nonc’è bisogno di preoccuparsi dei permessi.Vi basta aprire il file con un editorcon privilegi di root. Ad esempio,

con sudo nano /etc/rc.local,

aggiungete la linea seguente:  /home/pi/get-pics.shappena prima della linea exit 0. Oratutto quello che dovete fare è collegarela fotocamera (assicuratevi che sia accesa)e la chiave USB: lo script farà il backupdi tutte le foto.

EvoluzioneSe volete usare la RP senza uno schermo,e molti lo vorranno, potreste collegaredei LED ai pin GPIO, come mostratopiù avanti, e usarli per indicare lo stato.Così come avete salvato le foto su chiaveUSB, potreste caricarle su un servizioondine, come Flickr. Leggete il boxqui in basso per vedere come collegarealla rete la vostra RP tramitelo smartphone. Potete includere una sortadi switch per dire alla RP quali fotocaricare, e quali invece mettere su chiave

USB, ad esempio caricare online quellein bassa risoluzione e salvare su USBquelle in alta. Oppure potreste far creareallo script le versioni in bassa risoluzione

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

da mettere online. Certo, non dovetefermarvi a questo punto. Se aveteuna chiave USB Wi-Fi, potete usarla pertrasformare la RP in un server Web. Conun po’ di scripting PHP (o in qualche altrolinguaggio per il Web) potreste creareun’interfaccia grafica per Gphoto2 chevi consenta di collegarvi dallo smartphone.

Prendendo invece una direzione diversa,se la vostra fotocamera supporta l’opzionedi cattura, potreste usare la vostra RPper scattare foto, oltre che per copiarle.

NetworkingLa Raspberry Pi ha di serie una porta di reteEthernet, comoda in molte occasioni, ma nonsempre il cavo di rete arriva ovunque. È possibileusare una chiave USB wireless (sul wiki di RP trovateun elenco di chiavi compatibili). Comunque, se aveteuno smartphone Android e il vostro provider non hadisattivato questa feature (il tethering), potete usarlocome dispositivo di rete. Questo ha il vantaggiodi non consumare energia dalla RP e quindi è unabuona soluzione quando state usando delle batterieper alimentare la RP. Dovreste essere in grado

di condividere sia la connessione Wi-Fi sia il 3G.Ovviamente conviene controllare quale delle dueconnessioni si sta usando prima di scaricare filedi grandi dimensioni. Per fare ciò, collegateil vostro telefono alla RP, poi abilitate il tetheringin Impostazioni D Wireless e rete D Tethering.Tornando alla RP, se digitate sudo ifconfig, dovrestevedere l’interfaccia usb0, priva di indirizzo IP, però.Le interfacce di rete sono controllate dal file /etc/

network/interfaces. Di default non c’è una voceper il networking USB, quindi dovete aggiungerlo voi.

Aprite il file con il vostro editor di testo preferito(con sudo). Per esempio, con sudo nano

 /etc/network/interfaces e aggiungete le linee iface usb0 inet dhcp nameserver 208.67.220.220 nameserver 208.67.222.222Qui abbiamo usato i nameserver di OpenDNS,ma potete usare quelli che volete. Ora poteteriavviare le interfacce di rete oppure la RPper attivare i cambiamenti. A questo puntola connessione Internet dovrebbe essere attiva.

LINUX PRO 125 31

Raspberry Pi

Page 34: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 34/100

Prima abbiamo detto che le ridotte

dimensioni della RP la rendono perfetta

per controllare altri dispositivi embedded,

ma lo stesso vale se si vuole creare un

proprio dispositivo embedded. Si potrebbe

creare un piccolo computer che risolva un

particolare problema, come il controller per

la fotocamera visto nelle pagine precedenti.

Il guaio è che potrebbe essere un po’

difficile capire cosa sta succedendo nella RP

se non si usa uno schermo. Fortunatamente

i progettisti del piccolo computer hanno

pensato a questo problema e hanno

aggiunto la possibilità di ottenereinformazioni (o inviare degli input) senza

usare le usuali periferiche per PC (schermo,

tastiera e mouse). Questo si può fare

tramite il General Purpose Input and Output

(GPIO). Vi sareste chiesti a cosa servono

tutti quei pin posti vicino alla scheda SD…

bene, state per scoprirlo. Questo circuito

può essere usato per mostrare informazioni

da qualunque sorgente, ma in queste

pagine lo useremo per risolvere unproblema in cui incappiamo spesso: trovare

il byte finale di un indirizzo IP. Ciò è utile se

volete accedere in remoto alla vostra RP,

ma non potete configurargli un indirizzo IP

statico perché, per esempio, dovete

spostarla in diverse reti. Di solito potete

individuare i primi tre byte dalla netmask,

ma quello finale può essere elusivo

se non si ha un monitor. Useremo

il programma gpio, che

fa parte di WiringPi. Potete trovare

altre informazioni all’URL

http://bit.ly/RP8UKJ . Potete

scaricare il codice sorgente

compresso, per cui

decomprimetelo e compilatelo:

 tar xvf wiringPi.tgz  cd wiringPi/wiringPi

 make

 sudo make install

 cd ../gpio

make

 sudo make install

Bisognerà usare anche bc, quindi digitate

 sudo apt-get install bc

Ora basta con il software, si passa

all’hardware. Una breve nota, però, prima

di iniziare: è possibile rompere la RP

collegando in modo errato i fili, quindi

controllate tutto due volte prima

di alimentare la RP. Il circuito che vi serveè molto semplice: è sufficiente collegare

ogni output al terminale positivo di un LED

(in genere quello più lungo), e poi il

terminale negativo (quello più corto) a una

resistenza da 10K Omh. Infine collegate

l’altro lato della resistenza a massa.

Guardate le figure 1, 2 e 3 per i dettagli.

Una volta preparata la basetta da

connettere alla RP, è il momento di dare

il via all’esperimento. Per iniziare si usa

il pin finale. Questo è il pin 7 (il layout dei

pin non segue un percorso ordinato). Aprite

il terminale e preparate un output con

 gpio -g mode 7 out

“È possibile romperela RP collegando in modoerrato i fili elettrici”

Inviare output Usate i pin GPIO per illuminare alcuni LED

Legge di OhmCi sono due modi per misurare l’elettricità:

tensione e corrente. La tensione (misurata in Volt)

è la quantità d’energia posseduta da una certa

quantità di elettroni, mentre la corrente (misurata

in Ampere) è la quantità di carica elettrica che

attraversa una determinata superficie nell’unità

di tempo. Le due grandezze sono intimamente

legate dalla legge di Ohm che dice: Tensione= Corrente * Resistenza, o V=IR. Potete usare

questa legge per assicurarvi di non friggere

la vostra RP fornendole troppa corrente. Il setup

esatto della RP è un po’ complesso. Se volete

entrare nei dettagli, Gert van Loo (uno dei

progettisti) ha messo assieme delle spiegazioni

che potete trovare all’indirizzo Web http://bit.ly/Qp4PMl. A spanne, potete aspettarvi di avere

in uscita 3,3V da un pin GPIO e non dovreste

ottenere più di 16mA, oppure fornire più di questovalore a un pin di input. Questa è la corrente

massima, dovreste cercare di usarne meno.

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

R=V/I. Usando i dati forniti per la RP, e non

volendo danneggiare il piccolo computer,

si trova che R deve essere almeno di 3,3/0,016

Ohm, cioè 206,25 Ohm. Ricordate, questa è

la resistenza minima da usare in modo sicuro con

un output GPIO. Dovreste usare una resistenza

diverse volte maggiore per avere un margine disicurezza. Nei nostri circuiti abbiamo usato 1000

Ohm, con un fattore di sicurezza di circa 5.

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

1 5 10 15 20 25 30

1 5 10 15 20 25 30

 A

B

C

D

E

F

G

H

I

J

GND Pin 7 Pin 8 Pin 25 Pin 23

32  LINUX PRO 125

Raspberry Pi

Page 35: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 35/100

Ora attivatelo con gpio -g write 7 1e spegnetelo con gpio -g write 7 0Fatto? Funziona tutto? Ok, ora procedetecon lo script che vi mostriamo ora.Esso contiene quattro parti. La prima

imposta i pin nella modalità correttae si assicura che siano spenti: pins=“7 8 25 24 23 18 15 14”

 for x in $pins  do  gpio -g mode $x out  gpio -g write $x 0  doneLa seconda parte recupera l’indirizzo IPda ifconfig, lo converte in binario e loprepara per l’output: ipaddress=`ifconfig eth0 | grep ‘inet ‘ | awk‘{print $2}’ | cut -f4 -d’.’`

 binary=`echo“ibase=10;obase=2;$ipaddress” | bc`

 paddedBinary=`printf %08d $binary`La parte successiva usa cut  per estrarrela parte che ci serve dalla stringa binariae la invia ai pin corretti: bit=1 for x in $pins do  out=`echo $paddedBinary | cut -b$bit`  gpio -g write $x $out  bit=$((bit+1)) doneInfine diciamo allo script di “addormentarsi”

per cinque minuti per poi spegnere i LED. sleep 5m for x in $pins do  gpio -g write $x 0 doneTrovate questo script (assieme agli altri filedi cui abbiamo parlato nell’articolo) all’URLhttp://bit.ly/12zC9HU; recuperateloe rendetelo eseguibile con: chmod a+x showIP.sh

Poi digitate sudo ./showIP per visualizzare

il vostro IP. Per fare in modo che lo scriptparta automaticamente al boot vi bastaaggiungere la linea /home/pi/showIP.sh &al file rc.local. Nelle pagine precedentivi abbiamo spiegato come fare. Avete vistocome inviare un output tramite GPIOma, come suggerisce il nome, è anchepossibile inviare un input. Come prima,anche in questo caso bisogna fareattenzione ai fili che si collegano e a non

inviare troppa corrente alla scheda. Per

accettare l’input bisogna impostare questamodalità con gpio -g mode <numero_ 

pin> in e poi leggere il valore con gpio -g

read <numero_pin>. L’hardware puòvisualizzare ogni informazione a otto bit,quindi non siete limitati a mostrare indirizziIP. Ad esempio si potrebbe fare unaversione modificata dello script dellafotocamera per usare i LED in modoche indicano lo stato d’avanzamentodella copia. Potete trovare ulterioriinformazioni sui pin GPIO all’URLhttp://bit.ly/JTlFE3 . I pin che abbiamousato sono gli stessi sia che abbiate

la RP revisione 1 sia la revisione 2,ma altri sono cambiati tra le due versioni.Se progettate dei circuiti vostri, o usatequelli trovati sul Web, assicuratevidi collegarvi ai corretti pin sulla scheda.Non dovete limitarvi a spegneree accendere i pin. La RP supportaalcuni metodi per passare maggioriquantità di dati attraverso GPIO.I due metodi più comuni sono il busSerial Peripheral Interface (SPI)e Inter-Integrated Circuit (I2C).Esistono diversi dispositivi da usarecon questi strumenti, una ricerca sul Web

vi dirà tutto. Cosa aspettate?Tirate fuori il saldatore e preparatevia costruire la vostra armata robotica! LXP

Gertboard e ArduinoCollegandovi direttamente ai pin GPIOdella RP avete un controllo di base di inpute output, ma ci sono delle limitazioni.Ci sono due dispositivi che potete usare

per interagire in modo più preciso conil mondo circostante. La Gertboard è unascheda d’espansione piuttosto complessaper collegare la RP al mondo reale e includeun micro controllore e un set di opzionidi input e output. Viene venduta in un kit

da assemblare, quindi vi servirà un saldatoreper mettere tutto assieme. In alternativapotete usare la nostra amata Arduino,un micro controllore che potete collegare

alla RP (o a ogni altro computer) via USB.Potete acquistare Arduino da sola, oppurein vari kit. Nella sua forma base ha qualchefeature in meno rispetto alla Gertboard(che include un controller Arduino),ma potete espanderla con diversi shield.

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

3 Il semplice circuito in tutta la sua gloria

Pin 7 Pin 8 Pin 25 Pin 24

GND

GND

Pin 23 Pin 18 Pin 15 Pin 14

Pin 7 Pin 8 Pin 25 Pin 24 Pin 23 Pin 18 Pin 15 Pin 14

LINUX PRO 125 33

Raspberry Pi

Page 36: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 36/100

34  LINUX PRO 125

Sysadmin

Premiata Amministreria 

Dottor BrownTecniche esoteriche per i sysadmin direttamente

dai recessi più impenetrabili della sala server

Già da qualche tempo la Linux Foundation

offre corsi di formazione (in inglese), ma finora

si trattava quasi esclusivamente di proposte

per autentici guru del kernel, con titoli come

“Linux Kernel Internals and Debugging”

oppure “Developing Linux Device Drivers”.

Recentemente, però, il portafoglio dei corsi

si è allargato fino a comprendere corsi

per utenti e amministratori, con titoli come

“Linux Administration” o “Cloud Architecture

and Deployment”. Vengono proposti anche

corsi più brevi, dalle due ore ai due giorni,

che trattano il delicato argomento della

conformità all’Open Source: una materiasu cui io sono così profondamente ignorante

da non sapere nemmeno con cosa si possa

desiderare di essere conformi o (più

appropriatamente) perché debba essere

più difficile essere conformi con l’Open Source

di quanto non lo sia esserlo con il closed source.

Ci sono poi corsi sullo sviluppo su Android

e Dominic Duval (che è a capo del dipartimento

di formazione aziendale della Linux Foundation)

mi ha detto il prossimo anno ne verranno lanciati

di nuovi. Le proposte della fondazione sono

rivolte principalmente al mercato dei corsi

aziendali on site, ma spesso vengono offerti corsiaperti a tutti durante lo svolgimento dei loro

eventi, come il recente LinuxConf di Barcellona

all’inizio di novembre. Cambiando completamente

discorso, ho appena sostituito il mio iPhone con

un telefono Android e ora posso collegarmi

al mio laptop e copiare i file musicali direttamente

dal prompt di comandi Linux. Evviva! Perché

sia rimasto così a lungo legato a iTunes rimane

un mistero. Apple rimane maestra nel progettare

interfacce, ma i suoi metodi per legare

a sé l’utente e la sua tendenza a scatenare

dispute legali milionarie mi stanno stancando.

Ho in mente un certo gesto, da fare con

due dita, ma non sono sicuro d i poterlo usare.

Probabilmente Apple l’ha brevettato.

Nuovi corsidi formazione

Dr Chris BrownIl Dottore si occupa di formazione, scritturadi articoli e consulenze su Linux.Trova che il suo PhD  in fisica delle particellenon sia di alcun aiuto in questo tipo di lavoro.

Quando fu lanciato Amazon Web

Services le cose eranopiacevolmente semplici. Si creava

qualche istanza di macchina, gli siassegnava un po’ di memoria di massae si poteva calcolare in pochi istanti il costoorario. Le cose sono cambiate da allora.Attualmente, a meno che per caso abbiatediscusso una tesi di dottorato su,ad esempio, la completezza geodeticadelle varietà riemanniane infinitamentedifferenziabili, il calcolo del costo totale puòrisultare piuttosto complicato. Niente paura,c’è l’help. Amazon ha un Simple Monthly

Calculator  ( semplice calco latore mensile)che si trova all’URL http://calculator.s3.

amazonaws.com/calc5.html . Bastaspecificare di quante istanze on-demand  si ha bisogno, e di quante istanze riservate,e quale dei 12 tipi disponibili di istanze sivuole, e quanti riassegnamenti di IP elastici,e quanta memoria (e quanta parte di essapuò essere di tipo a “ridondanza ridotta”), equante richieste PUT e GET verranno fatte,e quante connessioni VPN servono, e... e...beh, la lista è davvero lunga,ma penso che abbiateafferrato l’idea. Nell’ipotesiche siate in grado di forniretutti questi dati,il calcolatore vi dice quantovi costerà. L’immagine quisotto mostro solo una delle17 linguette a sinistra, checorrispondono ai vari serviziofferti da Amazon. Si trattaovviamente di uno stranoutilizzo della parola semplice di cui non ero aconoscenza. AncheRackspace ha uncalcolatore dei costi(www.rackspace.co.uk/

Costi nebulosiScegliere un servizio cloud su AWS sta diventando complicato quanto

ordinare un caffè da Starbucks

cloud-hosting/learn-more/calculator/ )che è più semplice, anche se la principaleragione di questa semplicità sta nel piùridotto portafoglio di servizi offerti. Ora,io capisco i vantaggi di una veloce scalabilitàe dell’affitto a ore, e lo spostamento daCapex  (spese per capitale) a Opex  (spesaoperativa), ma mi chiedo quanto ci vorràperché qualcuno si convinca che è più facilecontrollare i costi creando un proprio datacenter. E per me? Credo che prenderòsemplicemente un vente split-shot skinny

 mocha frappuccino, grazie.

È facile (e gratuito) iniziare con Amazon WebServices, specialmente se avete giàun account. Amazon offre il suo  free usage tier  gratuitamente per 12 mesi, per permettereagli utenti di sperimentare numerosi dei servizichiave di AWS. Attenzione però che si pagaquando si eccedono i limiti dell’offertae che comunque dopo 12 mesi è finita.

Free Usage Tier

Il Simple Monthly Calculator  di Amazon

Page 37: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 37/100

LINUX PRO 125 35

Sysadmin

Quindi volete fare l’amministratore di sistema?

Il mese scorso vi ho parlato delle opzioni a disposizioneper accedere ai server che state cercando di amministrare

dal desktop della macchina di fronte alla quale vi trovate.

Ho discusso di strumenti come ssh e VNC. Questo mese

ci occuperemo delle basi della configurazione della rete

su un server. Impareremo come:

∆ Assegnare l’indirizzo IP, la maschera di rete e gli altri

parametri delle interfacce di rete

∆ Definire un instradamento di default

∆ Definire instradamenti statici verso reti specifiche

∆ Specificare la posizione dei server DNS

∆ Configurare un sistema Linux come router

Tutti gli articoli della serie fanno riferimento a CentOS 6.2.

Se volete seguirli nei dettagli vi conviene installare questa

distro (magari all’interno di una macchina virtuale) comedescritto il mese scorso. Ok, cominciamo... I server (per

definizione) non sono isolati, ma connessi a una o più reti.

La figura qui sotto illustra un tipico scenario nel quale può

venirsi a trovare un server. I personaggi principali (mostrati

nella figura) della nostra storia sono:

∆ A Il personaggio principale della storia: la Linux boxche stiamo configurando. Sta sulla rete 10.1.3.0/24,

una delle reti interne dell’azienda.

∆ B Una macchina sulla rete interna 10.1.2.0/24.

∆ C Un router che collega la nostra rete interna al  backbone 

aziendale, la rete 10.1.1.0/24. Questo router, come gli altri

in figura, potrebbe essere un apparato specifico per questa

applicazione, come un router Cisco, oppure un’altra Linux

box. Vedremo più avanti come configurare un router Linux.

∆ D Un router che collega una rete interna al backbone.

∆ E Un router che collega le due reti interne.

∆ F Il server DNS dell’azienda (non tutte le aziende hanno

un server DNS interno, ma questa ce l’ha).

∆ G Altre macchine sul backbone aziendale.

∆ H Il router che collega tutto il resto a Internet. Il suoindirizzo verso l’esterno (80.244.178.150) è l’unico a essere

instradabile da Internet. Tutti gli altri sono all’interno del blocco

di indirizzi 10.0.0.0/8, che è riservato ad uso privato interno.

L’aspetto fondamentale della configurazione IP consiste

nell’assegnare un indirizzo e una maschera di rete

Seconda puntata della serie che vi trasformerà da utenti inesperti in navigati amministratori

di sistema. Questo mese esaminiamo la configurare della rete

L’architettura della rete che prendiamocome esempio in questo articolo.I cerchi con le frecce indicano un router

Server DNS

H

C

E

D

Il tuoserver

Backbone aziendale

10.1.3.0/24Rete10.1.2.0/24

Rete

10.1.1.0/24

Network 

Internet

10.1.1.1

10.1.3.254

80.244.178.150

10.1.1.254

10.1.3.8

10.1.3.252

10.1.2.252

10.1.2.5

10.1.1.200

F

G

B A

Page 38: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 38/100

36  LINUX PRO 125

Sysadmin

all’interfaccia del nostro server. La maggior parte delledistribuzioni Linux fornisce uno strumento grafico per farlo,ma la nostra ipotesi è che il server non abbia installatoun desktop grafico. Quindi vedremo invece come modificarei sottostanti file di configurazione. Si tratta di file di testonon particolarmente complicati. Il file /etc/sysconfig/network  

definisce alcune impostazioni di base valide per tutto il sistema,nel senso che si applicano a tutte le interfacce di retedel nostro server, non solo a una. Il file è di solito molto brevee si presenta più o meno così: NETWORKING=yes HOSTNAME=centos62.example.comI file che definiscono invece le impostazioni per le singoleinterfacce di rete, nel nostro caso la sola interfaccia eth0,hanno nomi come /etc/sysconfig/network-scripts/

ifcfg-eth0. Il loro contenuto sul vostro sistema CentOS 6.2dipenderà da come è stata configurata la rete al momentodell’installazione, ma probabilmente al suo interno ci sarà NM_CONTROLLED=“yes”che indica che l’interfaccia è sotto il controllo del

NetworkManager, uno strumento creato da RedHat(ma che si può trovare in molte altre distribuzioni) che cercadi mantenere attive le connessioni di rete, con poco o nessunintervento da parte dell’utente, su macchine che si spostanodi frequente tra reti diverse. NetworkManager attiveràuna connessione Ethernet con filo se ne rileva una oppure, incaso di impossibilità, cercherà di connettersi a una rete Wi-Fise ne scopre una a cui vi siete già collegati in passato. Per iportatili è piuttosto comodo, ma non è adatto ai server. Quindine faremo a meno e imposteremo manualmente tutta laconfigurazione. Per prima cosa fermeremo NetworkManagere faremo in modo che non riparta al riavvio della macchina: # service NetworkManager stop # chkconfig NetworkManager off

Addio NetworkManager! Poi modificheremo il file ifcfg-etho e assegneremo i parametri IP desiderati. Se statesperimentando sul vostro sistema tenete presente chel’indirizzo IP che assegnerete dovrà corrispondere a quellodella vostra rete e probabilmente non sarà lo stesso di quellousato qui. Ecco un semplice esempio: DEVICE=“eth0” ONBOOT=yes BOOTPROTO=none IPADDR=10.1.3.8

 NETMASK=255.255.255.0 IPV6INIT=noPrestate attenzione alla sintassi. Questo file vienesemplicemente letto da una shell, quindi le righeal suo interno devono avere una sintassi validaper la shell. In particolare non ci devono essere spazi

attorno al carattere =. La shell è piuttosto pignolaal riguardo. Dopo aver modificato il file dovrete far ripartirela rete per rendere effettive le modifiche: # system network restartQuesto comando fermerà e poi riavvierà tutte le interfaccedi rete della macchina (nel nostro caso sono due: l’interfaccialoopback  ed eth0). Se avete più di un’interfaccia di rete,una maniera meno invasiva per rendere effettive le modificheconsiste nel riavviare solo una interfaccia, a questo modo: # ifdown eth0 # ifup eth0Qualsiasi metodo usiate, dovreste ora verificareche l’interfaccia è attiva: # ifconfig eth0

 eth0 Link encap:Ethernet HWaddr 08:00:27:6D:55:56  inet addr:10.1.3.8 Bcast:10.1.3.255Mask:255.255.255.0  UP BROADCAST RUNNING MULTICAST MTU:1500Metric:1Per brevità ho eliminato numerose righe visualizzate dalcomando, ma la cosa più importante da verificare è l’indirizzoIPv4 assegnato alla scheda. Come potete vedere l’interfacciaè attiva con l’indirizzo IP che ci aspettavamo. Sì, lo so chela pagina di manuale di ifconfig dice che è obsoleto. Ma lousano tutti. Come scrisse Mark Twain dopo aver letto il suonecrologio sul New York Times: “La cronaca della mia morteera una vera e propria esagerazione”. Un’altra maniera peravere una rassicurante conferma del fatto che l’interfaccia

è attiva consiste nell’eseguire un ping da un’altra macchina.Se state sperimentando facendo girare il server Linuxin una macchina virtuale potete provare a eseguireil comando sulla macchina ospitante: # ping -c1 10.1.3.8 PING 10.1.3.8 (10.1.3.8) 56(84) bytes of data. 64 bytes from 10.1.3.8: icmp_req=1 ttl=64 time=11.6 ms --- 10.1.3.8 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 11.661/11.661/11.661/0.000 ms

Notazione IP

Un indirizzo IP consiste di  network ID  e host ID . Il suffisso /24indica la posizione del confine tra le due pa rti

Un indirizzo IPv4 è composto di 32 bit. Perscriverlo viene diviso in parti da 8 bit ciascuna,ognuna delle quali viene rappresentata comenumero decimale (compreso tra 0 e 255);sono poi aggiunti tre punti per separarei numeri, come visibile nella figura qui a fianco.È la cosiddetta dotted decimal notation (notazione decimale coi punti). La parte altadell’indirizzo è l’identificativo della rete,il cosiddetto network ID , che viene utilizzatoper prendere le decisioni sull’instradamento deipacchetti. La parte bassa invece è l’identificativodell’host o host ID , che caratterizza unamacchina specifica (o, più precisamente, unaspecifica connessione) all’interno di quella rete.Per una rete specifica la maschera di rete o

 network mask  è usata per specificare il confinetra identificativo della rete e identificativo

dell’host all’interno di un indirizzo IP. Gli unonella maschera di rete mostrano quale partedell’indirizzo costituisce il network ID, mentre gli

 zeri indicano la parte relativa all’host ID. Quindi,ad esempio, la maschera 255.255.252.0,che in binario viene rappresentata con 22uno seguiti da 10 zero, significa che i 22 bitalti costituiscono il network ID. Vi capiterà divedere più spesso le maschere di rete scrittecome suffisso. Ad esempio, se parliamo dellarete 10.1.3.0/24 intendiamo che i 24 bit altisono il network ID. In questo caso la divisionetra identificativo di rete e identificativo dell’hostcade esattamente tra un byte e l’altro, ma puòanche non essere così. La più vecchianotazione decimale con i punti e la nuova

notazione con suffisso vengono entrambeusate a seconda del contesto.

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1

1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 1 0 1 0 0 0

subnet mask 

Network ID

IP address

Host ID

Il numero di bit all’internodell’indirizzo IP che va interpretatocome identificativo di rete.

192.168.0.5/24

0 0 0 0 0 0 0 0

0 0 0 0 0 1 0 1

Page 39: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 39/100

LINUX PRO 125 37

Sysadmin

Tocchi finaliBisogna ora definire il gateway  di default per la macchina.Si tratta del nodo della rete a cui invieremo i pacchettiquando cerchiamo di raggiungere una macchinache non si trova sulla nostra stessa rete e per la qualenon esiste un instradamento specifico. In sostanza il gateway

di default è l’extrema ratio. Esaminando il diagrammadi rete visto prima scopriamo che il gateway di defaultper il nostro server Linux è la connessione di retesul lato inferiore del router “C”. È possibile definirloin una riga di ifcfg-eth0: GATEWAY=10.1.3.254Dobbiamo infine dire al nostro server dove si trovano i suoiserver DNS. Per farlo dobbiamo inserire qualcosa di questogenere nel file /etc/resolv.conf: nameserver 10.1.1.200In questo caso stiamo usando un server DNS internoche si trova sul backbone aziendale. Molto probabilmentesi tratta di un server DNS di tipo caching-only ,che semplicemente inoltra le richieste a un server

più autorevole, ma è in grado di ricordare le risposte,in modo che le successive ricerche dello stesso nomepossano essere servite velocemente accedendo alla cachelocale. Se non avete un server DNS locale potete specificarneuno esterno. Ovunque si trovi il vostro server DNS primarioconviene specificarne uno secondario (cioè semplicementeaggiungere una seconda riga di definizione all’internodi resolv.conf), in modo che la risoluzione dei nomi continuia funzionare anche quando il server DNS primario è giù.È uno dei pochi casi in cui non è necessario inviareun segnale a un demone o riavviare qualcosa per rendereeffettive le modifiche. La versione modificata di resolv.confverrà consultata automaticamente a partire dalla prossimaricerca DNS. Abbiamo così completato la configurazione

di base del nostro server. Possiamo però migliorare un po’le cose. Con la configurazione attuale la nostra macchinaaccede alla rete 10.1.2.0/24 passando per il gatewaydi default “C” e poi per il router “D”. C’è naturalmenteuna strada più breve attraverso il router “E”. Per informareil nostro server di questa possibilità dobbiamo aggiungereuna riga al file /etc/sysconfig/network-scripts/route-eth0:qualcosa di questo genere: 10.1.2.0/24 via 10.1.3.252È possibile esaminare la tabella di instradamento (o tabelladi routing) del nostro server con il seguente comando: $ netstat -nr Kernel IP routing table Destination Gateway Genmask Iface

 10.1.3.0 0.0.0.0 255.255.255.0 eth0 10.1.2.0 10.1.3.252 255.255.255.0 eth0 169.254.0. 0 0.0.0.0 255.255.0.0 eth0 0.0.0.0 10.1.3.254 0.0.0.0 eth0Per brevità ho eliminato qualche riga dall’output del comando.La tabella di routing è usata in questo modo: quando lo stratoIP del kernel riceve un pacchetto da spedire all’esternol’indirizzo di destinazione viene confrontato con ciascunariga della tabella. Il confronto viene eseguito per mezzodi un’operazione di AND bit a bit tra l’indirizzo di destinazionee il valore della colonna Genmask: se il risultato corrispondeal valore della colonna Destination al pacchetto vieneapplicata la regola descritta dalla riga e quindi viene speditoal gateway presente nella corrispondente colonna attraverso

l’interfaccia Iface. Viene applicato l’instradamento più specifico,cioè quello con il Genmask più lungo. La prima riga dellatabella descrive la rete a cui il server è collegato direttamente

(il gateway risulta essere0.0.0.0). La seconda rigadefinisce l’instradamentospecifico verso la rete10.1.2.0 (è il risultato dellariga che abbiamo aggiunto

in route-eth0). La terza rigaè stata aggiunta dal demoneAvahi, che implemental’architettura Zeroconfdi Apple; questa riga nonè molto importante peri nostri scopi. La quarta rigadefinisce invecel’instradamento di default:a qualsiasi pacchettoche non abbia trovatouna regola più specificanella tabella viene applicataquella descritta da questa

regola, perché l’AND bita bit di un qualsiasi indirizzocon una Genmaskdi 0.0.0.0 dà come risultato0.0.0.0, proprio il valore che compare nella colonnaDestination della regola.

Configurare un routerQuesto è tutto per il nostro server Linux con la sua unicainterfaccia di rete. Se vogliamo essere un po’ più ambiziosipossiamo provare a vedere come potremmo configurareun sistema Linux che abbia il ruolo del router “C” del nostrodiagramma. È abbastanza semplice. Questa macchinaha due interfacce di rete, eth0 e eth1. Facciamo l’ipotesi

che eth1 sia l’interfaccia superiore, con indirizzo IP 10.1.1.1 e eth0 quella inferiore, con indirizzo 10.1.3.254. Dovremocreare due file di configurazione, ifcfg-eth0 e ifcfg-eth1,ognuno dei quali dovrà specificare il corretto indirizzo IP.Non dimentichiamoci inoltre di modificare la riga DEVICE= in modo che corrisponda al nome dell’interfaccia. L’unicaaltra cosa che ci rimane da fare per trasformare la nostramacchina in un router consiste nell’abilitare l’IP forwarding,cioè l’inoltro sull’altra interfaccia dei pacchetti IP ricevutisu una di esse. Il kernel Linux non lo fa di default,ma è possibile abilitarlo facilmente, scrivendo 1 nel parametro appropriato del kernel: # echo 1 > /proc/sys/net/ipv4/ip_forwardÈ possibile ottenere lo stesso risultato con meno battute:

 # sysctl -w net.ipv4.ip_forward=1Così abbiamo abilitato l’inoltro IP. Per rendere la modificapermanente basta aggiungere una riga a /etc/sysctl.conf: net.ipv4.ip_forward = 1È tutto! Abbiamo appena configurato la macchina comerouter! Se volete provare queste operazioni usando VMware,VirtualBox o qualche altra tecnologia di virtualizzazione poteteconfigurare una seconda interfaccia di rete per la vostra VMcon pochi click del mouse. Potete addirittura definire un’interainfrastruttura virtuale di rete se lo desiderate. Se voletesaperne di più vi suggerisco la terza edizione di LinuxNetwork Administrator’s Guide, tradotto in italiano daTecniche Nuove. Se davvero volete comprendere comefunziona una rete IP procuratevi una copia di TCP/IP

Illustrated, Volume 1: The Protocols. È la seconda edizione,a cura di Kevin Fall, del classico di Richard Stevens, a mioparere, il miglior libro sul TCP/IP. Ci vediamo! LXP

Questo programma di RedHat è un tipico esempiodi strumento grafico specifico di una distribuzione

per la configurazione delle interfacce di rete

Page 40: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 40/100

38  LINUX PRO 125

L’angolo di

News, recensioni e guide sul sistema operativo libero per smartphone

AndroidGiocare in realtà aumentataIl primo gioco multiplayer in realtà aumentata di Google si preannuncia molto interessante

Ancora per qualche mesesarà necessario avereun invito, ma dai primi

mesi del 2013 l’accessosarà libero e gratuito per tutti,e allora ci sarà da divertirsi.Stiamo parlando di Ingress (www.ingress.com), il primoMMORPG (Massive MultiplayerOnline Role-Playing Game) inrealtà aumentata per smartphoneAndroid realizzato direttamenteda Google. Provate a immaginareun gioco come World of Warcraft,solo che invece che con lo schermodi un PC avrete a che fare consmartphone e mondo reale. Per

giocare vi basterà un dispositivoAndroid con GPS e collegamentodati, grazie al quale dovreteindividuare i Portali Energetici sparsi in tutto il mondo da Googlee che vengono contesi dai gruppidegli Illuminati e della Resistenza.Una volta arruolati in una delle duefazioni, sarete anche voi in guerraper il controllo dell’energia e quindidella razza umana, con l’obiettivodi collegare tra loro i Portalienergetici diffusi in tutto il mondo,in modo da realizzare Campi

di Controllo nelle varie areegeografiche. Il collegamentopotrà avvenire anche a distanzedi centinaia di chilometrie su questo si baseràla collaborazione tra giocatoridella stessa squadra che dovrannoriuscire a mantenere il loro Campodi Controllo libero dall’influenzadegli avversari. I portali sonostati inseriti in luoghi pubblicida Google, in modo da poteressere facilmente raggiungibili inqualsiasi momento, solo che è già

capitato che alcuni giocatori sianostati scambiati per malviventi dallasolerte polizia americana. È il caso

di un ragazzo di New York cheall’una del mattino è stato vistoarmeggiare proprio di fronte

a una stazione di polizia con il suosmartphone e immediatamentearrestato. Non è stato facileper il malcapitato spiegare chestava semplicemente partecipandoa un gioco in realtà aumentata.Nonostante i partecipanti sianoancora poche migliaia, ci sonogià delle community attivee molti gruppi di appassionati chesi aiutano e confrontano online.Le premesse per un grandesuccesso ci sono tutte, soprattuttoquando inizieranno a diffondersi

i Google Glasses, gli specialiocchiali a realtà aumentata diMountain View che permetterannodi fare a meno dello smartphonee di trasformarsi in veri cyborg.

Doppio schermoUna novità nel panorama degli smartphone

N

egli smartphone

la tecnologia a inchiostroelettronico non è maistata usata, eppure

presenterebbe indubbi vantaggi,come l’autonomia superiore alledue settimane e la possibilità divedere perfettamente lo schermoanche sotto la luce diretta del sole.Purtroppo però ci sono anche limitiimportanti, come il refresh delleimmagini estremamente lento e ilfatto che l’inchiostro elettronico siaancora in bianco e nero. Gli schermiLCD, al contrario, hanno il vantaggio

del colore e dell’alta definizionema scontano i maggiori consumie immagini imperfette sotto il sole.

Una possibile soluzione al problema

è quella proposta da Yota Devices,una giovane startup russa cheha realizzato lo YotaPhone,uno speciale smartphone dotatodi due schermi contrapposti, unoLCD e uno a inchiostro elettronico.Esteticamente YotaPhoneè identico a uno degli ultimismartphone a maxi schermo diultima generazione, tranne appuntoper la presenza del secondo displayda 4,3”. In pratica, se dobbiamosemplicemente rispondereal telefono oppure se l’autonomia

scende ai minimi, potremo usarelo schermo a inchiostro elettronico,mentre per la navigazione Web

o per i giochi continueremo a usareil classico LCD. YotaPhonedovrebbe essere disponibile nellaseconda metà del 2013 in Russiae successivamente anche in Europa.Contemporaneamente è previstoil rilascio di un SDK che permetterà

agli sviluppatori di realizzareapp specifiche per lo schermoa inchiostro elettronico, per esempiosoftware per la lettura di e-book.Il prezzo non è ancora ufficiale manon si dovrebbe discostare molto daquelli dei modellidi fascia alta. LXP

Page 41: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 41/100

LINUX PRO 125 39

Coolpix S800c L’angolo di Android

Nikon Coolpix S800cAndroid arriva sulle fotocamere compatte di Nikon in una versione vecchia ma efficace

Caratteristiche 6

Prestazioni 7

Autonomia 6

Qualità/prezzo 7

Coolpix S800c

 Ottima l’idea, meno la realizzazione. La qualitàdella fotocamera è buona

 ma le componenti hardware per Android non sono all’altezza.

Il voto diLinux Pro

Giudizio

Produttore: Nikon

Web: www.nital.it

Prezzo: € 400,00

6.5

Le fotocamere integrate

negli smartphone hanno

ormai poco da invidiare

alle classiche “compatte”

e permettono di realizzare

immagini di ottima qualità,

con in più la possibilità di

condividerle immediatamente

online. I produttori di fotocamere

lo sanno bene e, non potendo

eliminare il problema alla radice,

hanno deciso di sfidare gli

smartphone sul loro stesso

terreno. La prima a scenderein campo è stata Nikon

con la S800c, che è

praticamente identica a una delle

sue classiche Coolpix con sensore

da 16 megapixel e zoom ottico

a 10 ingrandimenti. La differenza

la fa lo schermo da 3,5 pollici

e soprattutto il sistema operativo

Android 2.3 Gingerbread,

che avrà anche due anni di vita

ma che comunque permette

di installare senza problemi

una buona parte delle app

presenti nel Google Play Store.Fortunatamente la presenza dei

componenti hardware Android

non appesantisce la fotocamera,

che mantiene la sua linea filante

e contiene il peso in 180 grammi,

poco più di un maxi smartphone.

I comandi sono quelli di un

normale smartphone Android:

Home, Back e Menu, con in più

due pulsanti per lo zoom ottico.

Solo che, a differenza degli

smartphone che rimangono

sempre attivi, la Nikon di solito

viene spenta dopo avere scattato

Il vero vantaggio della S800c

è la possibilità di usare delle

applicazioni di modifica delle

immagini come Camera Zoom FX

o Pixlr-o-matic immediatamente

dopo avere scattato la foto,

oppure di inviarle al volo con

app come Whatsapp o Skype

che girano senza problemi.La risoluzione dello schermo

da 480x854 pixel non

è altissima e usando lo zoom

vi ritroverete immagini molto

pixellate, in compenso la

luminosità è buona anche sotto

la luce diretta del sole, aspetto

fondamentale visto che non

è presente un mirino ottico.

Trattandosi di una fotocamera

compatta è fondamentale la resa

delle fotografie, che rimane

superiore a quella ottenibile

con qualsiasi smartphone graziealle dimensioni dell’obiettivo,

alla presenza dello zoom ottico

da 10 ingrandimenti e anche

di un flash abbastanza potente.

Anche la qualità dei video ripresi

in Full HD a 30 fotogrammi

al secondo è decisamente buona,

in più potrete anche usare lo

 zoom ottico durante la ripresa

senza problemi di stabilizzazione.

A causa delle dimensioni del file

dovrete però dimenticarvi di

condividere online filmati in Full

HD, per condividerli su Facebooko Twitter è consigliabile impostare

una risoluzione molto inferiore.

le foto, ma questo non significa

che per scattare dovrete

aspettare il boot del sistema

operativo, in quanto viene

immediatamente caricato

il software Nikon di gestione

della fotocamera che vi permette

di riprendere foto e video

in un paio di secondi. Per

accedere al sistema operativo

di Google occorrono invece circa

30 secondi, un tempo più lungo

del normale ma che dipende

dalla presenza di un processoreda soli 800 MHz con 512 MB

di RAM. In pratica è come avere

a disposizione uno smartphone

con un paio di anni di vita: nessun

problema per la navigazione Web

o per i programmi di ritocco delle

foto, ma non aspettatevi di farci

girare i giochi in 3D. La memoria

integrata è di 2 GB espandibili

con schede SD, mentre la

dotazione wireless è quella tipica

di uno smartphone: Wi-Fi,

Bluetooth, GPS, manca invece

il supporto per il 3G e quindiper condividere le foto e andare

online dovrete avere a

disposizione un hot spot Wi-Fi

oppure uno smartphone con

il tethering attivo. Occorre però

ricordare che il Wi-Fi nelle

fotocamere compatte era già

arrivato da tempo grazie alle

schede di memoria wireless

Eye-Fi che permettono

di condividere immediatamente

le foto appena scattate e hanno

un costo ormai inferiore ai 50

euro per i modelli da 4 GB.

L’autonomia di circa 150 scatti

è leggermente inferiore a quella

di una normale fotocamera

compatta, e scende ulteriormente

se manterrete attivi a lungo

GPS e Wi-Fi oppure se la usate

per navigare o per chattare,

in questi casi sarete costretti

a ricaricarla ogni giornoo quasi. In definitiva si tratta

di un esperimento originale ma

ancora acerbo: mentre la sezione

fotografica classica è di buon

livello, quella Android risente

dei componenti non aggiornati

che non offrono la stessa

esperienza Google a cui siete

abituati con le nuove versioni

del sistema operativo. LXP

La presenza di una batteria da soli 1050 mAh pregiudica

l’autonomia della fotocamera, usando al minimo la sezioneAndroid potrete effettuare circa 150 scatti ma usando spessoWi-Fi e GPS potreste essere costretti a ricaricarla ogni giorno

Page 42: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 42/100

Diventa protagonistadel mondo Linux 

Page 43: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 43/100

39,90 € invece di 70,80 €

PREZZO BLOCCATO: per tutta la durata dell’abbonamento nonpagherai 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,l’abbonamento 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.

ABBONANDOTI AVRAIDIRITTO AI SEGUENTI

 VANTAGGI

Informativa ex Art.13 LGS 196/2003.I suoi dati saranno trattati da Sprea Editori S.p.A. Socio Unico Medi & Son S.r.l., nonché dalle società conessa in rapporto di controllo e collegamento ai sensi dell’art. 2359 c.c. titolari del trattamento, per dare corso alla s ua richiesta di abbonamento.

 A tale scopo, è indispensabile il conferimento dei dati anagrafici. Inoltre previo suo consenso i suoi dati potranno essere trattati dalle Titolari perle 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 nell’interesse di terzi. 2) Finalità connesse alla comunicazione dei suoi dati personali a soggettioperanti 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 lefinalità menzionate è necessario il suo esplicito consenso. Responsabile del trattamento è Press Di Srl – Via Cassanese 224 20090 Segrate (MI). I suoi dati saranno resi disponibili alle seguenti categorie di incaricati che li tratteranno per i suddetti fini: addetti al customer service, addettialle attività di marketing, addetti al confezionamento. L’elenco aggiornato delle società del gruppo Mondadori, delle altre aziende a cui sarannocomunicati i suoi dati e dei responsabili potrà in qualsiasi momento essere richiesto al numero 030.319.82.81 “Customer Service”. Lei può inogni momento e gratuitamente esercitare i diritti previsti dall’articolo 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 Press Di Srl - Ufficio Privacy- MilanoOltre – Via Cassanese, 224 –20090 Segrate (MI).

•TELEFONA  al N. 199 111 999 Dal lunedì al venerdì dalle ore 9,00 alle ore 19,00. Costo massimo della chiamata da tutta Italia per telefoni

fissi: € 0,12 + iva al minuto senza scatto alla risposta. Per cellulari costo in funzione dell’operatore.

•POSTA  Compila, ritaglia e spedisci il coupon in busta chiusa a: Press Di - Servizio Abbonamenti - Casella Postale 97 - 25126 Brescia BS 

•FAX  invia il coupon al N. 030 3198412  •ONLINE sul sito www.myabb.it/linuxpro

•SMS da inviare al N. 335 8331122 indicando nell’ordine: il codice dell’offerta 25916!Nome!Cognome!Indirizzo!Numerocivico!Località!CAP!Sigla provincia!S (oppure N)!S (oppure N)! per indicare rispettivamente il consenso (Si o No) alla privacy 1 e alla privacy 2 riportate sul la

cartolina. Non lasciare nessuno spazio dopo i punti esclamativi come nell’esempio:

25916!Paolo!Rossi!Via Verdi!1!Milano!20123!Mi!S!S!

Entro 24 ore riceverai un SMS di conferma dal Servizio Abbonati. Il costo del messaggio inviato è pari al normale costo di un SMS.Il pagamento dell’abbonamento è previsto in un’unica soluzione con il bollettino di conto corrente postale che ti invieremo.

ABBONATI SUBITO!SCEGLI IL METODO PIÙ COMODO PER ABBONARTI:

OFFERTA VALIDA SOLO PER L’ITALIA   389 11 006 389 01

 Accetto che i miei dati vengano comunicatia soggetti terzi (come indicato al punto 2

dell’informativa privacy):☐ SI ☐ NO 

 Accetto di ricevere offerte promozionali e di contribuirecon i miei dati a migliorare i servizi offerti (come specificato

al punto 1 dell’informativa privacy):☐ SI ☐ NO

Compila, ritaglia e invia questo coupon in busta chiusa a:

PRESS-DI Servizio Abbonamenti - Casella Postale , Brescia

Tagliare lungo la linea tratteggiata

▷ Inviate Linux Pro al mio indirizzo:

Cognome e Nome

Località

Tel. email

CAP Prov.

Via N.

30  Con il bollettino postale che mi invierete

20  Con carta di credito: Visa American Express Diners Mastercard

▷ Scelgo di pagare, in un unico versamento:

Numero

Scad. (mm/aa) Firma

Sì! Mi abbono a Linux Pro

COUPON DI ABBONAMENTO

Riceverò numeri a soli , euro anziché , euro con lo sconto del %

Page 44: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 44/100

Test >>ROSA Server 2012è nata una nuova stella

nel panorama delle distribuzioniserver. Arriva dalla Russia

e punta molto in alto, ce la farà?

Scopritelo con noi pag. 43

Faster Than LightUn’avventura che unisce le

tematiche classiche alle missioni

nello spazio profondo. I nemici

vi cercano: li affronterete faccia

a faccia o fuggirete alla velocità

della luce? pag. 44

Confronto >>I Social Network impazzano,

ma a noi piacciono solo quelli

che non ci costringono in catene

troppo strette. Scoprite

con noi quale network si può

usare senza timori pag. 48

∆ Diaspora

∆ Friendica

∆ Identi.ca∆ Qaiku

∆ Pidder

Da non

perdere >>Cinque programmi liberi

da provare subito!

∆ Gmsh pag. 54

∆ fbcmd pag. 55

∆ Nuvola pag. 55

∆ QXmlEdit pag. 56∆ Atop pag. 56

Faster Than Light

Diaspora

Gmsh

42 LINUX PRO 125

RecensioniTutte le novità in campo software e hardware testate e valutate ogni mese dai nostri laboratori

QUESTO MESE...

Ogni test di questa sezione

è accompagnato da un giudizio

che riassume con quattro indici numericile principali qualità dell’applicazione

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à d’uso: dispone di un’interfaccia

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:

10  Nulla da eccepire. Un prodotto

praticamente perfetto.

8-9 Un buon prodotto. I pochidifetti presenti non sono gravi. 

6-7 Compie il suo lavoro ma

necessita di ulteriori sviluppi.

5-4 Deve migliorare prima di

raggiungere un voto sufficiente.

1-3 Un completo disastro.

Gli sviluppatori devono tornare

alla fase di progettazione.

Ricordiamo infine che i software citati

nelle sezioni Confronto e Da non

perdere sono spesso presenti nel DVD

sotto la voce “Rivista” sotto formadi codice sorgente o binario.

Una brevelegenda

Page 45: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 45/100

LINUX PRO 125 43

ROSA Server Test

 ROSA Server 2012La redazione di Linux Pro ha esaminato a fondo questa nuova distribuzione server

per vedere se dalla Russia è arrivato un buon prodotto oppure no

Caratteristiche 6

Prestazioni 8

Facilità d’uso 8

Documentazione 6

ROSA Server 2012

 Un buon primo rilascio, ma serve di più per arrivareal successo.

Il voto diLinux Pro

Giudizio

Sviluppatore: ROSA Labs

Web: Rosalab.com

Prezzo: gratuita

7

ROSA è relativamente

nuova nel panorama

delle distro GNU/Linux.

L’azienda russa

ha lanciato la sua distro desktop

– un fork di Mandriva – alla fine

del 2011. Aveva attratto

un po’ d’attenzione grazie alla sua

personalizzazione del desktop KDE,

tanto da spingerci a includerla

qualche tempo fa nel nostro DVD.

Un anno dopo l’azienda

ha rilasciato la versione server

della sua distro. Non si tratta

di un rimaneggiamento della

versione desktop con una diversa

scelta di pacchetti installati

di default, ma un sistema

completamente ricostruito basato

sul codice sorgente di Red Hat

Enterprise Linux. Basare la propria

distro desktop e quella server

su due codici di base differenti

è una scelta audace, ma non folle.

Dimostra che l’azienda ha capito

che le due basi di utenti hanno

necessità diverse, che vanno oltre

i cambiamenti superficiali. L’installer

è il classico Anaconda di casa

Red Hat, quindi l’installazione

procede in modo indolore.

C’è un’opzione per scegliere il tipo

di server da installare, ma per

il resto è tutto quasi automatico.

La prima cosa che si nota avviando

la distro è che la versione

modificata di KDE che ci aveva

impressionato nel desktop non

c’è – sarebbe un inutile spreco

garantire la qualità delle poche

opzioni disponibili; pensiamo che

non sia un’idea del tutto sbagliata,

ma dovete sapere che alcune cose

che potreste cercare non ci sono.

Buona partenzaIl front-end Web si avvia di default,

il che vuol dire che, una volta che

avete installato il sistema, dovreste

essere in grado di fare tutto da

remoto, anche se nelle nostre

prove abbiamo visto che ROSA

Server ha fallito nell’attivazione

delle connessioni di rete.

L’interfaccia Web non è affiancata

da altri tool di gestione altrettanto

semplici. Per esempio, con Apache

installato, dovete tornare alla riga

di comando per avviarlo. Questonon è un compito difficile per chi

è abituato a lavorare con i server,

ma è abbastanza da imbarazzare

gli utenti non esperti. Noi

apprezziamo molto i tool per

l’installazione dei software.

Se l’interfaccia Server Setup fosse

stata estesa per includere almeno

i compiti d’amministrazione di base,

come avviare e fermare i servizi,

questa distro sarebbe una scelta

ottimale per gli utenti meno

esigenti che volessero un server

da impostare con facilità. Certo, sitratta del primo rilascio della distro,

quindi forse siamo un po’ troppo

di cicli di CPU su un

server. Al suo posto

troviamo LXDE,

con un tema

azzurro e grigio

simile a quello della

versione desktop,

ma nessuno sceglie

una distro server

in base alla

scrivania. Il vero

punto di forza

di ROSA è il suo

ROSA Server

Setup. Si tratta

di una Web App

“servita in locale”

che guida l’utente

attraverso

l’installazione

di diversi servizi.

Al momento ci sono opzioni per un

numero limitato di servizi, ma essi

coprono la maggior parte delle

aree, incluso Web, database, file

server, LDAP e altri. A meno che

non abbiate esigenze particolari,

dovreste trovare un servizio che

soddisfa i vostri scopi; se invece

vi serve qualcosa di molto specifico,

almeno per il momento non

lo troverete. Questo non accade

solo nel front-end Web. Quando

abbiamo provato a guardare

nel gestore di pacchetti, abbiamo

trovato meno software di quel che

ci aspettavamo. Sospettiamo che

gli sviluppatori abbiamo limitato

il parco software in modo da poter

esigenti. Ma quello che abbiamo

visto è abbastanza da convincerci

a seguire gli sviluppi futuri di ROSA

Server. Il fatto che sia basata

su RHEL vuol dire che è molto

robusta, e compatibile con la

maggior parte del software server.

Nonostante ciò, se state cercando

una distro server di questo tipo,

per il momento vi consigliamo

di guardare a un altro clone più

maturo di RHEL, come Scientific

Linux o CentOS, in base al loro

pedigree. Questo nostro giudizio

cambierà se le prossime release

di ROSA Server si dimostreranno

pronte a superare le sfide

del mondo reale. LXP

Dalla Russia con amore… e un intuitivo front-end Web

ConfigurazioneROSA Server Setup può crescere

e diventare un tool molto utile,ma al momento è limitato.

In evidenza

DesktopLXDE rappresenta una scelta

dal bell’aspetto per un serverche deve risultare leggero.

Page 46: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 46/100

44  LINUX PRO 125

Test Faster Than Light

Faster Than LightCosa succede quando si incrocia la classica avventura fantasy con i laser e il vuoto

asfissiante? LXP è andata nello spazio per scoprirlo

Siamo un po’ in difficoltànel definire il generea cui appartiene questogioco. Faster Than Light

(FTL) viene definito un giocoin stile Rogue; anche se questaavventura spaziale, finanziatada Kickstarter (www.

kickstarter.com), mostrale caratteristiche classichedel genere – morte permanente,vista top-down e una ripidacurva d’apprendimento, giustoper citarne tre – non è propriocome Rogue. FTL ha molti puntiin comune con alcuni giochida tavolo, come Space Alert ,o giochi che si ispirano ai giochida tavolo, come X-Com: Enemy

Unknown, miscelando unastruttura vagamente organizzataa turni con il panico assolutoin aree ben precise. È un intrugliodelizioso. Il cuore del giocovi vede attraversare i confinipiù remoti di uno spazio esternorandomizzato. La vostraastronave, con il carburantelimitato, salta di incontroin incontro, a volte incappandoin qualcosa di buono ma moltopiù spesso in qualcosa di moltocattivo. Le navi nemiche devonoessere sconfitte (oppure bisognariuscire a sfuggirgli) sfruttandol’equipaggio che siete riuscitiad assemblare, il tutto mentredovete gestire con precisionei livelli di energia della nave

se fate la scelta sbagliata. Il mondodi FTL da esplorare offre diversescelte, ma nessuna di esse è cosìcoinvolgente o varia come quelledel suo cugino fantasy. Saltatedi stella in stella e qualche voltavi viene dato qualcosa da fare.Gli scenari testuali a scelta multiplariflettono in gran parte la strutturadei librogame. Succede qualcosa.Volete intervenire? Servonoun po’ di capacità o di giudizioper scegliere la risposta giusta.All’inizio del gioco vi prenderetetutti i rischi al fine di rafforzarela vostra nave o la vostra squadra.Proseguendo, li eviterete. Molto dirado otterrete un’opzione bonusbasato su un upgrade che aveteapplicato alla vostra nave,

e rimediare aglieffetti di lasere missili che sischiantano controil vostro fragilescafo e il sistemadi supporto vitale.A volte si trattadi sistemi organici,tipo il vostro fidatopilota che verràucciso, oppureuna canagliaaliena chesi trasferiràa bordo creandoun putiferio.Altre volte saràqualcosa di fisicoche sfinirà i vostri motori o faràpiombare l’intera nave nel buio.Potrebbe essere necessariocombattere il fuoco che sidiffonde nella nave facendofuoriuscire l’ossigeno dai corridoi,oppure ordinare alla vostraciurma di sistemare unapparecchio mentre soffocanoa morte. La vita in una navestellare non è delle più facili.

Rischi e ricompenseGiochi come questo vivonoo muoiono a seconda della loroeconomia di gioco. Nethack,l’esempio più classico di giocoin stile Rogue, copre ogni passodel vostro viaggio con il rischiodi farvi perdere la ricompensa

e la accetterete perché saràla scelta più ovvia. Anchese non incapperete molto spessonella stessa situazione, nonvi sembrerà una cosa speciale.L’uso della moneta all’internodel gioco funziona molto bene.Dovete sempre trovare il giustobilancio tra il riparare lo scafodella nave in uno degli splendentinegozi oppure lo scegliereun nuovo membro o una nuovaarma. Raramente vi ritroveretecon abbastanza denari da fareentrambe le cose. Il caso la fa dapadrone: se attraversate le primecinque galassie senza trovarele armi o gli aggiornamenti chevi servono, siete fregati. Se unmissile riesce a superare le vostre

1  Oh, si ballaMettetevi a fare un giro per la galassia e presto

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

3  BoomAbbattete i vostri nemici ed essi andranno a pezzi

facendo cadere un prezioso bottino che doveteraccogliere e che vi aiuterà nel viaggio finoal prossimo sistema stellare.

2  Scegli un puntoOra decidete come abbattere al meglio i vostri

avversari. Abbiamo iniziato lanciando un missile controi loro scudi, poi abbiamo vapo rizzato l’area con le loroarmi in modo che non potessero contrattaccare.

Passo passo Lottare per spasso e profitto

Idealmente vorreste evitare quelle situazioni post combattimento in cui la vostranave è affamata d’ossigeno, rotta e piena di sistemi da riparare. Idealmente

Page 47: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 47/100

LINUX PRO 125 45

Faster Than Light Test

Gameplay 6

Grafica 7

Longevità 6

Qualità/prezzo 7

Faster Than Light 

 FTL è esplosivo, almeno fino aquando la sua struttura casuale

 non peggiora e l’ossigeno finisce.

Il voto diLinux Pro

GiudizioSviluppatori: Matthew Davise Justin MaWeb: www.ftlgame.comPrezzo: $ 10

6Prima di iniziare la vostra missione, potete personalizzare la vostra nave

“FTL è un gioco che vi raccontadelle storie, quindi è difficile

non affezionarsi ad esso”

Scelte, scelte.Non c’è un modo

sicuro perindovinare

il risultato dellescelte possibili,

tutto sarà

in mano al fato

difese nello spazio profondo,siete fregati. Se inavvertitamentepiombate in un campodi asteroidi con la naveun po’ ammaccata… beh avetecapito cosa vi succede.

Buona fortunaFTL è allo stesso tempo un giocodi fortuna e uno d’abilità.Non conta solo la fortuna.Riuscire a gestire in modocorretto la ciurma è una speciedi arte oscura, questoè probabilmente il motivo per cuiabbiamo passato gran parte deltempo in FTL con l’interfacciain pausa, in modo da valutare concura ogni mossa. Ogni membrodella squadra deve trovarsi al

posto giusto al momento giusto,perché alcune locazioni nellavostra nave vi doneranno deibonus, e un membro esperto nelpilotaggio, ad esempio, spingeràulteriormente questi bonus.Motori che si ricaricano piùvelocemente vi permetterannodi fuggire più rapidamente daicombattimenti che non vi offronopossibilità di vittoria, e avereuna postazione d’armi dotatadi equipaggio fa aumentarela velocità di ricarica delle armi,

il che vi fornisce qualche chancein più di avere successo neicombattimenti. Poi c’è la gestionedella potenza, un gioco didestrezza: se non avete spesoabbastanza soldi per aggiornarei sistemi della nave, prima o poivi ritroverete a dover spegnerequalche sottosistema per poter

dar potenza ad altri. Progredendonel gioco, i nemici diventanopiù forti e potenti. Il passaggioattraverso le ultime due galassie,

soprattutto a causa delle semprepiù invadenti flotte nemiche chesi muovono verso di voi, nonè semplicissimo. È difficile,anche al livello più semplice. Latentazione è quella di girovagare,visitare ogni nodo e raccoglieretutto quello che si può prima diproseguire. Questa sembrerebbe

la miglior strategia per FTL, mail fatto che i nemici vi inseguonola rende spesso impossibile. Anchese abbiamo cercato di venirea patti con i capricci crudeli delgeneratore di numeri casuali

mentre giocavamo a FTL, èl’aspetto che lo rende veramenteun gioco in stile Rogue. Nontutte le partite avranno successo.

Alcune termineranno al primoincontro con il nemico, altrevi vedranno arrivare quasi finoalla fine, e non saprete mai cosastate per trovare nella prossimagalassia generata casualmente.Ci sono abbastanza incontri esituazioni da non far mai apparireripetitiva la perlustrazione,

e abbastanza scenari legati allemeccaniche di gioco di FTL danon farvi annoiare rapidamente.Attenti però. Quando la vostraciurma curata, nutrita e bengestita verrà maciullata in nome

del caso, vi sentirete scoraggiati.FTL è un gioco che vi raccontadelle storie, quindi è difficile nonaffezionarsi ad esso. Sul lungo

termine, però, difficilmenteritornerete a giocarlo. C’è undettaglio in molti giochi in stileRogue che vi porta a giocarlipiù e più volte e non è qualcosache gli incontri causali in FTLo le ricompense per i successivi può dare: l’apprendimento.Ogni morte del personaggioin Nethack vi insegna qualcosasull’intricato funzionamentodel gioco e grazie a ciò poteteprogredire. La vostra ricompensaè la conoscenza. Saltando

di galassia in galassia in FTP, unavolta acquisiti i meccanismi dibase del gioco e di gestione dellasquadra, vi ritroverete a non averappreso nulla di nuovo in realtàe alla fine vi annoierete. La sfidache il gioco vi pone è crudele,soprattutto con l’approssimarsidella fine, e i vari obiettivi vi fannoandare avanti. Ma padroneggiareFTL non vi lascia la soddisfazioneche dovrebbe. LXP

Page 48: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 48/100

C  A V  A L L I 

C  A   L   E   N   D  A   R   I   O

20 13

 _c ov ercaval.indd 2 

29/ 0 /  2 .

www.lisagoodmancalendar. it

CALENDARIO 2013

PASTORETEDESCO

15x42_covPASTED cogis.indd 3 29/02/12 16.36

 w w w. li sa go

od ma n ca l e nda r

. i t

 CA L E N DA R I O

  2 0 1 3 CA N I

1 x 4 2_  c v CA  I_  2.i   1

 7/ /1 2   1 2:1 2

€5,90solo28x30 centimetri

15x42 centimetri

w w w .l is a g o o d ma nc a le nd a r .i t 

C ALE N D AR I O  2 0 1 3 

C O N I G LI E T T I 

5 x4 2_c o v R ab bi t.ind d  1

06 /0 3/ 12   14 .4 2 

Gli originali e inimitabili calendari

Il GRANDE

FORMATO

Il FORMATOpiù di MODA 

solo

€6,00

CANI

C A L E N D A R I O

2013

1_ _ 8 30 .indd 3 9 03 1 15.0

C A   L E N  D  A R  I  O

P A S T O R E T EDESCO

C  A L  E  N D  A   R I O

2013

8x 30orA LT Aoi . i n 1

/03/ 1 1 . 0

2013C  A   L E  N  D  A R   I  O

G  A  T  T I

2 0COVok.indd 2

29/0 /2 . 9

 R O T  T  W  E I L  E R 

C  A   L   E  N  D  A   R   I O

2013

1_I_   x0COV.indd 1

/0 /1 17:0

L  A B R  A D O R R E T R I E V E R 

C   A  L  E  N  D   A  R  I   O 

2 0 13 

 _I_28 x 30 C O V .ind d  

0 9 / 0  /  2   :2 

GOLDENRETRIEVER 

C A L E N D A R I O

2013

_ I _ 0 C OV .i n d d 0 / 0 7 / : 0

 w w w.lisagoodmancalendar.i

 t

ALENDARIO 2013

GA T TI

o KIT TI2.indd  

0 03 2   .22

 w w w. l is a

 g o o d m a n

 c a l e n d a r

. i t

 CA L E N DA R

 I O  2 0 1 3 C H I H UA H UA

 1 5 x 4 2_  c o v C H

 I H UA H UA.i n d

 d   1

 2 8/ 0 6/1 2   1 5: 1 4

•Cani•Gatti•Cavalli

•Pastore Tedesco•Golden Retriever•Labrador Retriever•Rottweiler

CaniGatti

ConigliettiPastore TedescoChihuahua

Page 49: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 49/100

Page 50: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 50/100

48  LINUX PRO 125

Di certo su Facebook,Google+ o Twitternon troverete maiRichard Stallman

o Eben Moglen. Questi campionidel Software Libero, però,non rifuggono da quei socialnetwork solo perché costruitisu software proprietarioe con codice chiuso; quello

che a loro preme di piùè qualcosa di più serio:la privacy o, meglio ancora,la sua quasi totale assenza.Quei social network cosìpopolari sono stati spessocriticati a causa delle loropolitiche in materia di privacy.Queste autorizzerebberole compagnie che sinascondono dietro a questigrandi sistemi di usareliberamente i dati personali

dei loro iscritti. I sostenitori dellaprivacy da tempo non fannoche auspicarsi social networkdecentralizzati e distribuitiche trattino con rispetto i datidei loro utenti. Fortunatamente,social network di questo tipostanno cominciando pocoa poco a emergere. Costruiticon software Open Source,

aderiscono a vari standardaperti per la portabilitàdei dati, con particolareriguardo all’interoperabilitàe con sempre maggioreintegrazione tra loro. In questoconfronto, sono stati esaminaticinque social network di questogenere, ossia progettaticon componenti Open Source.Alcuni, addirittura, permettonoai propri utenti di usare gli stessicomponenti per creare e gestire

un proprio social network,dando loro, in questo maniera,il controllo totale e completodei dati personali. Da tenerea mente, tuttavia, è cheper questi social networksi parla ancora di primi passie che nessuno di loropuò contare un numerodi utenti che solo si avvicinia quelli dei loro popolarissimiconcorrenti proprietari. Alcunidi questi servizi, come Diaspora,sono ancora a un livello inizialedi sviluppo e quindi coniscrizioni limitate, nell’attesadi perfezionare la piattaformaper il lancio al pubblico.

“I campioni del SoftwareLibero rifuggono i socialnetwork a causa della privacy”

Test 

Confronto

Social network apertiLe preoccupazioni sulla privacy vi tengono lontani dai social

network più popolari? Ecco allora alcuni servizi alternativi,aperti e non solo per modo di dire

∆ Diaspora

∆ Friendica

∆ Identi.ca

∆ Qaiku

∆ Pidder

LA NOSTRA SELEZIONE

MODALITÀ DEL TEST

Mettere a confronto questi socialnetwork non è stata cosa semplice,soprattutto perché non tuttipresentano caratteristiche simili.Alcuni dispongono di maggiorifunzionalità e consentono,quindi, di fare molto più chepostare messaggi lunghi 140caratteri. Si è preferito, dunque,focalizzare attenzione e sforzinel valutare quelle caratteristicheche li rendono diversi dagli altrisocial network. È stata esaminatala flessibilità nelle impostazionidella privacy, la facilità di portabilitàdei dati e in che maniera vengonoimpiegati gli open standard comeOpenID, OStatus e altri. Alla fine,è stata sottoposta a verifical’usabilità generale di questi servizi,

comparandoli ai social networkproprietari come Facebook,Google+ e Twitter. Sono statepoi valutate le interfacce utentee la personalizzazione delleimpostazioni, così come la loroversione mobile e le relative app.Quaiku, uno dei social networkprovati in queste pagine, è statochiuso il 15 Ottobre 2012:viste le interessanti caratteristichedi tale social network, si è decisodi includerlo comunquein questo confronto.

Page 51: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 51/100

LINUX PRO 125  49

Diaspora è uno dei socialnetwork alternativi

più conosciuti. Nonostante

sia ancora in fase di sviluppo,

offre già molte delle funzionalità

che ci si aspetta da un servizio

di reti sociali. Vi consente, ad esempio,

di pubblicare testo e immagini

e di fare l’embedding di video

da YouTube e Vimeo. Non è possibile,

tuttavia, avere la preview dei link,

nonostante questi vengano convertiti

nei post. Gli utenti hanno la possibilità

di impostare i loro messaggi come

pubblici, o limitarne la visionesolamente ad alcuni gruppi di altri

utenti, chiamati Aspetti. Potrete

anche filtrare e visionare lo stream

degli aggiornamenti tramite gli Aspetti,

così come potrete seguire un altro

utente senza includerlo tra i vostri

amici, in maniera molto simile

a Google+ e Facebook. Quello

che distingue Diaspora dagli altri

social network è che è un network

distribuito. Ciò significa che non esiste

un unico sito Internet per Diaspora.

Avrete, al suo posto, una serie di

server chiamati pod . L’utente finale,naturalmente, non si accorgerà della

differenza: potrete registrarvi su un

I

social network proprietari tradizionali

possono essere paragonati

a contenitori isolati di informazioni.

Se volete connettervi e condividere

qualcosa, ad esempio delle foto con

i vostri amici su un altro social network,

l’unica maniera per farlo è registrare

Funzionalità

Collegamento dei dati

Cosa hanno da offrire?

Come si comportano con gli altri servizi?

pod qualsiasi e interagire in manieratrasparente con utenti registrati

su pod differenti. Come Diaspora,

Friendica è un altro network

decentralizzato, che però si è spinto

addirittura oltre. Oltre a connettere

utenti che si trovano su server

diversi, Friendica può anche

importare contenuti e contatti

da Facebook, Twitter, Identi.ca,

da feed RSS e altri siti Web. Meglio

di tutto, potrete commentare, mettere

i like o condividere i post dei vostri

amici di Facebook direttamente

da Friendica. Questo servizio, inoltre,non impone un numero di caratteri

prestabilito per gli aggiornamenti

dello stato che, come succede

per gli articoli dei blog, possono avere

anche un titolo ed essere archiviati

sotto diverso categorie. Accanto

alla solita possibilità di caricare foto

e condividere link da YouTube

e Vimeo, i messaggi supportano

il Rich Test Format. Friendica, inoltre,

dispone di un player incorporato per

la riproduzione di file audio e video.

Potrete poi condividere e modificare

i vostri post e, oltre alla possibilitàmettere il like, avrete anche quella

del dis-like. Il servizio di microblogging

un account sul loro social network

e duplicare i vostri dati anche lì.

Un buon social network aperto dovrebbe

avere la capacità di collegare i dati

tra i vari servizi. Diaspora risolve parte

di questo problema permettendo agli

utenti sui diversi pod di connettersi

e condividere i contenuti tra loro. Inoltre,

quando ci si connette per la prima volta

a Diaspora, questo vi dà la possibilità

di importare le informazioni relative

al profilo direttamente dal vostro account

di Facebook. Il collegamento dei dati,

invece, è uno dei punti forti di Friendica.

Questo è stato disegnato affinché

i diversi social network vengano

visualizzati come e-mail e per

permettere agli utenti di scegliere quale

network preferiscono usare. Friendica

Identi.ca si basa su un server Open

Source StatusNet. Supporta gli

hashtag e può automaticamente

abbreviare gli URL troppo lunghi.

Potrete allegare immagini, video

e file audio ai vostri messaggi,

così come fare l’embeddingdi contenuti da YouTube, Flickr

e altri siti Web. Il vantaggio maggiore

di Identi.ca rispetto a Twitter è che,

oltre a condividere gli aggiornamenti

dello stato, potrete anche usarlo

per condividere bookmark, eventi

programmati, fare domande

o organizzare sondaggi. Dall’altro

lato, l’interesse principale di Qaiku,

un altro servizio per il microblogging,

è quello di essere multilingue.

La piattaforma ospita decine di canali,

che è un bel modo per scoprire utenti

con interessi simili ai vostri. Infinec’è Pidder, diverso sia dai social

network proprietari più popolari,

sia dagli altri “colleghi” di questo

confronto. Non possiede le solite

funzionalità che si possono trovare

negli altri social network ma è stato

progettato per proteggere la vostra

privacy, cosa che viene presa molto

seriamente. Qualunque cosa voi

condividiate, infatti, verrà cifrata

e in più dispone di impostazioni

della privacy piuttosto accurate.

Rappresenta anche l’unico servizio,

tra quelli selezionati per questoconfronto, a offrire sia account free

che account premium a pagamento.

può collegare i dati non solo con gli altri

social network come Facebook,

Twitter e Diaspora, ma anche da pagine

Web e blog. Anche Identi.ca include

una integrazione con Facebook e in più

può replicare i messaggi da Twitter.

Può anche importare gli aggiornamenti

dai feed RSS e Atom direttamente nella

vostra timeline. Viceversa, tramite questo

servizio potrete condividere i vostri post

anche su Twitter. Con Qaiku potrete

connettervi utilizzando il vostro account

di Facebook, così non avrete bisogno di

crearne uno specifico per questo servizio.

Potrete poi importare tutti i vostri contatti

da Facebook, Twitter e Gmail, così come

aggiungere il vostro account di Flickr

e il vostro blog sul profilo Qaiku, ai quali

questo invierà tutti i vostri aggiornamenti.

 Friendica ha maggiori funzionalità

rispetto agli altriconcorrenti.

Verdetto

Friendica

Diaspora

Qaiku

Identi.ca

Pidder

 Friendica puòcondividere i datitra molti network.

Verdetto

Diaspora

Friendica

Identi.ca

Qaiku

Pidder

Confronto Test 

Il plug-in per Drupal di Diasporaconsente al CMS di connettersia Diaspora come ogni altro pod

Page 52: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 52/100

UsabilitàLa libertà d’uso è cosa buona e giusta, ma questi network sono

davvero pronti per il mainstream?

Per un social network avere successo catturando il meglio della

comunità dell’Open Source non è abbastanza. Tutti i network

presentati in questo confronto dovrebbero allettare non solo

chi si preoccupa della riservatezza dei propri dati, ma anche una base molto

più ampia di utenti non esperti. La superiorità tecnologica di questi social

network attirerà utenti che hanno le capacità e le giuste conoscenze

per apprezzare le innovazioni da essi introdotte ma, per una maggiore diffusione,

anche la loro usabilità gioca un ruolo molto importante. Per testarne l’usabilità,

questi social network sono stati sottoposti al “test della nonna”. Totalmente

in modo non scientifico, sono stati presentati a una nonna, con la richiesta

di provarli per un po’. Se una nonna può usarli, sicuramente chiunque

può fare altrettanto! Al contrario, tuttavia, se la nonna non dovesse riuscirci,

nessun richiamo ai vari vantaggi tecnologici potrà mai farle rinunciare

ai suoi account sui suoi social network proprietari preferiti.

DiasporaDiaspora sembra proprio Google+, ma con una differente terminologia: ad esempio

i gruppi di utenti si chiamano Aspetti anziché Circoli. Prevede anche gli hashtag,

divenuti popolari grazie ai servizi di microblogging come Twitter, che sono molto utili

per stabilire una comunicazione iniziale. Quando ci si connette per la prima volta,

Diaspora vi chiederà di elencare cinque vostri interessi sotto forma di hashtag,che verranno poi usati per riempire il vostro primo stream. Ci sono hashtag per dare

il benvenuto ai nuovi utenti e aiutarli nelle domande su come usare il network, così

come per riportare bug e per richiedere ulteriori nuove funzionalità. Cercare altri

utenti e aggiungerli agli Aspetti è cosa immediata. O, se vi sentite particolarmente soli,

potrete inviare e-mail di invito ai vostro amici. Nel postare gli aggiornamenti di stato,

avrete la possibilità di allegare un’immagine e limitare il post solo a certi Aspetti.

Tutte le impostazioni di sistema sono altrettanto accessibili e semplici da usare.

FriendicaCosì come per Diaspora, l’interfaccia di Friendica non dovrebbe apparirvi così estranea

se avete già usato uno dei social network più famosi. Friendica vi offre una sezione

“Serve aiuto? Sei nuovo?”, che vi condurrà a varie pagine di documentazione

particolarmente utili per prendere confidenza con la piattaforma e con la terminologia

del network. Vi saranno anche spiegati i vari elementi mettendoli a confronto

con i loro equivalenti di Facebook e Diaspora. Se connetterete Facebooka Friendica, questo potrà importare le informazioni relative al vostro profilo

da Facebook. Sempre da Facebook, avrete la possibilità di importare anche i vostri

contatti e le vostre conversazioni. Così come accade in Diaspora, potrete elencare

i vostri interessi tramite parole chiave che Friendica userà per suggerirvi degli amici

da aggiungere ai contatti. Organizzare gli amici in gruppi di conversazioni privata,

per il massimo della riservatezza, è piuttosto immediato, così come personalizzare

il vostro account agendo sui vari comandi nelle impostazioni.

50  LINUX PRO 125

 Identi.ca è senza

alcun dubbio il vincitore diquesto round.

Verdetto

Diaspora

Friendica

Identi.ca

Qaiku

Pidder

Test 

Confronto

Isocial network più diffusi possono

contare su moltissime applicazioni

da utilizzare per interagire

e condividere contenuti con i vostri

amici. Anche i social network aperti

hanno applicazioni simili, sia per

le piattaforme desktop che per

quelle mobili. Considerata la sua

versione pre-beta e il fatto che

le sue API non sono ancora pronte,

è abbastanza sorprendente che

Diaspora disponga già di un paio

di applicazioni di questo tipo. Il client

Dianara, come il servizio che supporta,

è ancora sotto intenso sviluppo e può,

I client desktopI client offline che interagiscono con i servizi

quindi, mostrare solo una dozzina circa

di post. Esiste anche un client Web

di Diaspora per i dispositivi Android

che al momento, tuttavia, sembra

non funzionare su tutti. Il network

che possiede un gran numero di

applicazioni è Identi.ca. Oltre a diverse

applicazioni multi piattaforma dedicate,

per esempio il client StatusNet

Desktop, potrete anche usare

le applicazioni più diffuse funzionanti

con Twitter, come Adium, Choqok  e

Gwibber per postare i vostri messaggi

su Identi.ca. Per postare messaggi

su Friendica, potrete anche utilizzare

alcune applicazioni disegnate per

Identi.ca, come Fren Tcl, e il client

della multipiattaforma Xpostulate 

(ma non le troverete nei repository

della vostra distribuzione). Esiste

anche un semplice programma

desktop che visualizzerà sul vostro

desktop gli aggiornamenti da Friendica.

Qaiku dispone dell’applicazione mobile

Mauku per il Nokia N900, mentre

gli utenti di altri dispositivi mobili

dovranno farsi bastare l’interfaccia

ottimizzata che si trova su m.qaiku.

com. Per il desktop, potrete invece

usare il popolare Gwibber e Ping.fm.

Page 53: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 53/100

 Non c’è davvero bisogno di toccare le impostazioni.

Verdetto

Diaspora

Friendica

Identi.ca

Qaiku

Pidder

QaikuQaiku, un ulteriore servizio per microblogging, dispone di interfaccia

sia per l’uso desktop che per i dispositivi mobili. Il suo punto più forte

è il multilinguismo. Tramite le sue impostazioni, potrete cambiare la lingua

dell’interfaccia e specificare quali lingue siete in grado di capire. Purtroppo,

però, questo non viene reso evidente nella sua pagina iniziale. Il servizio,

inoltre, non dispone di alcun t ipo di documentazione. Non che sia particolarmente

necessaria però, in quanto la maggior parte delle sue funzionalità si spiega

da sola. Qaiku, inoltre, rende più agevole la visualizzazione delle discussioni a cui

si è preso parte. Potrete anche filtrare i messaggi pubblici sulla base delle lingue

parlate, così come caricare facilmente foto, aggiungere tag ai vari messaggi e fare

l’embedding di link da siti come YouTube, Slideshare e altri. Anche ricercare

e connettersi ad altri utenti o canali sarà un’operazione piuttosto semplice.

Identi.caDifferentemente dai due servizi visti fin qui, Identi.ca è una piattaforma

di microblogging e, a una p rima occhiata, non sembra diversa da Twitter.

Ci potrete fare le solite cose: visualizzare i messaggi su un determinato

argomento, rispondere, condividerli e marcarli come favoriti. Vi permetterà anche

di impostare i vostri post come privati, trasmetterli a chiunque in Internet, o solo

agli utenti di Identi.ca. L’interfaccia, inoltre, rende semplice cercare gruppi a cui

unirsi o creare un vostro gruppo personale. Questo servizio, tuttavia, vi consentedi fare molto più che scrivere messaggi lunghi 140 caratteri. Dispone di finestre

molto intuitive per la creazione e la condivisione con i vostri amici di eventi

e bookmark. Vi offre, in più, la possibilità di raccogliere opinioni attraverso strumenti

come il semplice sistema di poll, che presenta fino a cinque opzioni di votazione.

PidderCome potrete vedere dal resto di questo articolo, Pidder non è un social network

per tutti e per tutti i giorni. A rischio di sembrare ripetitivi, con Pidder si possono

organizzare e cifrare dati sensibili, che potranno poi essere condivisi con altri

servizi online. Archivia, inoltre, nell’account cifrato di un utente tutte

le informazioni condivise con terze parti. Il prezzo pagato per un controllo

così avanzato della privacy, tuttavia, è la sua scarsa usabilità. Pidder disponedell’interfaccia più complessa tra quelle esaminate in questo confronto.

L’unica ancora di salvezza è rappresentata dalla grande quantità

di documentazione e dal wizard utile al punto di minimizzare i difetti

dell’interfaccia. Non si potrà, letteralmente, usare questo servizio senza

aver studiato prima la sua vasta documentazione o aver visionato prima i relativi

video su come utilizzare le funzioni di base, come condividere i dati, aggiungere

contatti, creare login veloci (quicklogin), ecc.

LINUX PRO 125  51

Confronto Test 

Se è vero che tutti questi servizi

possono essere utilizzati così come

sono, è anche vero che è possibile

personalizzarli affinché rispondano il più

possibile alle vostre esigenze d’uso.

Diaspora vi consente di modificare la lista

delle azioni delle quali vorrete ricevere

le notifiche e connettervi o disconnettervi

a servizi di terze parti come Facebook,

Twitter e Tumblr. Considerato che il team

sta ancora lavorando agli elementi

principali del servizio, non è presente

alcuna opzione per la personalizzazione

dell’interfaccia. Dall’altro lato, Friendica

dispone di 13 temi tra i quali scegliere

Impostazioni e personalizzazioneModificare le modalità di visualizzazione

e fa personalizzare vari elementi, come

la dimensione del font per post

e commenti. Potrete anche nascondere

certe aree, come le pagine della

community, ed elementi quali gli ultimi

like o altri. Oltre a questo, Friendica

possiede impostazioni complete per

quanto concerne la sicurezza e la privacy

e, per diminuire lo spam, potrete anche

impostare un limite al numero di

messaggi privati da parte di utenti

sconosciuti che potrete ricevere al giorno.

La riservatezza è il pezzo forte di Pidder.

Questo servizio vi consentirà di cambiare

la vostra passphrase e quindi cifrare

nuovamente tutti i vostri dati. Identi.ca

usa il suo servizio proprietario ur1.ca 

per abbreviare gli URL, ma potrete

modificare questa opzione agendo

su Settings. Essendo il multilinguismo

la specialità di Qaiku, potrete scegliere

la lingua dell’interfaccia e una lingua

primaria, che sarà taggata con gli

aggiornamenti dello stato. Inoltre,

con Qaiku potrete creare un tema

personalizzato, con un’immagine

di vostra scelta per lo sfondo e i vostri

colori preferiti. Tramite le impostazione

della privacy potrete disabilitare

la localizzazione geografica.

Page 54: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 54/100

52  LINUX PRO 125

di esportare i propri dati da un pod per

importarli su un altro. Anche Friendica

vi fa scaricare i vostri dati personali e dirimuovere facilmente il vostro account.

Con Identi.ca, potrete scaricare i vostri

messaggi e i vostri file in formati che

possono essere utilizzati anche da altri

servizi, insieme alle informazioni

riguardanti il vostro profilo. Qaiku non

includeva alcun strumento per effettuare

lo scaricamento dei dati o per cancellare

un account. Dato che Pidder può essere

usato anche come gestore online di

password, vi permette di importare ed

esportare i vostri dati di autenticazione in

diversi formati, come pidder-XML, CSV,

KeePassX, ecc. In caso di cancellazionedell’account, il servizio eliminerà in modo

permanente tutti i dati dopo 2 settimane.

Aprescindere delle impostazioni

della privacy, farvi avere il totale

controllo dei vostri dati e delvostro account è uno degli obiettivi di

business fondamentali per questi social

network. In considerazione di ciò,

Diaspora permette ai suoi utenti

La portabilità dei datidi scaricare tutti i loro contenuti testuali

e le foto. Anche il link per chiudere

l’account è piuttosto accessibile. Tenetea mente che, grazie al design di Diaspora,

ogni post che deciderete di condividere

con qualcuno situato su un altro pod

rimarrà archiviato anche su questo,

insieme a una copia del vostro profilo.

Siccome questi dati saranno accessibili

all’amministratore del database di quel

determinato pod, scegliere con

attenzione il vostro pod di Diaspora

è quanto meno opportuno. Detto questo,

ogni volta che cancellerete un post

o i dati del vostro profilo, questi verranno

eliminati anche da ogni altro pod

in cui erano conservati. In più, il teamdi Diaspora sta lavorando su una

funzionalità che permetterà all’utente

A chi appartengono i vostri dati?

 La privacyè fondamentale

 per Pidder.

Verdetto

Diaspora

Friendica

Qaiku

Identi.ca

Pidder

 In Qaiku, incredibilmente, la

 portabilità dei datiè completamenteassente.

Verdetto

Diaspora

Friendica

Identi.ca

Qaiku

Pidder

Test 

Confronto

Questi speciali social network

sono stati studiati affinché

i vostri dati siano protetti dagli

occhi voraci di chi vorrebbe utilizzarli

per gli scopi più dannosi. Grazie

al design distribuito di Diaspora,

non esiste alcuna autorità centrale

che possa tracciare il vostro account

o determinare cosa possiate

condividere o meno. Friendica

protegge i suoi utenti con una cifratura

dei messaggi server-a-server di tipo

militare. Tutti gli elementi presenti sulla

sua rete vengono controllati tramite

una lista di accessi per consentirne olimitarne l’accesso a particolari individui

o a certi gruppi di utenti. La maggior

parte dei social network esaminati

prevede gruppi di discussione privati

che limitano le comunicazioni ai loro

soli membri. Friendica si spinge ancora

più in là e dà ai suoi iscritti la possibilità

di impostare un “tempo di scadenza”

ai loro contenuti, così che, trascorso

un certo periodo, questi vengano

cancellati da qualsiasi server di

Friendica che ne detenga una copia.

La maggior parte di questi social

network possiede anche un sistemadi messaggistica interno, per lo

scambio di messaggi privati tra gli

utenti. Con Friendica, gli iscritti possono

Il controllo della privacyIl Grande Fratello può mettersi all’ascolto?

inviare messaggi sia agli altri utenti

di Friendica che a quelli di Diaspora,

incluso chi si trova su altri server.

Molti potrebbero trovare insolito il fatto

che Identi.ca non possieda un sistema

di comunicazione privato, ma il network

non è stato pensato per una

condivisione ristretta dei contenuti. Viene

chiaramente specificato, infatti, che tutti

i post condivisi sono pubblicati con una

licenza Creative Commons Attribuzione.

Se siete impensieriti dalle questioni

di riservatezza, fate riferimento alle

norme sulla privacy di Identi.ca, dove

viene spiegato in maniera trasparenteche alcuni vostri dati potranno essere

utilizzati per la pubblicazione

di statistiche, come ad esempio “il 30%

degli utenti sono registrati con un

indirizzo Hotmail” e per soddisfare le

eventuali richieste dell’autorità giudiziaria.

Dall’altro lato, Qaiku offre impostazioni

della privacy semplici e facili da

comprendere, che vi permetteranno

di scegliere chi potrà visualizzare i vostri

post e chi no. Vi darà, in aggiunta, due

opzioni per gestire ulteriormente la

vostra riservatezza: la prima per rendere

pubbliche o nascondere le informazioniinerenti la vostro localizzazione,

la seconda per permettervi di decidere

se mostrare i vostri messaggi all’intero

Internet, solo agli utenti di Qaiku o

unicamente ai vostri contatti. E ancora,

questo servizio vi consente un controllo

completo sui vostri contatti di Qaiku,

ma anche su quelli di altri social

network quali Twitter e Facebook.

I controlli sulla privacy in conversazioni

che qualcun altro ha iniziato sono resi

ben visibili nella barra laterale accanto

al thread. Potrete avere tutte le

informazioni per scoprire chi è in grado

di leggere i vostri commenti e decidere,

quindi, se partecipare o meno a una

discussione. La massima cura per la

privacy è il marchio di Pidder. Questoservizio usa una propria libreria Open

Source scritta in JavaScript, chiamata

pidCrypt , per cifrare i vostri dati che

vengono inviati ai server via HTTPS.

A differenza di altri network, anche

la gestione dell’identità è un punto

centrale per Pidder, tanto da

consentirvi di creare identità diverse

e diversi pseudonimi per gestire come

volete i vostri dati. Potrete anche

impostare sei diversi livelli di

autorizzazioni per i vostri contatti sul

network. Questo, combinato alle sue

caratteristiche di gestione dell’identità,vi darà un controllo estremamente

raffinato per stabilire quale identità

condivida cosa con quali contatti.

Identi.ca sta ancora sperimentandole sue funzionalità di backup e nonconserva le informazioni private

Page 55: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 55/100

LINUX PRO 125  53

Confronto Test 

Social network aperti

Il verdettoAlla resa dei conti, il vincitoredi questa competizione è Friendica.È, probabilmente, il miglior social networkfederato e Open Source di cui si siamai sentito parlare. Non ha mai generatolo stesso rumore di Diaspora,ma è piuttosto popolare e sembraessere anche più popolato di Diaspora,nonostante non ci sia ancora un metrodi misura oggettivo per poterloscientificamente affermare. Friendicadispone di tutte le funzionalità dei social

network proprietari più famosi e, nellostesso tempo, di una interfaccia utentemolto intuitiva. Il software di Friendicasupporta una chat integrata nel browsersimile a quella di Facebook, che avvienevia XMPP  tramite un apposito plug-inche deve essere attivato, però,dall’amministratore del vostro sitodi Friendica. Sfortunatamente non

Diaspora è di sicuro il socialnetwork di cui si è parlatodi più, in quanto alternativaOpen Source a Facebook

con il valore aggiunto del rispetto dellaprivacy. Il network è oggettivamenteimpressionante, anche se ancora nellasua versione alfa. Non merita peròil primo posto. Il servizio, infatti, mancadi alcune caratteristiche cruciali, comeuna chat integrata nel browser da usarecon gli amici. Gli sviluppatori stanno

continuando ad aggiungere nuovefunzionalità alla piattaforma così,probabilmente, anche questa farà partedi una versione futura. C’è poi il fatto chela registrazione sul pod principale ospitatodagli sviluppatori è attualmente ristretta.Detto questo, rimane sempre la possibilitàdi iscriversi su altri pod o, addirittura,di metter su un proprio pod personale.

lo è ancora su frndc.com. NonostanteFriendica possa tranquillamenterimpiazzare ogni social network che stiateeventualmente usando, può risultaresovradimensionato per alcuni altripropositi. Se tutto quello di cui avete

necessità è un servizio di microblogging,allora rivolgetevi senza esitazione aIdenti.ca. È il sostituto naturale di Twittere vi consente anche di ospitare un vostroservizio personale per un determinatoambiente circoscritto, ad esempioun’impresa commerciale o un istitutoscolastico. Anche se Identi.ca non è tantofanatico per il multilinguismo quanto loera Qaiku, supporta le notifiche in altrelingue oltre all’inglese. I suoi strumenti,inoltre, risultano piuttosto pratici percambiare il passo delle conversazioni.Pidder fa categoria a sé. Non è certo

consigliabile per un uso standarde quotidiano del social networkingsemplicemente perché non è statoprogettato a quello scopo. È stato, invece,concepito per utenti che ritengonopreziosa la loro privacy, e risulta essereil migliore per la condivisione diinformazioni veramente sensibili che nonsi vorrebbero mai di dominio pubblico.

Sorprendentemente, ci sono molti altri software Open Source checonsentono di ospitare il vostro social network personale, comeElgg, Lovd By Less e altri. Troverete tanti social network di nicchiabasati su questi software e su quelli che fanno funzionare i networkpresentati in questo confronto. A questo proposito, uno è Bentio,che si basa sul software StatusNet, lo stesso di Identi.ca. Ci sono,inoltre, diversi plug-in che trasformano alcuni popolari servizidi gestione di contenuti online in veri e propri social network, comel’estensione Yogurt  per Xoops. Potrete crearvi anche un socialnetwork privato usando software Open Source come RetroShare 

Considerate anche...e Newebe. Potrete condividere contenuti e collaborare con i vostriamici senza coinvolgere terze parti. Newebe, attualmente nellasua versione beta, possiede anche un client di microblogging checonsente la condivisione di immagini e note, mentre RetroShareè multipiattaforma e impiega GPG e OpenSSL per cifrare tuttele comunicazioni tra i suoi utenti. Per ultimo, esistono iniziativecome AppleSeed Project , OneSocialWeb e Anahita che stannolavorando sulla creazione di standard e sulla costruzione di strumentiper la generazione di nuovi social network aperti. Inoltre, teneted’occhio il progetto supportato da FSF FreedomBox. LXP

 Avete mai usato uno di questi network? Pensate siano pronti per uso diffuso?Scrivete la vostra opinione a [email protected] .

A voi la parola

Friendica 1°

Diaspora 2°

Web: www.joindiaspora.com

Non proprio un rimpiazzo del vostro social network preferito, ma quasi.

Pidder4°

Web: www.pidder.com

 Servizio ideale per quelli veramente paranoici. Oltre misura per il resto degli utenti.

Web: www.frndc.com 

Il vostro nuovo social network preferito.

Identi.ca 3°

Web: www.identi.ca

Il miglior servizio aperto per il microblogging. Punto.

Qaiku 5°

Web: www.qaiku.com

 Buon servizio per il microblogging, ma ormai è chiuso.

Page 56: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 56/100

54  LINUX PRO 125

Test 

Da non perdere

Gmsh

Esistono strumenti

di modellazione 3D

e strumenti “notevoli”

di modellazione 3D.

Proprio per questo non

si deve confondere Gmsh 

(pronunciato “G-mesh”) con

altri strumenti di grafica. Certo,

si possono creare, importare

ed esportare le classiche

forme basilari ma il vero punto

di forza di questo software

sta nell’applicazione

dell’analisi agli elementi finiti.

Questa tecnica viene

utilizzata in campo

ingegneristico, solitamente

assieme ad altro materiale

scientifico, per il calcolo

semplificato di situazioni fisiche

dinamiche, come lo stress

applicato alle ruote di un

ingranaggio oppure le forze

di collisione di un veicolocontro un ostacolo.

Già da qui si può intuire

che il campo di applicazione

di simili software è vastissimo

dato che ovunque ci sono

forze che agiscono

contemporaneamente

su uno o più elementi,

anche in campo sonoro

o elettromagnetico, per

esempio. Gmsh supporta

molti modelli di simulazione

e offre un’ampia gamma

di compatibilità per importareprogetti da altri software

oppure direttamente dai dati

grezzi. L’interfaccia offre

una finestra principale

accompagnati da altri pannelli

indipendenti. La schermata

principale mostra anche

un terminale in cui leggere

i messaggi di output

del software. A tutti gli effetti

Gmsh è più un’applicazione

in ambito scientifico

che un programma

adatto all’utente comune

ma è una buona cosa sapere

che esistono progetti simili

rilasciati sotto licenza

Open Source ed è un

argomento complesso

e interessante per stimolare

le menti più curiose.

La parte di renderingviene fatta in OpenGL,

quindi non dovrebbero esserci

particolari problemi

di compatibilità; un problema

riscontrato riguarda però

il Double Buffering che

a volte fa i capricci, portando

a fastidiosi sfarfallii oppure

a modelli non disegnati

correttamente. Se così dovesse

succedere avviate il programma

con l’opzione -nodb. A parte

la presenza delle librerie

OpenGL l’unico altro requisito è

FLTK, disponibile praticamente

in tutti i gestori di pacchetti.

Strumento di modellazione 3D

In questa rubrica recensiamoi programmi più interessantiche si possono trovare in Rete.Ogni mese navighiamotra le migliaia di progettiOpen Source che nasconoo si aggiornano e selezioniamoi più nuovi, i più innovativie quelli che possono tornarepiù utili per l’uso quotidianodi una Linux box. La maggiorparte delle applicazioniprovate si trovano nel nostroDVD, ma ne forniamo anchegli indirizzi Internet cosìche ogni lettore possascaricare le versioni future.Se volete segnalare un vostroprogetto o un programma

Open Source che avete trovatoin Rete e ritenete interessanteper la maggior parte dei lettori,inviate una mail all’[email protected] 

 FREE SOFTWARE

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

QUESTO MESE...Gmsh 54fbcmd 55Nuvola 55QXmlEdit 56Atop 56

“È un tool di modellazione

usato in campo ingegneristico”

L’interfaccia di Gmsh

ModelloI modelli vengono creati

grazie all’uso di mesh

e possono essere renderizzati

in vari modi.

Pannello principaleIl pannello principale

mostra la maggior parte

delle informazioni

sul modello in uso.

StatisticheI dati vengono aggiornati

in tempo reale rendendo

più comodo capire cosa

sta succedendo.ConsoleQui vengono stampati

i messaggi che il softwarevuole comunicarvi.

Plug-inEsistono numerosi plug-in

atti a manipolare le meshche avete creato o facilitarvi

nel compito stesso.

Menu e strumentiIl menu è costituito da una

finestra a scomparsa con unaserie di sottomenu a cascata.

Non è una sfera... è un struttura di mesh perfettamentemodellata e normalizzata… o qualcosa di simile!

Page 57: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 57/100

LINUX PRO 125 55

 

Da non perdere Test

Èimpossibile evitare di amare

un strumento a riga

di comando ben scritto,

se non altro per

i meravigliosi screenshot che regala.

E questo discorso è ancor più vero

se lo strumento in questione

permette di velocizzare e rendere

automatizzabili operazioni

che altrimenti richiederebbero

molto più tempo tramite la comune

interfaccia grafica. In tal sensofbcmd è semplicemente geniale

dato che è riuscito a portare sulla

riga di comando quel che non

vi sareste mai aspettati, ovvero

quel covo di coltivatori terrieri virtuali

e impilatori di gioiellini seriali che

è diventato Facebook  ultimamente.

Il software è scritto in PHP, infatti

avrete bisogno di php-cli per farlo

funzionare, e vi consentirà

di usufruire di molte funzionalità

del social network più diffuso senza

dover aprire mai un browser

ed essere seppelliti dalle richieste

di unirvi ai giochini più assurdi del

momento. Ovviamente le feature

base sono semplicissime da trovare

e usare, ad esempio aggiornare

il proprio status, ma rimarrete stupiti

dal livello di complessità delle

opzioni disponibili. Nonostante

il setup sia un pochino complicato,

seguendo le istruzioni sul sitodovreste arrivare senza problemi

ad avere il software pronto all’uso.

A questo punto basterà digitare

i seguenti comandi

 fbcmd go access

 fbcmd go auth

 fbcmd auth XXXXXX

 fbcmd addperm

 fbcmd test

Questi passi vi guideranno

nell’autenticazione e impostazione

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

fbcmd

Client Facebook 

Certo non è la prima

volta che un lettore

musicale viene

recensito su queste

pagine come una rivoluzione

da non perdere. Eppure questa

volta il software in questione

è davvero differente dai soliti

prodotti mostrati in precedenza.

Talmente diverso da essere un

browser che si finge un lettore

musicale. Il punto di forza di

Nuvola è che gli autori hanno

capito che scaricare, riordinare

e sistemare i tag della propria

libreria musicale è un’abitudine

del passato. Molti utenti hanno

scelto da tempo di affidarsi

a vari servizi online, sfruttando

così le possibilità offerte

da alcuni siti che consentono

di fruire di un parco musicale

sconfinato e già pronto all’uso.

In particolare ci si sta riferendo

a Grooveshark , 8tracks,

Google Music e per i fortunati

residenti all’estero anche,

Amazon Music Player,

Pandora e Rdio, tutti servizi

già supportati da Nuvola.

Tra questi alcuni consentono

addirittura di memorizzare

la propria musica offrendo,

spesso gratuitamente, uno

spazio a disposizione dell’utente

per memorizzare i propri brani

e aggiungerli a quelli già

presenti. Dopo essersi connessi

e autenticati al proprio fornitore

musicale di riferimento,

sostanzialmente come

si farebbe con un comune

browser, il passo che

avvantaggia Nuvola

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

Nuvola

Riproduttore musicale

è l’integrazione con i controlli

e i feedback tipici di un

riproduttore musicale completo,

ad esempio l’utilizzo dei tasti

multimediali o il volume

di sistema. Inoltre, come

se ciò non bastasse, il fatto

di poter impostare diversi

servizi in maniera totalmente

indipendente per poi utilizzare

quello scelto a seconda del

bisogno, risulta una feature

molto comoda e veloce. L’unica

pecca che potreste incontrare

è la mancanza di integrazione

con il vostro servizio preferito ma,

essendo il codice rilasciato sotto

licenza GPL, scrivere un plug-in

che vi consenta di colmare

la lacuna è solo questione

di buona volontà e un pizzico

di competenze in ambito Python.

dei permessi di fbcmd nel vostro

profilo FB e a questo puntoquel che dovrete fare sarà

usare comandi simili a

 fbcmd status ‘Haha.. alla facciaccia

vostra.. FB da riga di comando!’

 fbcmd status @dada post

‘Ci vediamo presto fratellino!’

 fbcmd status @ale post ‘Basta

giocare a Dwarf Fortress.. studia!’

Come già anticipato la lista

di comandi è lunghissima e offre

strumenti per gestire gli album

di foto, inviare nuovi contenuti,

creare e gestire gli eventi,sostanzialmente tutto tranne

giocare a Farmville. Soprattutto,

fbcmd fa quel che viene

richiesto a uno strumento

per la riga di comando: prende

un compito complesso e tedioso

trasformandolo in qualcosa

di immediato e relativamente

semplice. Non è semplicemente

un hack, è davvero un utile

strumento produttivo.

Ora non avrete più bisogno di portarvi dietro i vostri albumpreferiti... finché avrete una connessione sempre a disposizione

Con un po’ di impegno si potrebbe fare un script generatoredi auguri automatizzati per la lista dei vostri amici

Page 58: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 58/100

56  LINUX PRO 125

Test 

Da non perdere

Sebbene alcuni task possano

essere svolti con strumenti

comuni, ciò non implica che

usando strumenti dedicati

e specifici si ottenga lo stesso

risultato. Leggere e modificare

un file XML può diventare un

compito arduo, soprattutto quando

la mole di dati contenuta è ampia

e molto strutturata. QxmlEdit  

non è un semplice plug-in attaccato

a un editor preesistente, invece

si tratta di un software creato ad-hoc

per l’elaborazione di file XML.Proprio grazie al fatto di essere nato

per lavorare su questo tipo di file,

il set di feature a disposizione

e le funzionalità offerte rendono

particolarmente agevole lavorare

con questo tipo di file. La mappa

di colori permette di muoversi

QXmlEdit 

agevolmente anche all’interno

di strutture dati complesse.

Nonostante ci siano diverse

funzionalità ben pensate, ne

mancato altre indispensabili, come

una visualizzazione precisa

e completa dei contenuti navigati.

Se ciò non bastasse, la compilazione

da sorgenti di questo software

è ancora abbastanza complessa,

soprattutto date le richieste

abbastanza singolari necessarie come

dipendenze per arrivare al prodotto

compilato. Il miglior suggerimentoche si può dare in questi casi

è di cercare di compilare il tutto

in una sottodirectory (esempio

 /opt/qxmledit ) per poi spostare solo

il necessario nella posizione desiderata.

In ogni caso lo sviluppatore è già

al corrente dell’esistenza di questi

La “vista ad albero” non è solo un sempliceabbellimento grafico, bensì risulta fondamentaledurante la navigazione della struttura XML

Editor XML

problemi, quindi sta già cercando

di porre rimedio nel migliore dei

modi e di rilasciare un miglioramento

a tutti i problemi esposti poche

righe fa nelle prossime release.

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

Come alcuni di voi sapranno

già, top è uno dei classici

strumenti UNIX approdati

poi in Linux per il

monitoraggio dei processi. Quando

lo eseguite in un terminale, questo

strumento mostra tutta una serie

di utili informazioni come l’uptime,

il carico della CPU e una lista dei

processi al momento in esecuzione,

ordinati in base alle risorse che

consumano. Questo strumento

è tra i più utili e insostituibili per

la diagnosi dei problemi ed è

installato di default in praticamente

ogni sistema UNIX e Linux. Top

può identificare i processi in stato

di zombie e quelli eseguiti

normalmente, e di ogni processo

mostra il PID e l’utente che lo sta

facendo girare. Nel tempo sono

sorti altri tool simili, che cercano

di mostrare aspetti differenti

del sistema con un output simile

a quello di top. Iotop, per esempio,

compie un lavoro simile ma guarda

all’utilizzo dell’I/O, quindi

Atop

vi permette di scoprire quali

processi stanno facendo scempio

del vostro hard disk o stanno

accorciando la vita del vostro SSD.

I programmatori di Atop hanno

cercato di creare una versione

di top che fosse superiore a tutte

quelle esistenti. Certo, questo tool

elenca sempre i processi e i loro

PID, ma lo fa in una maniera

più chiara e carina. Pur essendo

Tool di sistema sempre basato sui caratteri

ASCII, si adatta alla larghezza

del terminale per mostrare

al meglio le informazioni.

Se questo non bastasse,i suoi sviluppatori lo hanno

programmato in modo che sia

adatto ai tempi moderni: il tool

sa, per esempio, che molto

probabilmente starete usando

un processore multicore, di

conseguenza elenca le statistiche

per ogni core nella parte alta della

finestra, fino ad arrivarvi a dire la

frequenza di lavoro dei singoli core.

Per venire incontro all’utente, atop

evidenzia i livelli critici per diversi

aspetti usando colori differenti.

Con una barra di stato che mostra

la capacità di storage e l’attività di

rete, non manca proprio nulla tra le

informazioni fornite. Rispetto a top

alcune colonne risultano cambiante,

e alcuni valori di stato richiedono un

attimo di tempo per essere decifrati,

ma per ora ci sembra proprio

il migliore tra i programmi *top.

∆ VERSIONE 2.0.2 ∆ WEB www.atoptool.nl

Abbandonatetop e passatead atop, non ve ne pentirete

“I programmatori di atop hannocreato una versione di topsuperiore a tutte quelle esistenti”

Page 59: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 59/100

LINUX PRO 125 57

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

TUTORIAL

InkscapeVi mostriamo come realizzare

un’illustrazione piena di dettagli usando

i potenti effetti di Inkscape così da arrivare

a un risultato impressionante pag. 58

Sistemi multipostazioneSe avete un PC molto potente perché non

collegargli più di una tastiera, mouse e monitor

e ottenere così un sistema multipostazione

utilizzabile da più persone? pag. 62 

TrashwareNon buttate via i vecchi PC: ridategli vita

con i nostri consigli pag. 66 

Sicurezza

PacketFence è un potente tool percontrollare gli accessi in LAN pag. 74

Hardcore Linux

Il nuovo ZFS è la punta di diamante deifilesystem per GNU/Linux pag. 78

ACCADEMIA DEL CODICE

Concetti di baseSiete stanchi di ricevete tonnellate

di errori quando compilate un programma?

Vi mostriamo le cose da evitare

e come farlo pag. 82

Reti neuraliAddestreremo per l’ultima volta la nostrarete neurale pag. 84

 PythonImparate a sfruttare la vostra CPU multicore

negli script Python, così da liberare tutta

la potenza dei processori moderni

e ottenere prestazioni maxi pag. 88

LA VOSTRA GUIDA

DI RIFERIMENTO

Esiste sempre qualcosa di nuovoda imparare in campo informatico,

soprattutto in un mondodinamico come quello di Linux

e dell’Open Source. Ogni numerodi Linux Pro presenta una

corposa sezione dedicataa tutorial realizzati da esperti

in moltissimi settori:programmazione, sicurezza,

amministrazione di sistema,

networking. Trovereteinformazioni utili sia che siate dei

veterani di Linux sia degli utentialle 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-mailall’indirizzo

 

[email protected]

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 

endQuando 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.“);

Page 60: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 60/100

58  LINUX PRO 125

Inkscape

Create un’illustrazione vettoriale d’effetto con questo tool

Se dovete disegnare qualcosa, usare

Inkscape è quasi una sciocchezza. Non solo

ha una vasta gamma di strumenti utili

e generalmente facili da capire, ma lavora anche

tramite SVG, un formato immagine vettoriale standard.

Se siete un artista di talento, potete fare cose

meravigliose con Inkscape, ma anche un maldestro

maneggiatore di pastelli può tirare fuori una bella

immagine con un po’ di impegno. Questa guida

spiegherà alcune funzioni di disegno “nascoste”

di Inkscape mentre mettiamo insieme un’immagine

cianografica. Queste funzioni non sono veramente“nascoste”, è solo che sono spesso tralasciate

o sembrano troppo complicate per occuparsene.

Sveleremo alcuni dei misteri che circondano

l’uso degli effetti, estensioni e filtri per arrivare

a un’immagine in stile cianografico che non sembri

troppo perfetta, l’imperfezione è intenzionale in questo

caso. Probabilmente avete già usato i filtri, quasi

sicuramente se avete usato un’immagine bitmap

nel vostro lavoro di Inkscape. Le bitmap sono quello

a cui le persone normalmente si rivolgono quando

necessitano di una trama in un’immagine, e per essere

onesti, creare lo stesso effetto con qualche immagine

di trama decente probabilmente richiederebbe

un decimo dello sforzo. Quindi, perché non usiamoquelle? Le immagini bitmap non solo sono grandi, ma

non sono nemmeno scalabili. L’arte vettoriale sta tutta

nell’essere in grado di ridimensionare un’immagine

senza preoccuparsi se il risultato sarà leggibile. Poiché

tratta solamente le forme, queste sono comprensibili

a qualunque dimensione le usiate. Perciò vale la pena

sapere come creare effetti tipo bitmap usando

nient’altro che comuni forme e un po’ di trucchi

procedurali di Inkscape. Lo svantaggio di usare

questi metodi procedurali è che alcuni di questi,

a seconda dei parametri che usate, possono richiedere

una considerevole quantità di potenza di calcolo

per la rappresentazione. Se scoprite che il vostro

computer fatica a ridisegnare la schermata,vi consigliamo di attenuare un po’ gli effetti.

FACILE

Questa immaginein stile

cianograficosembra qualcosa

che normalmentemettereste

insiemein un programma

per dipingere,ma è disegnata

al 100% con

forme vettorialiridimensionabili

ed efficaci

Se combinate insieme alcuni degli effettiche abbiamo usato, potete riuscire a fareogni sorta di disegno in stile abbozzato!

Realizzate una cianografiaCreate un’illustrazione dettagliata senza sforzo. Linux Pro vi mostra come alcuni semplici

effetti di Inkscape possono dare un risultato impressionante

Page 61: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 61/100

LINUX PRO 125  59

Inkscape Tutorial

œ

1  Fare un riquadro bluPer prima cosa, andremo a creare un riquadro blu di sfondo alla

nostra immagine. Scegliete il colore Navy dalla tavolozza in fondo

alla finestra di Inkscape. Poi, scegliete lo strumento rettangolo

dalla barra degli strumenti sul lato e fate un rettangolo che sia

più o meno della larghezza della pagina. Potete ridimensionale

la pagina per adattarsi in seguito, non preoccupatevi di andare

alla modalità Orizzontale. Alcuni degli effetti che applicheremo

dipendono dalla grandezza iniziale del riquadro, perciò i vostri

risultati potrebbero essere diversi se decidete di fare una versione

A0, o almeno dovrete regolare alcuni dei parametri..

3  Creare un nuovo livelloNon vogliamo pasticciare accidentalmente con lo sfondo, perciò

il modo migliore di sistemare le cose è creare un nuovo livello

sopra di esso, per contenere la nostra illustrazione. Per iniziare,

dovremmo bloccare il livello attuale (facendo click sull’icona del

lucchetto nella barra di stato sul fondo della schermo). Poi

selezionate Livello D Aggiungi livello... dal menu. Inserite

un nuovo nome e assicuratevi che la disposizione sia impostata

a Sopra l’attuale. Potete cambiare livello facilmente scegliendo

quello che volete dal menu a comparsa nella barra di stato.

2  Aggiungere un po’ di formaggioProprio così, stiamo per aggiungere un effetto formaggio.

Aggiungere un po’ di trama allo sfondo dà un aspetto tipo

cianografico più autentico. Non vogliamo eccedere, perché

vorremmo poter vedere ancora l’immagine quando avremo

finito. L’effetto che troverete in Filtri D Sovrapposizione 

D Gorgonzola dà allo sfondo una sorta di aspetto spiegazzato,

logorato. Non aggiunge troppo disturbo, così l’illustrazione resterà

chiara e non è oneroso in termini di calcolo, perciò non dovrete

aspettare anni per l’aggiornamento della schermata.

4  Disegnare qualcosaBene, vorremo avere alcune forme sulla nostra cianografia.

Potete iniziare trascinando una forma rettangolare appena

all’interno dell’area riempita dal nostro sfondo gorgonzola.

Questo è il tipo di forma che trovate sui disegni tecnici e sulle

cianografie. Effettivamente, potete anche aggiungere una pila

di riquadri più piccoli nell’angolo basso a destra, come mostrato.

Aprite le proprietà Riempimento e contorni (Ctrl+Shift +F)

e assicuratevi che siano impostate a Nessun colore e colore

uniforme del contorno, diciamo grigio 10%. Potete regolare

lo spessore per adattarlo.

Passo passo Realizzate la vostra immagine in stile cianografico

Page 62: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 62/100

60  LINUX PRO 125

Tutorial 

Inkscape

5  Aggiungere più coseOra che avete un modulo per la vostra illustrazione (e sarebbeun buon momento per salvarlo per usi futuri), potete iniziarea disegnarci su alcune cose. Se già avete alcuni disegni schematiciche vorreste aggiungere, vi conviene farlo ora, ma se non aveteniente di adatto di aspetto tecnico ci sono alcune scorciatoieche potete provare per creare qualcosa. Usando lo strumentopenna (Shift +F6) disegnate un triangolo. È molto più facile farlose mantenete premuto il tasto CTRL, che vincola la forma a lineedritte e angoli regolari.

7  Importare qualcos’altroSe non sapete disegnare e le estensioni non possono disegnareniente di appropriato, allora c’è sempre il ripiego di prenderein prestito i disegni di qualcun altro. Se selezionate File D Importa

Open Clip Art , otterrete una finestra di ricerca che potete usareper trovare ogni tipo di immagine distribuita sotto CreativeCommons. Abbiamo pensato che una raffigurazione dell’uomodi Vitruvio di Leonardo sarebbe stata carina e difatti ce n’eranotre tra cui scegliere. Questa è dell’utente YDL e sembraadeguatamente scarna per quello che abbiamo in mente, farlasembrare un po’ confusa! Quando importate l’immagine potrestedoverla ridimensionare e posizionare in maniera appropriata.

6  Trasformare con i RenderCon il triangolo selezionato, scegliete Estensioni D Render D Disegna dal triangolo...: otterrete una finestra che vi dà ognisorta di opzione per il disegno geometrico che può essere generatodal vostro triangolo. Potete sperimentare con questi a piacere,cliccate su Anteprima diretta per vedere cosa fa ognuno.Questo dimostra chiaramente la potenza di alcune delle estensioni,che possono disegnare le cose per voi o espandere le coseche avete già disegnato. Esaminate bene il menu Render,poiché ci sono altre cose che potrebbero piacervi!

8  Fare il bozzettoUna delle funzioni più trascurate di Inkscape è Effetti su tracciato.È un po’ come i filtri o le estensioni, ma diversamente da quellimodifica un tracciato. Ce ne sono parecchi tra cui scegliere,ma quello che vogliamo usare ora è Bozzetto. Con l’oggettoselezionato, premete Shift +Ctrl+7 per richiamare la finestraEditor effetti sul tracciato. Selezionate Bozzetto dal menua discesa e poi cliccate sul pulsante Aggiungi. Questo modificheràil tracciato sostituendo ogni curva con numerose linee che sonouna sorta di approssimazione dell’originale. Potete giocherellarecon le impostazioni finché sembra corretto; non aggiungete troppo“tremore” o troppe linee o sembrerà soltanto un pasticcio.

Page 63: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 63/100

LINUX PRO 125  61

Inkscape Tutorial

9  Aggiungere del testoQuello di cui il documento ha bisogno ora è del testo, ma nonsemplicemente un vecchio testo qualsiasi. Potreste passareore a cercare un carattere adatto da usare per dare un effettotipo inchiostrato a mano, ma in realtà qualsiasi carattere andràbene; lo farete sembrare tremolante e disegnato a mano congli effetti. Scegliete un carattere e aggiungete del testo.Vi consigliamo qualcosa di abbastanza massiccio, come OpenSans,o almeno qualche tipo di carattere senza grazie. Aggiungetelousando lo strumento Testo e assicuratevi di aver selezionatol’opzione Grassetto nella barra degli strumenti, più è massiccio,meglio è per questo effetto.

11 Effetto scarabocchiatoQuesta volta selezionate Scarabocchi (grezzo) e aggiungetelo.La sagoma si riempirà probabilmente in modo informe. Dal pannelloRiempimento e contorni, assicuratevi che il riempimento sia disattivatoe riducete la larghezza del contorno fino a vedere le linee. Poteteregolare gli scarabocchi con la lunga lista di opzioni, ma è più facileottenere l’effetto che volete facendolo “direttamente”. Passate allostrumento Nodi (quello sotto il puntatore normale) e ora nella formadovreste vedere due rombi gialli e alcuni altri punti. Muovete quellosuperiore per modificare la frequenza e la direzione degli scarabocchicosì da ottenere un buon effetto (spostarlo verso il centro dell’oggettoaumenta la frequenza).

10 Modificare il vostro testoNon potete applicare Effetti sul tracciato al testo, perché il testonon è un tracciato, tuttavia potete trasformarlo. Selezionatelo e poiscegliete Tracciato D Da oggetto a tracciato. Il vostro testo nonè più modificabile come testo, è ora semplicemente una serie ditracciati raggruppati. Mentre sono ancora raggruppati insieme, usatele proprietà di Riempimento e contorni per dare un contorno grigioe nessun riempimento. Ora scegliete Modifica D Duplica per creareuna copia identica. La copia sarà quella che convertirete in scarabocchie l’originale servirà da sagoma delimitante per rendere il testo ancoraleggibile quando lo avrete colorato all’interno. Separate i tracciatie selezionatene uno semplice per iniziare, poi premete Shift + Ctrl+ 7 per aprire l’Editor di effetti sul tracciato.

12 Trattare le forme difficiliIl problema con alcune forme è che hanno dei vuoti all’interno.L’effetto Scarabocchi non le gestisce molto bene e sembrariempirle due volte. Il modo un po’ scomodo ma efficace di gestirleè duplicare ancora la forma. Usando il modificatore di Nodi,rimuovete il tracciato esterno così da avere solo la parte interna,poi riempitela e applicate ogni effetto per renderla simileallo sfondo. È un po’ scomodo, ma è abbastanza efficacee certamente molto più facile che dover disegnare tutti quegliscarabocchi a mano!  LXF

Page 64: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 64/100

62  LINUX PRO 125

Sistemi multipostazione

Trasformate la vostra Linux box in una potente centrale multitasking

schede video PCIe. Sono poi disponibili anche schedevideo USB. Teoricamente un processore multi-coreoppure uno dotato di hyperthreading dovrebbe esserein grado di offrire un core o un thread per ciascunutente; con un po’ di memoria in più dovrebbe esserepossibile far girare anche giochi 3D o un programmaper l’editing video. Una singola scheda Ethernet

da 100 Mbit è poi più che adeguata per le connessionia Internet di più utenti.

Preparazione del sistemaÈ piuttosto facile arrivare a un’installazione inutilizzabilequando le cose vanno storte. Se dovete usare il vostroPC principale assicuratevi per prima cosa di aver fattouna copia di sicurezza dei vostri dati. Prima di partiredovete avere almeno due account utente con directoryhome separate. È importante perché due istanzedello stesso utente che accedono ai file in una singolahome possono causare dei problemi portando ancheall’instabilità del sistema e alla perdita dei dati.Solo uno dei due utenti dovrebbe avere i permessi

di amministrazione, principalmente per garantire chel’arresto del PC non sia eseguito in maniera scorrettae che non vengano fatte modifiche senza criterioalla configurazione del sistema. Un’attenta sceltadell’hardware renderà le cose più facili. Far funzionaredue monitor con Linux non è difficile. Se entrambisono collegati al momento dell’installazione, con buonaprobabilità saranno riconosciuti e configurati per voi;in caso contrario dovrete assicurarvi che siano in gradodi funzionare in due sessioni X separate primadi tentare di configurare il sistema per due utenti.Quella che segue è una descrizione dei passi richiestiper creare un sistema multiposto con sessioni Xparallele attraverso la modifica dei file di configurazione.

Sessioni utente distinteSostanzialmente cercheremo di eseguire in parallelodue server X distinti. Occorrerà modificare il file /etc/X11/xorg.conf per creare due layout, ognunodei quali dotato di schermo, mouse e tastiera propri.X11 è in grado di gestire sessioni multiple da un po’di tempo, ma il server X di base è limitato a una solaper ciascuna scheda video. In questo tutorial useremoschede Nvidia e i loro driver proprietari. Vista la grandevarietà di configurazioni possibili, un articolo comequesto può solo dare qualche consiglio generaleper far funzionare le cose, ma i metodi usati possonorisultare utili in molte situazioni anche differenti da

quella descritta qui. Conviene creare un copia di backupdella versione esistente di /etc/X11/xorg.conf in modoche, in caso di disastro, sia possibile eseguire il login

INTERMEDIO

I vostri figli litigano in soggiorno per usareil computer? La bolletta dell’elettricitàvi fa venire il mal di testa e mette a rischio

il vostro conto in banca? La soluzione potrebbe essereun computer multiposto. Esistono sistemi dotati di piùdi un monitor, ma un sistema multiposto ha anche dueo più tastiere, mouse, altoparlanti e utenti simultanei.

Tra le ragioni che spingono a usare sistemi del generetroviamo problemi di spazio, di budget o di risparmioenergetico. In alcuni paesi, tra cui il Sudafricae il Brasile, vengono installati migliaia di PC multipostonelle scuole e nei centri di ritrovo per offrire al maggiornumero di studenti e di cittadini la possibilitàdi accedere a Internet. Anche un PC di scarsa potenzaè in grado di supportare più utenti. Un computermoderno offre una capacità di calcolo molto superiorea quella richiesta da molte delle attività per cui vieneimpiegato, come la navigazione in Rete, l’elaborazionedi testi o la lettura della posta elettronica. Molti sistemidesktop, specialmente quelli dotati di processoremulti-core, non fanno nulla per la maggior parte

del tempo. Un PC usato da due persone consumeràun po’ più di elettricità rispetto a un singolo utente,ma considerevolmente meno di quella di due computerdiversi. A casa un semplice sistema a due posti puòessere utile quando serve un PC in più per i compitidei figli o per un ospite. Per questo articolo abbiamousato Ubuntu 12.04 su un sistema AMD64X2 4200+con 4 GB di RAM, dotato di una scheda grafica Nvidiasulla motherboard e di una seconda scheda PCIesempre di Nvidia. Non si tratta di certo di una macchinapotente secondo gli standard attuali, ma si è rivelataperfettamente in grado di svolgere il suo compito.Abbiamo scelto di proposito dell’hardware datatoper rendere maggiormente evidenti tutti gli eventuali

problemi. Per garantire un test approfondito abbiamopersuaso un paio di volontari a usarecontemporaneamente il sistema. Siamo rimastipiacevolmente sorpresi dal fatto che non si sonopresentati problemi di prestazioni. I due utentinavigavano allegramente sul Web, guardavano i videodi YouTube, giocavano e svolgevano le loro attivitàquotidiane come la preparazione di testi e di foglielettronici senza nessun problema evidente. Questoarticolo tratta solo di sistemi a due posti, ma il numerodei possibili utenti contemporanei è limitato unicamenteda quello delle schede video che possono essereinserite nel PC usato, dato che è sempre possibileaggiungere porte USB collegando degli hub.

Normalmente una motherboard moderna è dotatadi uno slot PCIe e uno o più slot PCI, ma ce ne sonoalcune che sono in grado di supportare fino a cinque

Perché due teste

sono meglio di unaLinux Pro vi mostra come collegare più monitor, mouse e tastiere a un singolo PC

per condividere la potenza di un calcolatore e fare la felicità di più utenti

Page 65: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 65/100

LINUX PRO 125  63

Sistemi multipostazione Tutorial

dalla console o via SSH da un altro PC oppure usareun Live CD per ripristinare la versione funzionante.Una volta configurate le due sessioni bisogna usareil display manager per lanciare i terminali video (o VT) edeseguirli in parallelo. Abbiamo inizialmente configurato unserver per volta, commentando l’altra metà della sezione

ServerLayout  del file di configurazione, in mododa essere sicuri di avere due sessioni funzionanti.Un problema con le distro desktop attuali è il gradodi automazione raggiunto. Bisogna impedire che HALe Udev aggiungano automaticamente i dispositivi,altrimenti tutti funzionerebbero con un unico schermo,cosa come minimo leggermente fastidiosa.

Identificare i dispositiviLe schede video possono essere identificate per mezzodel comando lspci | grep VGA. I driver proprietariNvidia permettono di usare il programma nvidia-settings per configurare i monitor a proprio piacimento.Questo tool è anche in grado di creare una versione

di base di xorg.conf che contiene le informazionirelative a scheda video e monitor e che può esserepersonalizzato in seguito. Anche con i driver AMDdovrebbe essere possibile fare una cosa del genere.Per quanto riguarda invece tastiera e mouse, useremoil driver evdev, che usa eventi del tipo xxx-event-kbd o xxx-event-mouse. Si trovano nella directory /dev/input . Questa directory contiene file del tipomice, mouse0, mouse1 ecc. Sono legati al driverdel mouse e non vanno bene per il nostro scopo perchépossono cambiare oppure essere usurpati da altriprogrammi. La directory contiene anche alcuni eventinumerati che sono collegati a eventi presenti nellesottodirectory by-id e by-path. Dato che si tratta

di link dinamici, i dispositivi a cui sono collegati possonocambiare se questi vengono scollegati o se vieneaggiunto un altro dispositivo prima dell’avvio dellamacchina. Per aumentare la confusione, inoltre, a volteesiste più di un file per il medesimo evento, datoche le tastiere possono avere eventi di tipo mousee viceversa. Noi abbiamo invece ovviamente bisognodi un unico identificatore per ciascun dispositivo.I seguenti comandi: ls -R /dev/input ls -R /dev/input | grep mouse ls -R /dev/input | grep kbddanno una lista di tutti gli eventi. Gli elementiin /dev/input/by-id sono utili nel caso stiate usando

modelli differenti di tastiera e mouse, dato cherimangono statici. Se invece usate due tastiere o duemouse identici potreste scoprire che alcuni elementinella directory by-id sono condivisi e vi toccherà usarequelli nella directory by-path (i cui elementi cambianosolo se i dispositivo sono collegati a una porta USBdiversa). Qui sotto vedete un esempio dell’outputprodotto dai comandi, con i dati che ci interessanoin grassetto. Il primo proviene dalla directory /dev/input/by-id, mentre il secondo proviene dalla directory /dev/input/by-path. Ci interessano gli elementi del tipo-event-mouse oppure -event-keyboard : $ ls -R /dev/input |grep mouse mouse1

 usb-Logitech_USB_Receiver-event-mouse usb-Logitech_USB_Receiver-if01-event-mouse usb-Logitech_USB_Receiver-if01-mouse

 usb-Logitech_USB_Receiver-mouse pci-0000:00:10.0-usb-0:2:1.1-event-mouse pci-0000:00:10.0-usb-0:2:1.1-mouseUna volta identificati i dispositivi occorrerà aggiungerlial file /etc/X11/xorg.conf, di cui nel seguitoesamineremo un esempio. Ovviamente dovretemodificare i dettagli dei dispositivi per adattarli allavostra configurazione hardware. La prima sezione

è ServerFlags, che imposta le opzioni comuni a tuttii server. Le righe più importanti sono quelle chedisabilitano l’aggiunta automatica dei dispositivi: # X configuration file

 Section “ServerFlags”  Option “Xinerama” “off”  Option “AutoAddDevices” “off”  Option “AllowEmptyInput” “on”  Option “AllowMouseOpenFail” “on”  Option “DisableModinDev” “on”  Option “DRI” “on”EndSectionPer ogni server occorre poi una sezione ServerLayout  

per elencare i dispositivi relativi allo schermo

Un PC, due sessioni.In questo casoabbiamo duemonitor, duecombinazionidi tastierae mouse senza filie due gruppidi altoparlanti USB

Hardware multiposto

Vale la pena di sottolineare che piùsemplice e più standard è l’hardware, p iùfacile risulterà farlo funzionare. Le specificheelencate qui sotto sono un minimo assoluto,ma potreste stupirvi delle buone prestazioniche può offrire un sistema di fascia bassa.∆ Processore Come minimo un PentiumP4 2,4 GHz. L’ideale è un processoremulti-core, con un core per ciascun utente,ma non è essenziale.∆ Memoria 512 MB. 1 GB è ampiamente

sufficiente per due utenti nonparticolarmente esigenti, ma più cen’è meglio è. È raccomandabile un minimodi 256 MB extra per ciascun utente.∆ Spazio su disco Come minimo 20 GBper due utenti, ma se ce n’è di più è meglio.∆ Schede video Minimo 16-32 MBdi memoria video. Una scheda per utente,preferibilmente schede simili dello stessoproduttore che usino lo stesso driver.Non è essenziale, ma semplifica di moltola ricerca di eventuali problemi. Possonoessere usate anche schede PCI.∆ Monitor Preferibilmente identici, oppuredue diversi che permettano di usarela stessa risoluzione.

∆ Hub USB Conviene usare un hubseparato per ciascuna sessione. Dato

che alcuni dispositivi USB hanno bisognodi una certa potenza si raccomandanohub con alimentazione esterna.∆ Tastiere e mouse Un modello qualsiasidi tastiera e mouse USB dovrebbe andarebene, compresi i set senza fili. Questi ultimiaiutano a ridurre il numero dei cavi,ma occorre fare att enzione alle interferenzereciproche.∆ Suono Vanno bene sia le schede audioUSB che gli altoparlanti USB, che al loro

interno hanno una scheda audio.Collegandoli al medesimo hub a cui sonoconnessi tastiera e mouse si mantiene unacerta pulizia nel sistema. Bisogna peròtenere conto delle interferenze acustiche.Se intendete usarla come configurazionepermanente vi conviene dotarvi di cavilunghi oppure di cuffie per uno o più ut enti.∆ Chiavette USB, macchine fotografiche

ecc. L’ hotplug  di dispositivi USB e Bluetoothfunziona per default solo per l’utenteche ha eseguito per primo il login.Se è un problema potete provarea modificare la configurazione di  policyk it .∆ Stampanti, scanner ecc. Dovrebberoessere collegati alle porte USB della

motherboard o connessi via rete, in mododa essere accessibili da tutte le sessioni.

œ

Page 66: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 66/100

64  LINUX PRO 125

Tutorial 

Sistemi multipostazione

 EndSection

 Section “InputDevice”

  Identifier “Mouse1”

  Driver “evdev”

  Option “Device” “/dev/input/by-id/usb-MOSART_ 

Semi._Wireless_Keyboard___Mouse-event-mouse”

  Option “GrabDevice” “on” EndSection

 Section “InputDevice”

  Identifier “Keyboard0”

  Driver “evdev”

  Option “Device” “/dev/input/by-id/usb-Logitech_USB_ 

 Receiver-event-kbd”

  Option “Xkb_Rules” “evdev”

  Option “Xkb_Model” “evdev”

  Option “GrabDevice” “on”

 EndSection

 Section “InputDevice”

  Identifier “Keyboard1”

  Driver “evdev”

  Option “Device” “/dev/input/by-id/usb-MOSART_ Semi._Wireless_Keyboard___Mouse-event-kbd”

  Option “Xkb_Rules” “evdev”

  Option “Xkb_Model” “evdev”

  Option “GrabDevice” “on”

 EndSection

Infine dobbiamo specificare i dati dei monitor, delle

schede grafiche e gli schermi a cui sono collegati.

Abbiamo usato due monitor da 19 pollici con

una risoluzione di 1440x900. L’opzione DPMS 

abilita il risparmio energetico:

 Section “Monitor”

  Identifier “Monitor0”

  VendorName “Unknown”

  ModelName “Bit 3 Vw19B2”  HorizSync 31.0 - 83.0

  VertRefresh 56.0 - 76.0

  Option “DPMS”

 EndSection

 Section “Monitor”

  Identifier “Monitor1”

  VendorName “Unknown”

  ModelName “Acer AL1916W”

  HorizSync 31.0 - 84.0

  VertRefresh 56.0 - 76.0

  Option “DPMS”

 EndSection

I nostri dispositivi sono entrambi delle schede grafiche

Nvidia, una sulla motherboard e una in uno slot PCIe: Section “Device”

  Identifier “Device0”

  Driver “nvidia”

  VendorName “NVIDIA Corporation”

  BoardName “GeForce 8100 / nForce 720a”

  BusID “PCI:2:0:0”

 EndSection

 Section “Device”

  Identifier “Device1”

  Driver “nvidia”

  VendorName “NVIDIA Corporation”

  BoardName “GeForce 8400 GS”

  BusID “PCI:3:0:0”

 EndSectionGli schermi sono coppie di schede video e monitor:

 Section “Screen”

e all’ingresso dei dati. L’opzione SingleCard limita

i reset a un singolo dispositivo:

 Section “ServerLayout”

  Identifier “Layout0”

  Screen 0 “Screen0” 0 0

  InputDevice “Keyboard0”

  InputDevice “Mouse0”

  Option “SingleCard” “on”

 EndSection

 Section “ServerLayout”

  Identifier “Layout1”

  Screen 0 “Screen1” 0 0

  InputDevice “Keyboard1”

  InputDevice “Mouse1”

  Option “SingleCard” “on”

 EndSection

Ora ci vuole una sezione per ciascun dispositivo

di ingresso. Si tratta di solito di mouse e tastiere,

ma possono essere specificati anche altri dispositivi,

come tavolette grafiche o schermi sensibili al tocco.

Noi abbiamo usato due diversi kit tastiera/mouse senza

fili. L’opzione GrabDevice impedisce agli altri driver diaccedere al dispositivo. Il locale delle tastiere conviene

invece configurarlo usando le impostazioni di sistema

di Ubuntu, che sono specifiche di ciascun utente.

 Section “InputDevice”

  Identifier “Mouse0”

  Driver “evdev”

  Option “Device” “/dev/input/by-id/usb-Logitech_USB_ 

 Receiver-event-mouse”

  Option “GrabDevice” “on”

A proposito del file xorg.conf

Posizionato nella directory /etc/X11, xorg.

conf ha ossessionato molti hacker Linux.

Viene letto all’avvio del server X

e ha una sintassi abbastanza oscura.

Al giorno d’oggi la maggior parte delle

distro configura automaticamente X

per voi e il file può addirittura non esistere.

Questo può dare luogo a problemi piuttosto

difficili da sistemare, ma la configurazione

manuale è ormai necessaria raramente.

Casi come il nostro, in cui cerchiamo

di fare qualcosa al di fuori dell’ordinario,

sono l’eccezione. Il formato di xorg.conf

può confondere un po’, ma questo è dovuto

alla sua estrema flessibilità. Molti degli

esempi su Internet rivelano chiaramente

di essere stati ottenuti per mezzo di copia

e incolla. Spesso la gente tende a usareesempi vecchi e poi si dimentica di ripulire

le cose. Ad esempio, ServerFlags imposta

i valori di default, che però possono essere

modificati in una qualsiasi delle altre sezioni.

All’interno del file non c’è distinzione

tra maiuscolo e minuscolo, le sezioni

non devono seguire un particolare ordine

e i valori booleani possono essere espressi

con 0 o 1, on o off, true o false, yes o no.

C’è anche una serie apparentemente infinita

di opzioni, alcune non ben documentate.

Un errore di battitura insignificante

può impedire al server di partire,

ma ci sono dei buoni file di log per

scoprirlo. Nei nostri esempi abbiamo cercato

di essere consistenti e di eliminare quante

più righe inutili potessi, ma la directory

 /var/log rimane il vostro punto

di riferimento quando le cose nonfunzionano come vi aspettereste.

Writer di LibreOfficein stereo! Anchela stampa hafunzionato bene

Page 67: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 67/100

LINUX PRO 125  65

Sistemi multipostazione Tutorial

Se avete dei problemi

nell’identificare

i dispositivi potetescollegarli e ricollegarli

uno per uno,

verificando ogni volta

l’output dei comandi

lsusb e dmesg.

Tip  Identifier “Screen0”  Device “Device0”  Monitor “Monitor0”  DefaultDepth 24  Option “metamodes” “nvidia-auto-select

+0+0;1440x900_75 +0+0”  SubSection “Display”  Depth 24  EndSubSection EndSection Section “Screen”  Identifier “Screen1”  Device “Device1”  Monitor “Monitor1”  DefaultDepth 24  Option “metamodes” “nvidia-auto-select+0+0;1440x900_75 +0+0”

  SubSection “Display”  Depth 24

  EndSubSection EndSectionUna volta preparato un xorg.conf funzionante (cioèche permette di avviare il sistema operativo senza errorie di usare entrambi i monitor, i mouse e le tastiere)occorre configurare il display manager. Il displaymanager vi permetterà di collegarvi a due sessionidistinte di VT (terminali video) e ripartire tra di essei dispositivi disponibili.

LightDMPer questo tutorial abbiamo scelto il display managerdi default di Ubuntu, principalmente perché offrela possibilità di definire più sessioni utente con monitor

diversi e usa una sintassi abbastanza chiara perla configurazione. Inoltre può essere usato conqualsiasi ambiente desktop, sia KDE che GNOME.Anche KDM (il DM di KDE) è in grado di gestire sessionimultiple, mentre invece GDM (quello di GNOME)no. Il file di configurazione di default, /etc/lightdm/

lightdm.conf, è piuttosto essenziale, malo cambieremo in breve tempo! Dobbiamo creare unelemento per ciascuna postazione utente, specificandoi comandi per il server X e il rispettivo layout. [LightDM] seats=Seat:0 Seat:1 [SeatDefaults] user-session=ubuntu

 greeter-session=unity-greeter [Seat:0] xserver-layout=Layout0

 xserver-command=/usr/bin/X :0 -layout Layout0 -auth /var/run/l ightdm/root/:0 -nolisten tcp vt7 -novtswi tch [Seat:1] xserver-layout=Layout1 xserver-command=/usr/bin/X :1 -layout Layout1 -auth

 /var/run/l ightdm/root/:1 -nolisten tcp vt8 -novtswi tch-sharevtsL’opzione noswitch impedisce lo scambio di sessioni,mentre sharevts permette di mantenere apertipiù VT. Quest’ultima opzione non deve essere abilitataper la prima sessione perché potrebbe causareproblemi con lo schermo. Se desiderate il loginautomatico aggiungete queste righe (con nomi utentediversi) a ciascuna sezione: autologin-user=nomeutente autologin-timeout=0Questo evita anche il problema riferito da alcuniutenti che non vedevano il campo della passwordall’interno del greeter .

SuoniLa configurazione del suono risulta più semplice quandoviene fatta per ciascun utente usando schede sonoreseparate. Per prima cosa occorre aggiungere entrambigli utenti al gruppo audio. Ciascun utente puòpoi eseguire il login e configurare le impostazioniper il dispositivo a lui riservato. Se usate PulseAudio queste impostazioni sono salvate automaticamentenel corrispondente file in /home/nomeutente/.pulse.Questo ovviamente implica che, a meno che usinola stessa postazione, al prossimo collegamentodovranno eseguire di nuovo la configurazione.La situazione del desktop su Linux è molto fluida.

Una sempre maggiore automazione tende a ridurrela flessibilità; le sessioni multiple, poi, possono avereimplicazioni sulla sicurezza. Il nostro approccio puòapparire un po’ verboso, ma in compenso dovrebbefunzionare con la maggior parte delle distro. LXP

Altri metodi

Come succede sempre nel mondo Linux, ci sonomolti altri modi per creare un ambiente multiposto.Potreste usare una configurazione con duemonitor, un gestore di macchine virtuali comeVMware o VirtualBox e lanciare due sessionidi macchina virtuale. Le schede videocon due uscite possono essere usate con server Xannidati che girano su Xephyr. Per Ubuntuc’è anche uno script Python che può essererecuperato da http://code.google.com/p/

multiseat-wizard-bicefalo/ ed è in grado

di eseguire tutta la configurazione. Dipendedal pacchetto xserver-xephyr  e funzionasolo con i driver Open Source distribuitidi default. Entrambe queste opzioni sono moltopiù voraci in termini di risorse della nostraconfigurazione. C’è poi una proposta commercialedi un’azienda canadese di nome Userful.È in grado di supportare fino a 10 utentiper PC attraverso sessioni X parallele e ha avutoparecchio successo in Brasile e in altri paesi.Si può ottenere una chiave gratuita

per due utenti per uso domestico registrandosisul sito www.userful.com. È disponibileper parecchie distro Linux, ma sono tuttepiuttosto vecchie. Al momento la più recenteversione di Ubuntu è la 10.04 LTS. Fedora 17sembra supportare gli  Zero-cl ient  attraversosystemd. Si tratta di hub con a l loro internoadattatori VGA e schede audio che possonoessere collegati a un PC via USB o Ethernet.Ne esistono di diversi produttori, tra cui HP,Acer, Viewsonic e Plugable.

Un confronto traOctopus e GuruTV.YouTube a tuttoschermo in entrambele sessionie nemmenoun rallentamento.L’unico conflittoè stato trai gusti musicali

Page 68: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 68/100

66  LINUX PRO 125

Hardware

Recuperare hardware obsoleto con GNU/Linux

L’esasperante corsa al “riarmo informatico”genera annualmente milioni di computerportatili che vengono accantonati in favore

di nuovi modelli: qualcuno viene regalato ad amicio parenti, altri amorevolmente riposti in un cassetto“perché non si sa mai”, altri un po’ più rudemente ingarage o cantina, mentre i più sfortunati sono avviatialla piattaforma ecologica per una fine ingloriosa.In questo articolo vedremo come recuperare a nuovavita un hardware manifestamente obsoleto, con unpo’ di “magia pinguina”, competenza e voglia di fare.Lasciamo da parte un candidato troppo facile come

potrebbe essere un Pentium III @700MHz, con 256MB di RAM e 10 GB di disco. Forse un Pentium II@400MHz 128 MB di RAM e 4GB di disco? Giàmeglio, ma non abbastanza: noi cerchiamo il brividodella sfida! Per questo motivo decidiamo di usarequalcosa di palesemente obsoleto, cioè un ThinkPad380D, Pentium @ 150 MHz con 2 GB di disco:impossibile? Vedremo! Ci aiuta il fatto che il sistemaha integrati i lettori di floppy e CD ed è dotato di unascheda di rete PCMCIA da ben 10 Mbit/s. Ci sono16 MB di RAM saldati a bordo, ai quali abbiamoaggiunto un banco di espansione da 64 MB chea scopo “memorabilia” giaceva da anni – ripostoma non dimenticato – in un cassetto dal qualeè stato recuperato e prontamente riciclato.

Storia di un salvataggioIl ThinkPad 380D oggetto dell’articolo giaceva– letteralmente! – in un cestino dei rifiuti in garagedato che presentava il difetto di non avviarsi: in fasedi boot il BIOS mostrava a video due codici di errore,rispettivamente 00161 e 00163, per poi entrarein un ciclo infinito di richiesta di inserimentodi ora/data e successivo riavvio. Indagando in Rete,abbiamo scoperto che tali codici indicavanoun problema alla batteria tampone, che dopopiù di un decennio era completamente esaurita

e non manteneva aggiornate data e ora. Rimpiazzatala batteria con una nuova al prezzo di due euro,il portatile ha ripreso a funzionare correttamente.Nel corso dell’articolo ci muoveremo su più unitàdi lavoro: il portatile “bersaglio” TP380D e un PCdi servizio, che a sua volta conterrà una macchinavirtuale emulata tramite KVM. Per esplicitare qualicomandi andranno lanciati su quale computer,useremo tre lettere: “K” per indicare la macchinavirtuale emulata con KVM, “R” per indicare il PCdi servizio che ospita la macchina virtuale e “P”per il portatile. Inoltre, specificheremo caso per casole attività che dovranno essere svolte con dirittidi utente comune ($) o da amministratore (#).

La scelta della distroPrima di iniziare l’attività vera e propria diinstallazione, occorre decidere cosa installare: un PC“moderno” che faccia “girare” una macchina virtualetramite KVM settata con soli 80 MB di memoria

FACILE

Roberto Premoli

Comincia nel 1999

a usare GNU/Linux

e il software Open

Source, con particolare

attenzione

all’ottimizzazione

di sistemi e ai cluster

di calcolo. Occupa

attualmente la

posizione di IT Senior

Specialist presso

una multinazionale

farmaceutica. Chi

volesse contattarlo può

scrivergli all’indirizzo

roberto.premoli@

tiscali.it .

L’autore

L’hardware nel dettaglio

∆ CPU Pentium @150

MHz

∆ RAM 16 MB saldati

+ un modulo di espansione

da 64 MB

∆ Disco rigido 2 GB

∆ Lettore floppy Sì

∆ Lettore CD-ROM Sì

∆ Porta USB No

∆ Altre porte 1 parallela,

1 seriale, PS/2 per mouse

esterno, porta infrarossi

∆ Espansione 2 slot

PCMCIA a 16 bit

∆ Scheda di rete Ethernet

10 Mbit/s su PCMCIA

TP380D, il top di gamma... nel 1995

Di baci, somari, mogli e buoi

L’acronimo inglese K.I.S.S. (bacio) sta a indicare “Keep

It Simple, Stupid” (“Mantienilo facile, stupido!”), cioè

rappresenta un invito – un po’ rude – nei confronti degli

sviluppatori per realizzare i propri prodotti software in modo

che siano facilmente manutenibili dal punto di vista della

programmazione e leggeri nell’uso da parte dell’utentefinale. Purtroppo, sembra che attualmente gli scrittori

di software facciano a gara nel riprodurre l’equivalente

informatico di un “somaro morto”, cioè qu alcosa

di ingombrante e che ha bisogno di un t rattore per essere

spostato, esplicitando questa filosofia nella frase “Il tuo

software è lento? Non perdere tempo a ottimizzarlo,

dì al tuo cliente di comprare hardware più potente”.

Siamo quindi giunti alla conclusione di far nostro il proverbio

“moglie e buoi dei paesi tuoi”, che in informatica si declina

semplicemente con il cercare di installare su un PC

del software che gli è il più possibile contemporaneo,

cioè ideato e realizzato per sfruttare quelle risorse

di calcolo e non di più. Il rovescio della medaglia è che tale

software non è più manutenuto e se il sistema è “ affacciato

alla Rete” la sua violazione sarà solo q uestione di tempo.

Consci di questo problema, vedremo come mediaretra le varie esigenze di sicurezza e di prestazioni.

Obsoleto sì, inutile no!In tempi di crisi è un peccato non sfruttare quel vecchio computer che avete dimenticato

in cantina. Con la nostra guida lo potrete togliere dal pensionamento forzato

Page 69: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 69/100

LINUX PRO 125  67

Hardware Tutorial

(parametro -m 80 di KVM) è un ottimo ambienteper fare le prove. Anche se non possiamo limitarela velocità della CPU per simulare in toto un Pentiuma 150 MHz, quanto meno abbiamo la possibilitàdi impostare la quantità di RAM che può essere vistacome un indicatore delle prestazioni raggiungibili

sull’hardware reale. Potremmo orientarci su distrominimali, come Puppy Linux o DSL (Damn SmallLinux) ma Puppy vuole almeno 48 MB di RAM liberi,mentre DSL non è più aggiornata da parecchiotempo e propone software obsoleto (Firefox 2.0)che mal si sposa con la nostra decisione di usaresolo applicativi mantenuti aggiornati sotto l’aspettodella sicurezza e del “bug fixing”. Non va inoltredimenticato il fatto che le distro fatte da altricome-sono-te-le-prendi  con nessuna o pochepossibilità di modifiche, mentre noi desideriamo poterinstallare quello che vogliamo senza dover subirescelte prese da altri. Abbiamo perciò decisodi orientarci su una distro comune, che provvederemo

a ottimizzare per i nostri scopi, puntando su un“cavallo di razza” quale è Debian. Va detto cheil ThinkPad 380D non permette il boot da CD, per cuiè necessario partire da floppy. Purtroppo, qui arrivala prima delusione: Debian 6.0, oltre a richiederecome minimo 43 MB di memoria in fasedi installazione, è altresì troppo recente e ha esclusoil boot da floppy in quanto il kernel scelto è troppograsso per stare nei soli 1440 KB messi a disposizioneda un dischetto. Ci siamo orientati quindi su Debian“etch” 4.0, dotata di un kernel 2.6 e che giudichiamoun buon compromesso tra leggerezza eaggiornamento dei programmi. Grazie a un motoredi ricerca abbiamo scelto questi due link: http://iso.

linuxquestions.org/debian/debian-gnulinux-4.0r1-etch/ e http://ftp.ch.debian.org/debian-cd/4.0_r7/i386/iso-cd/ tra i numerosi che mettono adisposizione Debian 4.0. Qualora il sito sorgente sceltoabbia poca banda e lo scaricamento del file si dovesseprotrarre per delle ore, suggeriamo di scaricarlocon wget da una riga di comando come segue: R$ wget -c http://ftp.ch.debian.org/debian-cd/4.0_r7/ i386/iso-cd/debian-40r7-i386-CD-1.isoIl parametro -c eviterà di far perdere il lavoro fattonel caso di un’interruzione forzata del download,per il cui completamento basterà rilanciareil comando. Provvedete quindi a masterizzare la ISOcon il vostro “bruciatore di CD” preferito. Si dà

per scontato che il portatile sia connesso a Internet:l’installazione vera e propria esula dallo scopo diquesto articolo, vi rimandiamo alla Rete e soprattuttoalla pagina www.debian.org/releases/stable/i386/

index.html.it , dove troverete tutte le informazioniper una corretta installazione. Ad ogni modo,ci sentiamo di consigliare quanto segue:

∆ scegliere l’installazione “expert” nel casosi desideri un controllo più fine sulle opzionidi installazione;∆ impostare 160 MB di swap (il doppio della RAM);∆ formattare la root (/) con il filesystem ext3,con 0% di blocchi riservati;∆ si scelga il kernel 2.6.18-6-486 (la versione“686” può dare problemi ai Pentium);∆ non si attivi nessun repository in Rete (nessuntimore per il mancato accesso al repositorydegli aggiornamenti);∆ nella pagina “selezione del software” (“softwareselection”) si scelga solo “software standard”(“standard system utility”).

Al reboot dopo l’installazione ci troviamo nel promptdei comandi di una versione di Debian nonpiù manutenuta: dove trovare tutto il softwarenecessario, ma assente dal CD? Ecco che, dal puntodi vista di “servizio all’utente”, Debian dimostradi essere una spanna sopra le altre distro: all’indirizzohttp://archive.debian.org/debian/ sono disponibilile versioni di Debian, dalla 3.0 fino all’attuale 6.0;è sufficiente configurare in gestore di pacchettied e fatta! Apriamo quindi il file di configurazionein un editor di testo con:P# nano /etc/apt/source.conf

aggiungiamo la riga deb http://archive.debian.org/debian etch main

contrib non-freee disabilitiamo l’uso del CD-ROM di installazioneanteponendo il simbolo di cancelletto # alla paroladeb nella riga deb cdrom.... Una volta fatto

1 Il kernelottimizzato è prontoall’uso

In caso di minori risorse hardware

Il portatile ha 80 MB di memoria, ma nell’articolo abbiamo

agito come se ne avesse solo 40, situazione tipica per molti

portatili dell’epoca che avevano 8 MB salda ti più un banco

di espansione da 32 MB. Ad ogni modo, chi dispone

di hardware più datato no n si deve sentire tagliato fuori,

in quanto è possibile ricorrere a versioni più vecchie di Debian:

“sarge” 3.1 e “woody” 3.0 richiedono rispettivamente 24 e 14

MB di RAM per essere installate, contro i 32 MB di “etch” 4.0.Spingendoci ancora più indietro nel tempo, troviamo la “Potato”

2.2 che presenta due vantaggi: il primo è che sono richiesti

solo 12 MB, mentre il secondo è la possibilità di installare

unicamente tramite floppy, eliminando così la necessità

del lettore CD-ROM e della rete. Per chi dispone di computer

senza scheda di rete, segnaliamo che è possibile emularla

tramite la porta parallela. Questa estrema leggerezza

e flessibilità di Debian “abbassano l’a sticella” dei requisiti

minimi, permettendo l’installazione su praticamente qualunquePC abbiate a disposizione.

œ

Page 70: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 70/100

68  LINUX PRO 125

Tutorial 

Hardware

premiamo Ctrl+X, poi s (y se avete installato Debianin inglese) per salvare e infine Invio. Aggiorniamo con P# apt-get update ; apt-get installdebian-archive-keyring

 P# apt-get upgrade ; apt-get dist-upgrade P# apt-get install dosfstools netcat

Ora il sistema è aggiornato all’ultima versionedi Debian “etch” 4.0r9 e dichiariamo questo puntocome “appena installato”. Abbiamo così raggiuntola prima pietra miliare nel nostro viaggio, cioè avereun sistema base installato e funzionante: sopradi esso costruiremo tutto il resto.

KVM ci dà una manoValutata la situazione e considerando il lavoroche ci aspetta, abbiamo deciso di “giocare sporco”:la ricompilazione del kernel la faremo fare da un PCmoderno tramite una macchina virtuale. Dopotutto,lavorare su un PC da 2 GHz con KVM sarà semprepiù veloce che non lavorare direttamente

sull’hardware nativo da 150 MHz con altresìil vantaggio di non dover installare sul portatilei programmi necessari (compilatore, sorgenti, librerie,ecc.). Sul PC di lavoro dotato di una connessionea Internet, attiviamo il nostro Window/DesktopManager preferito (KDE, GNOME, Xfce4, ecc.),apriamo una console, installiamo i software necessari,creiamo il file che emulerà il disco rigido del PCemulato (più un file di appoggio per scambio dati)e facciamo partire l’installazione digitando R# apt-get install kvm dosfstools netcat R$ dd if=/dev/zero of=file-immagine.imgbs=1M count=3072

 R$ dd if=/dev/zero of=hdb-immagine.img

bs=1M count=20 R$ kvm -hda file-immagine.img -cdromdebian-40r7-i386-CD-1.iso -net user–net nic,model=ne2k_pci -boot d

Ripetiamo l’installazione tale e quale a quella fattasul portatile, con relativo aggiornamento.

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

80 MB di memoria possono andarci stretti,per cui dovremo fare di tutto per ridurrel’occupazione di memoria; la prima cosa da fare è fardimagrire Linux. Cominciamo con l’accertarci di qualetipo di hardware dispone il portatile. Il comando P# lspcici rivela i seguenti modelli di circuiteria:∆ Neomagic MagicGraph 128ZV (video)∆ Cirrus Logic CL 6729 (PCMCIA)

∆ INTEL 430MX 82371MX mobile (PCI I/O IDE)∆ INTEL 430MX 82437MX mobile (Host Bridge)∆ Cirrus Logic CS423x (audio)Stranamente, marca e modello del chipset audio nonli abbiamo avuti da lspci, per cui li abbiamo cercatiin Rete e trovati all’indirizzo www.ertyu.org/

steven_nikkel/thinkpadspecs.html. Abbiamoora la possibilità di ottimizzare il kernel, compilandosolo i moduli dell’hardware in nostro possesso.Cominciamo con lo spegnere la macchina virtualee creiamone una copia in modo da evitaredi rifare tutto in caso di errori: R$ cp file-immagine.imgfile-immagine.img.originale-A

Rientriamo nella macchina virtuale e installiamoi pacchetti necessari alla ricompilazione del kernel: R$ kvm -hda file-immagine.img -hdb hdb-immagine. img -net user -net nic,model=ne2k_pci -boot c

 K# apt-get install module-init-tools kernel-packagelibncurses5-dev linux-source-2.6.18 fakeroot

Formattiamo il file appoggio che ci servirà comepiattaforma di scambio dati tra la macchinavirtuale e il PC fisico: K# mkfs.msdos -I /dev/hdbOra decomprimiamo i sorgenti e creiamo un linksimbolico, poi spostiamoci nella directory di lavoroe lanciamo il tool di parametrizzazione:

 K# cd /usr/src/ K# tar jxvf linux-source-2.6.18.tar.gz  K# ln -s linux-source-2.6.18 linux

Il disco fisso non

è enorme e potremmo

correre il rischio

di saturarlo. Quindidopo ogni installazione

di qualche pacchetto

con apt-get install,

è consigliato pulire

la cache del gestore

di pacchetti con

apt-get clean.

Tip

2 Se la batteriatampone è scarica,il BIOS impazziscee non fa partireil portatile

Problemi con il kernel ricompilato?

Ottenere un kernel ottimizzato non è complicato, ma tutt o

ciò presuppone una discreta dose di esperienza pregressa:

riuscire a fare le cose bene “al primo colpo” è molto spesso

frutto di precedenti “lacrime e sangue”, cioè varie

ricompilazioni andate male e che hanno affina to le nostrecompetenze. Con “andate male” ci si riferisce al fatto che,

nonostante la compilazione abbia correttamente generato

il pacchetto .deb, una volta installato e scelto il nuovo

kernel al boot, questo non si comporti come ci si a spettava.

Il problema più fastidioso è trovarsi di fronte a un “kernel

panic”, cioè a un errore talmente grave che impedisce

al computer di lavorare. Solitamente si tratta di errori

banali, come l’essersi dimenticati di configurare

staticamente (opzione [*] in menuconfig) il supporto

al chipset che controlla il disco fisso oppure il supporto

al filesystem di root. L’altro tipico problema è il dimenticarsi

di attivare qualcosa che serve: per esempio il supporto

alle schede di rete PCMCIA o il modulo della scheda audio.

In entrambi i casi, la cosa migliore da fare è riavviare

con il kernel originale, disinstallare quello nuovo con

 K# apt-get remove linux-image-2.6.18-magroe rivedere con più attenzione la sequenza di

parametrizzazione e pacchettizzazione del kernel.

Page 71: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 71/100

LINUX PRO 125  69

Hardware Tutorial

 K# cd linux

 K# make menuconfig

E ora scateniamo l’inferno! Disabilitiamo tutto quello

che non serve: per esempio, eliminiamo tutti

i filesystem con l’eccezione di ext2, ext3, fat12

(per i floppy). Niente USB, via le schede di rete

eccetto quelle su PCMCIA, nessun supporto a RAIDe filesystem di rete... Insomma, limitiamoci allo stretto

necessario. Per comodità del lettore, all’URL

http://bit.ly/Z2os68 trovate il file config

(da rinominare in .config prima di usarlo) contenente

la configurazione adottata in questo articolo per

la ricompilazione del kernel 2.6.18: sarà sufficiente

ricopiarlo in /usr/src/linux prima di dare il comando

make menuconfig. Completata l a parametrizzazione,

salviamo la configurazione e usciamo dal tool

e poi creiamo il pacchetto .deb con

 K# fakeroot make-kpkg --append-to-version

-magro --revision=1 kernel_image

Il tempo necessario al precedente comando

è in funzione delle capacità di calcolo del PC dalavoro, ma non dovrebbe comunque eccedere i 20

minuti. Il pacchetto viene automaticamente piazzato

un livello di directory sopra quello in cui ci troviamo,

per cui spostiamoci lì per installare il nostro kernel

ricompilato, dopodiché riavviamo il sistema per usare

la macchina virtuale come cavia per i nuovo kernel.

 K# cd /usr/src

 K# dpkg -i linux-image-2.6.18-magro_1_i386.deb

K# reboot

Come si nota in Fig.1, ora GRUB presenta come

default il nuovo kernel, premiamo Invio e facciamolo

partire. Ovviamente il vecchio kernel è tuttora

presente e può continuare a essere selezionato

per “tornare indietro” in caso di problemi. Verificateeventuali messaggi di errore in dmesg: se tutto

va bene allora potete copiare il file .deb sul file

di appoggio:

 K# mount /dev/hdb /mnt

 K# cp /usr/src/linux-image-2.6.18-magro_1_i386.

 deb /mnt/

 K# halt

Siamo ora sul PC di servizio

e dobbiamo trasferire il file

sul portatile: se i due

computer sono sulla

stessa rete e si “vedono”

l’un l’altro, passiamo subito

alla parte “travaso”,altrimenti procuriamoci

un cavo di rete incrociato

per connettere i due

sistemi. Impostiamo

un indirizzo di rete fisso

su entrambi con

 R# ifconfig eth0

10.10.10.10 up

 P# ifconfig eth0

10.10.10.20 up

Accertiamoci che si vedano

eseguendo un ping:

 R# ping -c 8 10.10.10.20

E ora il “travaso”,come segue:

 P# nc -l -p 7000 | dd

of=hdb-appoggio.img

 R# dd if=hdb-appoggio.img | nc 10.10.10.20

7000 -q 5

La copia avviene in circa 40 secondi. Ora montiamo

l’immagine, installiamo il kernel e riavviamo:

 P# mount -o loop hdb-appoggio.img /mnt/

 P# dpkg -i /mnt/linux-image-2.6.18-magro_1_i386. deb

P# reboot

Al riavvio è selezionato automaticamente il nuovo

kernel, attiviamolo e verifichiamo che funzioni tutto

(grafica, rete, mouse, ecc.): se così è, possiamo

considerare per il momento esaurita l’utilità della

macchina virtuale su file file-immagine.img. In ogni

caso, teniamola da parte nel caso volessimo fare

ulteriori prove di affinamento del kernel. Da ora

in poi lavoreremo solo sul portatile.

Ottimizzare il sistemaPossiamo tranquillamente eliminare programmi

e demoni inutili come segue: P# apt-get remove --purge at portmap exim4

exim4-base exim4-config exim4-daemon-light

mutt procmail

Questa operazione riduce l’occupazione di memoria

e il carico computazionale per la CPU e libera

circa 9 MB di disco. Occupiamoci ora di una

ottimizzazione che di solito si t ralascia: Linux offre

sei console testuali (da Ctrl+Alt+F1 a Ctrl+Alt+F6),

che sono molto comode per attività concorrenti a riga

di comando ma che in un ambiente grafico sono poco

o punto usate. Possiamo eliminarne quattro,

risparmiando memoria. Editiamo il file

di configurazione con

 P# nano /etc/inittabper poi disabilitare le quattro righe da

“3:23:respawn:/sbin/getty 38400 tty4”

a “6:23:respawn:/sbin/getty 38400 tty6”

anteponendo un “#” come segue:

 #3:23:respawn:/sbin/getty 38400 tty4

 #4:23:respawn:/sbin/getty 38400 tty4

 #5:23:respawn:/sbin/getty 38400 tty5

3 Il TP380D gestisce tranquillamente Abiword e X-Chat    œ

Page 72: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 72/100

70  LINUX PRO 125

Tutorial 

Hardware

 #6:23:respawn:/sbin/getty 38400 tty6Al prossimo riavvio saranno usabili solo le primedue console, sufficienti per un moderato usodella riga di comando.

Lavoriamo sul discoMinori accessi al disco significa meno lavoroper la CPU e maggior velocità del sistema.Il filesystem da noi scelto, ext3, tiene tracciadi tutti gli accessi che si fanno ai file presenti,

provvedendo ad aggiornare la data di ultimo accesso.Questa attività, pur apprezzabile, è controproducenteper le nostre necessità di leggerezza e velocità,quindi disabilitiamola. Apriamo il file fstab con P# nano /etc/fstabLa riga di nostro interesse è qualcosa del tipo: /dev/hda1 / ext3defaults,errors=remount-ro 0 1

Provvediamo a modificarla come segue: /dev/hda1 / ext3defaults,errors=remount-ro,noatime,nodiratime0 1

Concludiamo salvando il file: premiamo Ctrl+ x, s e infine Invio. Si noti che per attivare questa modifica

è necessario far ripartire il sistema. Questi vecchidischi per portatili sono molto lenti se paragonatiai loro successori, vediamo come intervenire.Installiamo l’utility apposita con P# apt-get install hdparmEseguiamo un test:P# hdparm -t /dev/hda

Otteniamo uno sconfortante valore di 3,94 MB/s.L’utility hdparm presenta molti parametri pervelocizzare i dischi fissi, purtroppo le unità piùvecchie non riconoscono la maggior parte delleottimizzazioni che si possono usare attualmente.Fatte le dovute prove, vediamo che la miglior

sequenza di parametri per questo disco è: P# hdparm -A 1 -c 1 -m 16 /dev/hdache porta il valore a 4,86 MB/s. Ancora poco,d’accordo, ma è sempre un miglioramentodel 23%. Per rendere permanenti questeimpostazioni, editiamo il file /etc/hdparm.conf

e, in fondo al file, scriviamo: command_line {  hdparm -A 1 -c 1 -m 16 /dev/hda }Attenzione a rispettare maiuscole e minuscole:C e c sono parametri diversi! Salviamo il filee riavviamo il computer. Resta comunque evidenteche il portatile è fortemente penalizzato da un discotroppo lento e per chi ne ha la possibilità, se neconsiglia l’immediata sostituzione con un modellopiù prestante: dopotutto per pochi euro si trovanoai mercatini di elettronica dischi PATA da 10/20 GBe un “trapianto” di hard disk non potrebbe far altroche giovare al nostro piccoletto.

Ottimizzazione: i numeriDopo tutto il lavoro svolto, ci si potrebbe chiederequanto stato sia il guadagno in termini di occupazionedi RAM e velocità di boot. Curiosità legittima allaquale è giusto dare una risposta e consultando laTabella 1 possiamo farci un’idea dei miglioramenti.Si noti che la colonna NORMALE fa riferimentoalla voce “appena installato” nel corpo dell’articolo.Il tempo di boot  è il tempo che il portatile impiegaa presentare la richiesta di login a partire dallapressione del tasto di accensione: si noti cheil tempo di boot prevede una frazione inizialenon “comprimibile” di 15 secondi, durante i quali

c’è una inizializzazione a livello hardware. Poi ci sonoaltri cinque secondi di attesa al prompt di GRUB,che volendo, potrebbero essere ridotti agendosul file /boot/grub/grub.cfg  impostandoopportunamente il parametro timeout . Per ottenereil valore “ram occupata” ci dobbiamo connetterecome amministratore e dare i due comandi seguenti: P# echo 3 > /proc/sys/vm/drop_caches ; free -hIl dato che ci interessa è sotto la parola free.Notiamo che il tempo di boot è sensibilmentemigliorato e anche l’uso della RAM è calatosignificativamente, mentre il tempo di shutdownbeneficia dei miglioramenti introdotti dall’usodi hdparm: non abbiamo fatto miracoli ma ci

possiamo ritenere soddisfatti del lavoro svolto.

Installiamo il softwareA questo punto abbiamo fatto dimagrire il kernel,eliminato demoni inutili, velocizzato il disco: passiamoquindi all’installazione dell’ambiente graficoe degli applicativi. Certo non sceglieremo software“consuma risorse” ma staremo sul leggero:installiamo i driver del nostro chipset, il servergrafico, il meta-pacchetto xorg e infineun gestore di finestre leggero quale è icewm: P# apt-get install xserver-xorg-video-neomagicxorg icewm menu

Ora, se ci si volesse limitare a un sistema isolato,

ci si potrebbe dichiarare soddisfatti: potremmocompletare l’installazione con i programmiche ci servono e considerare conclusa l’attività.

Kernel 2.4: perché no?

Per completezza espositiva, segnaliamo che potrebbe

essere preso in considerazione anche l’utilizzo di un kernel

della serie 2.4: anche se più vecchio dal punto di vista

dell’architettura e dichiarato abbandonato a favore

delle versioni successive, il 2.4 è più scattante e snello

del 2.6 e ben si adatta a questo hardware “vissuto”.

Un kernel monolitico della serie 2.4 può stare

tranquillamente sotto gli 800 KB, accelerando la fase

di boot e diminuendo l’impatto sulla RAM. Lasciamo

l’attività come “compito a casa” per quei lettori che,

stimolati dalla ricerca delle migliori prestazioni, si vorranno

dedicare a questa ulteriore ottimizzazione. Ricordiamo

comunque che Linux 2.4.x richiede un compilatore GCC

della serie 3.x, quindi non potrete beneficiare delleottimizzazioni introdotte nella serie 4.0 o superiore.

Tabella 1

VUOTO NORMALE OTTIMIZZATO MIGLIORAMENTO (%)

TEMPO DI BOOT (s) 15+5+183 15+5+50 72%

TEMPO DI SHUTDOWN (s) 16 13 19%

RAM OCCUPATA (K) 10172 6736 33%

Page 73: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 73/100

LINUX PRO 125  71

Hardware Tutorial

Però ci eravamo ripromessi di impostare un sistema

che potesse affacciarsi alla Rete, ne consegue

che necessitiamo di un browser Web, di un gestore

di chat, ICQ, ecc. La limitata quantità di RAM

ma sopratutto la CPU datata non permettono l’uso

di “grossi calibri” come Iceweasel, per cui occorre

scegliere tra programmi meno esosi di risorse.A rendere più complicato – ma anche più

interessante – lo scenario, interviene ora uno

dei punti fermi che ci eravamo imposti, cioè l’utilizzo

di software moderno, correntemente manutenuto

con gli aggiornamenti di sicurezza. Ma la distro

è una vecchia Debian 4.0, mentre quello

che ci interessa ora è nella versione 6.0. Dovremo

quindi attingere da vari repository: un metodo

artigianale è quello di cambiare manualmente

nel file /etc/apt/source.conf i riferimenti ai repository

in linea dalla Debian 4.0 alla 6.0, aggiornare

con apt-get update, eseguire l’installazione

di ciò che ci interessa e poi rimettere i riferimenti

alla 4.0. Metodo fattibile, ma pericoloso in quantosi può rischiare di fare confusione: molto più elegante

e pratica la tecnica del pinning.

Il pinning dei repositoryDebian lascia parecchia libertà ai suoi utilizzatori,

ma non per questo impedisce di compartimentare

con rigoroso scrupolo la gestione dei repository

dei pacchetti. La granularità è tale da permettere,

oltre alla classica suddivisione tra programmi main,

contrib e non-free, sussiste anche la possibilità

di mischiare software appartenenti a versioni distinte.

Il vantaggio di questa livello di controllo è evidente:

potrebbe capitare la necessità di installare una

versione più aggiornata di un applicativo chesi appoggia a un firmware che però ha introdotto

un baco nella versione corrente che blocca

il funzionamento della nostra scheda wireless.

Con il pinning possiamo forzare apt-get a mantenere

la vecchia versione di firmware, permettendo

al contempo l’aggiornamento del programma

che lo utilizza. Come inizio, sistemiamo un piccolo

problema che affligge

questa versione di apt, cioè

la limitata dimensione

del buffer, una seccatura

che si risolve modificando

il file /etc/apt/apt.conf

e popolandolo con le righe APT::Default-Release

“etch”;

 APT::Cache-Limit

“80000000”;

Creiamo ora il file /etc /apt/

preferences e popoliamolo

con le righe seguenti:

 Package: *

 Pin: release a=etch

 Pin-Priority: 950

 Package: *

 Pin: release a=lenny

 Pin-Priority: 210

 Package: *

 Pin: release a=stable

 Pin-Priority: 200

Infine aggiorniamo /etc/apt/source.list aggiungendo

le righe:

 deb http://archive.debian.org/debian lenny main

 deb http://ftp.it.debian.org/debian stable main

Dopo aver sistemato i t re file, concludiamo

con il classico apt-get update per aggiornare

l’archivio di Debian. D’ora in poi il comportamento

4 Gnumeric e Kopete funzionano senza problemi

Per i più volonterosi

Eravamo un po’ sconfortati dalle carenti prestazioni

del portatile in ambito navigazione Web e indagando un po’

abbiamo trovato xxxterm, un “ultraleggero” disponibile solo

– al momento in cui scriviamo – in Debian testing. Xxxterm

è talmente nuovo che usa delle librerie all’ultimo grido cherichiedono un kernel più recente della versione da noi

ricompilata, minimo il 2.6.26. Insomma, dobbiamo aggiornare!

Al file /etc/apt/source/conf abbiamo aggiunto

 deb http://ftp.it.debian.org/debian testing main contrib

non-free

Integrato il file /etc/apt/preferences con

 Package: *

 Pin: release a=testing

 Pin-Priority: 150

e abbiamo installato al solito modo ma con l’accortezza

di dover prima passare per un kernel più recente a causa

delle nuove librerie da cui dipende xxxterm:

 P# apt-get update

 P# apt-get install linux-image-2.6.26-2-486

 P# reboot

 P# apt-get -t testing install xxxtermLa fatica è valsa la pena: xxxterm, pur essendo grafico

e gestibile tramite mouse, riconosce una serie di combinazioni

di tasti ispirate allo storico editore di testi Vim e ha

effettivamente dimostrato di essere veloce quasi come

un navigatore Web testuale, a dimostrazione che un

programma scritto ponendo l’accento su leggerezza e velocità

può ancora essere implementato. Mandiamo quindi i nostri

complimenti ai realizzatori ed eleggiamo xxxterm a navigatore

ufficiale del TP380D. Per completare la nuova configurazione

andrebbe rifatta l’ottimizzazione del nuovo kernel installato,

ma ormai sapete come farlo.

œ

Page 74: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 74/100

72  LINUX PRO 125

Tutorial 

Hardware

di apt-get sarà quello di prediligere la versione dei

programmi presenti in etch, mentre se vogliamo

installare specificando da dove il pacchetto deve

essere preso, occorre aggiungere il parametro -t

<release>: per esempio, apt-get -t stable privoxy 

forzerà l’installazione di privoxy 3.0.16-1 al posto

di quella di default 3.0.6-2 presente in etch.

Evitiamo i passi lunghiSe passare da una versione all’altra può dare problemi,

saltare due versioni (dalla 4.0 alla 6.0) ne può dare

ancora di più ed ecco perché è sempre meglio andare

per gradi: prima si installa la versione base di un

programma e poi lo si aggiorna. Per esempio, le libreriebase e il gestore di pacchetti hanno subito delle

modifiche strutturali e se non venissero aggiornati

non si potrebbe gestire correttamente tutto il resto.

Già che ci siamo aggiorniamo anche i programmi

che gestiscono la grafica:

 P# apt-get clean

 P# apt-get install debian-archive-keyring

 P# apt-get -t lenny install apt dpkgP# apt-get -t lenny install zx-utils

 P# apt-get -t stable install libc6 apt dpkg

debian-archive-keyring

 P# apt-get -t stable install icewm menu

Programmi per la reteNon ci preoccupiamo dei programmi “minori”

per messaggistica e ICQ, che assumiamo non diano

nessuna difficoltà di scelta e focalizziamoci invece

su altro punto “core” dell’articolo, cioè la scelt a

del navigatore Internet: abbiamo optato per Midori,

in quanto è leggero e impatta poco sulla limitata

memoria del portatile. Ovviamente non installeremo

Flash, visto che è troppo esoso in termini di risorseper il nostro hardware, quindi niente YouTube

e altri siti con video. Per addolcire un po’ la

situazione faremo ricorso a Privoxy, che si occuperà

del filtraggio sui contenuti eliminando banner,

pubblicità indesiderata, cookie ficcanaso e la maggior

parte del ciarpame che molti webmaster poco

rispettosi dell’altrui privacy non si fanno scrupolo

dal cercare di infilare nei PC di chi visita i loro siti.

 P# apt-get -t stable install midori

 P# apt-get -t stable install privoxy

Procediamo ora ad agganciare a Privoxy in nostro

navigatore Internet: in Midori, selezioniamo l’ultima

icona in alto a destra, poi selezioniamo Preferenze 

D Rete e impostiamo i dati come in Fig.5. Abbiamocosì ottenuto tre vantaggi: una navigazione più

protetta, minor banda consumata, minor carico

elaborativo per la parte grafica del portatile. Si noti

che Privoxy emula vari plug-in come il noto Adblok

per Iceweasel, offrendo però il vantaggio di non

dover ricorrere a un plug-in specificatamente

realizzato per il browser in quanto il filtraggio viene

eseguito a più basso livello da una applicazione

comune a tutto il PC: è quindi sufficiente configurare

i nostri programmi di Rete in modo che si appoggino

a Privoxy, il quale si occuperà de ll’accesso vero

e proprio a Internet. Privoxy ha una sua lista standard

di contenuti da filtrare, che potrebbe non

corrispondere alle preferenze dell’utente, ma losi può tranquillamente parametrizzare tramite la sua

pagina Web, raggiungibile

digitando l’indirizzo

http://p.p nel browser.

Le attività di taratura

di Privoxy esulano dallo

scopo di questo articolo,

si rimanda il lettore

all’ampia documentazione

presente in Rete e al sito

www.privoxy.org.

Web avanti tutta!

Il protocollo TCP/IPè pensato per essere

“robusto”, allo scopo

I rifiuti tecnologici

Quello che tre anni fa era un avanzatissimo e super

tecnologico modem, cellulare, computer, videoregistratore,

scheda video, o-quello-che-è, che continua a essere

funzionante e usabile, viene visto oggi come “vecchio”

e sostituito da un nuovo modello - che a volte non è altroche una mera “rimarchiatura” di qualcosa già esistente,

(gli utenti Nvidia sanno di cosa stiamo parlando): il vecchio

modello viene nel migliore dei casi rivenduto/regalato

o alla peggio accantonato in un cassetto per poi essere

avviato alla distruzione. Se guardiamo unicamente alla

circuiteria che dà vita agli apparati elettronici, essa contiene

oro, piombo, rame, cromo e altri metalli recuperabili – ma

ahinoi – tramite processi costosi e volte antieconomici.

Il costo di smaltimento di un container di rifiuti elettronici

è di circa 60.000 Euro, ma smaltirlo in paesi meno attenti

alla salute dei propri cittadini (Cina, India, Paesi Africani, ecc.)

costa solo 5.000 Euro. Ecco che da anni esiste un mercato

semi sommerso dove “discreti” operatori spediscono altrove

i rifiuti tecnologici del cosiddetto “Primo Mondo”: in queste

vere e proprie città-discarica, decine di migliaia di persone

basano la loro economia sul recupero delle parti ancoravalide dei nostri vecchi apparati tecnologici, ma tali attività

vengono svolte senza alcuna attenzione per la salute

di chi esegue il lavoro. Come molte altre città costiere

cinesi, Guiyu (http://en.wikipedia.org/wiki/Guiyu_Town)

è la città che oltre ad avere il poco invidiabile primato

di essere la capitale mondiale del riciclo  sporco , ha anche

quella di essere una delle città più inquinate del mondo

con un altissimo numero di aborti spontanei, conseguenza

di inquinamento da metalli pesanti nelle acque e nel suolo.

Si faccia riferimento a http://bit.ly/33Nfq0 e http://bit.

ly/mRPl9 per maggiori dettagli. Ora che sapete come

funziona la cosa, forse deciderete di tenervi il portatile

che avete ancora qualche anno, con il doppio vantaggio

di preservare l’ambiente e il vostro portafogli.

5 La configurazione di Midori

Page 75: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 75/100

LINUX PRO 125  73

Hardware Tutorial

di garantire l’affidabilità della connessionee il successo della trasmissione dei dati. Questoperò si traduce in ulteriori calcoli che impattanosulla CPU. Ci possiamo permettere di eliminarei controlli di troppo in questo modo: editiamoil file /etc/sysctrl.conf e inserite le righe

 net.ipv4.tcp_sack = 1 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_no_metric_save = 1 net.ipv4.tcp_max_backlog = 2000Abbiamo così disabilitato i s(elective) ack , cioèquei controlli sul pacchetti in ingresso che, essendopensati per le linee analogiche a bassa qualità,oggigiorno cominciano a essere superflui.L’azzeramento dei timestamps mostra tuttoil suo valore nel caso in cui ci siano molti pacchettiche transitano, per esempio quando metteteBitTorrent a scaricare tutte le ISO dei DVD dell’ultimaDebian. Poi ci siamo occupati della metrica:impedendone il salvataggio, riduciamo lo sforzo

della CPU. Infine abbiamo abbassato la quantitàdi backlog, valori più alti sono utili solo per retiad alta velocità di classe Gigabit.

Pulire il disco fissoÈ vero, Debian fa di tutto e di più per aiutare l’utentee ciò si traduce in mega e mega di spazio discooccupato per contenere istruzioni, testi di licenze,documentazione, esempi di configurazione e viadiscorrendo: tutto materiale che molto spesso l’utentefinale non sa nemmeno di avere sul proprio discofisso. Il “covo” di tutti questi dati è /usr/share/doc .Per ripulire il tutto potete usare il comando find PERCORSO -name “NOME.TIPO” -exec rm {} \;

È sufficiente rimpiazzare “NOME” e/o “TIPO” con ciòche si preferisce e lo script cancellerà dal disco fissotutti i file che corrispondono, a partire da “PERCORSO”in giù nelle sue sottodirectory. Per esempio,P# find /usr/share/doc/ -name “*.gz” -exec rm {} \;

cancellerà tutti i fili con estensione .gz: è un sistemapratico e veloce, ma anche senza misericordia, quindipensateci bene prima di premere il tasto Invio.Proseguendo con le pulizie,ricordiamo di aver lasciatoil kernel di default, ma datoche il nuovo kernel leggerosoddisfa tutte le nostrenecessità, provvediamo

alla rimozione di quellovecchio con P# apt-get removelinux-image-2.6.18-6-486

Abbiamo così liberato altri50 MB di spazio, che suun disco di soli 2 GB fannosempre comodo. Già checi siamo, rimuoviamo il filehdb-appoggio.img cheavevamo usato per veicolareil nuovo kernel dal PCal portatile.

Impressioni d’usoVa ricordato che questoportatile nasce nel 1997

ed è pensato per Windows 3.11/95/2000, quandosi navigava a 56 Kbit/s e in Rete si trovavanoin massima parte solo pagine HTML statichecon quale “fronzolo” estetico dal peso di pochiKilobyte. Nonostante si siano mitigati i dannicon un navigatore leggero e filtrati i contenuti superflui

tramite un proxy, la fruizione dell’attuale Web “2.0”– pieno di “fuffa multimediale” – è un’attività pesanteper il nostro portatilino. Avremmo potuto faredi più per aumentare le prestazioni? La risposta è “Ni”.Certo, possiamo ulteriormente limare la configurazionedi Linux e rimuovere qualche servizio che occupa RAMe che pesa sul processore, ma non possiamomagicamente raddoppiarne la velocità:apparentemente i 150 MHz della CPU non sonoabbastanza per il moderno Web 2.0. Se vogliamouna responsività superiore, dobbiamo accontentarcidi software meno pesanti ma anche meno “belli”a vedersi e meno intuitivi a usarsi, come w3m-img o links2. Se accettiamo questo handicap sul fronte

Web, il portatile è ancora usabile per programmidi chat e messaggistica, videoscrittura, postaelettronica, visualizzazione PDF e altre attività leggere.

ConclusioniIn questo articolo ci siamo dedicati a un utilizzodel ThinkPad a “scopo utente”, cioè una fruizionediretta con applicativi desktop e accesso a Internet:quest’ultima è una attività che, richiedendoRAM e CPU in modalità intensiva, mostra i limitidi un hardware così datato, nonostante si sia agitoper “limitare i danni” ottimizzando il sistemae scegliendo software adatto. Viceversa,un utilizzo “da server” potrebbe richiedere un minor

carico elaborativo (ad esempio non è necessarial’interfaccia grafica), con conseguente allungamentodella vita lavorativa a tempo indeterminato.Con due schede di rete PCMCIA, interpostotra la Intranet casalinga e il router ADSL, il TP380Dpotrebbe ancora dire la sua servendoci come serverDHCP, cache proxy, firewall, controllo parentaleo altre attività “di Rete” utili in casa o ufficio. LXP

6 Xxxterm in azione, un navigatore Internet minimalista ma sofisticato

Page 76: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 76/100

74  LINUX PRO 125

PacketFence

Gestire in sicurezza tutti i dispositivi della vostra rete

Le reti moderne, se paragonate anche

solo a quelle di un decennio fa’, costituite

solo da Personal Computer, portatili

e workstation, sembrano uscite da un filmdi fantascienza. Avete a vostra disposizione

smartphone, tablet, router, stampanti,

plug-computer e ogni altro aggeggio che supporti

una qualche forma di connettività, e tutti questi

dispositivi richiedono il loro spazio in rete. E con reti

di questo tipo, in continua espansione, i soli firewall

non offrono una protezione sufficiente: è necessario

impostare una politica di utilizzo della rete, se la

si vuole rendere veramente sicura. Il NAC (Network

Access Control – Controllo Accessi Rete) è uno

strumento software che risponde automaticamente

alle violazioni della politica d’uso decisa per la LAN.

Un sistema NAC, tipicamente, offre supporto per

la registrazione e la concessione di diritti d’accesso

a un qualsiasi dispositivo, per la verifica di violazioni

della politica impostata, per la notifica via e-mail

di qualsiasi evento di questo tipo, per l’isolamentodi ogni dispositivo responsabile, per porre rimedio

al problema e infine per reintegrare i diritti al

dispositivo “colpevole” una volta risolto il problema.

PacketFence  è un sistema di questo tipo, basato

su Perl, che permette di fare tutto questo e molto

altro tramite un’interfaccia Web comoda e facile

da usare. Con NAC di questo tipo opportunamente

configurati, è possibile tracciare anche l’attività

di tutti i dispositivi nella vostra rete tramite i loro

indirizzi fisici e inibirne completamente qualcuna,

ad esempio i servizi P2P. Se associato a una politica

degli accessi ben definita e a pochi altri strumenti

software esterni, PacketFence può rendere la vostra

rete sicura dagli assalti di qualsiasi spywaree malware, riservando l’accesso a utenti e dispositivi

autorizzati in modo da prevenire ogni attacco.

Le dipendenze di PacketFenceLa disponibilità dei pacchetti software della maggior

parte delle distribuzioni tramite archivi Web gestiti

dalle stesse ha fatto dimenticare una locuzione

che identificava l’enorme problema di tutte

le installazioni software su Linux nei tardi anni 90:

l’inferno delle dipendenze. Se vi è capitato di sentir

parlare di questo problema, ma non avete avuto

l’esperienza diretta delle gioie che la ricerca

affannosa di pacchetti per completare

un’installazione dà, PacketFence può farvi provareanche questa esperienza. Non lo troverete quindi

negli archivi della maggior parte delle distribuzioni,

anche se potete trovare facilmente i relativi

pacchetti .rpm e .deb sul sito Web del progetto,

insieme con l’immancabile archivio compresso

dei codici sorgente. Gli ambienti Linux dove è più

semplice installare PacketFence sono quelli basati

su RHEL o CentOS, perché queste distribuzioni

permettono l’installazione di molti archivi diversi

soddisfacendo collettivamente le molte dipendenze.

Se però state usando Ubuntu Server, Slackware

o ogni altra distribuzione, preparatevi a dover

frugare manualmente gli archivi. Comunque, questa

introduzione un po’ melodrammatica non devespaventarvi – non è così difficile come sembra.

Semplicemente, a causa del fatto che distribuzioni

DIFFICILE

Non fate eccessivamente caso ai più di trecento pacchetti installati comedipendenze. Il loro numero varierà in funzione delle vostre impostazionie della vostra scelta della distribuzione Linux...

Un NAC per tuttiLinux Pro vi mostra come usare PacketFence, un potente sistema NAC per mettere

in sicurezza la vostra rete e respingere fieramente gli attacchi

Page 77: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 77/100

LINUX PRO 125  75

PacketFence Tutorial

diverse forniscono le stesse applicazioni in pacchettidifferenti, non siamo in grado di offrirvi un elencocompleto e affidabile di tutti i pacchetti chevi servono per poter installare PacketFence.A parte il pacchetto del tool, è necessarioche abbiate già installato e che siano pronti all’uso

sul vostro sistema i pacchetti Apache, DHCPServer , DNS Server, MySQL e Snort . Si trattadi cose disponibili negli archivi Web della maggiorparte delle distribuzioni, tanto che è probabileche li abbiate già installati e configurati sul vostrosistema. Per le distribuzioni RHEL e CentOS,si possono semplicemente installare e abilitaregli archivi Repforge, EPEL e OpenFusion: la guidaall’amministrazione, disponibile in formato PDFsul sito del progetto descrive dettagliatamentecosa è necessario fare per questa installazione.Noi abbiamo scelto di provare PacketFencesu una CentOS, quindi l’installazione iniziacon i comandi che seguono:

 # rpm -ivh http://packages.sw.be/rpmforge-release/ rpmforge-release-0.5.2-2.el6.rf.i686.rpm # rpm -ivh http://download.fedoraproject.org/pub/ epel/6/i386/epel-release-6-7.noarch.rpm # rpm -ivh http://www.openfusion.com.au/mrepo/ centos6-x86_64/RPMS.of/openfusion- release-0.5-1.of.el6.noarch.rpmQuesti comandi, che devono essere eseguiticon diritti di amministratore, installerannoe abiliteranno detti archivi, che potrete cosìtrovare tutti elencati nella cartella /etc/yum.repos.d/.La cosa immediatamente successiva da fareè scaricare il pacchetto PacketFence 3.5 rpm per la distribuzione CentOS dal sito Web

e installarlo con il seguente comando su -c “yum installpacketfence-3.5.0-1.el6.noarch.rpm”

Una volta installato il pacchetto, un messaggiosul terminale vi avviserà di puntare il vostronavigatore all’indirizzo http://@ip_ packetfence:3000/configurator  per procederecon la sua configurazione: tuttavia non andateall’indirizzo indicatovi, ma piuttosto all’indirizzohttp://vostro_indirizzo_ip:3000/configurator  per accedere al wizard di configurazione.

Approntare il sistemaPrima di procedere alla configurazione, ci sono

alcune altre cose che devono essere in ordine.Prima di tutto assicuratevi di avere un’installazionedi MySQL funzionante. Siccome MySQL non associa

di default alcuna password al super utente, è ilmomento di definirne una, nel caso non lo abbiategià fatto. Allo scopo potete usare il comando

mysqladmin -u root password “vostra_password”Rimarchiamo che fare questo è importantee che dovete ricordare questa password, siccomePacketFence ve la richiederà durante l’esecuzionedei passi di configurazione successivi. A questopunto occorre avviare il server MySQL, nel casonon fosse già operativo, con il solito comandoservice mysqld start

Una delle caratteristiche più utili di PacketFenceè che può essere usato per bloccare efficacementecerte attività sulla rete che gestisce, comeil già citato traffico P2P. Allo scopo è comunquenecessario usare un sistema IDS (IntrusionDetection System – Sistema Rivelazione Intrusioni),

ed è qui che si rende necessario l’uso di Snort :è questo il sistema IDS a cui PacketFence si affidaper far rispettare le politiche d’uso. Precisamente,la sua funzione è allertare PacketFence riguardoa eventuali violazioni, in modo che questo possamettere in atto una risposta correttiva. Perinstallare il pacchetto Snort a partire dagli archividella distribuzione, basta eseguire il comandoyum install snort

ma, siccome l’installazione di default di Snort noninclude un insieme di regole predefinito, questoè solo l’inizio del lavoro. È necessario creare dettoinsieme, per definire cosa lo strumento deveintendere per “intrusione”, è questo richiede tempo:

l’alternativa più rapida è scaricare un insieme diregole tra quelli disponibili nella lista offerta dal sitoWeb del programma. Ma anche in questo caso

Dovete conoscerebene il setupdella vostra reteper poter configurarecorrettamente

PacketFence

Dispositivi di rete gestibili e non gestibili

Una rete tipicamente consiste in diversi nodi, routere connessioni, che possono essere di tipo wireless o cablate.Ciascun nodo può essere pensato come un computerappartenente alla rete – indifferentemente di tipo desktopo portatile. Nelle reti più complesse si usano anche gli switch,che hanno la funzione di eseguire trasferimenti dati direttitra un qualsiasi dispositivo mittente e un preciso destinata rio:essenzialmente, la loro funzione è quella di abilitaretrasferimenti diretti tra nodi della rete. Gli switch esistono

in due tipi diversi: managed e unmanaged. Mentre questiultimi non sono configurabili dall’utente e sono essenzialmente

dispositivi di tipo plug and play, gli switch managed sonoconfigurabili tramite interfaccia a linea di comando accessibilevia telnet o tramite un wizard di configurazione raggiungibilevia browser. PacketFence offre sul suo sito Web, oltrealla guida alla sua amministrazione, anche una guidaalla configurazione dei dispositivi di rete, che contieneun elenco dei dispositivi supportati e di come configurarli.Potete scaricarla dalla sezione sulla documentazione:fate attenzione che non è comunque omnicomprensiva.

Esistono infatti dispositivi che non figurano nell’elencoma funzionano perfettamente con PacketFence.

Potete usare Ifconfig 

per determinare

l’indirizzo IP della

vostra macchina locale.

Tip

œ

Page 78: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 78/100

76  LINUX PRO 125

Tutorial 

PacketFence

la procedura non è direttissima: dovete registrarvi

come utenti, poi controllare quale versione di Snort

è installata sul sistema con il semplice comando

snort --version

A questo punto andate al link http://snort.org/snort-rules/#registered  e scaricate il file rules 

della versione: ad esempio, se la versione installataè Snort 2.9.1.2, il file da scaricare è snortrules-snapshot-2912.tar.gz . A questo punto si deve

usare il solito comando

 tar -zxvf snortrules-snapshot-2912.tar.gz 

per decomprimere l’archivio, con la conseguente

creazione delle cartelle rules/ , so_rules/,

etc/ e preproc_rules/ . I file di configurazione

di Snort cercati si trovano nella cartella /etc/snort ,mentre le regole sono nella cartella /etc/snort/rules. Ed è in quest’ultima cartella che dovete

andare e usare il comando

cp */etc/snort/rules

per copiare dette regole nella cartella

di configurazione. A questo punto il procedimentoè quasi finito. Occorre creare la cartella  /usr/ local/lib/snort_dynamicrules , se già non esiste,

e copiare in questa tutti i file della cartella

so_rules  View. Alla prima esecuzione del tool,

potrete notare che tutti i dispositivi sono elencati

come non registrati. PacketFence vi informerà

anche di quale sistema operativo sia presente

su ciascuno di essi, sia esso Windows, Linux,

Android, ecc. Per avere ulteriori informazioni,

come quando il dispositivo è stato rilevato

per la prima volta, tipo di user agent installato,

numero di violazioni alla politica di rete registrate

e molto di più, vi basterà cliccare sul pulsante

Show Info in alto a sinistra nella schermata,appena sotto alla barra superiore. Come potrete

vedere, per ogni dispositivo della rete, PacketFence

elenca solo l’indirizzo MAC (Media Access Control)

e non l’IP, e questo può far sorgere qualche piccolo

problema di identificazione. Per risolverlo, si deve

determinare l’indirizzo MAC di un dato dispositivo:

questo si può fare usando i comandi ifconfig 

o ipconfig , nel caso che il suo sistema operativo

sia rispettivamente Linux o Windows, o dando

un’occhiata nella voce Impostazioni  D Wireless

e rete D Impostazioni Wi-Fi D Avanzate 

del menu nel caso sia un telefonino su cui gira

Android. Una volta capito di quale nodo si tratta,

se volete associare un identificativo più semplice,

fate scorrere il cursore del mouse sopra il relativo

MAC (senza cliccare!): vedrete apparire tre pulsanti

alla sua sinistra. Si tratta di Edit This Record, AddViolation e Delete This Record, nomi piuttosto

autoesplicativi. Cliccate su Edit e, nella finestra

PF::Node::Edit  che si aprirà, digitate un nome

nel campo Identifier . In questo modo il nome

digitato sostituisce il numero univoco (a partire

da 1) di identificazione, attribuito a ogni nodo dalprogramma: questo nome può ad esempio essere

Samsung Galaxy S III, consentendo una semplice

identificazione del dispositivo associato. Il testo

digitato si salva con un click sul pulsante Edit Node 

in fondo alla finestra.

Gestione degli ospitiNonostante PacketFence veda già al primo accesso

tutti i dispositivi presenti in rete, è necessario

registrarli. Lo strumento preposto allo scopo

è il Captive Portal che, una

volta abilitato, redirige gli

utenti in rete a una pagina

di registrazione doveè possibile fornire i dettagli

necessari, come nome

e cognome, e un indirizzo

valido di posta elettronica

dove verrà inviato il codice

di attivazione dell’account.

Usando questo codice,

permetterete a

PacketFence di autenticare

il dispositivo associato. Di

default, gli utenti possono

registrarsi autonomamente

via e-mail, SMS o Sponsor:

è comunque possibiledisabilitare completamente

questa opzione,

Il vantaggio di usare

yum per installare

i pacchetti .rpm

è che così facendosi risolveranno

automaticamente tutti

i problemi di dipendenza

usando gli archivi

software installati.

Tip

Andando nella pagina

Enforcement del wizard

di configurazione

potete scegliere

le opzioni Inline eVLAN congiuntamente,

in modo da creare

un sistema ibrido.

Tip

In caso abbiate bisogno di aiuto, il tasto Helpè sempre disponibile in basso a sinistra

nell’interfaccia di amministrazione

Per ognuno dei passiche dovrete eseguire

tramite il wizard

di configurazione, vi verranno fornite

utili informazionicirca quello

che il passo stessocomporta

Page 79: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 79/100

LINUX PRO 125  77

PacketFence Tutorial

o consentirla solo tramite un sottoinsieme propriodei tre possibili metodi. Per cambiarela configurazione di auto-registrazione bastaandare alla voce Configuration  D Guests_self _ 

registration  del menu. È possibile anche gestiregli ospiti per mezzo dell’interfaccia di

amministrazione, scegliendo la voce Person D

 Manage Guests del menu: tra i dettagli dell’ospiteinseribili ci sono la data (e l’ora) di primo accessoalla rete e il tempo massimo di permanenza,durante il quale al dispositivo è concesso l’accesso.Un codice di accesso viene sempre inviato all’ospitevia posta elettronica, affinché sia possibileautenticare il suo dispositivo. Assunto che sia statascelta una permanenza massima di tre giorni,trascorso questo periodo il dispositivo ospiterisulterà di nuovo non registrato, non potendo quindipiù accedere alla vostra rete con quelle credenziali.

Caratteristiche avanzate

Con tutto quello che è stato descritto fino a questopunto in questo articolo, si potrebbe essere indottia pensare che siano terminati gli argomentidi discussione, ma questo non è assolutamenteil caso in esame. All’atto pratico, PacketFenceoffre così tante impressionanti caratteristicheche è impossibile per noi presentarvele in dettaglioin questa sede. Basti pensare che, nel caso checonosciate già quello che un NAC può fare e abbiatein mente un progetto specifico, quasi certamentePacketFence può realizzarlo. A parte la possibilitàdi stabilire un tempo massimo di permanenzae di vincolare dispositivi diversi a diverse VLANper implementare politiche di sicurezza, ci sono

ancora molte altre proprietà che PacketFencepuò sfruttare per rendere ancora più sicura la vostrarete. Con la sempre crescente diffusione deglismartphone e di altri dispositivi intelligenti,la maggior parte delle imprese e delle organizzazionideve essere in grado di offrire modalità di accessoBYOD (Bring Your Own Devices – letteralmente“Portate i Vostri DispositiviPersonali”). PacketFencepuò farlo usando lametodologia di gestionedei dispositivi ospite (GuestManagement) già descritta,che oltre alla possibilità

di registrare ospiti cone-mail o SMS permettedi definire una passworda validità giornaliera inmodo tale da obbligare dettidispositivi ad autenticarsisempre prima di poteraccedere alla rete. Oltrea tutto questo, in aggiuntaal vasto numero di v iolazionirilevabili elencate nellasezione Configurations D Violation , PacketFencepuò rilevarne qualcuna in

più: si tratta delle violazioniUser Agent, MAC Addresse DHCP Fingerprint. Ognuna

di queste è specifica per un determinato sistemaoperativo o dispositivo, e al suo insorgere poteteimmediatamente bloccare il responsabile, isolandolo.Per esempio, potete impedire a tutte le piattaformeper i videogiochi, come la PlayStation Sony,di accedere alla vostra rete. In maniera analoga,

potete usare lo User Agent, che identifica il browserWeb di default per un dato dispositivo, in mododa rifiutare l’accesso a dispositivi diversi chemostrino le stesse credenziali. E se nella vostra reteè già implementato un qualche tipo di protocollodi autenticazione, non è necessariamenteun problema per PacketFence: infatti questostrumento supporta molti protocolli, comeOpenLDAP, FreeRadius, Active Directory, NovelleDirectory e altri ancora. L’ovvio vantaggio di unascelta di questo tipo è che installare PacketFencesu una rete preesistente non obbliga i membriattuali a cambiare le loro credenziali di accesso.

 ZEN PacketFenceSe non vi entusiasma l’idea di buttarvi a capofittonella complessa installazione di PacketFence e nellasua ancor più elaborata configurazione, sietecomunque fortunati! L’edizione Zero Effort NAC (NAC a Sforzo Zero) di PacketFence è una versionecompletamente installata e preconfigurata. Poteteusarla in formato Live USB per provare PacketFencee/o familiarizzare con le sue sottigliezze. Il pacchettocompresso da 500 MB scaricabile necessitadi una chiavetta da almeno 4 GB ed è eseguibilein ambiente Debian. In alternativa potete scaricare unasua immagine VMware, disponibile sia per VMWareESX che per VMWare Player basata su CentOS 6.3.

Come abbiamo già detto, non è possibile descriverein questa sede tutte le notevoli possibilità offerteda un progetto in così grande espansione comePacketFence. Possiamo solo aggiungere che si trattadi uno strumento estremamente stabile che, unavolta configurato opportunamente, vi terrà informatisu ogni singolo byte che transita sulla vostra rete. LXP

La pagina Remediation informa l’utente del perché al momentonon gli è possibile accedere alla rete

Il modo di identificare

i dispositivi associati

a un dato indirizzo IP

o MAC cambiain funzione del sistema

operativo del

dispositivo e, nel caso

di Android, anche

della sua versione.

Tip

Page 80: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 80/100

78  LINUX PRO 125

Hardcore Linux

Sfi de per i veri power user

L’invenzione più interessante di Solaris è stata

 ZFS, che Sun e Oracle adesso chiamano

“l’ultima parola nei filesystem”. In effetti,

la lista delle funzionalità di ZFS è impressionante,

a differenza di Btrfs che, su Linux, è ancora anni

indietro. Caratteristiche interessanti di ZFS sono

le istantanee (snapshot) e i cloni, la correzione

e la verifica automatica dell’integrità dei dati,la deduplicazione e la compressione trasparente,

oltre a vari tipi di RAID (Redundant Array

of Independent Disks). Concettualmente, ZFS

è semplice: i dischi sono assegnati ai pool e i filesystem

sono composti da pool. Assegnando in un certo modo

i dischi a un pool, ZFS implementa vari tipi di RAID.

Per la gestione dei pool si utilizza il comando zpool 

e, per la gestione dei filesystem, c’è il comando  zfs .

 ZFS è l’elemento che ci ha atti rato nel mondo di

Solaris, infatti, anni fa, abbiamo iniziato a sperimentare

con OpenSolaris, OpenIndiana e derivate come,

ad esempio, la combinazione GNU/Solaris Nexenta.

Tuttavia, nessuno di questi sistemi operativi erano

veramente adatti per l’utenza desktop. Qualcheanno fa, abbiamo provato FreeBSD, proprio perché

utilizzava ZFS, e ci è piaciuto molto della filosofia

che c’era dietro. Per alcuni anni, abbiamo utilizzato

FreeBSD (versioni 8 e 9) come nostro desktop

principale con tutti i nostri file su filesystem ZFS

ma, alla fine, abbiamo dovuto ammettere che FreeBSD

non era all’altezza del compito di fornire un decente

e moderno sistema operativo orientato all’utenza

desktop. Tuttavia, in quegli anni eravamo troppo

affezionati a ZFS per abbandonarlo e ritornare

a utilizzare il vecchio Ext4 oppure l’ancora sperimentale

Btrfs. Per mesi, abbiamo vissuto un doloroso dilemma.

Sapevamo che era possibile utilizzare ZFS su Linuxcon ZFS FUSE, ma solo in userspace e, quindi, in modo

non del tutto ottimale. Avevamo già utilizzato

un NAS con FreeBSD e ZFS per il backup dei dati,

ma volevamo ZFS anche sui nostri desktop.

SabayonMentre stavamo provando questa derivata di Gentoo

Linux, abbiamo notato qualcosa di eccitante

nell’annuncio del rilascio: ZFS era supportato come

“tech-preview”. Non c’erano altre informazioni

aggiuntive ma, quando abbiamo utilizzato

la distribuzione, abbiamo notato che alcuni moduli

 ZFS del kernel erano stati caricati e che erano

disponibili i comandi zpool  e zfs . Quindi,apparentemente, Sabayon 9 utilizzava ZFS on Linux

(http://zfsonlinux.org), implementando un port

nativo del kernel Linux del filesystem ZFS sotto forma

di moduli del kernel. Dopo alcuni test, abbiamo deciso

di installare Sabayon 9 sul disco di sistema del nostro

DIFFICILE

A causadell’incompatibilitàtra le licenze CDDL

e GPL, i modulidel kernel ZFS

su Linux devonoessere sempre

compilati

La punta di diamante

dei filesystemLinux Pro ha scoperto che l’ultimo e ottimo filesystem di Sun, ZFS, sta finalmente

facendosi strada in alcune distribuzioni

Page 81: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 81/100

LINUX PRO 125  79

Hardcore Linux Tutorial

computer desktop. Prima dell’installazione, abbiamoesportato il nostro pool di dati (chiamato serbatoioe composto da un mirror di due dischi) su FreeBSD: $ sudo zpool export serbatoioDopo l’installazione di Sabayon, abbiamo installatoi pacchetti necessari:

 $ sudo equo install zfs zfs-userspaceA questo punto siamo stati in grado di importare i datidai nostri dischi con il seguente semplice comando: $ sudo zpool import serbatoioIl comando zpool import  monta automaticamenteanche tutti i filesystem nel pool importato. In questocaso, ha montato il filesystem principale serbatoiosu /serbatoio . Ha anche tentato di montareil filesystem serbatoio/home su /home , perché quelloera il percorso dove avevamo montato in precedenzala nostra home directory su FreeBSD, fallendo perché /home  era già esistente sul nostro sistema Sabayon.Così ci siamo loggati come utente root, abbiamospostato l’esistente /home  in /home-vecchia 

e abbiamo riavviato la macchina. Provandoad accedere da utente normale abbiamo ricevutoun messaggio di errore, perché Sabayon non riuscivaa trovare la home directory. A quanto pare, nonmontava automaticamente i filesystem ZFS. Quindi,abbiamo creato il file /etc/ local .d/zfsmount.start  con il seguente contenuto: zfs mount -ae l’abbiamo reso eseguibile con il comando $ chmod +x /etc/local.d/zfsmount.startQuesto file ha consentito a Sabayon di montareall’avvio tutti i filesystem ZFS. Solo adesso eravamoin grado di autenticarci e di avere a disposizione tuttii nostri file su Linux dal nostro sistema FreeBSD/ZFS.

Altre distribuzioniAnche se Sabayon e la sua distribuzione madre,Gentoo, sono in prima linea per ciò che concerne ZFSsu Linux, non sono affatto le uniche distribuzionia fornire questo filesystem. Il progetto ZFS on Linux(http://zfsonlinux.org) offre anche i file DEB e RPMsul suo sito Web, utilizzabili su Fedora, Red HatEnterprise Linux, openSUSE e Debian. I pacchettisono disponibili anche nei repository di Arch Linuxe di Gentoo. C’è un problema, però, se si desiderautilizzare ZFS su Fedora: la policy di SELinux per ZFSnon è stata ancora implementata. Quindi, se aveteimpostato SELinux su Enforce (cosa che si dovrebbe

fare), potrete incontrare alcuni problemi come,ad esempio, lo script di ini t che fallisce duranteil montaggio automatico dei filesystem. Al momento,l’unica soluzione è quella di impostare SELinuxin modalità permissiva (Permissive) o disabilitarla(altamente sconsigliato). Ciò può essere fattoimpostando la seguente riga nel file di configurazione /etc/selinux/config: SELINUX=disabledSe state utilizzando Ubuntu, il progetto ZFS on Linuxmette a disposizione un archivio personale di pacchettiper installare i componenti necessari: $ sudo add-apt-repository ppa: zfs-native/stable $ sudo apt-get update

 $ sudo apt-get install ubuntu-zfsQuando installate il pacchetto ubuntu-zfs , vengonoscaricati e compilati i sorgenti di ZFS. Quando sarà

disponibile una nuova versione nel PPA o quandosi aggiorna il kernel, i sorgenti verrannoautomaticamente ricompilati, grazie al frameworkdkms (supporto dinamico per i moduli del kernel).Adesso, caricate il modulo ZFS del kernel: sudo modprobe zfs

Fatto ciò, sarete in grado di importare i vostri dischidati ZFS esistenti, come prima! Fino ad ora, abbiamoparlato dell’uso di ZFS solo per i vostri dischi di dati.Ma cosa accadrebbe qualora voleste installare anchela vostra root filesystem su ZFS? Purtroppo, nonè semplice in questo momento, in quanto nessuninstaller di Linux supporta l’installazione direttadi un filesystem root ZFS. Quindi, è necessarioutilizzare un Live CD con supporto ZFS e preparareda soli il filesystem di root. Vi mostreremo come farlocon Ubuntu 12.04 e il PPA di ZFS on Linux. Avviateil vostro computer con un Live CD e aprite la finestradi un terminale. Installate il pacchetto ZFS on Linux  dal PPA (vedete sopra) e caricate il modulo ZFS.

Partizionate il discoOra partizionate il disco rigido dove desiderateinstallare Ubuntu, nel nostro caso si tratta di /dev/sda .Create una piccola partizione di 8 MB, assegnate l’IDdi sistema ‘be’ (boot di So laris) e rendetela avviabile:questa è la vostra partizione di boot sda1. La secondapartizione, sda2, occupa il restante spazio su disco.Assegnatele l’ID di sistema ‘bf’ (Solaris). Formattatela partizione di boot come ext3: $ sudo mke2fs -m 0 -L BOOT -j /dev/sda1e poi create il pool di root sulla seconda partizione,nonché due filesystem addizionali: $ sudo zpool create rpool /dev/sda2

 $ sudo zfs create rpool/ROOT $ sudo zfs create rpool/ROOT/ubuntu-1Ora smontate tutti i filesystem ZFS e impostatela proprietà di mountpoint sul filesystem di roote la proprietà bootfs sul pool di root: $ sudo zfs umount-a $ sudo zfs set mountpoint=/rpool/ROOT/ubuntu-1 $ sudo zpool set bootfs=rpool/ROOT/ubuntu-1 rpoolTerminate la preparazione esportando il pool: $ sudo zpool export rpoolOra importate il pool ZFS, montatelo su /mnt  e montate pure il filesystem di boot: $ sudo zpool import -R /mnt rpool

Se si utilizza un disco

Advanced Format (AF)

con settori da 4K che

emula una dimensione

di settore di 512 byte,

a causa della

compatibilità con

i sistemi legacy, ZFS

rileva la dimensione

errata del settore

con conseguente

peggioramento

delle prestazioni.

Tip

Requisiti di sistema per ZFS ZFS è un filesystem avanzato che non è adatto

ai computer vecchi. Anche se in teoria

dovrebbe funzionare in un ambiente

a 32 bit, non verrà eseguito in modo

stabile. Gli sviluppatori di ZFS on Linux

stanno lavorando su un adeguato supporto

per i sistemi a 32 bit ma, per il momento,

se desiderate utilizzare ZFS, dovete

assolutamente installare una distribuzione

Linux a 64 bit. Inoltre, ZFS memorizza

i dati nella RAM, quindi maggiore sarà

la quantità di RAM messa a disposizione

e maggiore sarà il suo rendimento

complessivo. Se il vostro computer disponessedi 2 GB di RAM o meno, le prestazioni di ZFS

risulterebbero ridotte poiché, idealmente,

avreste bisogno di almeno 4 GB di RAM

o poco più. Se desiderate utilizzare la

deduplicazione, i requisiti di sistema saranno

ancora più esigenti: per ogni TB di storage

sopra i 6 TB, il sistema avrà bisogno

da 1 a 2 GB di RAM. L’ultima versione

di ZFS on Linux supporta kernel a partire

dalla versione 2.6.26. Questo requisito ricopre

la maggior parte dei kernel utilizzati nelle

principali distribuzioni Linux, tra cui Ubuntu

10.04, Debian 5.0, openSUSE 11.4, Fedora

13 e successive. Se desiderate utilizzare

il codice più aggiornato, usate il PPA zfs-native/daily anziché zfs-native/stable.

Per impostazionepredefinita,

le istantanee

(snapshot) si applicano

solo al filesystem e non

ai suoi figli. Se volete

uno snapshot della

gerarchia del filesystem

completo, aggiungete

l’opzione -r, ad

esempio zfs snapshot

sudo-r data@backup.

Tip

œ

Page 82: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 82/100

80  LINUX PRO 125

Tutorial 

Hardcore Linux

 $ sudo mkdir -p /mnt/boot/grub $ sudo mount /dev/sda1 /mnt/boot/grubAdesso, installate un sistema Ubuntu minimalecon debootstrap: $ sudo apt-get install debootstrap $ sudo debootstrap precise /mntFatto ciò (il processo può durare alcuni minuti), doveteconfigurare ancora il sistema, altrimenti non si avvierà.Copiate alcuni file presenti in  /etc , dall’ambienteLive del CD al vostro nuovo sistema: $ sudo cp /etc/hostname /etc/hosts /mnt/etce digitate la seguente riga nel file  /mnt/etc/ fstab :

 /dev/sda1 /boot/grub auto defaults 1 1Adesso configurate la connessione di rete in  /mnt/etc/

network/interfaces . Se state usando solouna connessione di rete via cavo, con DHCP, questofile deve contenere le seguenti righe: auto lo iface lo inet loopback 

 auto eth0 iface eth0 inet dhcpInfine, usando chroot , entrate nel vostro nuovofilesystem: $ sudo mount --bind /dev /mnt/dev $ sudo mount --bind /proc /mnt/proc

 $ sudo mount --bind /sys /mnt/sys $ sudo chroot /mnt /bin/bash --loginInstallate ora il pacchetto ubuntu-minimal , alcuni

componenti necessari, ZFS on Linux e una versionemodificata di GRUB : # locale-gen en_US.UTF-8 # apt-get update # apt-get install ubuntu-minimalpython-software-properties

 # apt-add-repository --yes ppa:zfs-native/stable # apt-add-repository --yes ppa:zfs-native/grub # apt-get update # apt-get install --no-install-recommendslinux-image linux-image-generic linux-headers-generic

 # apt-get install ubuntu-zfs

 # apt-get install grub-pc zfs-initramfsDurante l’installazione di grub-pc, Ubuntu vi chiederàdi selezionare quale dispositivo volete avviareautomaticamente, utilizzando il comando grub-install .Selezionate l’intero disco ( /dev/sda). Ora impostateuna password di root, aggiornate initramfs ,il file di configurazione di GRUB e installateil bootloader nel MBR: # passwd root # update-initramfs -c -k all # update-grub # grub-install /dev/sdaPer ultimo, ma non meno importante, uscitedall’ambiente di chroot e riavviate:

 # exit $ sudo umount /mnt/boot/grub $ sudo umount /mnt/dev

È possibile rinominareun filesystem ZFScon il comando sudo

 zfs rename

<nomeoriginale>

<nuovonome>.Allo stesso modo, è anchepossibile modificarela gerarchia, ad esempiocon il comando sudo zfs

sudo rename data/media/music data/music.

Tip

Una delle caratteristiche interessanti di ZFS consistenel fatto che ogni filesystem può avere delle proprietàche possono essere lette con il comando zfs get all

<filesystem>. Molte di queste proprietà hanno un impattodiretto sul comportamento del filesystem. Per esempio,

 ZFS off re le proprietà del fi lesystem sharesmb e sharenfs,per rendere più semplice la condivisione di un filesystemin rete. Purtroppo, la proprietà sharesmb non è stataancora implementata nel server Samba di Linux

mentre la sua controparte NFS funziona egregiamente.Così, invece del metodo tradizionale di NFS, la condivisione

di un particolare filesystem risulta ancor più facile,con il seguente comando: $ sudo zfs set sharenfs=on serbatoio/homeLa home directory sarà quindi condivisa con le opzioni di defaultdi NFS, che sono quelle di tutte le reti. È, inoltre, possibilecreare un filesystem e, con lo stesso comando, condividerlotramite NFS, nel seguente modo: $ sudo zfs create -o sharenfs=on serbatoio/musicaÈ possibile controllare quali filesystem vengono condivisi

via NFS, con il seguente comando: $ exportfs

Condividete i vostri filesystem ZFS

Le istantanee(snapshot)

rappresentanola miglior

caratteristica di ZFS

Page 83: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 83/100

LINUX PRO 125  81

Hardcore Linux Tutorial

 $ sudo umount /mnt/proc $ sudo umount /mnt/sys $ sudo zfs umount -a $ sudo zpool export rpool $ sudo rebootTogliete il Live CD e, se tutto è andato per il versogiusto, il vostro sistema Ubuntu con un filesystemdi root ZFS si riavvierà. Adesso, per completarel’installazione di Ubuntu, potete installare il pacchettoubuntu-desktop .

Divertitevi

Adesso che avete un’installazione di Linux funzionantesu un filesystem ZFS, cosa potete farci? Senza ombradi dubbio, dovreste leggere le eccellenti pagineman dei comandi zpool  e zfs . Intanto, vi spiegheremoalcuni dei comandi di cui, probabilmente, avretebisogno. Innanzitutto, date uno sguardo a  zpool .In precedenza, avete già usato questo comandoper creare un pool ZFS, per importarlo, esportarloe per cambiare le sue proprietà. Potete usarloanche per elencare tutti i pool ZFS disponibilinel vostro sistema: $ sudo zpool listQuesto comando visualizza il nome del pool,la dimensione totale allocata e lo spazio libero,

la percentuale della capacità utilizzata e il suo statodi salute. Con il seguente comando potete otteneremaggiori informazioni circa lo ‘stato di salute’del vostro pool rpool: $ sudo zpool status rpoolLo stato visualizzato dovrebbe essere ONLINE:qualsiasi altro stato indicherebbe la presenzadi problemi. Inoltre, vedrete quali dispositivi hannoletto, scritto o gli errori di checksum. Potete ancheaggiungere un dispositivo addizionale e creareun secondo pool ZFS. Per esempio, se volete creareun pool mirrorato, composto da due dischi (comein RAID 1), potete farlo semplicemente lanciandoil seguente comando:

 $ sudo zpool create mirror data /dev/sdb /dev/sdcOgni volta che create un pool, ZFS crea ancheun filesystem di default con lo stesso nome del pool

e lo monta. Per esempio, dopo aver creato il pooldi dati (come sopra), vedrete una cartella  /data , cheè il filesystem montato con il nome data, creato nelpool data. Con il comando zfs , potete sempre creareun filesystem addizionale sul pool, creato come figliodel filesystem di default: $ sudo zfs create data/musicPotete creare quanti filesystem volete, in quantola creazione di un filesystem in ZFS è un’operazionemolto leggera. Per esempio, sarebbe una buona ideacreare un filesystem ZFS per  /home  e anche uno perogni home directory appartenente a ciascun utente

presente nel vostro sistema. Il seguente comandomostra tutti i filesystem presenti in un pool: $ sudo zfs list -r data

Snapshot Una delle caratteristiche più interessanti di ZFSconsiste negli snapshot. Uno snapshot è una copiadi un filesystem completo nello stato in cui si trova almomento. Grazie alla progettazione del copy-on-writedi ZFS, gli snapshot vengono creati istantaneamente.Potete creare uno snapshot con il comando zfs

snapshot , il nome del filesystem seguito dal carattere@ e il nome dello snapshot. Ad esempio: $ sudo zfs snapshot rpool/ROOT/ubuntu-1@salvami

Come suggerisce il nome del vostro snapshot,le istantanee sono un ottimo strumento per evitareche il sistema diventi inutilizzabile come, ad esempio,quando si esegue un aggiornamento del sistema.Basta creare uno snapshot prima dell’aggiornamento,eseguire l’aggiornamento e, se qualcosa andassestorto, ripristinare lo stato del filesystem al momentodella creazione dello snapshot: $ sudo zfs rollback rpool/ROOT/ubuntu-1@salvamiSe desiderate avere degli snapshot creatiautomaticamente con una pianificazione oraria,giornaliera, settimanale e mensile, installateil pacchetto zfs-auto-snapshot  e configuratela frequenza degli snapshot automatici nel vostro

crontab. Una volta che avrete avuto un assaggiodi ZFS e dei suoi snapshot, non avrete mai più vogliadi ritornare a utilizzare gli altri filesystem! LXP

Se usate screen per

lanciare un contenitore

sarete in grado

di staccarvi dalla

sua console quando

lo desiderate (basta

premere Ctrl+a e poi d).

Tip

Per ottenerespiegazionipiù approfonditeed esempi, leggetele pagine mandegli eccellenticomandi zpool e zfs

Page 84: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 84/100

82  LINUX PRO 125

Concetti

Non importa quanta attenzione mettete nel vostrocodice. Anche se avete bevuto quattro caffèe avete ricontrollato tre volte ogni riga, prima

o poi commetterete un errore. Può essere un banale erroredi scrittura, una parentesi mancante o un numero errato,o può essere un errore di logica, problemi di memoriao semplicemente del codice inefficiente. In tutti i casiil risultato sarà il medesimo, a un certo punto il vostroprogramma non farà quello che voi volete che faccia.Questo può significare un crash, un dump dell’errorecon conseguente ritorno alla linea di comando. Ma puòsignificare anche un piccolo errore di arrotondamentonel calcolo dell’IVA che avvisa l’Agenzia delle Entrateche dovete pagare due milioni di euro, costringendovia vendere casa e dichiarare bancarotta.

Trovare i problemiQuanto velocemente un vostro errore viene trovatoe corretto dipende dalla complessità del problema, e dallavostra abilità nella delicata arte del troubleshooting. Anchese gli esempi di codice dei mesi precedenti erano al massimodi 10 righe, probabilmente avrete dovuto debuggare il codiceper far sì che quello che avete scritto nel vostro interpretePython fosse uguale a quello della rivista. Quando la vostraapplicazione cresce di complessità e non si limita più a poche

righe di codice o a una manciata di funzioni, potresteritrovarvi a spendere più tempo a scovare errori di quantone avete speso per scrivere il codice. Ecco perché primadi preoccuparvi del debugging, dovreste seguire qualchesemplice regola mentre scrivete il vostro codice. La primaè questa: dato che non potete sempre pianificare ciò chestate per scrivere o come andrete a risolvere uno specificoproblema, dovete sempre ritornare sui vostri passi e dareuna ripulita al codice già scritto. Questo perché ci sonobuone probabilità che alcune delle variabili che avete usatodiventino ridondanti e vi siano pezzi di codice che hannoperso la loro logica. Ritornare indietro e ripulire queste areerende il codice più facile da mantenere e da capire. Rendereil vostro codice il più semplice possibile da capire diventa

fondamentale quando cresce il numero di linee, e raramenteandrete a riguardare il codice vecchio. Quando scrivete unblocco decente di funzionalità, la seconda cosa che dovrestefare è aggiungere un po’ di commenti per descrivere cosa

fa e come lo fa. I commenti sono delle semplici descrizioniche spiegano come funziona il codice, solitamente includonotutti gli input e gli output di una funzione. Non vengonointerpretati dal linguaggio o dal compilatore, non influisconosul funzionamento del vostro codice, sono lì soltantoper aiutare gli altri sviluppatori a capire cosa fa quella partedel codice. Ma, ancora più importante, sono lì per ricordarea voi cosa fa il vostro codice. Può sembrare strano, ma nonimporta quanto chiaro era il processo mentre scrivevateil programma, aspettate qualche giorno, settimana o mesee vedrete che vi sembrerà che quel codice sia stato scrittoda altri per quanto ve ne ricorderete. Da programmatori,una delle cose più frustranti è dover risolvere lo stessoproblema due volte, la prima volta quando create il codice,e la seconda quando lo volete modificare ma non capitecome funziona. Una linea o due di descrizione potrebbe farvirisparmiare interi giorni spesi a cercare di comprendere cosafa una funzione e come lavora, o può risparmiarvi la faticadi capire a cosa serve una funzione quando a voi interessasoltanto sapere che input chiede e quale output ritorna.

L’importanza della documentazioneVediamo ora come funzionano le API e le librerie esterne.Quando installate Qt , ad esempio, non è necessarioche sappiate esattamente come lavora una funzione.

È sufficiente che studiate la documentazione dell’interfacciae come utilizzarla contestualizzandola al vostro codice. Tuttociò che un programmatore deve sapere dovrebbe trovarsinella documentazione. Se volete utilizzare un algoritmodi sorting di Qt, ad esempio, non avete bisogno di saperecome fa ad essere così efficiente, vi basta conoscere qualidati dovete mandargli e come ottenere il risultato. Dovrestemodellare i vostri commenti sulle stesse basi, sia perchérende la documentazione più semplice, sia perchéle funzionalità autoconclusive sono più facili da testareper poi dimenticarle. Non significa che dovete scrivere unlibro. Scrivete soltanto lo stretto necessario, spesso questosi traduce in una sola riga. La sintassi per i commenti cambiain base al linguaggio; per quanto riguarda Python, ad

esempio, i commenti sono solitamente anticipati dal simbolo# all’inizio della riga. Tutto ciò che si trova aldilà di questosimbolo sarà ignorato dall’interprete, e se state utilizzandoun editor dotato di evidenziazione della sintassi, il commentoverrà colorato con un colore differente. Più dettagli mettetein un commento e meglio è, ma non scrivete un papiro.Aggiungere i commenti al codice può essere noioso quandovolete semplicemente continuare a programmare, quindirendeteli il più snelli possibile per non interrompere il vostroflusso di programmazione. Se necessario, potete sempretornare indietro e aggiungere i vostri pensieri quando non visentite in frenesia da codice (di solito questo accade il giornoprima del rilascio al pubblico). Quando si inizia a scriverecodice, si introducono molti errori senza rendersene conto.

A cominciare dal fatto, ad esempio, che non si sa cosasia una keyword e cosa non lo sia; una keyword (o parolachiave) altro non è se non una parola utilizzata dal vostro

Praticamente tutti

i linguaggi considerano

lo zero come un valore

e come prima posizione

di un array. Può

sembrare poco logico

all’inizio, perché siamo

abituati a pensare allo

 zero come a “niente”.

Ma basta soltantoabituarsi all’idea.

Tip

L’IDE Python IDLEha una modalità

di debug che vi permette di vedere

come le vostre variabili cambiano

durante l’esecuzione

Evitare gli erroriDopo aver ricevuto tonnellate di bug report sul proprio codice, lo staff di Linux Pro ha deciso

di condividere con voi l’elenco delle cose da evitare e come farlo

Page 85: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 85/100

LINUX PRO 125 83

Concetti

linguaggio per fare qualcosa di importante. Ogni linguaggio

è differente, ma la lista delle keyword di Python

è abbastanza gestibile, e include parole inglesi di linguaggio

comune come ‘and’, ‘if’, ‘else’, ‘import’, ‘class’ e ‘break’,

così come parole con meno senso come ‘yield’, ‘lambda’,

‘raise’ e ‘assert’. Ecco perché è sempre una buona idea

creare le vostre variabili con nomi composti, piuttostoche con nomi semplici. Se state utilizzando un IDE,

ci sono buone possibilità che l’evidenziazione della sintassi

vi avvisi se state usando una keyword.

Valori non dichiaratiUn altro problema che fortunatamente non affligge Python

è l’uso di valori non dichiarati. Questo tipo di errori può

verificarsi, ad esempio, nel C o C++, se utilizzate una variabile

senza aver dichiarato prima di che tipo è, ad esempio int x 

per dichiarare che x è un integer. Soltanto dopo averle

dichiarate potete utilizzare delle variabili nel vostro codice.

Questa è la grande differenza tra linguaggi compilati

e interpretati. Comunque, in entrambi i linguaggi, non potete

sapere che valore di default conterrà una variabile nondichiarata. Scrivendo print (x) in Python vi verrà restituito

un errore, cosa che non succederà se anteponete l’istruzione

 x = 1. Questo perché l’interprete conosce il tipo di una

variabile soltanto dopo che le avete assegnato un valore.

Il C/C++ può essere anche meno preciso, non è detto

che generi per forza un errore, ma il valore che conterrà

la variabile sarà imprevedibile, a meno che ovviamente

non ne assegnate uno voi. Gli errori chiamati in gergo typo

(errori di battitura) sono molto comuni, specialmente negli

statement condizionali dove possono passare inosservati,

perché potrebbero essere sintatticamente corretti.

Ad esempio, controllate sempre di non aver messo

un uguale solo nei vostri if, anche se Python è molto bravo

nel rilevare questi problemi. Un altro tipo di problemache Python gestisce molto bene è l’indentazione imprecisa.

L’indentazione è utilizzata da Python per distinguere le varie

parti delle funzioni e delle condizioni. Python interrompe

l’esecuzione se non indentate correttamente, ma molti altri

linguaggi tentano di interpretare la gerarchia del vostro

codice comunque, e a volte una parentesi in un posto

sbagliato è tutto ciò che serve per ottenere dei risultati

imprevedibili. Comunque, questo può rendere Python

più difficile da imparare. All’inizio, se non conoscete comelavorano i suoi requisiti di indentazione, o che necessita

dei due punti alla fine della dichiarazione di una funzione,

l’errore che vi ritornerà avrà poco senso per voi. Dovete

inoltre prestare attenzione alle maiuscole e minuscole,

specialmente con le keyword e con i nomi delle vostre

variabili. Quando avete scritto qualcosa, dovete testarlo

non soltanto con i valori per cui lo avete pensato, ma con

qualsiasi valore possa accettare in input. Il vostro codice

potrebbe fallire con eleganza e metodicità, oppure in modo

del tutto casuale. Quando avete qualcosa di pronto per

essere rilasciato, datelo ad altre persone perché lo testino.

Utilizzeranno approcci diversi dal vostro, e saranno felici

di rompere il vostro codice in modi che voi non potete

neanche immaginare. Soltanto allora il vostro codice saràpronto per il selvaggio mondo di Internet, e indossate

il vostro giubbotto antiproiettile il giorno del rilascio. LXP

Programmandoin Python doveteprestare attenzioneche i due puntie le indentazionisiano disposticorrettamente,

altrimenti il vostrocodice non funzioneràma si stopperàmostrando parecchierrori di runtime

Sintassi per i commenti

Differenti linguaggi utilizzano differenti sintassi per i commenti, anche

se sembra che ci siano delle linee comuni su come un commento

dovrebbe essere scritto in ciascun linguaggio. Comunque, esistono

un paio di regole generali. Molti programmi offrono sia i commenti inline,

sia la possibilità di commentare a blocchi, ad esempio. I commenti inline

sono solitamente su una singola riga, o dopo una parte di codice sulla stessa

riga, e sono inizializzati utilizzando un paio di caratteri prima del commento.

I commenti a blocchi contengono pezzi di testo (o di codice che non

volete venga interpretato/compilato), e di norma hanno dei caratteri

di inizio e dei caratteri di fine.

Bash# il cancelletto (detto anche hash) è utilizzato in molti linguaggi di scripting. Quando # è seguito da ! il discorso cambia e diventa

un comando che dice al sistema quale interprete utilizzare, ad esempio #!/usr/bin/bash

BASIC REM Per molti di noi, questa è la prima sintassi per commenti che abbiamo imparato.

C  /* Questo tipo di commento in C può essere utilizzato per un blocco di testo di più righe */

C++   // questa sintassi può essere utilizzata per inserire un commento dopo del codice oppure per commentare una singola riga.

HTML<!-- Anche se non si tratta di un linguaggio di programmazione, lo abbiamo incluso perché è probabile che abbiate già visto questa

sintassi -->

 Java  /** Simile al C, perché può contenere un intero blocco, ma con un * in più nell’apertura */

Perl = heading Overview oltre al cancelletto, in Perl potete utilizzare anche una cosa chiamata Plain Old Documentation.

Ha un formato specifico, ma vi costringe a spiegare il vostro codice in modo più accurato. =cut 

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

Page 86: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 86/100

84  LINUX PRO 125

Reti neurali

Eccoci arrivati alla terza – e ultima – puntata

di questa serie di articoli dedicata alla

programmazione delle Reti Neurali Artificiali. Nel

precedente articolo abbiamo visto come una RNA possa

dividere degli elementi in base a delle caratteristiche che

li accomunano: terminato l’addestramento la rete sarà in

grado di “esprimere un parere” anche su elementi del

gruppo che non hanno concorso all’addestramento della

rete. Ora vediamo il concetto opposto, cioè determinarela caratteristica che unisca in un insieme degli elementi

che apparentemente nulla hanno in comune.

Scegliamo di allenare una rete per approssimare

qualcosa che tutti noi dovremmo ricordare: il Teorema

di Pitagora. La famosa frase “Il quadrato costruito

sull’ipotenusa è equivalente alla somma dei quadrati

costruiti sui cateti” si esprime matematicamente con

nel nostro caso,

Per affrontare questo problema, decidiamo di creare

una rete un po’ più carrozzata, nello specifico una

2-16-16-1 che addestreremo con 81 esempi

(vedi listato su DVD). Approfittiamo della situazioneper introdurre qualche trucchetto di programmazione

per accelerare la velocità del programma e un paio di

concetti nuovi inerenti le Reti: finora ci siamo accontentati

di uscite comprese tra -1 e +1, ma questo non deve

essere visto come un vincolo in quanto, con dei semplici

rimaneggiamenti aritmetici, saremo in grado di “stirare”

questi valori fino a coprire gli intervalli numerici di nostro

interesse. Infatti nel programma 2-16-16-1 vediamo

la presenza di un “moltiplicatore” che porta il fondo scala

a 20: questo si rende necessario perché le uscite attese

variano tra 0 e poco meno di 13, mentre la funzione

di uscita copre unicamente l’intervallo (-1, +1). Inoltre

abbiamo eliminato l’errore fisso, sostituendolo con un

vettore contenente valori di errore personalizzati sulle

uscite. Avrebbe poco senso impostare un errore fisso(per esempio 0,01) su uscite non omogenee, come

1,41 e 12,72: infatti per la rete sarebbe facile

raggiungere l’obiettivo su un certo tipo di valori piuttosto

che su altri. Viceversa, impostando un errore percentuale

proporzionale all’uscita facilitiamo l’allenamento della

rete, garantendo al contempo un errore accettabile pari

all’1% dell’uscita attesa. Per quanto riguarda i trucchetti

di programmazione, abbiamo creato due vettori (passa[] e tangip[]) che contengono pre-calcolate alcune parti

dell’algoritmo di retro propagazione allo scopo di

eseguire quella parte di elaborazione un numero minimo

di volte. Notate che per tenere contenuto il numero

di linee del listato abbiamo sostituito le istruzioni simili

con dei cicli for: questo è un bene per la compattezzadel sorgente ma è controproducente per la velocità

del programma, per cui ove possibile si consiglia sempre

di rimpiazzare i cicli for con le relative istruzioni singole.

Raccomandiamo inoltre di compilare il programma

attivando le ottimizzazioni spinte tramite il parametro

-O3 come segue:

 gcc rete-2-16-16-1.c -lm -O3; ./a.out

Per presentare i risultati abbiamo dovuto

necessariamente addestrare la rete. Purtroppo i pesi

sono parecchi e per mantenere contenute le dimensioni

del listato abbiamo preferito fornire il programma

“in bianco” cioè senza l’elenco dei pesi configurati.

Chi desiderasse ricevere una copia del programma

“allenato” può contattare l’autore dell’articolo.

Capacità previsionaliAbbiamo più volte detto che le RNA sono in grado di

fornire risposte accettabili anche oltre l’insieme dei valori

che contiene il set di allenamento: è il momento di

dimostrare tali affermazioni. Al posto di noiose tabelle

di risultati abbiamo preferito presentare un’immagine

che si analizza molto più facilmente. La rete è stata

allenata con 81 esempi di addestramento le cui

coordinate generiche (a,b) vanno da 1 a 9 compresi.

Terminato l’allenamento, abbiamo modificato

il programma per testare lo “spazio del problema”

con una densità dieci volte maggiore per ogni coordinata

e abbiamo anche provveduto ad allargare lo spazio dianalisi, per verificare il comportamento della rete oltre

i propri confini di allenamento: il grafico rappresenta tutti

 P R O

 

e

n

t

r

o

 

i

l d e n t r o  i l

 C o d i c e  d ’ e s e m p i o

Roberto Premoli

Comincia nel 1999

a usare GNU/Linux

e il software Open

Source, con particolare

attenzione

all’ottimizzazione

di sistemi e ai cluster

di calcolo. Occupa

attualmente la posizione

di IT Senior Specialist

presso una

multinazionale

farmaceutica. Chi volesse

contattarlo può scrivergli

all’indirizzo roberto.

[email protected] .

L’autore

Ringraziamo il Dott.

Crotti Stefano per

la rilettura “matematica”

del testo.

Ringraziamenti

Abbiamo visto reti multistrato semplici, cioè

reti in cui ogni neurone riceve input da tutti

quelli dello stato precedente e dà la prop ria

uscita in ingresso a tutti i neuroni dello strato

successivo. Questo tipo di rete è “regolare”

e facilita la programmazione, ma nulla vieta

di sperimentare, creando connessioni

aggiuntive tra strati distanti tra loro (per

esempio, qualche input potrebbe essere

fatto entrare a tutti i neuroni, non solo

in quelli del primo strato): sperimentate

e fateci sapere cosa avete ottenuto!

Reti più che regolari

Reti neurali artificiali:

teoria e praticaLa rete come “approssimatore” di funzione

Page 87: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 87/100

LINUX PRO 125 85

Reti neurali

i punti da 0,0 a 14,1 a passo 0,1. All’interno dell’idealeperimetro che contorna i punti neri, tutti i punti (bianchi)soddisfano il vincolo di avere un errore inferiore all’1%.Il verde indica errore tra 1% e 2% il rosso l’erroretra 2% e 3% e così via (vedi Fig.1). Siamo un pocoindispettiti da quella macchia di errore in alto a sinistra

e abbiamo “zoomato” per analizzare meglio la situazione(Fig.2). Vediamo come essa sia “incastrata” tra 4 puntidi addestramento ma è interessante il fatto che si trovimolto vicino all’origine: questo indica che tale areasia “delicata” e necessitante di un insieme di punti diaddestramento più fitto per garantire il risultato cercato.Ora che sappiamo dove intervenire, sarà sufficientemodificare il set di addestramento includendo anche unodei punti all’interno della macchia in modo da addestrarenuovamente i pesi quel tanto che basta per avere unsuccesso completo. Per quantificare la precisione dellarete, abbiamo “contato” i punti: quelli buoni avrebberodovuto essere 81*81=6.561 (rappresentati il 100%dell’area in cui ci aspetterebbe un successo pieno da

parte della rete), ai quali però vanno sottratti i 70 punticostituenti la macchia. Per cui la Rete, all’interno delperimetro di allenamento, ha un successo del (6.561-70)/6.561=98.9%. Però la rete riesce a dare una buonarisposta anche oltre il perimetro. Abbiamo contato tuttii punti buoni (bianchi) che assommano a 12.159, cioèun +85% rispetto ai 6.561. Se poi “chiudessimo unocchio” e accettassimo per buoni anche i 1.886 puntiverdi, la percentuale di successo diventerebbeun ottimo +113%. In conclusione ci possiamo dichiararesoddisfatti dalle prestazioni di questa rete “Pitagora”che consideriamo un buon inizio, nonostante l’errorevicino all’origine. È di particolare rilevanza il fattoche la rete riesca a gestire input diversi ma che generano

risultati identici: intendiamo dire che la rete generagiustamente risultati simili per le coppie di esempicome (12 +92) e (92 +12) oppure (32 +62) e (62+32), ecc. Quindi, oltre alle funzioni di somma, moltiplicaed estrazione di radice (operazioni implicite nel Teoremadi Pitagora), la Rete ha anche scoperto la proprietàcommutativa delle addizioni, indicata genericamentecon a+b = b+a. Tutto questo è stato ottenuto– lo ricordiamo – con solo 81 esempi: un’effettivadimostrazione delle capacità di astrazione,generalizzazione e preveggenza da parte delle RNA.

Un compito per voiOra che padroneggiate – ci auguriamo – le basi del

mestiere, potreste pensare a piccoli problemi quotidiania cui dare una risposta tramite rete neurale. Per esempio,scrivere una RNA che preveda in tempo necessarioper il tragitto casa-lavoro. I dati di input potrebberoessere l’ora di partenza (sotto forma di minuti dallamezzanotte, da 1 a 1.440) e la data (sotto forma digiorno dell’anno, da 1 a 365), mentre l’uscita potrebbeessere un numero indicante i minuti necessari al viaggio.L’orario di partenza influisce su problemi a breve termine(per esempio, immettersi in tangenziale 10 minuti primadell’orario di punta può portare a significativi guadagnidi tempo) mentre la data influisce su problemi a “basestagionale” (ad esempio, nel periodo invernale è damettere in conto un rallentamento del flusso veicolare

a causa di condizioni climatiche avverse, come pioggiae neve). Il problema? Avere la pazienza e la metodicitàdi raccogliere dati sperimentali per un anno.

E se la rete non si addestra?Succede più spesso di quanto si desidererebbe,purtroppo. Capita che la fase di addestramento duriper giorni e giorni ma la rete non mostri nessuna vogliadi convergere verso una soluzione accettabile: che fare?

Per nostra esperienza, sappiamo che la fasedi allenamento può essere altalenante, cioè i pesiondeggiano qua e là in un modo apparentementeillogico, ma poi, a un certo punto, la rete comincia aconvergere verso una soluzione accettabile. Il problemafondamentale è che non si può calcolare analiticamentequel “a un certo punto” e nemmeno si può essere sicuriche quel “a un certo punto” esista! Altre volte capita chel’allenamento si blocchi in punti assolutamente lontani

Sappiamo che il percettrone 3D genera un piano che separa

linearmente uno spazio tridimensionale: quindi un volumepuò essere racchiuso tramite l’intersezione di quattro piani(immaginate una piramide a base triangolare). Abbiamo poi vistoche con abbastanza strati e/o nodi è possibile racchiuderequalunque area o volume. Domanda: quale potrebbe esserela RNA che separa linearmente i punti azzurri dai punti verdi– una croce a tre braccia – nella figura A? E per farla ancorapiù difficile, quella – un ottaedro – di Figura B? Forza conla tastiera, aspettiamo le vostre risposte!

Per solutori più che abili

1 Il grafico cherappresenta il nostroproblema

Page 88: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 88/100

86  LINUX PRO 125

Reti neurali

dai valori a noi necessari: vediamo quali possono essere

le motivazioni e le relative soluzioni di questo

comportamento. Qua e là in questa serie di articoli

abbiamo dato qualche suggerimento, ora ne

aggiungeremo altri, schematizzandoli per punti.

A Abbiamo detto che la Rete può compensarei propri errori, ma ovviamente è sempre meglio

che il software non ne abbia! Frequentemente accade

che dopo il copia e incolla di un pezzo di programma

ci si dimentichi di aggiornare l’indice di un vettore

o che non si cambi il nome di una variabile: il risultato

è una rete che faticherà ad allenarsi o non si allenerà

affatto. Il consiglio principe è sempre lo stesso:

controllate sempre il vostro sorgente una volta

in più di quello che pensiate sia il numero massimo

di controlli da fare! A volte è bene far passare

un giorno prima di rileggere il sorgente, così la mente

sarà riposata e ci si accorgerà di errori che il giorno

prima sarebbero stati invisibili.

B Niente virtuosismi in fase di scrittura del software:

non pensate immediatamente a un’unica matrice

N-dimensionale di pesi, a eleganti routine che

si auto-richiamano e altri sofismi. Anche se scrivete

un codice brutto e lento, l’unica cosa importante è che

funzioni e sia privo di errori concettuali o di digitazione.

Il tempo per le rifiniture estetiche e le ottimizzazioniprestazionali verrà in un secondo momento.

C Disegnate su carta la vostra rete: vedere i neuroni

(nodi) e i pesi (fili) che li connettono aiuta a pensare

con più facilità alla versione informatica che dovrete

realizzare. Disegnate anche, se possibile, un diagramma

del set di allenamento, perché vedere le corrispondenze

input-output di addestramento vi aiuterà a pensare

alla rete che sarà chiamata a generarle. Con il tempo

e l’esperienza, vi verrà naturale capire più o meno

la rete necessaria dopo aver dato una occhiata

allo spazio del problema.

D Impostate l’errore al massimo tollerabile.Se è accettabile un errore di 0,01, è inutile forzare

l’errore a 0,001 solo per uno sfizio personale: modifiche

di questo tipo possono comportare un allungamento

più che proporzionale dei tempi di addestramento

e una precisione 10 volte superiore potrebbe richiedere

un tempo di calcolo mille o centomila volte superiore.

E Adottate la PPP, Politica dei Piccoli Passi: dovete

raggiungere un errore massimo di 0,1? Molto bene,

cominciate a impostare l’errore a 0,8 e vedete se la rete

ce la fa a soddisfare tale vincolo. Poi aggiornate i pesi

e scegliete un vincolo più restrittivo, per esempio 0,6

e così via fino a raggiungere l’obiettivo iniziale. Lo stesso

ragionamento vale perl’insieme di allenamento:

in altre parole, se la rete

non riesce ad addestrarsi

con un set di training

da 20 elementi, abbassate

tale numero a 10. Poi, man

mano che la rete genera

pesi accettabili, aggiungete

elementi fino a raggiungere

il numero di 20.

F Se il problema che state

analizzando lo consente,

contemplate la possibilità diusare errori in percentuale

rispetto all’uscita attesa.

Impostare un errore

massimo uguale a 0,05

comune per tutte le uscite

può essere eccessivamente

restrittivo e impedire

alla rete di concludere

l’allenamento. Se avete

con valori molto variabili

(per esempio [100; 10000;

3]) l’errore 0,05 potrebbe

essere facilmente

raggiungibile per le primedue uscite, ma difficile

o impossibile per l’ultima.2 Uno zoom sull’errore che ci ha indispettito

Avete una rete addestrata, cioè i pesi rientrano

negli intervalli accettabili: tutto bene quindi?

Si, ma forse si può fare meglio! Se la vostra

rete è grossa e/o deve generare miliardidi risposte al giorno, anche un piccolo

miglioramento velocistico si fa sentire alla fine

della giornata e peserà meno sulla bolletta

energetica. I miglioramenti prestazionali sono

dati da minori elaborazioni numeriche: provate

a eliminare qua e là qualche peso o neurone

dalla vostra rete e verificate se genera ancora

risposte accettabili. Continuate a togliere

“potenza” finché sarà possibile, riaddestrando

mano a mano la rete se fosse necessario:considerate che meno togliete e più

velocemente la rete sarà riaddestrata,

quindi il consiglio è di togliere un peso

alla volta. Alla fine dell’ottimizzazione,

la percentuale di miglioramento ottenuta

potrebbe piacevolmente stupirvi!

Ottimizzare una rete già addestrata

Page 89: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 89/100

LINUX PRO 125 87

Reti neurali

Potreste optare dunque per un errore del 5% e quindicreare un vettore di errori impostato a [5; 500; 0,15] daassociare al vettore delle uscite attese in fase di controllo.

G Attenti a “mu”. Attenti a “mu”. Attenti a “mu”. Non losi dirà mai abbastanza: attenti a “mu”! Come già detto,

mu è responsabile della velocità di allenamento: taleparametro è critico. Se troppo grande, farà “rimbalzare”i pesi esternamente all’intervallo accettabile, per cui la retecontinuerà a fare “avanti e indietro” senza mai fermarsi: ècome se una pallina avesse troppa energia e continuasse agirare sulla parete interna di una buca senza però rallentareper poter fermasi sul fondo. Se il valore è piccolo, la retesarà lenta nell’allenamento, a volte di una lentezza tale dadimostrarsi inaccettabile. Infine, se mu sarà troppo piccolo,i pesi non ce la faranno a sorpassare gli ostacoli: sempre conl’esempio della pallina, è come se essa fosse caduta in unapiccola buca senza avere abbastanza energia per saltare fuori.

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

maledetto esempio, fatto meglio noto comeil problema del picco. In altre parole, tutti i valori rispettanoil massimo errore consentito, con l’eccezione del maledettoche sta o troppo alto o troppo basso. Intendiamoci, l’uscitasi sta effettivamente avvicinando al valore richiesto,ma lo fa con una lentezza esasperante. Come fare?La prima cosa è salvare i pesi generati fino a quel momentoe reinserirli nel sorgente quali nuovi pesi di partenza (avetefatto in modo che il programma li salvi periodicamente daqualche parte o che almeno li stampi a video? No? Moltomale!). Ammesso che abbiate aggiornato il programmacon i nuovi pesi, si può procedere in due modi:1 provare a incrementare mu sperando che velocizzila convergenza dell’ultimo valore;

2 verificare quali sono i pesi che generano il valore fuoriscala e tentare di modificarli manualmente per farlorientrare nell’intervallo accettabile.

I Avete rispettato tutti i punti precedenti, ma proprionon c’è niente da fare? Può semplicemente significare

che la rete non è quella giusta, che essa è inadattaa risolvere il problema. La soluzione potrebbe esserequella di “potenziarla”, aggiungendo neuroni agli stratiesistenti o aggiungendo un ulteriore strato.

Purtroppo non è ancora stato trovato un metodo rigoroso,qualora esista, per determinare la rete adatta allarisoluzione di un determinato problema. Abbiamo visto che

“errore” e “mu” sono parametri sensibili (“mu” è addiritturacritico) che, se non ben impostati, possono essere causadi un addestramento lento o addirittura di un mancatoaddestramento. Le diverse equazioni di trasferimento

richiedono più o meno lavoro da parte della CPU peressere elaborate e questo influisce sul tempo necessarioper l’addestramento, che può essere molto lungo.La soluzione? Manco a dirlo, la soluzione è neurale, maneurale naturale! Intendiamo dire che solo l’esperienza delprogrammatore, solo il “fiuto” sviluppato in anni di lavoropossono permettergli di creare, se non la miglior rete,quanto meno una rete accettabile per un problema dato.

Tirando le sommeAbbiamo visto come, mutuando i meccanismi elaboratividel cervello umano, le Reti Neurali Artificiali siano in gradodi processare input e dare risultati attendibili là dove unalgoritmo “classico” può fornire solo risultati deludenti

o peggio ancora non è in grado di affrontare il problema.Abbiamo fatto una carrellata dagli esordi allo stato attuale,risparmiando al lettore tutta la parte matematica“indigesta” e limitandoci alla pratica, partendo dalle basie aumentando la difficoltà con il procedere della serie.Non abbiamo approfondito alcune tematiche“specialistiche” per non mettere troppa carne la fuoco, mala speranza di chi scrive è comunque quella di aver accesonel lettore la curiosità per un argomento di nicchia mainteressante dal punto di vista concettuale e potente nelleprestazioni. Imparare una cosa in più e usarla al megliodelle proprie capacità dovrebbe essere l’obbiettivo di tuttinoi, e ci piace pensare di aver dato un suggerimentoche speriamo sarà seguito da molti... si, anche da te! LXP

Per quanto sia una pallida ombra del cervello, una rete neuraleartificiale nel emula i meccanismi, per cui si può dire che la qualità(dei ragionamenti) si basa sulla quantità (dei neuroni in gioco).Diecimila neuroni sono poca cosa, ma tali reti già “pilotano” creatureartificiali che vivono nella realtà virtuale, dove eseguono azionisemplici ma sempre più complesse man mano che evolvono.Cosa succederà quando si avranno reti da un miliardo di neuroni?E da dieci miliardi? E da cento miliardi? Nei laboratori di tuttoil mondo si studiano queste tematiche e già si prevedeche i supercomputer di prossima generazione saranno in gradodi far “girare” reti neurali con la “potenza” cerebrale di un gatto.

Considerando che le prestazioni raddoppiano ogni 18-24 mesi,si può estrapolare che tra una 15-20 di anni disporremo

della potenza bruta per emulare in toto un cervello umano.Si aprirebbero allora scenari inattesi e un po’ inquietanti: sarebbemoralmente accettabile spegnere il sistema che fa girareun’intelligenza artificiale di livello umano o sarebbe comecommettere un omicidio? Dopotutto se guadiamo all’azione svolta,oggi uccelli e aerei volano, gambe e ruote corrono: forse domanicervelli e computer penseranno. Cambierà il mezzo, ma il fine resteràlo stesso. Ancora più avvincente sarà la possibilità di creare copiedi cervelli esistenti, avendo così una specie di immortalità ciberneticaquando la versione biologica dell’individuo backuppato cesserà difunzionare: non sappiamo cosa intendiate fare voi, ma noi pensiamo

di prenotarci un posto. Chi volesse leggere di più vada a questo link:http://it.wikipedia.org/wiki/Trasferimento_della_mente .

Reti neurali e immortalità

È matematicamente dimostrato (Hornik,Stinchcombe, White - 1989) che non serveavere una rete con N strati nascosti, ne basta

uno solo: inoltre tale rete può – parimenti allereti multi strato – approssimare qualunquerisultato con qualunque livello di precisione.Purtroppo ciò che è dimostratomatematicamente vero non è detto chesia facilmente implementabile: in questocaso il problema sta nell’elevato numerodi percettroni che devono comporre lo stratonascosto. Questo si rivela essere un vantaggio

nel caso di hardware massicciamente paralleloche può calcolare tutti i neuroni dello stratoin un colpo solo, ma questo tipo di soluzione

può essere controproducente se la reteè implementata “in software” su una classicaCPU che, come noto, processa i calcoliserialmente un neurone alla volta.Per dimostrare questo teorema, abbiamoridisegnato la rete 2-4-4-1 sotto formadi 2-16-1: avevamo provato con una rete2-8-1 ma non riusciva a raggiungereil livello di precisione richiesto.

Basta uno strato solo

Page 90: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 90/100

88  LINUX PRO 125

Python

I computer sono grandiosi. Sono veloci e fanno

le somme, e possono elaborare un’enormità di dati

in breve tempo. Comunque, possono fare solo

ciò per cui sono programmati e i programmatori tendono

a pensare in modo lineare: AD BD C e magari ancheD D

se serve. Di solito, i task hanno una natura lineare – ad

esempio per trovare la posizione della Stazione Spaziale

Internazionale bisogna capire in che punto si trova della sua

orbita. Poi potete calcolare le sue coordinate geocentriche

e da queste (e dalla posizione dell’osservatore) potete

calcolare dove si trova. Come molti problemi, è lineare

e non potete calcolare in anticipo il passo successivo perché

dipende dai risultati del passo precedente. D’altra parte

ci sono molti compiti che possono essere svolti in parallelo

quando si parla di software desktop – di solito nulla

che abbia a che fare con input e output da dispositivi di

storage o locazioni di rete. Ad esempio, quando il voglio foglio

di calcolo salva in modo automatico ogni cinque minuti, lo fa

come compito in parallelo e in background, quindi voi potete

continuare a inserire i vostri dati della banca, o qualunque

altra cosa. Nessuno, nell’epoca moderna, vuole fermare

ciò che sta facendo per portare avanti lavori noiosi.

La risposta per fare due cose alla volta sono i thread.

Prima serata

Per la verità non è sempre così. Dipende da cosa volete faree dall’hardware che state usando. Prima di diventare matti

cercando di capire cosa intendiamo, provate un semplice

test. Vi mostreremo un piccolo brano di codice che

fa qualcosa di utile, come determinare se un certo numero

è primo o no. Questo si può fare con una semplice funzione

che è ideale per il nostro test.

def isprime(n):

  n*=1.0

  if n%2==0 and n!=2 or n%3==0 and n!=3:

  return False

  for test in range(1,int((n**0.5+1)/6.0+1)):

  if n%(6*test-1)==0:

  return False

  if n %(6*test+1)==0:

  return False

  return True

Ora, prima di iniziare a scriverci (possiamo sentire alcune

centinaia di nuovi account Gmail aprirsi mentre stiamo

digitando), sì, siamo sicuri che ci sono modi molto più efficienti,

o codici dall’aspetto migliore, per verificare se un numero

è primo o meno. Non vogliamo perdere troppo tempo

allontanandoci dallo scopo di questo articolo. Comunque

spiegheremo alcuni elementi di questo codice. Moltiplicando

l’input per 1.0 (un float) trasforma l’input in un numero

a virgola mobile, che è necessario – dividendo un intero per

un intero si ha sempre un risultato intero senza il resto (non ci

credete? Provate questo dalla Bash: python -c ‘print 3/2’),

ma il resto è proprio quello che ci serve per verificare i numeri

primi. Per velocizzare la ricerca, eliminiamo subito i numeri

che sono multipli di 2 o 3 (ma non il 2 e il 3 stessi), visto

che in questo modo riduciamo notevolmente la prospettiva.

Poi creiamo un ciclo di potenziali divisori. Anche qui ci sono

alcuni trucchi. Per esempio, non c’è motivo di verificare

il numero 13 per vedere se è divisibile per 11. Ovviamente

non lo è. Ma dove si può tirare questa linea ovvia?

Se un numero ha dei fattori primi, almeno uno di essi sarà

più piccolo della radice quadrata del numero stesso, quindiquesto può accorciare notevolmente la ricerca (oh, però

dovete aggiungere 1 perché il range della funzione parte

da 0). Un altro trucco è che tutti i numeri primi sopra il 3 sono

nella forma 6n+1 o 6n -1 dove n è un intero – per esempio

se n è 1, allora questo trucco ci dice che 5 e 7 potrebbero

essere primi. Anche se tutti i numeri primi appartengono

a questo insieme, non tutti i numeri di questo insieme sono

primi. In tutti i casi, basta far girare le rotelline del cervello,

questa funzione va bene! Avendo realizzato una buona

funzione, procederemo facendo una cosa stupida: creeremo

un enorme ciclo e ripeteremo la funzione per verificare

tutti i numeri all’interno di un vasto range (dovremmo

verificare solo i numeri 6n+1 e 6n-1, ma vogliamo arrivare a

un calcolo molto lungo per arrivare al punto). Aggiungeremoun po’ di codice extra, un’altra funzione per verificare tutti

i numeri di un certo range, e un blocco principale:

 def primes_in_range(x, y):

  global l

  l=[]

  for i in range(x, y):

  if(isprime(i)):

  l.append(i)

  if __name__ == ‘__main__’:

  primes_in_range(1,1000000)

  print l

Come potete vedere, è molto semplice. Il codice main

richiama la funzione primes_in_range che, a sua volta,

scorre ogni numero e controlla se è primo. I numeri primivalidi vengono aggiunti a una lista, che viene stampata

a schermo quando il programma termina. Nessun trucco

 P R O

 

e

n

t

r

o

 

i

l d e n t r o  i l

 F i l e  d ’ e s e m p i o

Non dovete generarequesti grafici, ci pensail monitor di sistemaa dirvi cosa stannofacendo i vostriprocessi

Elaborazione multiprocessoLinux Pro vi mostra perché due processori (o più) sono meglio di uno ed esamina alcuni

modi per liberare la potenza delle CPU multicore

Page 91: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 91/100

LINUX PRO 125 89

Python

in questo caso. A questo punto le cose possono variare. Nelnostro esempio (prime_normal_1.py) abbiamo codificatola ricerca su 1.000.000 di numeri, che nel nostro computerimpiega circa 8 secondi per essere eseguita, voi potrestevoler iniziare con un numero più piccolo o più grande. L’ideaè quella di avere un tempo di ricerca sufficientemente lungo

da notare la differenza di velocità dopo aver applicato qualchealtro trucco. Come misurare questa velocità? Potete usareil comando time della Bash per avviare lo script: time python prime_normal_1.py 78499

 real 0m8.019s user 0m6.772s sys 0m0.032sI numeri restituiti indicano il tempo reale impiegato per ilcalcolo, il tempo di userspace occupato e poi il kernel timedello stesso processo. Il carico del processore si può calcolarefacendo user+sys/real. Questa è una misura accurata delleprestazioni dello script senza ricorrere ad altri tool.

La verità dei threadBene, come si può trasformare il nostro piccolo programmalineare in una applicazione threaded? Il modulo Pythonthreading offre un modo pratico e veloce per creare thread.I thread sono basati su una funzione target, quindi doveteavere qualcosa a cui farli puntare. Fortunatamente avetela funzione primes_in_range – dovete solo fornirgligli argomenti. Potete semplicemente dividere il rangedi numeri in tre gruppi ed eseguire un thread per ognigruppo. Quindi ora dovete adattare il codice precedentein modo che sfrutti i thread, dovrebbe apparirepiù o meno come il codice seguente. import threading

 l=[] def isprime(n):  n*=1.0  ... def primes_in_range(x, y):  global l  for i in range(x, y):  if(isprime(i)):  l.append(i)  if __name__ == ‘__main__’:  p = threading.Thread(target=primes_in_range,args=(1,333000))  p.start()  q = threading.Thread(target=primes_in_range,

args=(333001, 666000))  q.start()  r = threading.Thread(target=primes_in_range,args=(666001, 1000000))  r.start()  p.join()  q.join()  r.join() print lNella funzione main del programma vengono creati trethread. La creazione di ogni thread richiede una funzionea cui puntare e accetta un set di argomenti. La classe threadcrea un oggetto con diversi metodi, i più importanti sonostart() e join(). Il primo fa partire il thread. È costruito

per chiamare semplicemente la funzione fornita con i relativiargomenti, comunque se volete creare una vostra classepotete fare un override su questo metodo per fare qualcosa

d’altro. Per i nostri scopi ci va bene così com’è. Il metodo join()blocca l’esecuzione fino a quando il thread ha completatoi suoi task, e viene usato per riunire i thread separati nellasequenza d’esecuzione principale. Quindi i join bloccanol’esecuzione del main fino a quando i thread non finiscono.Provate il nuovo codice (prime_threaded_1.py) sempre

con time per vedere quanto tempo impiega a trovarei numeri primi. Noi abbiamo ottenuto un tempo d’esecuzionedi circa 11 secondi. È vero, in questa particolare occasionel’aver introdotto i thread nel programma ci è costatocirca il 30% in più del tempo. Ah, per la cronaca, stiamousando un processore quad core a 3 GHz. Difatti la velocitàdel processore e il numero di core, fa solo peggiorarele cose! Ma cosa sta succedendo? Quello che abbiamovissuto è la cosa più esasperante del linguaggio Python:i thread possono funzionare solo uno alla volta. Se usatedei moduli per fare delle cose con Internet, i dispositivihardware, l’I/O su file o altre cose non puramente Python,o non puramente di calcolo, i thread vengono eseguitiin simultanea; questo capita perché quando non

è in esecuzione il bytecode di Python il processorepuò operare in modo indipendente dal Global InterpreterLock. Quindi, in realtà, i thread vanno in competizionetra loro per l’accesso all’interprete e l’overhead di tuttala segnalazione si va ad aggiungere al tempo necessarioall’esecuzione del task. Spesso questa differenza si notadi più con i processori più veloci perché c’è una finestrapiù stretta tra il rilascio del lock da parte di un threade il tentativo di riprenderlo da parte dello stesso thread.Un altro punto su cui potreste farvi delle domane – nel nostrocodice d’esempio l’ultimo thread ha più lavoro da fare– è che valutare se sono primi i numeri più grandiè più oneroso. Trovare un modo per equilibrare il lavoroper i thread potrebbe far pensare che tutti i thread

potrebbero finire in contemporanea, ma questo avrebbeun effetto negativo sulle prestazioni perché, poichéi thread competono uno con l’altro, l’ultimo dovrebbeavere maggior possibilità di esecuzione: quando tuttigli altri hanno finito il thread con un’elaborazionepiù lunga si ritrova la CPU tutta per sé. Quindi i threadsono un male? Non sempre. I thread vanno bene quandola vostra applicazione deve fare due cose alla volta– come nell’esempio del foglio di calcolo nel qualesi salva il documento mentre l’utente continua a scrivere.Attendere l’input dell’utente lascia all’applicazione moltotempo libero per continuare a fare altre cose in background.Sono solo i compiti che richiedono molti calcoli a soffrirein questa situazione. Eppure c’è un altro modo per sfruttare

il vostro processore multicore.

Array e value

Ci sono modi più efficienti per condivideresemplici oggetti dati – array e value. Questisono a loro volta molto restrittivi, però,e non si comportano come normali oggettiPython. Questo semplice codice trattodalla documentazione vi spiega tutto quelloche dovete sapere. from multiprocessing import Process,Value, Array

 def f(n, a):  n.value = 3.1415927

  for i in range(len(a)):  a[i] = -a[i]

 if __name__ == ‘__main__’:  num = Value(‘d’, 0.0)  arr = Array(‘i’, range(10))  p = Process(target=f, args=(num, arr))  p.start()  p.join()  print num.value  print arr[:]Entrambi i tipi vengono dichiarati come tuple,il cui primo elemento è un tipo di dato(i è un intero, d un double). Per semplici

processi che devono guardare un singolovalore, quindi, sono l’ideale.

I thread si aspettano

sempre una sequenza

di argomenti

– se ne avete uno,rappresentatelo

come una tupla

con un valore nullo,

ad esempio

 t1=threading

Thread(target=

f,args=(12,))

Tip

œ

Page 92: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 92/100

90  LINUX PRO 125

Python

Occhio al coreAssieme al modulo threading, Python ha anche il modulomultiprocessing. Questo modulo è stato scritto per essereil più simile possibile, per quel che riguarda le API, ai thread,così da rendere più semplice ai programmatori la suaimplementazione nel codice. Lo scopo del modulo

multiprocessing è di eseguire, ovviamente, processi multipli,invece di thread multipli. Qual è la differenza? Un threadviene eseguito dallo stesso processo e ha accesso agli stessidati del suo processo padre. Eseguire un processo differenteè come avere un’altra istanza completamente separatadel software. Questi processi probabilmente verranno“spalmati” su core differenti, se disponibili, quindi poteteessere sicuri del fatto che si faccia un uso corretto dellapotenza di calcolo della CPU. Se provate a riscrivere il codicedi prima, mettendo il supporto multiprocessore al postodei thread, dovreste ottenere qualcosa di simile a questo: from multiprocessing import Process

 l=[]

 def isprime(n):  n*=1.0  if n%2==0 and n!=2 or n%3==0 and n!=3:  return False  for b in range(1,int((n**0.5+1)/6.0+1)):  if n%(6*b-1)==0:  return False  if n %(6*b+1)==0:  return False  return True def primes_in_range(x, y):  global l  for i in range(x, y):  if(isprime(i)):

  l.append(i)  if __name__ == ‘__main__’:  p = Process(target=primes_in_range, args=(1, 333000))  p.start()  q = Process(target=primes_in_range,args=(333001,666000))  q.start()  r = Process(target=primes_in_range,args=(666001,1000000))  r.start()  p.join()  q.join()  r.join()  print l

Come potete vedere, la struttura del codice è identica: l’unicadifferenza è che abbiamo importato il modulo multiprocessinge creato oggetti Process al posto dei thread. Se provatea eseguire questo codice, dovreste notare un visibile

incremento di velocità (c’è un overhead per l’avvio deiprocessi, ma comunque il nuovo programma dovrebbeessere circa tre volte più veloce dell’originale). Qui si sonousati tre processi. Il numero ottimale di processi dipende dalvostro processore e da cos’altro esso deve fare. Ovviamentese avete una CPU con quattro core, quattro processi sarebbel’ottimo, ma se avete altri task importanti da portare avantiquesti processi dovranno condividere le risorse della CPU.Per il nostro esperimento noi ci siamo bloccati a tre. Notate

che, anche se c’è un piccolo overhead a causa dei processimultipli, lo stesso codice funzionerà anche su un processorecon un singolo core allo stesso modo, e non più lentamente.In tutti i casi è meglio determinare a runtime quanti coresi hanno a disposizione e operare di conseguenza. Comefate a determinare ciò? C’è un’utile funzione che restituisceil numero di core disponibili nell’hardware in uso: multiprocessing.cpu_count()C’è qualcosa di errato nella nostra implementazione, però:lo script non restituisce alcun valore. Questo è un grossoproblema: è molto veloce, ma non funziona… In realtàfunziona bene. Quello che succede è che i risultati vengonoinseriti nelle liste proprio come ci si attende. Ma queste listefanno parte della memoria di processi differenti e quando essi

terminano, la sua memoria viene reindirizzata ad altri scopi.Non ottenete un messaggio d’errore perché ogni processopuò vedere la variabile l e aggiungervi valori. È solo che

Con un singoloprocesso che fa tuttoil lavoro, ci sono trecore che se ne stannoli a non fare nulla

 

Global Interpreter Lock 

Il Global Interpreter Lock è necessario affinché Python possaimplementare i thread. L’interprete interpreta (scusateil gioco di parole) il codice Python e il GIL è un meccanismodi sicurezza per i thread: un thread deve acquisire il GIL prima

di essere eseguito. Questo è un po’ un collo di bottiglia,ma Python non cerca di gestire i thread esso stesso. A partetutto il resto, gran parte del codice C sottostante non ha tuttele sicurezze per i thread, per cui se non ci fosse GIL moltecose potrebbero andare storte. Greg Stein, un leggendarioprogrammatore di Google, ha provato a creare un Python privodi GIL, ma il risultato ha dimostrato prestazioni inaccettabilicon il software che non usa i thread. Guido Van Rossumha suggerito che sarebbe contento di rimuovere il GILse qualcuno riuscisse a programmarne un sostituto,ma per ora nessuna proposta ha visto la luce e GIL fa ancoraparte delle specifiche di Python 3.x. Potete eseguire codicePython con dei thread più “normali” su altre implementazionidel linguaggio, come Jython – la versione che viene eseguitain una macchina virtuale Java. Questa soluzione implementain maniera corretta i thread, ma il prezzo da pagare

è di non avere accesso a molti di quei moduli in C che sonocosì utili. Potete trovare un interessante presentazionesu GIL all’URL www.dabeaz.com/python/GIL.pdf.

Per avere altre informazioni su GI L, leggete

http://bit.ly/SXgmVS

Page 93: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 93/100

LINUX PRO 125 91

Python

si tratta di una variabile diversa in ogni processo e quando

il processo termina, essa viene dereferenziata e ripulita.

CodeEsistono diverse strutture per aiutarvi a ottenere il massimo

da multiprocessing: pool, queue, manager, array e value.

I manager sono piuttosto semplici: sono un costruttoche consente la condivisione di tipi di dati semplici

tra i processi. Essi gestiscono i lock e le routine per assicurarsi

che gli oggetti non vengano corrotti a causa di una lettura

o di una scrittura contemporanea da processi diversi.

Il manager è un meccanismo basato su server, il che vuol

dire che potete usarlo anche per task di rete. Per creare

un oggetto manager, vi basta inizializzare un manager

e poi creare un oggetto con esso:

 m = multiprocessing.Manager

 mylist = m.list()

 myqueue = m.Queue()

Con poche eccezioni, essi si comportano esattamente come

farebbe l’oggetto originale e anche se la lista di tipi generici

non è esattamente vasta, potete estenderla dilettandovicon la libreria ctypes. Il costo da pagare per l’uso dei manager

ricade sulle prestazioni: il vostro codice multiprocessore verrà

eseguito al doppio della velocità, ma non al triplo a causa

dell’overhead di tutte le chiamate di sistema all’oggetto server.

Un altro importante oggetto è il pool – una collezione di

processi disponibili per fare il lavoro. L’idea è che non interessi

quale processo esegua un particolare task, quindi invece di

assegnare un lavoro a uno specifico processo, lo si assegna

a un pool. Se uno dei processi del pool è occupato, il job viene

gestito da un altro. Non dovete controllare quanti core sono

disponibili nel vostro sistema, visto che ci pensa il pool

a scoprirlo per poi creare un equivalente numero di processi.

 p=multiprocessing.Pool()

 result1= p.apply_async(work, (arg1,arg2,arg3)) result2 = p.map_async(otherwork, range(1,1000))

p.close()

 p.join()

I job possono essere distribuiti usando i metodi apply() 

o map(), che si comportano più o meno come gli equivalenti

built-in. Il metodo apply_async() è una versione asincrona

di apply(), ed è il metodo che vi serve poiché il normale

apply() è bloccante finché non finisce. Il metodo

map_async(), se non avete familiarità con map(), prende una

funzione e una sequenza e applica la funzione a ogni membro

della sequenza. Nei termini del pool, questo è equivalente

a eseguire un processo per ognuno dei valori forniti

– in pratica il pool itera tra i valori man mano che un processo

finisce il suo lavoro e diventa disponibile per fare altro. I metodiclose() e join() bloccano l’esecuzione fino a quando

tutti i processi sono inattivi e vengono eliminati. Il processo

asincrono può restituire un oggetto come risultato.

Chiamando il metodo get() vengono rivelati i risultati ritornati

da tutti i processi, quindi per semplici task potete usare questo

metodo per comunicare con il processo host. La gestione

dei job passati a un pool in genere viene fatta da un oggetto

queue(). Lo caricate con gli argomenti, usando un metodo

put(), e li estraete usando get(). La queue (coda) usa tecniche

bloccanti e non bloccanti per assicurarvi di poter gestire

i job con un gruppo di processi concorrenti. Il metodo get()

può essere bloccante, quindi un processo attenderà

fino a quando la queue diverrà disponibile. Riscrivete il codice

multiprocessore per trarre vantaggio dagli oggetti manage:import multiprocessing

 def isprime(n):

  # same as before

  def work(qq,l):

  while qq.qsize()>0:

  try:

  x = qq.get()  except multiprocessing.Queue.Empty:

  break 

  else:

  for i in range(x, x+10000):

  if(isprime(i)):

  l.append(i)

  return

  if __name__ == ‘__main__’:

  m=multiprocessing.Manager()

  q = m.Queue()

  l= m.list()

  for value in range(1, 1000000, 10000):

  q.put(value)

  p=multiprocessing.Pool()  for i in range(p._processes):

  p.apply_async(work, (q,l))

  p.close()

  p.join()

  print “done”

  print len(l)

Nella sezione principale del codice abbiamo creato un oggetto

manager e poi abbiamo generato una queue per tenere

il nostro lavoro e una lista per contenere i risultati. La queue

viene riempita con numeri fino a un milione con step

di 10.000. Questo viene fatto per rendere più efficiente

i processi – essi lavoreranno su blocchi di numeri piuttosto

che essere richiamati un milione di volte. Creiamo un pool

e poi cicliamo attraverso il numero di processi che essopossiede per far partire i lavori asincroni, passando loro

la queue e la lista come argomenti. Poi tutto quello che

ci rimane da fare è sederci e attendere la fine del lavoro.

Il processo al lavoro cerca di ottenere un numero dalla queue.

Se la coda è vuota (anche se il codice controlla ciò all’inizio

con il metodo q.size() ci può essere qualche altro job che

è intervenuto nel frattempo) il processo termina; altrimenti

elabora il lavoro e aggiunge il risultato alla fine della lista

condivisa. Nel DVD trovate un altro script, prime_ 

multiprocessor_3.py, che usa le callback per eliminare

la necessità di usare una lista condivisa, anche se questo

comporta una leggera differenza in termini di velocità. Fare

il debug di applicazioni multi processo può essere complesso.

Dovete pensare in modo diverso dal solito e capire chelo stesso codice viene eseguito diverse volte e ci si può trovare

in diversi punti di esecuzione nei vari processi. LXP

Il threading è anchepeggio! I corepassano il tempolitigandoo aspettandoche capiti qualcosa

Page 94: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 94/100

I Lug

I LUG

rappresentano

da sempre il punto

di riferimento per

chiunque voglia

conoscere GNU/

Linux. Ogni mese

dedicheremo loro

questo spazio perla comunicazione

di nuovi progetti

e appuntamenti

92 LINUX PRO 125

L’eco dei LUG

ABRUZZO

AnxaLUG - Lanciano

www.anxalug.org

Il Pinguino - Teramo

 Non disponibile

MarsicaLUG - Marsica

www.marsicalug.it

OpenLUG - L’Aquila

 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.orgHackMeetNaples Napoli HackLab

www1.autistici.org/hmn

IGLUG - Napoli e provincia

www.iglug.org

IRLUG - Irpinia

www.irlug.it 

LUG-Ischiawww.lug-ischia.org

NALUG - Napoliwww.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 Napoliwww.tuxway.org

VaLug - Vallo Linux User Groupwww.valug.it 

XALUG - Salernohttp://xalug.tuxlab.org

EMILIA ROMAGNA

ALFLUG - Alfonsine

www.alflug.it 

Borgotaro LUG - Val Tarohttp://btlug.it/

ConoscereLinux - Modena

www.conoscerelinux.it 

ERLUGhttp://erlug.linux.it 

Ferrara LUGwww.ferrara.linux.it 

FoLUG - Forlìhttp://folug.linux.it 

ImoLUG - Imolawww.imolug.org

LUGPiacenza

www.lugpiacenza.org

PANLUG - Vignola Non disponibile

PLUG - Parma

http://parma.linux.it 

RavennaLUGwww.ravennalug.org

RELug - Reggio Emilia e provinciahttp://relug.linux.it 

RiminiLug

www.riminilug.it S.P.R.I.Tehttp://sprite.csr.unibo.it 

UIELinux - Valle del Rubicone

www.uielinux.org

FRIULI VENEZIA GIULIAGOLUG - Gorizia

www.golug.it 

IGLU - Udinehttp://iglu.cc.uniud.it 

LUG Pordenonewww.pordenone.linux.it 

LugTriestehttp://trieste.linux.it 

LUG [A] [L] [P] - Aquileiawww.alproject.org

LAZIO

CiLUG - Frosinonewww.cilug.org

CLUG - Cassino

http://cassino.linux.it/

GioveLUG - Terracina

www.giovelug.org

La Sapienza LUG

www.lslug.org

Latina LUG

www.llg.it 

LUG Privernum Volsca - Priverno (LT)

www.pvlug.org

LUG Rieti

www.lugrieti.net 

LUGRoma

www.lugroma.orgLUGRoma 3

www.lugroma3.org

TorLUG - Università Tor Vergata - Roma

www.torlug.org

V.I.S.C.O.S.A. - Ciampino

www.viscosa.org

LIGURIA

Genuense Lug - Genova e d’intorni

http://genova.linux.it 

LugGe - Genova e provincia

www.lugge.net 

GinLug - Genova Sampierdarena

www.sennaweb.org

Govonis GNU/LUG - Provincia di Savona

www.govonis.orgSavonaLug - Savona

http://savona.linux.it/

TLug-TSL - Tigullio Ligure

http://tlug.linux.it/

LOMBARDIA

BGLug - Bergamo e provincia

www.bglug.it 

BGLug Valle Seriana - Valle Seriana

http://bglugvs.web3king.com/

GL-Como - Como

www.gl-como.it 

GLUX - Lecco e provincia

www.lecco.linux.it 

GULLP - Gruppo Utenti Linux Lonate Pozzolo

www.gullp.it 

IspraLUG - Isprahttp://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 provinciawww.lugcr.it 

Lug Crema - Crema

http://filibusta.crema.unimi.it/

L’eco dei LUG

Page 95: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 95/100

LINUX PRO 125 93

L’eco dei LUG

LUGDucale - Vigevano

www.lugducale.it 

LugMan - Mantova e provincia

www.lugman.org

LugOB - Cologne e ovest bresciano

www.lugob.org

MoBLUG - Monza e Brianza

www.bubblesfactory.it 

OpenLabs - Milano

www.openlabs.it 

POuL - Milano

www.poul.org

TiLug - Pavia

http://pavia.linux.it 

ViGLug - Vignate

www.viglug.org

MARCHE

Ascolinux LUG/FSUG Ascoli

http://marche.linux.it/ascoli/

CameLUG - Camerino

www.camelug.it 

CMlug

www.cmlug.org

Egloowww.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 Groupwww.ivlug.it 

SLIP - Pinerolo

http://pinerolo.linux.it/

ValSusinux - Val Susa e Val Sangonewww.valsusinux.it 

PUGLIA

BriLUG - Brindisiwww.brilug.it 

CapitanLUG - Capitanatawww.capitanlug.it 

LATLUG - Latiano Linux User Group

www.latlug.org

LUGargano

www.lugargano.it 

LUGBari - Bari e provincia

www.lugbari.org

SaLUG! - Salento

http://salug.it Talug - Taranto

www.talug.it 

SARDEGNA

CeSar LUG

 non disponibile

GNUraghe

www.gnuraghe.org

GULCh - Cagliari

www.gulch.crs4.it 

Isolalug

 non disponibile 

PLUGS - Sassari

www.plugs.it 

SICILIA

CefaLug - Cefalù

http://cefalug.linux.it 

cLUG - Caltanissetta

www.clug.it 

EnnaLUG

www.ennalug.org

FreakNet MediaLab - Catania

www.freaknet.org

Leonforte LUG

http://leonforte.linux.it 

LUG Catania

www.catania.linux.it 

LUGSR - Siracusa

www.siracusa.linux.it 

MELUG - Messina non disponibile

Norp LUG - Noto, Pachino, Rosolini

 non disponibile

PALUG - Palermo

http://palermo.linux.it 

RgLUG - Ragusa e provincia

http://ragusa.linux.it 

VPLUG Linux Planet - Provincia Caltanisetta

www.vplug.it 

SputniX - Palermo

www.sputnix.it 

TOSCANA

ACROS - Versilia, Lucca, Massa Carrara

www.lug-acros.org

Cancelliaperti

 non disponibile

Elbalinux

 non disponibile

ElsaGLUG - Val d’Elsa

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.orgGULP Pisa

www.gulp.linux.it 

GuruAtWork - Grosseto e provincia

www.guruatwork.com

Lucca LUG

http://luccalug.it 

L.U.G.A.R - Arezzo

 non disponibile

PLUG - Prato e provincia

www.prato.linux.it 

PtLug - Pistoia e provinciawww.ptlug.org

SLUG - Siena e provincia

www.siena.linux.it 

TRENTINO ALTO ADIGE

AltinumLUG - Rovereto

 nondisponibile 

LinuxTrent - Trento

http://linuxtrent.it

LugBz - Bolzano

www.lugbz.org

UMBRIA

OrvietoLUG

www.orvietolug.org

LUG Perugiawww.perugiagnulug.org

TerniLUG

www.ternignulug.org

VALLE D’AOSTA

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 Grappahttp://grappalug.homelinux.net/

ILC - Informatica Libera Cittadellese - FSUG

http://ilc.pd.it 

LegnagoLUG

 non disponibile

Linux Ludus - Villafranca (VR)

www.linuxludus.it 

LugAnegA

www.luganega.org

LUGSF - San Fidenzio

 nondisponibile

LUG Vicenza

www.vicenza.linux.it 

LugVR - Verona

www.verona.linux.it 

MontelLUG - Montebellunawww.montellug.it 

FSUG Padova

www.fsugpadova.org

RoLUG - Rovigo

http://rovigo.linux.it 

TVLUG - Treviso

www.tvlug.it 

VELug - Venezia

www.velug.it 

NAZIONALI

FSUGitalia

www.fsugitalia.org

Gentoo Channel Italia

www.gechi.it 

MajaGLUGwww.majaglug.net 

SkyLUG

http://tech.groups.yahoo.com/group/skylug/

Page 96: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 96/100

94  LINUX PRO 125

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

PoliArch 12.12

Distro per il disaster recovery

A

vete letto l’articolo sull’apocalisse dei dati di

pagina 10? In quell’articolo abbiamo accennato

a PoliArch, una distro pensata, tra le altre cose,

per il disaster recovery. Nel lato B del DVD diquesto numero ne trovate l’immagine ISO da masterizzare

su DVD (l’ISO è di circa 1,5 GB). Questa distro nasce da un

progetto di linux@studenti (http://linux.studenti.polito.

it/) nell’ambito delle attività del Centro di Competenza

per l’Open Source e il Software Libero del Politecnico

di Torino (http://open.polito.it ), con il forte contributo

da parte di Dennis Anfossi di ITfor S.r.l. (www.itfor.it ).

Fini e strumentiAvviate il PC con il DVD inserito e scegliete di avviare

la versione a 32 bit quella a 64 bit, in base al computer

che state usando. Dopo poco (il boot è davvero rapido,

meno di 30 secondi nella nostra macchina di prova; anche

lo spegnimento è quasi immediato) apparirà il prompt. Vistoil target della distro, un ambiente grafico non è sempre

necessario, se però volete operare in modalità grafica

è sufficiente digitare startxfce per avviare il leggero desktop

Xfce. Il banner iniziale vi avvisa anche che la password

di root è toor. Tra gli strumenti presenti trovate i classici sfdisk,

fdisk e dd, partimage e FSArchiver per copiare e ripristinare

tabelle delle partizioni e il contenuto delle partizioni stesse.

Trovate anche Photorec e TestDisk (per sapere come usarli

leggete il già citato articolo di pagina 10), Gparted per creare

e manipolare le partizioni e Samba per condividere file in rete

con macchine Windows. La distro, grazie al pieno supporto

ai filesystem Windows (NTFS/FAT/FAT32/exFAT), può

accedere a installazioni non più avviabili del sistema operativo

di Redmond; inoltre avete a disposizione il tool chntpw per resettare le password degli utenti di Windows in caso

di necessità. Se dovete

liberarvi di un disco

e volete cancellarne

il contenuto in maniera

sicura, in PoliArch

trovate due tool, shred

e wipe, che fanno al

caso vostro. I creatori di

PoliArch hanno incluso

moltissimi driver così da

supportare il maggior

numero di hardware

possibile. PoliArchè una distro Live: oltre

che su DVD è possibile

scriverla su chiave di memoria USB e anche, ovviamente,

su hard disk. Nel sito del progetto (www.poliarch.org)

trovate le istruzioni per la scrittura su chiave USB, assieme

ad altre informazioni sui possibili utilizzi della distro.

Per concludere citiamo alcune peculiarità interessanti:

∆ consente di testare applicativi Web (tramite

Apache/MySQL/PHP);

∆ abilita la gestione via Web anche di più computer avviati

contemporaneamente (tramite Webmin);

∆ permette la navigazione anonima tramite la rete TOR;∆ offre il supporto all’iPhone (ifuse + libimobiledevice + gvfs);

∆ è rimasterizzabile e modificabile in base

alle proprie esigenze.

Siduction 12.2.0

Distribuzione desktop

M

entre stavamo scrivendo l’articolo su Razor-qt

ci siamo chiesti quale fosse il modo più semplice

per consentirvi di toccare con mano questo

nuovo ambiente. Alla fine siamo incappatiin questa distro, Siduction: una distro Live orientata al

desktop e basata sul ramo “unstable” di Debian GNU/Linux.

Nata alla fine del 2011 con un fork da aptosid, questa

distro è disponibile in quattro “sapori”: con i desktop KDE,

LXDE, Xfce e, ultima versione nata, con Razor-qt. Nel DVD

trovate proprio quest’ultima versione nel lato A. La distro

a 32 bit è avviabile direttamente dal supporto, mentre

quella a 64 bit è presente come immagine ISO da

masterizzare su DVD (è grande circa 760 MB). Se avete

dubbi o domande sul funzionamento di questa distro vi

suggeriamo di visitare l’URL del progetto, http://siduction.

org/, o il suo canale IRC (#siduction sul server OFTC).

       G     u       i       d     a

PRO

  entro ildentro il

Ogni voltache troverete

questo simboloin un articolo,

 vorrà direche i file citatisi trovano

nel DVD allegatoalla rivista.

Disaster recovery,navigazioneanonima, accessoa tutti i filesystem,controllo in remotodei PC: PoliArch

è una distro datenere semprea portata di mano

Razor-qt è un buon desktop, forse però è troppoacerbo per essere usato quotidianamente. Maessendo molto promettente, non perdetelo d’occhio!

Page 97: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 97/100

La tua rivista SEMPRE con TE

su e

risparmi TEMPO e DENARO

la COMPRI OVUNQUE tu sia

la leggi UNA SETTIMANA

PRIMA che arrivi in EDICOLA

NON PERDI mai un NUMERO

hai L’ARCHIVIO SEMPRE 

a portata di mano

puoi ACQUISTARE solo i NUMERI che VUOI e anche ABBONARTI 

sia su ANDROID sia su iPAD

FACILE per tutti!

Page 98: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 98/100

NEL PROSSIMO NUMERO

In edicola il 14 febbraio

LINUX MINTNata da una costola di Ubuntu questa distro è diventata

Nata da una costola di Ubuntu, questa distro è diventata

la più famosa del reame. Scoprite come ha fatto assieme a LXP!

Mensile - 5,90 euro

Direttore Responsabile:uca Sprea - [email protected]

Direttore Editoriale:tefano Spagnolo

Redazione: [email protected] Bosisio (coordinatore editoriale)Massimiliano Zagaglia (responsabile di redazione,ealizzazione DVD)

Brunetta Pieraccini (segreteria)

Digital media coordinator: Massimo Allievi

mpaginazione: Sara Benecino

Hanno collaborato:Alessandro Di Nicola, Aurelio Bignoli, Ben Everard, Biagioucini, Chris Brown, Ciro Mattia Gonano, Daniele Belletti,

Daniele Tampieri, David Hayward, Emanuele Calò, FrancescaBeatrice Cice, Francesco Micozzi, Giovanni Scafora, GrahamMorrison, Maria Vitiello, Matteo Chiarion, Matteo Mattei,Mayank Sharma, Mike Saunders, Nick Veitch, RobertoPremoli, Shashank Sharma, Tiziana Remondini

conografia e fotografie: Marco Coppola

Contenuti su licenza: Linux Format - Future P.ceLondon (UK)

Pubblicità: Luigi De Re - [email protected]. 339 4546500

Abbonamenti (disponibili solo in versione con DVD)Si sottoscrivono in 2 minuti con 2 click via Web.Trovi l’offerta speciale di questo mese all’indirizzowww.myabb.it/linuxpro oppure [email protected]; puoi anche abbonarti via fax 030 3198412,per telefono 199 111 999 dal lunedì al venerdì dalle ore9 alle ore 19. Costo massimo della chiamatada tutta Italia per telefoni fissi € 0,12 + iva al minutosenza scatto alla risposta. Per cellulari costo in funzionedell’operatore. Per chi volesse abbonarsi dall’estero+39 041.50.99.049.ArretratiSi sottoscrivono online all’indirizzo:www.spreastore.it Per informazioni: [email protected] fax al numero 02.70.05.37.67.2

Stampa: Grafica Veneta S.p.A. - Trebaseleghe (PD)Sprea Editori S.p.A. Socio unico Medi & Son S.r.l.Via Torino, 51 20063 CernuscoSul Naviglio (MI)Tel (+39) 02.92432.1Fax (+39) 02.92.43.22.36

www.sprea.it - [email protected]

Consiglio di amministrazione:Luca Sprea (Presidente),Stefano Spagnolo (Vice Presidente - AmministratoreDelegato), Mario Sprea (consigliere)

Collegio sindacale: Roberto Bosa (Presidente),Maria Luisa Capuzzoni, Ugo Besso

Amministrazione: Anna Nese - [email protected]

Foreign rights: Gabriella Re - [email protected]

Marketing: Walter [email protected]

Distributore per l’Italia e per l’Estero:Press-Di Distribuzione Stampa e Multimedia S.r.l.20090 Segrate (MI)

LINUX PROPubblicazione mensile registrata al Tribunale di Milanoil 08.02.2003 con il n. 74 - Tariffa R.O.C. - Poste ItalianeSpa - Sped. In Abb. Post. - D.L. 353/2003 (conv. In L.

27/02/2004 n. 46) art. 1, comma 1, DCB MilanoCopyright Sprea Editori S.p.A.La Sprea Editori è titolare esclusiva della testata Linux Proe di tutti i diritti di pubblicazione e diffusione in Italia. I contenutisono adattati e tradotti su licenza della pubblicazione: LinuxFormat – Future P.ce – London (UK). L’utilizzo da parte diterzi di testi, fotografie e disegni, anche parziale, è vietato.L’Editore si dichiara pienamente disponibile a valutare - e sedel caso regolare - le eventuali spettanze di terzi per la

pubblicazione di immagini di cui non sia stato eventualmentepossibile reperire la fonte. Informativa e Consenso in materiadi trattamento dei dati personali (Codice Privacy d.lgs.196/03). Nel vigore del D.Lgs 196/03 il Titolare deltrattamento dei dati personali, ex art. 28 D.Lgs. 196/03, èSprea Editori S.p.A. (di seguito anche “Sprea”), con sede inCernusco sul Naviglio (MI), via Torino, 51. La stessa La informache i Suoi dati, eventualmente da Lei trasmessi alla Sprea,verranno raccolti, trattati e conservati nel rispetto del decretolegislativo ora enunciato anche per attività connesseall’azienda. La avvisiamo, inoltre, che i Suoi dati potrannoessere comunicati e/o trattati (sempre nel rispetto della legge),anche all’estero, da società e/o persone che prestano servizi infavore della Sprea. In ogni momento Lei potrà chiedere lamodifica, la correzione e/o la cancellazione dei Suoi datiovvero esercitare tutti i diritti previsti dagli artt. 7 e ss. del D.Lgs. 196/03 mediante comunicazione scritta alla Sprea e/odirettamente al personale Incaricato preposto al trattamentodei dati. La lettura della presente informativa deve intendersiquale presa visione dell’Informativa ex art. 13 D.Lgs. 196/03e l’invio dei Suoi dati personali alla Sprea varrà quale consensoespresso al trattamento dei dati personali secondo quanto

sopra specificato. L’invio di materiale (testi, fotografie, disegni,etc.) alla Sprea Editori S.p.A. deve intendersi quale espressaautorizzazione alla loro libera utilizzazione da parte di SpreaEditori S.p.A. per qualsiasi fine e a titolo gratuito, e comunque,a titolo di esempio, alla pubblicazione gratuita su qualsiasisupporto cartaceo e non, su qualsiasi pubblicazione (anchenon della Sprea Editori S.p.A.), in qualsiasi canale di venditae Paese del mondo. Il materiale inviato alla redazionenon potrà essere restituito.

BitcoinIn Internet è nata una nuova monetadigitale che potete generare sfruttandola potenza dei vostri computer.Il mese prossimo vi guideremo lungola strada della ricchezza

E-learningScuole e università si stanno spostandoonline e su Internet sempre più spessoappaiono corsi di ogni genere.Vi mostreremo come usare Moodleper creare dei corsi tutti vostri

Framework Esistono molti framework Webma nel prossimo numero vi faremovedere come funziona quelloche si può considerare la Ferraridi questa categoria: Django

E inoltre:

LINUX RPRO

Page 99: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 99/100

 

A RIVISTA CHE MANCAVA PER LA SODDISFAZIONE

DEL GRANDE PUBBLICO E DEGLI ESPERTI

IN EDICOLA DAL 30 NOVEMBRE

Page 100: Linuxpro 125 Gennaio 2013

7/21/2019 Linuxpro 125 Gennaio 2013

http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 100/100

Processore

Intel CPU

1x 1,2+ GHz

64bit

RAM

mKS 2G

L’accesso Root

è la mia passioneL’accesso root al vostro server dedicato

/dedicated-server