Linuxpro 127 Marzo 2013

100
7/23/2019 Linuxpro 127 Marzo 2013 http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 1/100

Transcript of Linuxpro 127 Marzo 2013

Page 1: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 1/100

Page 2: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 2/100

I primi manuali interattiviper fotografare come

un VERO PROFESSIONISTA

http://itun.es/i6jk9vq

http://itun.es/isb2Xx

http://itun.es/i6DP87p

Solo su iPad ● Solo su iTunes

Scaricalo subito

http://itun.es/i6Dt8Q5

Page 3: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 3/100

 LINUX PRO 127 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

Programmatori a raccoltaI motivi per cui molti anni fa (troppi) ci siamo avvicinatial mondo di GNU/Linux erano principalmente due:

la programmazione e il networking. La prima era la nostrapassione fin dal primo contatto con un computer, il secondoera l’ambito di studio all’università. Per soddisfare chi, comenoi, è spinto da una forza irresistibile a scrivere codice,abbiamo deciso di raggruppare in uno “specialone”di 160 pagine il meglio dei tutorial sulla programmazionepubblicati negli ultimi tempi. Si chiama l’Accademiadel codice e quando leggerete queste righe dovrestegià trovarlo nelle edicole. Se questo non vi basta,vi segnaliamo anche l’Hackathon (www.hackathon101.it)che si terrà il 22 e 23 marzo a Vicenza, che per due giornidiventerà la capitale dei migliori programmatori e talenti

informatici che si riuniranno per 24 ore di full immersiondurante le quali i talenti, attraverso un brainstorming, creanonuove idee e nuove soluzioni a partire da temi propostidagli organizzatori e dalle aziende coinvolte. I partecipantisi potranno presentare da soli o in team organizzati(massimo 5 persone); il numero massimo consentitodi iscritti alla competizione è di 101 persone. I partecipantidovranno sviluppare app per le piattaforme più diffuse,Google Android, Apple iOS e Microsoft Windows Phone.Durante l’Hackathon saranno organizzati anche dei workshope delle sessioni di networking per favorire la nascitadi collaborazioni e lo sviluppo di nuovi progetti.Per tornare alla nostra seconda passione, le reti, invece,cercheremo di farla venire anche a voi a partiredal prossimo numero con una nuova serie di tutorial,

ma non vi sveliamo altro. Infine terminiamo questa “sessionedi avvisi” avvertendovi che dal 2 aprile troverete nelle edicole

anche la raccolta PDF 2012 di LXP, che in molti ci aveterichiesto. Passiamo invece agli argomenti di questo numero.La sfida tra Linux, in particolare Ubuntu 12.10, e Windows 8di cui avevamo parlato nel numero 118 di LXP,è stata ripresa per questo mese, visto che ora i due sistemisono stati rilasciati da un po’ di tempo e quindi sono “maturi”.Il risultato però non è cambiato: pur notando i difettidi Unity, il nuovo sistema di Microsoft continua a sembrarcinon adatto ai classici PC, anche se dotati di schermo touch,se si intende il normale uso desktop. Molte delle personeche abbiamo interpellato e che per vari motivi devono usareWindows, infatti, passano direttamente alla vista Desktop,

saltando il più possibile la nuova interfaccia a “mattonelle”.La sfida forse è più aperta sui tablet, ma confidiamoche Ubuntu, con la sua nuova versione per tablet, sapràfar sentire prepotentemente la sua voce in un mercatoche si prospetta sempre più acceso e movimentato.E poi stanno arrivando anche Firefox OS sugli smartphonee WebOS, acquisito da poco da LG, sulle smart TV. Insomma,quest’anno non ci sarà certo da annoiarsi per quel cheriguarda le novità in ambito mobile e non solo. Buona lettura.

Page 4: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 4/100

2  LINUX PRO 127

Sommario

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

LINUX PRO 127

LINUX 

RPRO

In primo piano

08 BTRFS 18 Humble Indie Bundle 22 CubieBoard

Linux vsLinux vsWindowsWindows 8

Abbiamo provatoper qualche

tempo sia Ubuntu12.10 sia Windows 8e abbiamo capito che...l’interfaccia e lefunzioni di Ubuntustravincono la sfida

alla grande. Ben fatto!

10

Page 5: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 5/100

LINUX PRO 127  3

Sommario

04NewsdeskLe novità del mondo Open Source

08 FAQ: BTRFSIl filesystem definitivo per GNU/Linux

 Approfondimenti 

10 Linux vs Windows 8Qual è l’interfaccia “unica” vincente?

18 Giochi per LinuxScoprite come nascono i giochidell’Humble Indie Bundle

22 CubieBoardUna scheda potente quanto un PC

ma che sta nel palmo della mano

30 IntervistaQuattro chiacchiere con Bassam Kurdali,uno dei papà di Elephants Dream

34 Trucchi per sysadminLa gestione dei pacchetti

 Android

40 NewsTutte le novità sul sistema di Google

41 I testArchos GamePad

 Recensioni

43 I test del mese∆ Dell C1760NW ∆ AVM Fritz!Box 3370∆ In libreria

48 Confronto

Distribuzioni per bambini

54 Da non perdereNove programmi da provare subito!

Tutorial 

60 GeanyTutto quello che dovete sapere

sull’editor di testo per programmatoriche non fa rimpiangere la mancanzadi un IDE vero e proprio

64 OpenRemoteLa soluzione Open Source percontrollare in remoto i dispositivipresenti in casa vostra

68 Web AppGrazie a Turnkey Linux poteteusare delle macchine virtualiper offrire e gestire applicazioni Webin tutta sicurezza

72 Samba 4La nuova implementazione Open Sourcedell’Active Directory di Microsoft

78 Raspberry PiSfruttate una connessione cifratacon SSH per controllare in remotola piccola scheda

 Accademia 

82 Concetti di baseCompletiamo la rassegna dei vari tipidi dati che potete usare e quando usarli

84 DjangoImparate a creare form che aiutinogli utenti a inserire i dati nei vostri siti

88 SchemeAlla scoperta di un nuovo linguaggioper la programmazione funzionale

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∆ Elive 2.1.30

∆ PCLinuxOS 2013.02

∆ INTERNET∆ Firefox 18.0.2 ∆ Lftp 4.4.3

∆ DESKTOP∆ Digikam 3.0

∆ RIVISTA∆ CCLive 0.7.12 ∆ Glances 1.6-9

∆ Midori 0.4.8

∆ MKVToolNix 6.0.0∆ o42a 0.2.5 ∆ Quabro 0.6.1

∆ Tasque 0.1.12

∆ Trigger Rally 0.6.0

∆ Zathura 0.2.2 ∆ PixelCup

∆ UFFICIO

∆ LibreOffice 4.0.0

∆ SICUREZZA∆ John The Ripper 1.7.9

∆ PROGRAMMAZIONE

∆ Bluefish 2.2.4

∆ Lazarus 1.0.6

∆ SERVER∆ Dovecot 2.1.15

∆ Nginx 1.2.7

∆ Postfix 2.10.0

LATO B

∆ DISTRIBUZIONI∆ PC-BSD 9.1

48 Distro per bambini

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 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 6/100

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

Reportage

Eurora, supercomputer verde

Oramai da diverso tempo,l’Italia è al centro dellecritiche per la semprecrescente mancanza

d’investimento nel settore dellosviluppo e della ricerca. A farne lespese sono sempre più le universitàe le tante aziende che operano nelsettore della tecnologia informaticaed elettronica. Per fortuna, però,esistono ancora storie che possonoessere raccontate e danno lustro alnostro paese al cospetto del mondo

intero. È il caso del Cineca, il centrointeruniversitario con sedea Bologna, punto di riferimentonel campo del HPC, High

Performance Computing.Qui, il 30 gennaio 2013, è statopresentato Eurora, il prototipodi un supercomputer realizzatodall’italiana Eurotech, www.

eurotech.com, con l’uso diacceleratori grafici NVIDIA K20.Il suo primato è essere l’elaboratorecon efficienza energetica

migliore del pianeta, secondola classifica Green 500.

SuperconsumiUn HPC è un elaboratoredi dimensioni ragguardevoli,progettato per raggiungere potenzedi calcolo semplicementeimpensabili per qualsiasi normalecomputer. Queste strabiliantimacchine vengono utilizzatesoprattutto per scopi scientifici, neicampi in cui l’elaborazione dei dati

intensiva è fondamentaleper raggiungere modelli pratici.La meteorologia, lo studio deicambiamenti climatici, l’analisimolecolare, la simulazionedi processi fisici, l’astrofisica, sonotutti esempi in cui le doti di unsupercomputer sono le principaliprotagoniste. Uno dei problemi piùpressanti nell’uso degli HPC sonoi costi di mantenimento energetico,che spesso superano quelli perl’installazione della macchina stessa.

Linux è HPC

Chiedendo quali sistemi operativi siano ut ilizzati per gli HPC e nella fattispecie

per Eurora, i sistemisti Eurotech e Cineca sono stati molto espliciti nel confermarel’uso del kernel Linux come indiscussa scelta preferenziale. In questo ambitoci sono ovviamente delle varianti, a cui vanno ad aggiungersi particolari tecniciper la gestione complessa dell’infrastruttura hardware. Di norma il mondodei supercomputer si muove usando sistemi basati sul Pinguino, per darela possibilità agli sviluppatori di personalizzare al meglio la compilazione. Sebbeneanche Microsoft abbia fatto una comparsa sui sistemi HPC con Windows Server2008 HPC, non è mai riuscita a ottenere una grande richiesta da parte degliaddetti ai lavori. Non tanto per le funzionalità, quanto più per la scarsa libertàdi compilazione che, invece, è alla base della corretta gestione softwaredi questi elaboratori. L’immagine che potete vedere, per esempio, mostracome su Eurora sia stata installata una distro di Ubuntu.

4  LINUX PRO 127

Page 7: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 7/100

Newsdesk 

Per dare un metro di paragone,basta pensare che un datacentereuropeo al cui interno è presenteun’infrastruttura HPC con buonaefficienza energetica spende piùdi 4 milioni di euro l’anno per

il proprio mantenimento. Com’èfacile intuire, la sfida del futuro nonè produrre supercomputer semprepiù veloci e performanti, bensì farlocon il minor impatto energeticopossibile. Come testimonianoi tecnici del Cineca, sarebberelativamente facile spingere almassimo un’infrastruttura hardwareper ottenere rendimenti dacapogiro. Non lo è altrettanto sel’assorbimento energetico superalivelli che vanno oltre la sogliadi guardia. È in questo complesso

panorama che entra in campoil made in Italy di Eurora, con le sueformidabili doti di sostenibilità.

Hardware da pauraBasta dare uno sguardo al rackfuturistico che ospita Eurora peravere una minima idea di quantapotenza sia racchiusa in unsupercomputer di questo genere.

Al suo interno trovano posto64 schede, che in gergo vengonochiamati nodi. A livello tecnicopossono essere paragonate a delleschede madri, costruite conuna precisa ottica progettuale.I componenti infatti sono tutti saldatie disposti in modo da ottimizzare almeglio lo spazio disponibile. In ogninodo sono presenti due processoriIntel Xeon E5-2687W da otto

core con frequenza di 3.1 GHz, checon un pizzico di overclock possonoarrivare a 3.8 GHz. I tecnici, però,hanno abbassato l’operatività a 1.7GHz, trovando in questo valoreil miglior rapporto tra prestazioni

e guadagno energetico. La RAMsaldata su ogni scheda è di 16 GBDDR3 per nodo, con frequenzadi 1600 MHz, a cui si aggiunge undisco fisso allo stato solido da 160GB. Il pezzo forte è costituito daidue processori grafici NVIDIA K20

Tesla. Questi ultimi sono incaricatidi eseguire le elaborazioni di calcolovere e proprie, con valori che vannoda un massimo di 3,52 teraFLOPSa un minimo di 1,17 teraFLOPS. Ilvalore cambia secondo la precisionedei calcoli richiesta. Vale la pena

ricordare che un FLOPS, acronimodi Floating Point Operations

Per Second, è il valore che indicail numero di elaborazioni eseguiteda un processore in un secondo.Un singolo teraFLOPS corrispondea 10 elevato alla dodicesimapotenza, vale a dire un bilionedi operazioni. Senza perdersiin operazioni che possono lasciare

il posto a un velato mal di testa,è possibile usare una calcolatricescientifica per fare due conti e averecosì un’idea della velocità di Eurora.

Raffreddamentoa liquidoA fronte di un’architettura hardwaredi questo genere, i progettistidi Eurotech si sono concentratial massimo per trovare il miglior

20 litri d’acqua, che vengonoirradiati all’interno di strutture inalluminio che ricoprono in modocapillare ognuno dei 64 nodi.In altre parole si tratta di un piccolocapolavoro d’ingegneria idraulica.Anche l’impianto di alimentazione,però, è stato ottimizzato per avereun flusso di energia elettrica moltopiù efficiente e lineare. A frontedi tutti questi sforzi, Eurora si collocain vetta alla classifica Green 500 (www.green500.org) il cuicompito è stilare una lista degli HPC

con maggior efficienza energeticaal mondo. Classifica alla mano,Eurora va ben oltre il primo posto,distaccando di un buon 30%il Beacon, il supercomputerdell’Istituto Nazionale per il CalcoloComputazionale Scientificodell’università del Tennessee.Tornando per un attimo alla freddarazionalità dei numeri, Euroraè in grado di generare 3.150megaFLOPS per watt controi 2.499 megaFLOPS per wattdel Beacon statunitense.

Oltre i videogiochi

La scelta da parte dei progettistiEurotech di sfruttare le GPU NVIDIAK20 Tesla basate sul modello costruttivoKepler è molto oculata. Grazie a questiprocessori grafici studiati per il calcolocomputazionale spinto, le operazioniavvengono in modo veloce, precisoe affidabile. L’interazione tra CPUe GPU opera ai massimi livelli,consentendo a Eurora di affrontareattività molto complesse al massimodelle proprie capacità. L’architettura

Kepler è basata su 7,1 miliardi ditransistor e nello specifico la K20

Tesla è progettata per offrire operazionidi streaming multiprocessore,parallelismo dinamico e funzioniHyper-Q. Queste ultime, in particolare,consentono a più core di una CPUdi usare contemporaneamente il coreCuda di una GPU Kepler, in mododa ridurre drasticamente i tempi mortie ottimizzare così l’uso di applicazionicondivise. Le K20 Tesla sono in grado dioperare calcoli utili per la meteorologia,le simulazioni di biochimica, finanza

e fisica computazionale. In altre parole,tutte attività proprie di un HPC.

rapporto tra consumi e potenzadi calcolo, riuscendoci grazieal raffreddamento ad acqua.Rielaborando in chiave molto piùcomplessa e su scala infinitamentepiù grande quello che è il metodousato dai patiti di overclock,gli ingegneri hanno studiatoun impianto idraulico che riescea contenere la temperatura dei noditra 18° e 52°. Il tutto in completaassenza di ventole che, in strutturedi questo genere, incrementanodel 10% i consumi. Il fulcro di questa

strategia è un ricircolo d’acquacompleto. Il liquido freddo che entranel circuito interno a Eurora percontenerne la temperaturadi esercizio, ne fuoriesce riscaldatoallontanandosi dalla macchina. Passaquindi da appositi radiatori, chelo riportano a bassa temperatura,per poi entrare di nuovo nelsupercomputer. A gestire il tuttotroviamo una pompa idraulica che,nel caso del HPC Eurora installatoal Cineca, trova posto proprio sottoil pavimento. Nel rack entrano circa

I connettori blu portano l’acqua fredda all’interno di Eurora.I rossi espellono quella calda, che viene quindi allontanatadal rack, raffreddata e rimessa in circolo

Aurora Tigon è il nome commerciale dato da Eurotechal supercomputer derivato dal prototipo Eurora. Il dettaglio tecnicodi un singolo nodo ne descrive chiaramente tutte le sue parti

LINUX PRO 127  5

“Eurora ha un’efficienzaenergetica superiore del 30%,

rispetto al top della Green 500”

Page 8: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 8/100

6  LINUX PRO 127

Newsdesk 

Embedded

La “scatola”che manda SMSB

asata sulla nuova scheda

Aria G25, sviluppata

da Acme Systems

e presentata nel numero

di febbraio, la famiglia di dispositivi

FoxBox altro non è che l’evoluzione

della precedente FoxBox G20,

sviluppata con l’obiettivo dichiarato

di bissare il suo successo di vendita.

Il sistema propone una

combinazione hardware/softwarededicata che, in aggiunta alle

classiche potenzialità dei dispositivi

Linux, consente di inviare, ricevere

e processare gli SMS in modo

automatizzato e facilmente

configurabile, utilizzando una

semplice scheda SIM. Questo

è reso possibile da una soluzione

a basso consumo energetico,

in soli 105x110x45 mm, sulla

quale gira una classica distribuzione

Debian. Le funzionalità della FoxBox

sono facilmente accessibili

da interfaccia grafica grazie al serverWeb interno, anche se per gli utenti

più esperti resta la possibilità

di operare direttamente sul sistema

in SSH, da dove è possibile

implementare soluzioni custom

senza alcun vincolo (anche

sfruttando le tre porte USB 2.0

e la microSD interna da 4 GB).

Inoltre questa nuova versione

presenta un piccolo schermo LCD,

dove la EasyG2 (al cui interno

è presente un sistema Nagios

completo) e la Icinga (basata

sull’omonimo branch) si stanno

affermando come standardnel settore. Com’è facile intuire,

i possibili utilizzi per dispositivi

di questo tipo sono praticamente

illimitati. Sono noti progetti per

la gestione dei classici concorsi

a premi via SMS, il dialogo diretto

con gli ascoltatori di programmi

radio e TV, la gestione automatizzata

delle flotte, la realizzazione di

campagne pubblicitarie, e molti altri.

dal quale è possibile eseguire

direttamente le configurazioni

fondamentali ed eseguire la

diagnostica. Attualmente la FoxBox

è proposta in cinque versioni. Lapunta di diamante è la SMS/MMS,

che riassume tutte le funzionalità

disponibili per questo prodotto.

In alternativa, per utilizzi più specifici

ma pur sempre orientati alla

comunicazione multimediale, sono

state sviluppate la SMS2Mail 

e la HTTP. Un discorso a parte va

fatto con i dispositivi specifici per

il monitoraggio degli apparati di rete,

Il “cuore” della FoxBox è la piccola scheda Aria G25 di cui vi abbiamo parlato il mese scorso

Bastano una scheda SIMe questo piccolo “scatolotto”

intelligente per realizzareconcorsi a premi via SMS,

campagne pubblicitariee altro ancora

Manifestazione

BSD-Day

2013A

ttenzione, un altro

BSD-Day sta per

arrivare: il prossimo

aprile  Beastie visiterà

Napoli per permettere alle

persone provenienti da tutta

Europa interessate ai sistemi

operativi BSD di incontrarsi!

Questo evento è un’eccellente

opportunità per sviluppatori

BSD, studenti e utenti,di presentare il proprio lavoro

a una platea gremita,

condividere i propri pensieri

e incontrare potenziali partner.

Tradizionalmente, l’evento

cerca di evitare formalità

in quanto non richiede

agli speaker di consegnare

una presentazione o ai

partecipanti di registrarsi

o di pagare l’ingresso

all’evento. Comunque,

gli invitati sono incoraggiati

a fare un breve “talk” sulloro tema preferito relativo

a BSD. Lo scopo è quello

di motivare chiunque,

specialmente gli studenti

universitari, a vedere i benefici

del nostro approccio e a dar

loro una possibilità di lavorare

con sistemi BSD. Per ulteriori

informazioni visitate l’URL

www.bsdday.eu/2013 .

  

           

  

Page 9: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 9/100

LINUX PRO 127  7

Newsdesk 

Libertà

2013, l’anno di Hurd

Gli sviluppatori di GNU/

Hurd hanno annunciatoche i prossimi passidel sistema operativo

riguarderanno il supporto all’USBe ai dischi SATA. In un talk tenutoal FOSDEM (https://fosdem.

org/2013/), Samuel Thibault,uno sviluppatore Debian e hackerHurd, ha offerto un’anteprima sulfuturo del progetto, rivelando letappe di quest’anno. La cosa piùfacilmente accessibile da partedegli interessati sarà la prossimarelease di Debian, Wheezy, che,

pur se non tramite una versioneufficiale di Debian, consentirà agli

utenti di provare Hurd. Xfce

funziona in Hurd, mentre i portingdi KDE e GNOME 3 dovrebberoessere “quasi” finiti. I piani futuriprevedono il supportoall’architettura x86_64 e unaversione ufficiale di Debian,basata sulla versione Jessie– Jessie è il nome in codice dellaversione che seguira Wheezy, manon trattenete il fiato nell’attesache esca… Inoltre, ma è inutiledirlo, non c’è tanta fretta di usareun sistema operativo che nonsupporta USB e SATA. Hurd

è in fase di sviluppo dal 1990come kernel per i tool GNU, con

lo scopo di creare un sistemaoperativo libero. Però, quandoLinus Torvalds rilasciò il kernelLinux nel 1991, la necessitàdi un kernel scemò. I più acutifollower di Hurd saranno contenti

di sapere che il suo nome è unacronimo doppiamente ricorsivo,visto che sta sia per “Hurdon UNIX-replacing daemons”che per “Hurd of interfacesrepresenting depth”.

Il sito Internet www.gnu.org vi offre tutte le informazioniche vi servono sul Progetto GNU, compreso Hurd

Manifestazione

RIOS, La Rete ItalianaOpen Source

Martedì 19 febbraio

è stata presentataa Roma, pressoil locale Rec23, RIOS,

la Rete Italiana Open Source (www.reteitalianaopensource.

net ). Si tratta di una rete, appunto,che promuove l’adozionedel modello Open Source siaper i software sia per i serviziin ambito professionale. RIOSha collegamenti ramificati conamministrazioni locali, PACe con il settore industriale. Inoltre,notevole attenzione rivestono

i progetti internazionali.Le soluzioni fornite dalla Reteincludono, tra i numerosi software,Liferay, Open Square, Alfresco,Drupal, Zimbra, GeoNode, PostGISe molti altri. Durante lapresentazione è emerso comela costituzione della Rete ItalianaOpen Source risponda alladomanda, da parte degli ambientiEnterprise, di un supportoqualificato e di garanzie peri prodotti Open Source. All’iniziodell’incontro con il pubblico, è

stata fornita un’introduzione sugliscopi e gli obiettivi della Rete,quindi le varie aziende facenti

Hardware

Arriva in Italia l’XPS 13“developer edition”

Nonostante le insistenti

voci di un’acquisizionedi Dell da parte diMicrosoft, il produttore

di hardware ultimamente sembramolto vicino all’Open Source.Lo testimonia il progetto Sputnik  (http://dell.com/sputnik ,https://github.com/sputnik )che ha permesso all’azienda dicomprendere ciò che è necessarioper creare il laptop ideale per unosviluppatore. Gli spunti offerti dallacommunity hanno fatto sì cheun progetto nato inizialmente con

intenti esplorativi, portasse alla fineal lancio di un prodotto ufficiale.

Ora gli sviluppatori possono

creare applicazioni Web o mobilesul nuovo ultrabook XPS 13

“developer edition”, i cui puntidi forza sono la mobilitàe l’accesso al cloud. La macchinaè animata da Ubuntu 12.04 LTS,corredato dei driver hardwaree degli strumenti necessaria supporto di progettazione,fase di test e produzione delleapplicazioni. Gli sviluppatoripotranno creare delle micro-

 nuvole sull’ultrabook e simulareun ambiente di cloud computing

di grandi dimensioni.Inoltre i programmatori hanno adisposizione un tool di profilazionein grado di fornire accesso a unalibreria di profili, per esempio Rubye Android, per creare i propriambienti di sviluppo e le catenedi strumenti. È anche possibiledare un contributo per arricchirela library della community.Per ulteriori informazioni poteteconsultare il TechCenter di Dell(http://dell.to/WuZLr6) o ilBarton’s Blog (http://bartongeorge.

net/tag/project-sputnik/). LXP

parte di RIOS si sono presentate

e, slide alla mano, hannodocumentato la propriaesperienza indicando ambitidi interesse e collaborazioniimportanti: queste aziende sonoSMC (www.smc.it ), Sourcesense(www.sourcesense.com), Lynx(www.lynxlab.com), Geobeyond(www.geobeyond.it ), eLabor(www.elabor.biz ), Nois3lab(www.nois3lab.it ) e Binario Etico(www.binarioetico.org). Alcuneaziende hanno alle spalle una storiapiù che decennale, altre sono nate

da una manciata di anni, alcunedi esse sviluppano applicazioniproprie, altre adattano softwarealtrui alle variabili esigenze deipropri clienti; in tutti i casi, si trattadi aziende che abbracciano conentusiasmo il modello OpenSource per i vantaggi in flessibilitàe innovazione che assicura.Al termine della presentazione,è stato evidenziato come leaziende siano riuscite a eludere glieffetti economicamente depressividella crisi attuale. L’Open Source,

dunque, si dimostra ancorauna volta un modello vincente Alessandro di Nicola

Page 10: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 10/100

FAQ BTRFS

8  LINUX PRO 127

BTRFSLinux Pro dà un’occhiata al più recente tra i filesystem per Linux

Alcune domande su...

»B-T-R-F-S? Ha un nome orribile.

Come si pronuncia?

Dunque, alcuni lo chiamano “Butter FS”

mentre altri preferiscono la sua forma senza

acronimi, “B-Tree FS”. Poche persone

lo pronunciano “Better FS”, ma di solito

si tratta di persone coinvolte nel progetto.

»F-S sta per filesystem? Io ho

un gran numero di file ma

onestamente non uso un sistema

particolare per ordinarli. I file sono

sparsi un po’ ovunque. Il nuovo

filesystem mi aiuterà?

Umh… Sì, è un filesystem ma quello che

intendi tu è qualcosa di diverso. La posizione

dei vari file e cartelle come li vedi nel tuo file

manager è il risultato della struttura delle

directory e si basa su un sistema piuttosto

rigido, anche se non lo vedi. Ad esempio,

tu hai una directory home posta in

Home/<nomeutente> dove vengono

messi i tuoi file personali, mentre i programmi

installati si trovano in un altro posto.

In un altro ancora ci sono i file di log e così

via. Ma sto divagando. Il punto fondamentale

è che la posizione dei file non ha nientea che vedere con il filesystem. Il filesystem

è il modo in cui il tuo computer codifica tutte

queste informazioni sul disco fisso (ma anche

su una chiave USB, un DVD o in qualunque

altro posto memorizzi i tuoi dati). Tutti questi

dispositivi fisici consentono al tuo computer

di memorizzare enormi quantità di 1 e 0.

Un filesystem è il modo in cui il computer

usa i dati memorizzati per consentirti di usare

file e directory senza preoccuparti di come

o dove si trovano fisicamente sul disco.

»Ok, ora so cos’è un filesystem.

Invece, cos’è un B-Tree?Gli alberi (tree) sono una struttura

dati, nella quale le informazioni sono

memorizzate in diversi nodi che sono

collegati tramite dei rami. Ogni ramo

rappresenta una particolare relazione.

Avere delle relazioni ben definite rende

queste strutture molto veloci sia

nell’aggiunta di nuovi dati sia nella loro

ricerca. I B-Tree sono un particolare tipo

di struttura dati ad albero, nel quale

il numero di figli di ogni nodo internodeve cadere in un determinato range.

Ad esempio, in un albero B-Tree 2-3 ogni

nodo deve avere due figli o tre figli, oppure

non averne alcuno (in questo caso esso non

è un nodo interno). Se aggiungi un figlio

a un nodo che ha già tre figli, il nodo

si divide in due

nodi, ognuno

con due figli.

Questa

restrizione

al numero

di figli vuol dire

che man manoche la dimensione

dell’albero cresce

(cioè aggiungi dati al tuo filesystem), l’albero

rimane bilanciato. Cioè una parte dell’albero

non diventa più grande dell’altra.

»L’informatica è davvero una bella

cosa, ma tutto questo cosa vuol

dire per i miei file?

C’è un certo numero di vantaggi, inclusi

la clonazione, i sottovolumi,

la compressione del filesystem,

l’ottimizzazione per gli SSD e i filesystempossono essere divisi su dispositivi multipli.

»Aspetta, aspetta, rallenta un

attimo. Possiamo fare una cosa

alla volta? Clonazione – presumo che

non c’entri l’ambizioso piano di creare

un’armata di cloni di Jango Fett…

Hai ragione, non c’entra. Vuol dire che

esiste un modo efficiente di creare una

copia di un file. Invece di fare una copia bit

a bit di un file, si crea un nuovo inode per

esso che punta agli stessi blocchi di dati.

»Vuoi dire che è un hard link?Li uso da anni.

Non mi hai fatto finire! Esso inizia come

un hard link, ma se fai un qualunque

cambiamento a quel file, allora viene fatta

una sua copia. Questo vuol dire che se copi

un file, ma non lo modifichi mai, non usi

dello spazio extra, ma puoi modificare

la copia senza toccare il file originale.

Questa è conosciuta anche come Copy

on Write (CoW). Come modo per copiare

singoli file è comodo, ma non è certorivoluzionario. Esso diventa veramente utile

quando si devono copiare tanti file. Per

esempio, per creare uno snapshot di un

intero filesystem. Con la clonazione puoi

creare un’istantanea senza praticamente

usare dello spazio extra. Lo spazio su disco

usato aumenta quando fate cambiamenti

ai file e si modifica solo della quantità legata

ai cambiamenti. E puoi tornare alla situazione

originale premendo solo qualche tasto.

»Ok, e la clonazione è a posto.

Qual era la cosa successiva?I sottovolumi. Sono simili alle partizioni

ma esistono all’interno del filesystem, quindi

non sono limitati dalle vecchie restrizioni

dell’hardware. In un certo senso, sono più simili

alle cartelle, ma possono essere manipolati

come si fa con i dispositivi di memorizzazione,

per esempio impostando un RAID. Questo

consente di avere un controllo molto fine

sui dispositivi di storage. Ci sei ancora?

»Partizioni dentro altre partizioni?

Penso di aver capito.

Eccellente. La compressione del filesystem

è proprio ciò che suggerisce il nome.Consente di usare la compressione ZLIB

e LZO a livello di filesystem. Questo vuol

dire che i tuoi file possono essere usati

normalmente, ma occupano meno spazio.

Quanto spazio di risparmia dipende dal tipo

di file. Quelli che sono già compressi, tipo

i filmati MPEG o le canzoni in MP3 non

si riducono di molto, ma cose come i file

di testo diventano molto più piccoli.

»Quindi ottieni più spazio su disco

gratuitamente? Incredibile!

Beh, non proprio gratis: non ti costerà dei

soldi, ma dovrai pagare in termini di velocitàvisto che ci vorrà un po’ di tempo al tuo

computer per comprimere e decomprimere

“Se copi un file, ma nonlo modifichi mai, non

occuperà spazio extra”

Page 11: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 11/100

BTRFS FAQ

LINUX PRO 127  9

per creare un sistema gigante. I dischi

non devono neanche essere della stessa

dimensione. Come le altre opzioni,

questo ti dà maggior flessibilità d’uso

per il tuo sistema. Ci sono anche altri

vantaggi che non abbiamo menzionato;

controlla il sito https://btrfs.wiki.kernel.org per tutti i dettagli.

»Wow, ci sono un sacco

di cambiamenti. Come fanno

ad accadere tutti assieme invece

che un po’ per volta, com’è successo

per altri cambiamenti ai filesystem?

Nell’ultima decade, più o meno, i filesystem

Linux si sono basati sul sistema extended.

Ogni nuova versione ha aggiunto

qualche funzionalità, ma è stata

obbligata a seguire la stessa struttura

base. BTRFS cambia radicalmente

le cose. La sua completa riscritturaha consentito agli sviluppatori

di implementare alcune feature

che non era possibile applicare

in passato. Questa valanga di nuove

funzionalità è il risultato di questo

cambiamento rivoluzionario all’opposto

di quanto accadeva con i filesystem

precedenti e i loro piccoli passi in avanti.

al volo i dati. Se il gioco vale la candela

dipende dal tuo hardware e da come

usi il computer.

»Chiaro. Non avevi detto qualcosa

a proposito degli SSD?

Sì, l’avevo fatto. I dischi fissi tradizionalimemorizzano i dati su dischi che girano.

Questi hanno particolari caratteristiche

e prestazioni, visto che devi aspettare

che la testina del disco si sposti fisicamente

nel posto corretto prima di poter leggere

i dati. I filesystem si sono evoluti per

minimizzare gli spostamenti delle testine.

Negli SSD non si muove nulla, così non devi

preoccuparti di tutto ciò. Certo, ci sono altre

cose da considerare con gli SSD, e BTRFS

è stato progettato per funzionare bene

con entrambi i tipi di disco. Devi solo dirgli

che stai usando un disco SSD usando il flag

-o ssd quando monti il disco, così che ilfilesystem faccia tutte le magie necessarie.

»E i dispositivi multipli,

è come il RAID?

Dunque, BTRFS supporta il RAID, ma

questa non è una cosa nuova. Con questo

sistema puoi creare un singolo filesystem

che prende i dati da diversi dischi fisici

»Sembra grandioso. Come posso

installarlo?

Prima di cambiare filesystem, dovresti

sapere che BTRFS non è ancora

considerato pronto per la produzione

(almeno così è al momento di andare

in stampa). Quindi potrebbero capitare cosebrutte al tuo filesystem. Comunque non

c’è motivo per non provarlo su un sistema

di test, basta che ti ricordi che se qualcosa

va storto, il tuo miglior amico è il backup.

Il modo più facile per installare BTRFS

è usare una distro che lo supporta.

Al momento ci sono OpenSUSE 12.2,

Fedora 18 e Ubuntu 12.10 che ti

consentono di selezionare il nuovo

filesystem in fase d’installazione. Oppure

si possono installare altre distro su una

partizione formattata in precedenza con

BTRFS. Questa è una situazione che sta

cambiando rapidamente, quindi controllala documentazione della tua distro per

sapere come procedere. In alternativa

c’è un comando che trasforma i filesystem

Ext3 ed Ext4 in BTRFS: btrfs-convert .

Ti ricordo che il nuovo sistema non è stato

considerato abbastanza stabile da essere

usato in un sistema di produzione, quindi fai

una copia dei tuoi dati prima di perderli. LXP

 

ia

Page 12: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 12/100

La sfi da

La release di Ubuntu 12.10 è capitatamentre gli utenti Windows iniziavano

a fissare il “rivoluzionario” Windows 8

e a farsi un’opinione sul nuovo sistema.

Da quel che si legge in Internet, l’accoglienza

per Windows 8 non è stata proprio delle migliori,

con Gartner che ha predetto che circa l’80%

degli utenti business non lo adotterà mai.

Sembra esserci un consenso diffuso sul fatto

che il maggior cambiamento di Windows 8

è nella nuova schermata Start, in origine

chiamata interfaccia Metro, ma che poi

è stata rinominata Modern UI nella release finale.

Su LXP 118 avevamo già

pubblicato un confronto

testa-a-testa, trovando

che Ubuntu batteva Windows

8, tirando le somme. Senza

tanto stupore avevamo notato

che molte delle persone

interrogate durante la realizzazione dell’articolo

avevano trovato difficoltà nel compiere le stesse

operazioni che facevano con Windows 7.

Ora, dopo qualche mese dal rilascio sia di Ubuntu

12.10 sia di Windows 8 abbiamo deciso di dare

un’altra occhiata alla questione. Comunque

non sono i difetti di Windows 8 che rendono

Ubuntu 12.10 un’opzione migliore. Questa

distro desktop ha fatto parecchia strada dal primo

rilascio della sua nuova e radicalmente diversa

interfaccia utente (Unity) e ora è più efficientee amichevole. Inoltre oggi, come in passato, chi

non apprezza Unity può sempre adottare un’altra

interfaccia, più familiare, godendo comunque

dei miglioramenti del sistema sottostante.

Tristemente, i creatori di Windows

non offrono la stessa opportunità.

Rilasci unificatiUna cosa che risulta chiara dai cambiamenti

all’interfaccia introdotti da Windows 8 e Ubuntu

è che entrambi i sistemi vogliono unificare

la GUI su tutti i dispositivi. Però Windows 8,

con la speranza di accontentare gli utenti

desktop, con la vista Desktop ha introdotto

una strana anomalia nel grande schema delle

cose che ora minaccia di esploderle in faccia.

All’opposto gli sviluppatori di Ubuntu hanno

sempre pensato a Unity come l’unica

interfaccia adottata da tutti i dispositivi Ubuntu

(compreso il tablet recentemente presentato

da Shuttleworth). Due anni fa Unity sembrava

un po’ scomoda, ma ora che Ubuntu

sta tracciando la sua strada anche nei dispositiviportatili, come tablet e telefoni, questa

interfaccia vi renderà più produttivi visto

che la ritroverete praticamente identica

su tutti i device. Un altro problema di Windows

è la “segregazione” delle sue versioni. Ci sono

meno versioni di Windows 8 tra cui scegliere

rispetto alle vecchie versioni di Windows.

L’utente ora potrà scegliere solo tra due

opzioni (tralasciando Windows RT…):

la versione Home, priva di cifratura del disco

e del controllo remoto, e la versione Pro.

Ubuntu, come molte altre distro GNU/Linux,

è disponibile in un singolo

“sapore” che potete

installare su netbook,

notebook e desktop,

più una versione server.

Inoltre, diversamente

da Windows, ogni distro

Linux standard vi offre in partenza tutti

gli strumenti che vi servono per essere

produttivi da subito. Quindi se state pensando

se fare l’upgrade a Windows 8 o pensate

di tornare a una versione precedente, Ubuntu

12.10 e i suoi confratelli sono un’alternativa

da prendere seriamente in considerazione.

Volete una prova? Continuate a leggere

e vedrete perché Linux supera Windows 8

senza compromettere la produttività.

Sapevamo che non sarebbe stato perfetto,ma non ce lo aspettavamo così tanto brutto.

LXP vi mostra perché Linux è migliore di Windows 8

“I nostri tester hanno trovato difficoltànel compiere le stesse operazioniche facevano con Windows 7”

10  LINUX PRO 127

Page 13: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 13/100

La sfi da

Senza ombra di dubbio la feature più

chiacchierata di Windows 8 è la suainterfaccia. Storicamente è l’elementoche è sempre rimasto consistente tra le varieversioni di Windows nell’ultimo decennio.Così tanto che un utente ibernato di Windows95 potrebbe essere scongelato e messodavanti a Windows 7 senza notare problemidi sorta. Ma tutto è cambiato con Windows 8.Se non siete rimasti imbambolati di frontealla nuova schermata Start, provatead andare nella tradizionale vista Desktop,priva del classico pulsante (e menu) Start.Dopo un paio di salti tra un’interfacciae l’altra, la camera criogenica vi apparirà

molto piacevole. I cambiamenti radicalidel desktop sono qualcosa a cui gli utentiLinux sono abituati. In passato siamo statitutti vittime di un cambio di stile, con KDE 4,GNOME 3 o Unity. Però l’interfacciadi Windows 8 è ancor più distante da quellaprecedente. Per iniziare, i nostri spazidi lavoro seguono ancora lo stile WIMP(Windows, Icons, Menus, Pointers). I pulsantisaranno pure dalla parte sbagliata della barradel titolo, ma almeno non dobbiamo impararenuovi trucchi per chiuderle. E la nostra barracon solo icone è decisamente miglioredell’idea di Windows 8 di rimpiazzare le icone

con le “mattonelle” (tile). Il passo falsopiù grosso in Windows 8 sembra propriola doppia interfaccia. Possiamo apprezzarela motivazione di Microsoft nel realizzarla:la vista Desktop dovrebbe essere quellausata dagli utenti mentre si abituano allaversione nuova della scrivania. Però ci sonovoluti pochi minuti a noi per capire chela strategia a doppia interfaccia è una ricettache porta al disastro dal punto di vista

dell’usabilità. I due ambienti di Windows 8si comportano in modo differente, rendendoinconsistente l’esperienza utente. Per di più,un utente non può ignorare una delle due visteper usare solo l’altra. È necessario, a volte,passare dall’una all’altra perché ci sono dellecose che gli utenti possono fare solo in unadelle due interfacce, mentre altre funzioni sonodisponibili solo nell’altra. Inoltre, le applicazioni

avviate dalla nuova interfaccia di Windows 8funzionano in modalità a schermo intero:questo va bene per i tablet che hanno unoschermo di dimensioni contenute, ma inun monitor widescreen FullHD che sarebbein grado di mostrare più finestre affiancate,la modalità fullscreen sembra un po’ abusiva.È possibile affiancare due finestre, ma bisognaimparare una nuova gestualità, così come perchiudere le finestre, che non ci pare immediatada adottare sugli schermi di un PC. Confrontatequesto con la prima versione di Unity, in Ubuntu11.04. Sviluppata inizialmente per i netbook,questa interfaccia faceva del suo meglio per

usare in modo corretto il limitato spazio offertodal monitor nascondendo il Launcher quandoveniva avviata un’applicazione. Molti utenti, però,si lamentarono di ciò nonostante ci fosse lapossibilità di ridimensionare le finestre in modo

da metterne più di una sullo schermo,e questo comportamento di defaultfu modificato nelle versioni successive.

Tile rotteUn’altra feature di Windows 8 che nonci entusiasma è legata alle tile. A prima vistasembrano delle scorciatoie per le applicazioni,fino a quando non capite che alcune app

possono avere delle tile animate che siaggiornano con le informazioni più recenti,come l’elenco delle ultime mail ricevute.Una tile può essere anche una cartella,un link o una risorsa di rete. Ma se visembrano delle scorciatoie, dovete sapereuna cosa. Non potete creare delle tile peri file, come un importante PDF che consultatespesso e che vorreste “pinnare” sullaschermata Start. Inoltre, anche se organizzarele tile è semplice, la loro limitata capacitàdi personalizzazione è fastidiosa. Potete soloscegliere una delle due dimensioni possibiliper le tile. È anche facile non accorgersi

di poter assegnare un nome alle colonnedi tile. Ma questo semplice task comporta uncomplesso movimento del mouse, cosa chevale anche per tante altre operazioni se usateWindows 8 con il mouse. Il sistema creerà

Desktop

Windows 8 sembra valido sui tablet, ma nei desktop non ci piace

Come appare l’interfaccia? È usabile o no?

Scegli una distroUbuntu 12.10 è una delle distro più popolari,ed è stata rilasciata praticamente incontemporanea con Windows 8. Ma se sietetra quelli che vogliono abbandonare Windows,Ubuntu non è l’unica opzione possibile. Fedora,con il desktop GNOME 3, è un’altra popolareopzione per gli utenti desktop (e non solo).Chi non apprezza né GNOME 3 né Unity, invece,si può appoggiare a Linux Mint, con i suoi desktopCinnamon e Mint. Vale la pena anche dareun’occhiata alle distro basate su KDE, comeOpenSUSE e Chakra. Anche se i requisiti hardwaredi Windows 8 non sono troppo elevati, essorichiede un computer decente per funzionare.Però, se non siete pronti ad abbandonaredefinitivamente il vostro vecchio computer, ci sonodiverse distro Linux che funzionano a dovere su PC

d’annata. Le nostre preferenze, in questo ambito,vanno a Bodhi Linux e Puppy Linux.

Potete ascoltare un’anteprima delle tracceaudio prima di acquistare la musica dallostore musicale di Ubuntu

Ubuntu dispone di nuove icone nella lensdel filesystem, come quellaper identificare le penne USB

LINUX PRO 127 11

Page 14: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 14/100

La sfi da

La barra dei menu in Windows Explorer è stata rimpiazzata dall’interfaccia Ribbon

Se avete più finestre aperte, passate alla modalità Spread (Super+W) per vederle tutte

automaticamente una tile per ogni nuovoprogramma che installate, mentre Ubuntuvi fa scegliere se volete inserire un’iconanel Launcher o meno.

Unity vi salvaAnche Unity non ha un aspetto tradizionaleper un sistema operativo desktop. Peròè sicuramente meno disorientante rispettoallo Start screen di Win8. Le due componentipiù importanti della scrivania di Ubuntu sonoil Launcher e la Dash. Pensate al Launchercome a un pannello che può conteneresolo icone. Potete bloccare sul Launcherle icone delle app che avviate più spesso peraccedervi velocemente. Inoltre alcune iconedel Launcher hanno un menu contestualepersonalizzato che vi consente di accederead alcune delle funzionalità dei programmi.Per esempio, l’icona del browser Chromiumpuò avviare una nuova finestra in modalitàIncognito, oppure una con un profilotemporaneo. Unity offre un ambiente moltousabile sia con i dispositivi tradizionalisia con quelli touch. Quindi, per esempio,potete risistemare le icone nel Launchertrascinandole semplicemente nella nuovaposizione con il mouse o con il dito.Poi c’è la Dash, che vi consente di cercareapplicazioni, file, musica e video. Diversiprogrammi, come Gwibber, installano

una propria lens estendendo l’usabilità dellaDash. La nuova release di Ubuntu offre anchela lens Shopping, che vi mostra oggetti chepotete acquistare online da Ubuntu One eAmazon. Non ci vuole molto tempo per capire

che Windows 8 è progettato per i dispositiviportatili con schermo touch. Tutti i menu sonoposizionati negli angoli dello schermo, a portatadi dito. Anche l’usabilità è pensata per il tocco,e poi è stata riportata sui dispositivi tradizionali,come mouse e tastiera. Potete chiudere le appe accedere ai menu con un semplicemovimento della mano, mentre fare la stessacosa con gli strumenti tradizionali richiede diversiclick del mouse e combinazioni di tasti. Dall’altra

parte, anche se Unitynon raggiunge la facilitàd’uso di Windows 8con i dispositivi touch,riesce molto meglioa portare avanti il lavorodi gestione degli

strumenti tradizionali e di quelli più nuovi.Il Launcher con le icone è fantastico per avviarei programmi con le dita, ma allo stesso tempopotete navigare l’intero desktop Unity con unatastiera. Poi c’è l’innovativa interfaccia HUD,

usando la quale potete evitare di spostarvitra mille menu, specialmente nelle app contanti menu innestati, come le suite per l’ufficio.Quando iniziate a mettere a confrontola nuova interfaccia di Windows 8 con Unity diUbuntu, quest’ultima ha diversi punti a favore.È l’interfaccia principale di Ubuntu da circadue anni e nel frattempo è notevolmentemigliorata dando risposta a quasi tuttele critiche degli utenti. Difatti, al tempoin cui Windows 8 era ancora in preview, gliutenti Windows che avevamo interpellato perl’articolo precedente si trovavano meglio conUnity che con la nuova interfaccia di Windows.Da allora l’interfaccia di Microsoft è cambiataun po’, ma non in modo sostanziale, mentreUnity è stata notevolmente migliorata,pur non essendo ancora perfetta.

Rapida anteprimaIl migliore aspetto di Unity in Ubuntu 12.10è la presenza delle varie anteprime nellaDash. Per un certo verso, esse sono la logicaevoluzione del menu contestuale. Quandocercate in una delle lens della Dash, Unityvi fornisce un’anteprima interattivadei risultati. Le informazioni mostrate, assiemeall’anteprima e alle cose che potete fare,dipendono dalla lens in uso. Per esempio,potete vedere una preview delle fotoe ascoltare i file audio senza aprirli. Aveteanche la possibilità di inviare certi tipi di filese avete impostato Thunderbird come clientdi posta elettronica, e potete aprire il folderrelativo così come il file stesso. Se statecercando un’applicazione, il sistemadi anteprima vi mostra una breve descrizionedei programmi, incluso il numero di versione,il voto e il numero di recensioni. Questosistema è pensato per risparmiarvi un viaggionel Software Center. Quindi, se il programmaè installato, potete disinstallarlo da qui,e se non lo è avete la possibilità di installarlo.

“L’interfaccia Unity è stata

notevolmente migliorata, purnon essendo ancora perfetta”

12  LINUX PRO 127

Page 15: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 15/100

La sfi da

Dobbiamo dire la verità, nessuno

compra Windows per le applicazionipreinstallate. Eppure Windows 8

rompe un po’ la tradizione. Il nuovo sistema

operativo include diversi programmi

creati da zero per la nuova interfaccia.

Sfortunatamente molti di essi sembrano

ancora un po’ immaturi, non completi,

pur essendo passati attraverso diversi step

di revisione. Forse il problema più grande

che abbiamo con il modo di fare le cose

di Microsoft è che esso vi obbliga

a effettuare il login con un account (gratis)

di Microsoft Live, che potete creare anche

durante l’installazione del sistema.

Se fate il login con un account offline,non potete usare nessuna delle nuove app

Metro, o l’app store, fino a quando

non vi registrate (un po’ come accade

con Android). Incredibilmente, la versione

di Windows Media Player rilasciata

con Windows 8 non include il supporto

alla riproduzione dei DVD: il motivo

è che Windows 8 è pensato per dispositivi

privi di lettore DVD. Per la stessa ragione

non troverete il Windows Media Center

in Windows 8. Però potete ottenerlo,

assieme al supporto alla riproduzione

dei DVD, acquistando l’add-on Media

Center Pack. Di certo non trovate le stesselimitazioni in Ubuntu 12.10 o in una

qualunque altra distribuzione desktop

mainstream. Le distro rispettano i termini

di licenza dei vari codec, e magari

vi ritrovate a dover scaricare un codec

da un repository per riprodurre un certo tipo

di file salvato in un qualche formato esotico,

ma questo comporta solo un paio di clickal massimo – e non c’è niente da pagare.

Come detto prima, Windows 8 include le app

necessarie a farvi comunicare con amici

e colleghi. Al posto di Outlook Express avete

le app Mail, Messaggi e Calendario, e c’è anche

Contatti che raccoglie tutti i contatti dei vari

servizi online. Però alcuni di questi software

hanno delle limitazioni, noi non le penseremmo

come rimpiazzi per delle reali app produttive.

Difatti appaiono molto simili alle app di un

tablet Android. Però, diversamente da Android,

Windows 8 è pensato anche per i normali

utenti di computer e in questa ottica le app

mostrano tutti i loro limiti. Per esempio,se condividete una notizia dall’app Notizie,

essa verrà inviata via mail tramite Mail,

ma il destinatario non può seguire il link incluso

nel messaggio se usa una piattaforma diversa

da Windows 8. Come app per il desktop,

Mail è probabilmente quella con la peggiore

interaccia utente. Se la avviate senza un

account, vi ritrovate uno schermo biancosenza icone, pulsanti o indicazioni su come

impostarla. Inoltre, mentre componete

un nuovo messaggio, essa occupa l’intero

schermo, quindi non potete vedere gli altri

messaggi. Anche Gmail, che è una Web App,

si comporta meglio. In modo simile, anche

gli altri programmi raramente vanno oltre

le funzionalità di base. Per esempio, l’app

Messaggi funziona solo con il servizio

Messenger di Microsoft e con quello

di Facebook, lasciando fuori servizi

altrettanto popolari come Google Talk.

Questo contrasta fortemente con quanto

c’è in Ubuntu 12.10, che include le miglioriapplicazioni Open Source, inclusi il browser

Firefox, il client email Thunderbird, la suite

di produttività LibreOffice, Empathy

per l’instant messaging, Gwibber

per il microblogging, Shotwell per la gestione

delle fotografie, Rhythmbox e Totem

per i file multimediali e tanto altro ancora!

Store onlineOltre ai programmi preinstallati, sia Ubuntu

che Windows 8 hanno un app store per

aiutare gli utenti a trovare le applicazioni

che servono loro. Anche se gli utenti Linux

recuperano e installano software darepository online dall’alba dei tempi,

il concetto di Software Center, che mette

in evidenza le app e consente agli utenti

di dar loro un voto e un giudizio, è qualcosa

di quasi nuovo. Comunque, Ubuntu ha avuto

il suo Software Center circa tre anni prima

di Windows, e si vede la differenza.

Con l’Ubuntu Software Center gli utenti

possono installare centinaia e centinaia

di applicazioni, gratuite o meno, driver,

librerie, giochi (anche commerciali)

e software come WINE o CrossOver

di CodeWeaver che vi permettono di usare

alcuni programmi di Windows sotto Linux.Dall’altro lato della barricata il Windows

Applicazioni

Ubuntu vi dà l’opportunità di installare i codec multimediali durante l’installazione

Che bisogni coprono i programmi preinstallati?

Alcune delle app del nuovo Windows 8contengono pubblicità

La nuova funzionalità di backupdi Windows è molto limitata

LINUX PRO 127 13

Page 16: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 16/100

La sfi da

Store ospita solo app e non driver. Ci sono

sia applicazioni a pagamento che quelle

gratuite, ma diversi sviluppatori, inclusi alcuni

importanti come Google, hanno annunciato

che non creeranno programmi per Windows

8. Un’altra differenza chiave tra i due app

store riguardano la sicurezza. Ubuntu usa

chiavi GPG per verificare l’autenticità

dei pacchetti. Le app nel Windows Store

sono verificate e abilitate a discrezione

di Microsoft (in base ai controlli che fa).

Il comportamento di Windows 8

ci lascia perplessi anche per un altro fatto:

l’integrazione. Alcune delle nuove app

“in vetrina” di Windows 8 non ci sembrano

integrate alla perfezione con il Desktop.

Per esempio, cliccando su una tile live

non si approda direttamente al contenuto

mostrato al momento dalla tile stessa.

Poi non c’è integrazione tra Mail e il desktop.

Quindi mentre il file manager ha l’opzione

di inviare via una mail il file selezionato,

ciò non funziona con l’app

Messaggi. Per inviare un file

dal Desktop di Windows 8

vi serve un’app per il desktop,

e Windows 8 non ne ha una

di default. Su Ubuntu 12.10

potete non solo inviare file

direttamente dal file manager Nautilus, ma

potete anche comprimerli per facilitare l’invio.

In aggiunta, potete inviarli ai vostri contatti IM,

oppure a una chiave USB o a un disco di rete,

masterizzarli su CD o DVD o mandarli a un

dispositivo Bluetooth connesso. Parlando

di azioni sui file, se avete impostato un backup

in Deja Dup, potete anche recuperare

le versioni precedenti dei file. Deja Dup

è indubitabilmente il più semplice tool

di backup del pianeta (alla pari di Time

Machine di Apple). In Ubuntu è in grado

di fare il backup anche nello spazio offerto

dal servizio cloud Ubuntu One. Poi

c’è l’abilità della Dash di suggerire

le applicazioni, che era piaciuta moltoal nostro gruppo di prova durante

la realizzazione dell’articolo precedente.

In Ubuntu 12.10 questa funzione

è migliorata ancora e ora gli utenti possono

installare le app direttamente dalla Dash

stessa, risparmiandosi il dover aprire

l’Ubuntu Software Center. Se fate click

destro su una delle app suggerite, ottenete

alcune informazioni su di essa, assieme

al pulsante per installarla. Oppure, se volete

selezionare componenti opzionali, come

i plug-in, è sufficiente fare click sinistro

sull’app, il che vi porta al Software Center.

Servizi Web come appCon Ubuntu 12.10 la distro ha iniziato

a integrare le Web App con il desktop.

No, non ci riferiamo al semplice inserimento

di un’icona nel Launcher che non fa altro

che aprire la Web App stessa. L’idea con

le applicazioni Web è che anche se vengono

eseguite all’interno del browser, esse si

integrano con vari componenti di Unity, come

il Launcher, il sistema di notifica, la Dash

e l’HUD. Per esempio, la Web App Google

Docs si integra completamente con l’HUD. Così

potete navigare il menu di Google Docs usando

l’HUD, come fareste con un programma offline

come LibreOffice Writer. Poi c’è la Web App di

Last.fm, che si integra con il menu del volume

nell’area di notifica, come fa Rhythmbox,

consentendovi di cambiare traccia e saltare

a una nuova stazione. Al momento ci sono

più di 30 siti Web e servizi che possono essere

integrati come Web App. Quando visitate

un sito Internet che ha una Web App, il browser

vi chiede se volete aggiungere il sito come

applicazione. Da quel momento in poi potrete

avviarla dalla Dash, o bloccarla nel Launcher,

come fate con gli altri programmi. Alcune Web

App, come quelle di Facebook, Twitter e Gmail,

si integrano con il menu dei messaggi,

e tengono traccia di ogni attività nel servizio.Ubuntu tratta le Web App come se fossero programmi installati in locale

Il Software Center ospita migliaiadi applicazioni gratuite

“Un’area in cui Windows 8fallisce rispetto a Ubuntuè l’integrazione”

Il mondo dei videogiochi

A prima vista, il nuovo Windows non sembra

meno capace di intrattenere l’utente facendolo

giocare rispetto al passato. Però gli sviluppatori

di videogiochi hanno avuto più di un problema

con il nuovo sistema operativo. I primi“mal di pancia” si sono manifestati lo scorso

luglio, quando Gabe Newell di Valve Software

disse alla conferenza Casual Connect di Seattle

che “Windows 8 è una catastrofe per chiunque

faccia parte del mondo PC”. Valve è uno degli

sviluppatori più popolari di giochi per PC,

con titoli quali Half Life e Team Fortress,

e ha creato anche il m arketplace per videogiochi

e piattaforma di distribuzione chiamata Steam.

Sviluppatori indipendenti di giochi, come Markus

Persson, il creatore del famoso videogame

Minecraft, è d’accordo con Newell. Lo scorso

settembre Persson ha scritto su Twitter:

“Ho ricevuto una mail da Microsoft che voleva

aiutarmi a ‘certificare’ Minecraft per Windows 8.

Ho risposto loro di smettere di cercare di rovinare

il PC come piattaforma aperta”. Ciò che ha

infastidito gli sviluppatori erano le nuove regoleimposte da Microsoft per lo sviluppo e la

distribuzione di applicazioni Windows 8 tramite

il suo Store, che creavano una sorta di “recinto”.

Quindi ora Valve sta portando la sua infrastruttura

Steam in Linux, assieme a tutti i principali titoli.

Valve ha mostrato i suoi progressi all’Ubuntu

Developer Summit in Danimarca, per mano dello

sviluppatore Drew Bliss, che ha aggiunto che Linux

ha tutta la tecnologia richiesta per far funzionare

i giochi più recenti. Egli ha anche menzionato il fatto

che Valve è stata contattata da diversi sviluppatori

di terze parti per fare in modo che i loro giochi

possano essere distribuiti tramite Steam.

14  LINUX PRO 127

Page 17: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 17/100

La sfi da

Windows 8 è il primo tentativo

di Microsoft di integrare deiservizi cloud nel desktop. Questo

include di tutto, dallo streaming dei

contenuti ai servizi online, come Twitter,

Facebook e Flickr, fino alla sincronizzazione

dei file in locale con i dischi online. Ubuntu

è un po’ più matura da questo punto

di vista, per il fatto di essere partita

prima. L’Ubuntu Messaging Menu

è in circolazione dal 2010. Questo menu

è progettato per facilitare le comunicazioni

e vi dà accesso alla mail, alle chat e alle

altre applicazioni per la comunicazione.

Potete impostare il vostro stato di IM

su diversi servizi e accedere ai messagginon letti. Si collega a diverse app

installate di default in Ubuntu, come

Empathy, Gwibber, Thunderbird,

oltre che alle nuove Web App come

Gmail. L’app Contatti in Windows 8

è la cosa più vicina al Messaging Menu

di Ubuntu. La differenza maggiore

è che oltre a tenere traccia delle notifiche

degli account che avete aggiunto,

l’app agisce come rubrica universale

per i contatti. Quindi elenca tutte

le persone che seguite su Twitter,

assieme agli amici e ai familiari con cui

interagite con regolarità; non c’è mododi separare i contatti in unità logiche. Certo,

è positivo avere i contatti di tutti i servizi

in un unico posto, ma il tutto appare un po’

confusionario. Però potete inviare tweet

o retweet, fare “Mi piace” o commentare

gli ultimi contenuti. Nel caso dei tweet,

però, ogni singolo tweet viene messo

in una sua tile, cosa poco carina.

Account onlineUsando la finestra di dialogo Account Online

di Ubuntu, potete collegarvi a tutti i servizi

online più noti, inclusi Facebook, Flickr,

Gmail, Google Documenti, Google+,

Picasa, Twitter, AIM, Windows Live, Identi.ca

e Yahoo!. Quando aggiungete un account, la

finestra di dialogo vi mostra l’elenco delle app

locali con cui si interfaccerà il servizio. Quindi

se volete aggiungere un account Google,

le informazioni di login verranno usate

da Empathy per recuperare i vostri contatti

IM. In modo simile, quando aggiungete un

account Twitter, il client per il microblogging

Gwibber si popola con i vostri feed Twitter.

Potete anche pubblicare le foto da Shotwell

direttamente su un album di Picasa

o Facebook, o su Flickr, se avete già usato

questi account. Ma il meglio deve ancora

venire: potete fare ricerche su tutti questi

servizi online direttamente dalla Dash. Quindi

la lens per le ricerche vi mostrerà anche

i documenti di Google Docs; la lens delle foto

vi offre le immagini da Facebook, Flickr

e Picasa; la lens di Gwibber esegue ricerche sia

nei messaggi pubblici che in quelli privati su

tutti gli account configurati. Sia Windows 8,

con SkyDrive, sia Ubuntu, con Ubuntu One,

consentono agli utenti di memorizzare file

e backup online. Però l’implementazione di

Microsoft è limitata rispetto a Ubuntu One.

L’utility di backup di Windows non si integra

con il file manager come accade in Ubuntu.

Potete impostare Ubuntu One affinché copi

e sincronizzi qualunque directory del PC.

In più è possibile tornare a una versione

precedente del file recuperandola dal

backup online. Ubuntu One fa molto

di più del solo backup dei file, e funziona

su più piattaforme rispetto a SkyDrive di

MS, incluse Windows, OS X, iOS e Android.

Ubuntu One ha un eccellente negozio

musicale e vi consente di condividere

le canzoni su tutti i dispositivi. Quando

acquistate una traccia, avete la possibilità

di mandarla in streaming verso dispositivi

Android o iOS via Web. Se usate questo

servizio su un dispositivo mobile, potete

condividere foto e file direttamente

con servizi quali Facebook e Twitter.

Integrazione con la cloudWindows può eguagliare Ubuntu in quest’area?

Login remotoUna delle feature di Ubuntu 12.10 che

interesserà gli utenti evoluti è che è possibile

fare il login su macchine remote dalla normale

schermata di login, il che rende più semplice

usare Ubuntu come thin client. Inoltre potete

aggiungere e modificare le impostazioni per

macchine remote multiple dalla stessa schermata.

Per aggiungere i dettagli di un server remoto

premete il pulsante ? nel box di login, che vi farà

entrare come utente guest, e avvierà Firefox

aprendo la pagina UCCS (Ubuntu Universal Client

Configuration). Una volta aggiunte le informazioni

relative alla macchina remota, esse appariranno

nella schermata di login. Questa feature vi evita

di entrare nel desktop e da lì avviare

manualmente un client per il desktop remoto,

inserendo ogni volta tutti i dettagli per l’accesso.

Al momento usando questa funzionalità potete

collegarvi solo a macchine che eseguonoun server RDP (Remote Desktop Protocol).

Il menu di messaggistica di Ubuntu vi aggiorna su tutte le novità dei vari servizi online

Ubuntu One offre 5 GB di spazio gratuito,contro i 7 di SkyDrive

Potete fare il login su un computer remotodirettamente dalla schermata di login

LINUX PRO 127 15

Page 18: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 18/100

La sfi da

Questo è uno degli aspetti nel quale

Windows 8 e Ubuntu differisconograndemente. La personalizzazione

è sempre stata un fastidio con Windows,

e con Windows 8 è ancora più noiosa.

La nuova schermata Start è la maggior

fonte di fastidio per gli utenti.

Semplicemente non è una feature

che potete disattivare. Né potete entrare

direttamente nella vista Desktop,

il che rende i PC Windows 8 inutilizzabili

nelle situazioni in cui volete far partire

il computer direttamente con un’app, tipo

un chiosco. Di default, Windows 8 ha

troppe tile e quelle live diventano presto

irritanti e dissonanti, non appena lecollegate a un qualche vostro account

(magari senza neanche accorgervene).

Windows 8 vi consente di modificare alcuni

aspetti dell’ambiente di default. Così potete

cambiare la dimensione delle tile live,

spostarle o raggrupparle per un accesso

più rapido, e anche nascondere quelle nonnecessarie, ma finisce qui! Unity di Ubuntu,

d’altra parte, come molti altri aspetti delle

distro Linux, è molto più malleabile.

Se non vi piace, potete anche sostituirla

con un’altra interfaccia, come KDE,

GNOME 3, Cinnamon, Mate, Xfce, LXDE,

giusto per nominarne alcune.

È affascinante?Le opzioni di configurazione in Windows 8

sono un po’ sparse qua e là. Alcune

le trovate nella barra Charm, ancorata

al lato destro dello schermo, che ha icone

per accedere a feature tipo i controllidei dispositivi hardware, la condivisione

e le impostazioni di sistema. Il numero

di impostazioni a cui potete accedere

tramite la barra Charm varia da interfaccia

a interfaccia. Quindi se la aprite dalla

schermata Start, avete solo le opzioni per

cambiare le tile. Invece se la richiamate

quando siete nella vista

Desktop, trovate più

opzioni, incluso un

collegamento al classico

Pannello di Controllo.

Se pensate che questo

possa causare

confusione, grazie alla doppia interfaccia

ci sono più modi per portare avanti semplicitask, come l’aggiornamento del sistema

e dei suoi componenti. Sorprendentemente

Windows Update non può aggiornare

le nuove app di Windows 8. Per aggiornarle

dovete andare nel Windows Store e farlo

da li. Un po' scomodo.

La giusta viaAl contrario, le impostazioni di Ubuntu sono

tutte accessibili dal tool Impostazionidi sistema, attivabile dalla pratica icona

presente nel Launcher con un click. Oppure

potete arrivare alle singole impostazioni

dalla Dash. Impostazioni di sistema dividein categorie le varie impostazioni sotto

tre voci principali. In Personale trovanoposto i parametri “personali”, come

lo sfondo del desktop, la dimensione

delle icone del Launcher e la possibilità

di nascondere questa barra aggiustando

la sensibilità dell’hotspot che la mostra.

Potete anche configurare tutti i vostri

account online da qui, assieme a Ubuntu

One. La sezione Hardware contiene

tutte le opzioni per configurare i vari

dispositivi hardware collegati al PC,

come il Bluetooth, gli adattatori Wi-Fi

o la stampante, e anche per decidere il

comportamento di Unity quando si usano

monitor multipli. Infine c’è la sezioneSistema , che ospita le impostazioni che

modificano il comportamento dell’intero

sistema e potrebbero richiedere i privilegi

d’amministratore. Qui trovate le opzioni

per aggiungere e rimuovere utenti,

cambiare le sorgenti software,

personalizzare le voci per l’accessibilità

e anche impostare i backup di Deja Dup.

Anche se tutte queste opzioni sono

più che sufficienti per l’utente desktop

“medio”, ci sono diversi tool di terze parti

per la personalizzazione pensati

per i power user, per esempio i noti

Ubuntu-Tweak  e Unsettings (vedi box).

Personalizzazione

“La nuova schermata Startè la maggior fonte di fastidioper gli utenti Windows”

Quanto è semplice creare il desktop perfetto?

Tool come Ubuntu-Tweak e Unsettingssono molto popolari

Potete muovervi dentro Unity anche usandosolo le combinazioni di tasti

Tutte le impostazioni di Ubuntu si trovanodentro un’unica finestra

Ottimizzare UnityIl tool Unsettings è uno dei tanti strumenti

che vi consentono di modificare il comportamento

di Unity oltre il livello concesso dagli strumenti

di default. Usando questo tool potete cambiare

il look and feel del Launcher e della Dash in molti

modi. Potete anche disabilitare il menu globale

di Unity e l’HUD, oppure cambiare le barre

di scorrimento in overlay. Unsettings vi consente

di aggiungere degli spazi di lavoro virtuali

e di piazzare le icone di cestino, home e rete suldesktop. Vi consente anche di abilitare o disabilitare

le Web App. Unsettings non è disponibile

nei repository ufficiali di Ubuntu; per installarlo

digitate i comandi seguenti:

 sudo add-apt-repository ppa:diesch/testing

 sudo apt-get update

 sudo apt-get install unsettings

Oltre a Unsettings, c’è un altro tool molto popolare,

Ubuntu-Tweak , che è stato riportato in vita a furia

di lamentele degli utenti disperati. Uno strumento

più semplice è invece MyUnity, che invece trovatenei repository ufficiali.

16  LINUX PRO 127

Page 19: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 19/100

La sfi da

L’effetto collaterale dei sistemi operativi

che si adoperano per fornire servizionline integrati nel desktop è che

nascono nuove preoccupazioni sulla privacy

e la sicurezza dei dati. Sia Windows 8 che

Ubuntu 12.10 hanno ricevuto parecchie

lamentele dai difensori della privacy. Però

Windows 8, a differenza di Ubuntu, ha fatto

ben poco per dissipare questi timori. Oltre

al controverso servizio SmartScreen che ora

si estende oltre Internet Explorer, e controlla

anche i file scaricati, alcune app di Windows 8

memorizzano anche informazioni sugli account

online. Per esempio, quando aggiungete

un account Twitter nell’app Contatti, Microsoft

mostra una notifica che dice che il sistemamemorizzerà alcune informazioni sull’account

Twitter nei server di MS, senza specificare

meglio di quali dettagli si parla. Nel sistema

stesso ci sono pochissimi controlli per la

privacy. Tutto ciò che avete è la possibilità

di impedire alle app di usare la vostra

posizione, il nome e la figura legata all’account.

C’è anche un’opzione per impedire a Windows

8 di inviare gli URL dei contenuti Web che

state guardando usando app scaricate dal

Windows Store. Anche Ubuntu 12.10 è stata

fortemente criticata per l’intrusione nella privacy

dell’utente, soprattutto a causa dell’inclusione

della lens Amazon nella Dash. La grande

differenza, però, è che potete disabilitare questafunzione, anzi volendo potete proprio disinstallare

la lens. Tutte le opzioni legate alla privacy di

Ubuntu sono accessibili nella sezione Privacy 

nelle Impostazioni di sistema. Andate nel tab

Risultati ricerche per disattivare i suggerimenti

online mentre cercate i file e le app nella Dash.

In questo modo non appariranno più i risultati da

Amazon o quelle del servizio Ubuntu One Music,

ma continuerete a vedere le app che avete

scaricato dal Software Center. Il tab Elementi

recenti si basa sull’ipotesi che ogni volta

che un file o un’app vengono usati, questi

potrebbero memorizzare delle informazioni.

Da questo tab, quindi, potete sia decidere

per quanto tempo queste informazioni devono

essere ricordate, sia disabilitare del tutto

la funzione di memorizzazione. Comunque,

se non volete bloccare tutti i programmidel PC, avete la possibilità di decidere con

precisione i criteri d’azione (usando anche

il tab File). Altra via è quella di procedere

in base all’applicazione agendo sul tab

Applicazioni, dal quale potete scegliere quali

programmi non devono memorizzare l’elenco

dei file aperti di recente. Sfogliando l’elenco

dei programmi, Ubuntu vi indica il livello

di attività di ognuno di essi e quando li avete

usati per l’ultima volta. Infine trovate l’innocua

linguetta Diagnostica che vi informa sul fatto

che Ubuntu raccoglie informazioni sulla vostra

installazione e le invia in forma anonima

agli sviluppatori. Ubuntu 12.10 vi consenteanche di cifrare la vostra partizione Ubuntu,

proteggendola quindi anche con una

password. Questa opzione appare nei primi

passi dell’installazione. Una volta cifrato il disco,

Ubuntu vi chiederà la password impostata

prima di farvi accedere al sistema. Ricordatevi

quindi che non potrete montare una partizione

cifrata o usare i dati che essa contiene se vi

dimenticate la password. Infine, Ubuntu 12.10

include un bootloader GRUB2 firmato. Ciò

vi consente di installare la distro nei computer

che usano l’UEFI Secure Boot, come tutti

quelli che hanno Windows 8 preinstallato,

senza dover disabilitare il Secure Boot.Quindi, cosa state aspettando? Recuperate

l’ISO di Ubuntu 12.10 e provatela! LXP

Sicurezza e privacyQuale sistema vi fa sentire più tranquilli?

Cose da fare dopo l’installazione di Ubuntu 12.10Se avete appena installato Ubuntu 12.10,

vi suggeriamo di seguire i passi seguenti per

aggiornare e migliorare alcuni aspetti della distro

in modo da essere più p roduttivi. La prima cosa

che tutti gli utenti dovrebbero fare è controllare

gli aggiornamenti. In Ubuntu andate nella

Dash e avviate il Gestore aggiornamenti,

che controllerà la presenza di pacchetti aggiornati

nei repository e vi chiederà di installarli

se ce ne sono. Anche se durante l’installazione

vi viene chiesto di installare i codec per vari formati

multimediali, è sempre possibile che qualcosa

rimanga fuori. In questo caso potete installare

quanto manca da https://apps.ubuntu.com/cat/

applications/ubuntu-restricted-extras.Se il vostro computer ha dell’hardware che richiede

driver proprietari, come le schede video di NVIDIA,

potete abilitarli dal tab Driver aggiuntivi 

di Sorgenti software. Le barre di scorrimento

in overlay sono uno dei raffinamenti di Unity

più irritanti per gli utenti, soprattutto su monitor

di grandi dimensioni. Per rimpiazzare queste

barre con quelle classiche aprite un terminale

e digitate il comando seguente:

gsettings set com.canonical.desktop.interface

scrollbar-mode normal

Potete usare gsettings per modificare anche altre

impostazioni. Se volete vedere il nome dell’utente

corrente nel pannello, come nelle versioni

precedenti di Ubuntu, digitate

 gsettings set com.canonical.indicator.sessionshow-real-name-on-panel true

Vi serve aiuto?Uno degli aspetti migliori dell’enorme comunità

di utenti Linux è che se incappate in un problema

con un qualunque programma o una distro,

è facile trovare aiuto. Tutte le distro desktop

maggiori hanno delle pratiche guide utente

e manuali per aiutarvi a muovere i primi passi.

Hanno anche dei forum dedicati, o delle mailing

list (o entrambi), così come un canale IRC. Alcune

distro, come Ubuntu e Fedora, hanno anche

un sito “ask”, cioè un posto in cui potete cercare

tra le domande e le risposte fatte e votate dagli

utenti. Oltre a questi siti dedicati, ci sono anche

dei forum indipendenti che coprono tutti gli

aspetti legati all’uso di Linux. Il più popolare

è LinuxQuestions.org e ospita pagine dedicatea tutte le distro. Esso opera anche come

help desk live per fornire aiuto a voce (in inglese)

ai nuovi utenti del Pinguino. Infine controllate

la mappa dei LUG italiani all’URL http://lugmap.

linux.it/ per trovare il LUG più vicino

a voi a cui chiedere aiuto.

Ubuntu 12.10 supporta la cifratura del disco

Potete disattivare i risultati online usandole impostazioni per la privacy di Ubuntu

Controllare con regolarità la presenza diaggiornamenti per tenere in sicurezza Ubuntu

LINUX PRO 127 17

Page 20: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 20/100

Humble Indie Bundle

Linux ha sempre rappresentato un problemaper i capitalisti della vecchia scuola. Alla finedegli anni ‘90, quando questo sistema

operativo stava cominciando ad affermarsi

seriamente anche da un punto di vistacommerciale - specialmente sul mercatodei server - molti esperti del settore preseroa criticarne sarcasticamente le possibilità sul lungotermine. “Non potete regalare così la roba”,dicevano. La cosa andò avanti fino al puntoche Linux venne dipinto come una sorta diprogetto comunista, il cui solo scopo era quello didistruggere il lavoro degli sviluppatori del softwarea pagamento. Addirittura, Microsoft, all’epoca,lo etichettò come contrario all’“American Way”,ossia al vero spirito americano. L’idea chele persone potessero lavorare su un progettoin modo gratuito, solo sulla base del divertimentoe della passione, per aiutare altre persone,semplicemente non faceva parte del mododi concepire le cose da parte di molti magnati

alla Montgomery Burns dei Simpson. Eppure, conil trascorrere del tempo, sempre più compagniedallo spirito progressista, come Red Hat, ebberomodo di dimostrare che guadagnare denaro

con Linux era possibile. Occorreva solamenteun altro modo di pensare e di fare imprenditoria.Ai giorni nostri, lo stesso tipo di fenomenosta cominciando a manifestarsi nel mondodei videogame. Dall’inizio del 2010, il progettoHumble Indie Bundle sta vendendo videogiochitramite un approccio a dir poco affascinante:si paga quel che si vuole, fino a un singolocentesimo. Questi giochi non presentano DRM(i sistemi di gestione dei diritti digitali), cosìda non essere legati a un account specifico.Si possono ottenere quasi gratuitamente,è il giocatore che sceglie quanto pagare peraverli. Perché no? Certamente ci sarannogli scrocconi che sfrutteranno questo sistemaper ottenere giochi in cambio di nulla, maprobabilmente questi saranno già in possesso

di Giga e Giga in videogiochi piratati che nonhanno mai provato. Con il progetto Humble IndieBundle l’attenzione si sposta completamentesui giocatori interessati, coinvolgendoli e dando

loro il controllo sia sul pagamento sia sulladestinazione del denaro pagato (agli sviluppatorioriginali, devoluto in beneficenza oppure datoa entrambi i possibili destinatari). È un discorsosensato, questo: se pensate di giocare con uncerto videogame solo una mezz’ora duranteil fine settimana, è possibile che per voi questovalga pochi euro. Se si tratta di una avventuraepica, nella quale immergervi totalmente per oree ore, allora è probabile che possa ben valernequalche decina. Naturalmente, più pagherete,più gli sviluppatori saranno stimolati a scriveredei sequel, così tutto rientrerà perfettamenteanche nel vostro interesse di giocatori.A prima vista, tutto ciò potrebbe sembrare unfallimento sul lungo termine, ma il sistema ha giàdimostrato di essere un successo notevole.

Immaginate di poter

pagare esattamente

quanto volete

per ciò che vi piace.

Ecco com’è possibile

IndieBundle

Benvenuti nell'

Humble

18  LINUX PRO 127

Page 21: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 21/100

Humble Indie Bundle

G

li Humble Indie Bundle sono, di fatto,

delle raccolte di giochi che rispondono

a tre requisiti fondamentali: essere

multipiattaforma (devono girare almeno su Linux,

Windows e Mac OS X), essere liberi da DRM

(acronimo di Digital Right Management, ma per

molti di Digital Restriction Manager, sono i sistemi

di gestione dei diritti digitali di un’opera), essere

creati da sviluppatori indipendenti. Già di per

sé queste caratteristiche sono sempre molto

accattivanti, quando si tratta di giochi. Chi vorrebbe

mai continuare ad avviare Windows per giocare

con un gioco super blindato creato e venduto

da una compagnia senza faccia, senza anima e solo

a caccia di soldi? Certo, ogni tanto anche le grandi

software house rilasciano giochi niente male, ma

mentre ci si rivolge sempre più agli App Store

di Android e iOS, molte delle idee veramente

creative sono prodotte dai cervelli di programmatori

indipendenti. Un Bundle tipico (dove Bundle significa,

per l’appunto “pacchetto”) contiene dai tre ai cinque

giochi e viene reso disponibile sul sito www.

humblebundle.com solo per due settimane.

A prima vista potrebbe sembrare un periodo di

tempo relativamente breve, ma è proprio questo

che genera rumore ed eccitazione sui contenuti.

Insomma, si tratta più di evento speciale che di una

generica offerta di un tipico rivenditore online. Dopo

qualche giorno, appena il danaro comincia a entrare,

gli amministratori del Bundle pubblicano una nota

con il prezzo medio pagato e lo collegano ad altre

offerte. Se si offre più del prezzo medio corrente,

si avranno a disposizione dei giochi ulteriori. Tutte le

collezioni, i Bundle, sono di qualità eccellente. Quella

per Android 4, ad esempio, comprendeva giochi

che normalmente sarebbero costati, in totale, circa

145 euro. Ecco dove la flessibilità di pagamento

ha ancora più senso: se si acquistasse un Bundle

solo per uno dei giochi contenuti, certamente non

sarebbe conveniente pagare una gran somma

di denaro; se, invece, si ha l’intenzione di giocare

con tutti i giochi della raccolta, allora si potrebbe

optare per il versamento di una somma maggiore.

Devolvere in beneficenzaQuesto sistema di pagamento è doppiamente

interessante in quanto è anche possibile scegliere

a chi destinare il denaro versato. Quando si ordina

un Bundle tramite il sito Web, dopo la richiesta della

somma da pagare, la domanda seguente riguarda

la modalità di suddivisione dei soldi. In generale,

il pagamento può essere ripartito tra tre destinatari:

gli sviluppatori dei giochi, degli enti di beneficenza

legati al mondo dell’informatica e quindi la Humble

Bundle Inc. stessa, per supportarla nel progetto e ad

affrontare i costi di banda. Tra gli enti di beneficenza

supportati si annoverano, ad esempio, la Electronic

Frontier Foundation (www.eff.org), a favore

dei diritti digitali e in difesa della libertà di Internet,e Child’s Play (www.childsplaycharity.org),

un’associazione che fornisce videogiochi e giocattoli

ai bambini in ospedale. Naturalmente, è possibile

impostare le opzioni di pagamento in modo

da scegliere la cifra esatta da devolvere sia agli

sviluppatori che alla beneficenza. Se usate Steam,

la piattaforma di distribuzione di videogiochi online

di Valve, e versate almeno un dollaro (o una somma

equivalente), riceverete anche le chiavi di accesso

per connettervi al sistema di Steam e scaricare

da lì i vostri giochi, anche in un momento successivo.

Molti dei Bundle più recenti sono andati ben oltre

i soliti sistemi operativi in uso sui PC e hanno

compreso anche giochi per Android su smartphonee tablet. Inoltre, insieme alle raccolte principali

di Indie Bundle, ci sono state raccolte di specifici

sviluppatori, insieme a quelle di musica ed ebook.

Suddividete la somma pagatatra gli sviluppatori dei giochi, enti

di beneficenza e gli amministratoridi Humble Bundle, oppure destinatel’intera somma a un unico gruppo:siete voi a decidere

Mentre gli utenti Linux rappresentano solo una piccola frazione del mercato dei Bundle,sono quelli che pagano la somma maggiore se presi singolarmente

Ma come funziona?

Statistiche non tanto modesteA smentire il nome del progetto (humble significa infatti

“umile”, “modesto” in inglese), ecco alcuni dati significativi:

∆ 18 il numero delle offerte Humble Bundle dal suoinizio nel maggio 2010

∆ 3.713.004 il numero dei Bundle acquistati fino a fine

novembre 2012

∆ 24.858.477, 61 l’ammontare della somma

guadagnata fino a fine novembre 2012

∆ 16.005,27 dollari la somma più ingente versata

singolarmente (dall’associazione degli Humble Brony

http://humblebronybundle.blogspot.com)

∆ 11,13 dollari il pagamento medio degli utenti Linux

∆ 1.798 dollari il prezzo che si sarebbe dovuto pagare

per comprare tutti i contenuti singolarmente.

Il dato sugli utenti Linux diventa addirittura affascinante

se confrontato con i numeri che riguardano le altre

piattaforme. Per Windows, il prezzo medio pagato è di 5,89

dollari, per Mac OS X è di 8,51. Evidente, dunque, che gli

utenti Linux tendono a pagare i giochi molto di più. Ma perquale motivo? Sarebbe facile sostenere che gli utenti

di questo sistema dispongono di maggiori liquidità perché

non spendono tanto per sistemi operativi e software per

l’ufficio. In realtà, questa non è una spiegazione accettabile

per giustificare il fenomeno: i dispositivi Mac non sono

particolarmente economici, eppure anche gli utenti di OS X

versano più dei loro corrispettivi su Windows. In realtà, ci

sono due ragioni: prima di tutto, Linux non è la piattaforma

per giochi più di tendenza, così i suoi utenti sono ben

contenti di pagare qualcosa in più per ottenere giochi

di qualità per il loro sistema preferito; secondo, gli utenti

di Linux hanno una maggiore sensibilità per i progetti che

prevedono libertà di scelta e sforzi ripartiti tra la comunità.

LINUX PRO 127 19

Page 22: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 22/100

Humble Indie Bundle

20  LINUX PRO 127

S

e già da qualche tempo vi divertite a giocare

usando un PC con Linux, è molto probabile

che vi siate imbattuti in Wolfire Games.Questa compagnia non può vantare tra i suoi

prodotti molti giochi che hanno scalato

le classifiche, ma dal 2001 ha rilasciato

una manciata di giochi, come il notevole Lugaru,

un gioco di combattimento in 3D con un coniglio

antropomorfo protagonista. Jeff Rosen, presidente

di Wolfire, impressionato dai pacchetti di giochi

indipendenti resi disponibili su Steam, ha deciso

a un certo punto di testare egli stesso il mercato.

L’idea che gli utenti potessero pagare la somma

desiderata gli venne dall’apprezzatissimo

World of Goo, con il quale, al primo

anniversario della sua uscita, fu condotto

l’esperimento “stabilite voi il prezzo”. Come molti

altri giochi indie, World of Goo non poteva

contare sul supporto di un marketing dal budget

gigantesco, così il suo successo si basò

essenzialmente sul passaparola in Internet.

Questo ispirò i quattro che componevano

l’intero team di Wolfire, che si dedicarono

poi all’organizzazione del primo Bundle.

Il successo fu tale che venne istituita

una compagnia esclusivamente attorno

a questo progetto, la Humble Bundle Inc.

Qui di seguito trovate una chiacchierata

con Jeff, per saperne di più.

Linux Pro Siete rimasti stupiti dal successo

iniziale? Che insegnamenti ne avete tratto?

 Jeff Rosen Saremmo stati estasiati con soli

100.000 dollari. Restammo letteralmente

Chi c’è dietro a tutto questo?

a bocca aperta quando raggiungemmo

1 milione e 270.000 dollari.

LXP Come vengono scelti i giochi

da includere nei Bundle? Quali sono

i requisiti minimi che devono avere?

 JR Essenzialmente ci chiediamo: i giocatori

li troveranno eccitanti? Questa è la domanda

più importante. Vogliamo che i nostri clientisiano felici del contenuto del loro pacchetto.

LXP Come avviene l’adattamento a Linux?

Chiedete allo sviluppatore originale di farlo

o disponete di un team apposito?

 JR Una combinazione delle due cose. Ora

abbiamo a disposizione un team specifico

a questo scopo: è composto da un solo uomo,

Edward Rudd, che di recente abbiamo assunto

a tempo pieno. Come consulente part-time,

ha gestito da solo la portabilità di circa 17 giochi

compresi nei Bundle rilasciati finora. Adesso

è un membro importante del team di gestione,e sono sicuro che si guadagnerà una citazione

nel libro dei record di Linux. Qualche volta gli

sviluppatori usano un motore multipiattaforma

come Unity, che dà loro la possibilità di costruire

facilmente versioni native per Linux. Qualche

altra volta, sviluppatori superstar programmano

direttamente per noi la versione per Linux,

cosa fantastica, perché in questo modo

possiamo presentarli quali istruttori

di qualche altro bravo sviluppatore Linux.

LXP Uno dei giochi compresi nel Bundle V

faceva uso di WINE/CrossOver, che non

sembra aver funzionato troppo bene.Avete intenzione di usare ancora questa

metodologia in futuro?

 JR Non voglio rigettarlo al 100%, ma posso

dire che al momento non abbiamo alcuna

intenzione di usare WINE prossimamente.

In teoria, se l’esperienza di WINE si rivelasse

positiva, cosa impossibile da prevedere ora come

ora, potrei anche ritornare sulle mie decisioni.

LXP I Bundle si stanno allargando a musica

ed ebook. Cos’altro c’è in programma

per il futuro? Film, forse?

 JR Siamo veramente elettrizzati da Android.

Abbiamo esordito con un bel numero di giochiin quattro bundle dedicati a questo sistema

operativo. Prevediamo di averne molti di più.

Combattimentie divertimento

con il conigliodi Lugaru, unodei giochi piùfamosi dellaWolfire Games

Signal to Noise, di Neil Gaiman, è stato

uno dei libri più venduti dell’HumbleeBook Bundle

Oltre ai giochi

Come già menzionato, Humble Bundle Inc. ha iniziato

a esplorare campi d’azione che vanno al di là di

quello proprio e ben conosciuto, offrendo tipi diversi

di media oltre ai giochi. Dopotutto, i videogiochi

possono essere anche descritti come una forma

d’arte, così perché non applicare il concetto di Bundle

anche ad altre forme di contenuto? Esiste, là fuori,

una grande comunità formata da artisti indipendenti,

musicisti e scrittori, con scarsissime possibilità

di promuovere i loro lavori. Nel luglio 2012,

è stato rilasciato il primo Humble Music Bundle,

contenente cinque album nei formati MP3 e FLAC e

completamente liberi da DRM. Mentre i pezzi musicali

spaziavano tra vari generi, alcuni dei compositori

avevano già scritto musiche per i giochi, mantenendo,

in questo modo, una sorta di legame con i Bundle

originali. Qualche mese più tardi, in ottobre, il primo

Humble eBook Bundle è arrivato completo di sei libri

(e qualche extra per chi ha versato una somma

maggiore), raccogliendo la cifra totale di 1 .203.094

dollari, raggiungendo così i guadagni relativi ai bundle

di giochi più popolari. Il Music Bundle, d’altro canto,

non si è comportato molto peggio, arrivando

a raccogliere la rispettabilissima cifra di 407.563dollari nelle due settimane in cui è rimasto in vendita.

Page 23: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 23/100

Humble Indie Bundle

LINUX PRO 127 21

Cinque tra i migliori

Braid è così un bel

gioco che sarete

contenti soltanto

di guardare qualcunaltro giocarci

La quantità di dettagli

presente in questi

ambienti

completamente

disegnati a mano è

davvero

impressionante

Alcune punte di diamante sono state incluse negli Humble Indie Bundle.Ecco cinque giochi selezionati tra i migliori

Questa bella avventura “punta e clicca” di origine cecoslovacca è stata, in realtà,rilasciata nel 2009 ma solo ora ha cominciato ad avere successo sui dispositivimobili e sulle console di gioco. G ioco estremamente visuale, lascia pochissimospazio al testo. È possibile, comunque, ottenere degli aiuti se si rimane bloccati,anche se questi vengono forniti sottoforma di diagrammi. È stato definito comeil probabile miglior gioco di avventura di questo secolo. Potrete scaricarela versione per Linux al prezzo di 10 dollari da www.machinarium.net .

Può anche avere il nome più stupido dopo “GIMP” e avere l’aspetto ridicolo di unademo messa insieme da un dodicenne con GFA Basic su un Atari ST, ma, ragazzi,VVVVV è davvero un bel gioco. Alla fine, si tratta di un semplice videogamecon lo schermo che scorre mentre si passa da una piattaforma all’altra, ma conqualcosa in più a renderlo interessante: è possibile alterare l’effetto della gravità.Per complicare le cose, non è possibile sa ltare, così l’unico modo per superaregli ostacoli nei vari livelli è tramite acrobazie antigravità. Si merita il voto di 8 su 10.Potrete trovarlo al prezzo di 4,99 dollari su www.thelettervsixtim.es.

Super Meat Boy è un gioco difficile. Non difficile come Super Mario Bros nelmondo 8-1 e nemmeno difficile come Thunderforce IV. Qui la difficoltà di gioco

viene portata a un livello del tutto nuovo ma, nello stesso tempo, con alcuni tocchidi vera e propria magia che fanno in modo che giocarci non risulti frustrante. Il suosistema di controllo è incredibilmente sensibile e i livelli sono relativamente corti,così non è un problema doverli rifare. È confusionario, pazzo e merita un bel 9su 10. Visitate www.supermeatboy.com per dettagli più “sanguinosi”.

Se un giorno qualcuno avesse detto che un gioco basato sulla chimica avrebberaggiunto il voto di 10 su 10, come minimo sarebbe stato preso per visionario.

Peccato, perché questo è successo davvero. In SpaceChem dovrete crearecomposti chimici sistemando degli atomi in entrata e quindi organizzandoattentamente i cicli dei reattori. È come essere un programmatore, ma cona disposizione rappresentazioni grafiche di operazioni logiche anziché lineedi codice. Un vero affare a 10 dollari (www.spacechemthegame.com).

Questo mix astuto tra elementi di puzzle e gioco con piattaforme vi colpiràimmediatamente. È bello, dettagliato, accattivante e, mentre i suoi puzzle ogni tantovi sembreranno impossibili da capire, il gioco ha davvero un bel ritmo. Il tempoqui gioca un ruolo importante: potrete manipolarlo per tornare agli ambientiprecedenti, per esempio, e addirittura in un livello il tempo scorrerà all’indietro.Può sembrare bizzarro, ma Braid è un gioco fondamentale che dovreteassolutamente aggiungere alla vostra collezione. Non è a buon mercato(20 dollari su www.braid-game.com), ma se vi interessa supportaregli sviluppatori indipendenti, ogni centesimo sarà ben speso.

1  Machinarium

Non lasciatevi

ingannare dalla

grafica stile Manic

Miner: la giocabilità

è fenomenale!

Le seghe circolari

sono sempre

divertenti. Buona

fortuna per quando

sarete alla prese conquesto bel gruppetto

Giocare con gli atomi

nel comfort della

 vostra casa, senza

i rischi e i fastidi

di quanto successoa Three Mile Islands

3 Super Meat Boy

5  Braid

2  VVVVV 

4  SpaceChem

Page 24: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 24/100

CubieBoard

Prodotta in China a Shenzhen (ottimo peresportare via Hong Kong, che dista solopochi chilometri) e con un hardware di tuttorispetto, la CubieBoard  (CB per gli amici)

è la protagonista di questo articolo nel qualeprovvederemo ad analizzarla approfonditamenteper mostrarvene le potenzialità, confrontandolacon qualcosa che conosciamo bene: la Raspberry Pi.

PanoramicaIl SoC (System on Chip) A10 contiene la CPUclasse ARMv7, il massimo che si può pretenderedall’architettura ARM a 32 bit, la cui velocità di clockdi 1GHz  – 1.008 MHz, per chi ama la precisione– è in grado di soddisfare le necessità di ogni ufficioe di chi usa videogiochi non troppo esigenti in fattodi elaborazione numerica: ad ogni modo, si può

tranquillamente aumentare la frequenza difunzionamento di un 15-20% per dare un po’ più disprint alla scheda senza che tale modifica pregiudichiin alcun modo stabilità e funzionamento del sistema.Anche se eseguiremo tutte le prove con la velocitàstandard, riportiamo che la frequenza massimaimpostabile è 1.488 MHz, ma in tal caso è necessarioun dissipatore passivo da incollarsi al SoC: poichéquest’ultimo è implementato con una vecchia geometria a 55nm, anticipiamo già che le versionia 28nm permetteranno frequenze di classe “2.5 GHz”mantenendo o addirittura riducendo i consumi.Non abbiamo nulla da obiettare sulla memoria volatile:un Giga di RAM mette tranquillità anche ai più timorosiche pensano – sbagliando – che con meno siaimpossibile usare un PC. È quasi imbarazzantela quantità dei piedini GPIO: 96 linee disponibili,

Connettoreper

microSD

Connettorealimentazione 

Tastoreset

UscitaHDMI

Connettori SATA(connettore nero per

dati, connettore biancoper alimentazione)Ricevitore

 LED ainfrarossi Circuito di

alimentazione 

Due porteUSB

Chip Flash 4G(non visibile) Porta seriale

di debug

SOC ALLWINNER 

Bus di espansione 

RAM 

Ingressoaudio (uscitaaudio sul latonon visibile)

Porta USBdi gestione 

PortaEthernet10/100

Busdi espansione 

22  LINUX PRO 127

Roberto Premoli

Divide il suo tempotra la scritturadi articoli tecnicie la programmazioneembedded su ARM.Chi volesse contattarlo

può scrivergliall’indirizzo roberto.

[email protected] .

L’autore

Una scheda potente come un PC ma piccola come un telecomando!

SemplicementeCUBIEBOARD

Page 25: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 25/100

CubieBoard

1 La CubieBoard, piccola ma potente

alcune delle quali già predisposte per essere usarecome linee RS232/SPI/I2C... insomma, le classichelinee seriali presenti ormai su tutti i chip basati suARM e che ormai si danno per scontate. Ci teniamoa dire che otto sono le UART (RS232) disponibili,quindi la scheda può essere usata come “centro

stella” di una serie di apparati pilotati in serialeper poi remotizzare i dati di lavoro e di controllovia Ethernet. La CubieBoard dispone di 4 foripassanti, quindi nessun problema di instabilitào perplessità sul “come faccio a fissarla?”. Unodei tanti fiori all’occhiello è la porta SATA chepermette la connessione di un normale disco rigido,trasformando di fatto la CB in un NAS veloce (nientevincoli prestazionali dovuti alla USB) ed economico:è vero, si può connettere solo un disco, ma vistoormai che si parla sempre più spesso di unitàdi “classe Tera”, ci sapremo accontentare. Si notiche nel caso di dischi rigidi per portatili (quellipiccoletti da due pollici e mezzo), la scheda

può alimentarlo tramite un connettore a bordo,ma in tal caso la scheda stessa dovrà riceverealmeno 1 Ampere di corrente per poter supportarele esigenze energetiche del disco (noi abbiamo usatoun alimentatore da 2A per andare sul sicuro). Utileanche l’ingresso audio, necessario nel caso si vogliausare la scheda come registratore o si debbanomanipolare sorgenti sonore. Qualcuno potrebbechiedersi il perché di una porta a infrarossi, un tipodi connessione che dopo un fuoco di pagl ia a cavallodegli anni 2000, non ha mai avuto il successo speratodai suoi progettisti ed è sparita da portatili, stampantie cellulari: beh, se pianificate di usare la scheda perattività di Domotica (gestione luci, videoregistrazione,

ecc.) e un normale telecomando universale da 4,99 € per controllarla, ecco che la porta a infrarossi nonsolo è utile ma è fondamentale. Ci piace moltola presenza a bordo di quattro Gigabyte di memoriaFlash usabile come “disco fisso”: infatti in tale spaziosi possono posizionare il sistema operativo e gliapplicativi con la certezza di avere ancora spazioper i dati utente. Chi necessita di maggiore spaziopuò usare una memoria SD opzionale che è la primaunità dalla quale il sistema tenta di fare il boot;in assenza di questa, partirà la Flash: una flessibilitàdi gestione a tutto vantaggio dell’utente finale. L’uscitavideo è la ormai standard HDMI: moderna e pocoingombrante, è una scelta obbligata su hardware così

miniaturizzato. Il SoC mette a disposizione quattroingressi analogici a 10 bit di risoluzione, rendendodi fatto la CB pronta out of the box  per essere unregistratore di dati (temperatura, umidità, pressione,ecc.) senza dipendere da troppi circuiti aggiuntivi. Daultimo il costo per l’utente finale: esso è veramenteaggressivo in quanto riesce a stare sotto la sotto lasoglia psicologica dei 50 dollari, visto che si può averela scheda per 49 dollari, cioè circa 38 Euro.

Scheda “super”? Merito dell’A10No, non ci riferiamo a questo A10 (http://

it.wikipedia.org/wiki/Fairchild-Republic_A-10_ 

Thunderbolt_II), ma al SoC prodotto dalla

ALLWINNER Technology CO, che racchiude nellostesso integrato una CPU ARM Cortex-A8 (ARMv7)e una GPU Mali-400 che gestisce monitor con una

risoluzione massima di 1920x1080 pixel a 60 Hzdi refresh, cosa che permette di soddisfare anche ilpalato più fine in ambito di grafica. Il chip integra unaparte dedicata alla decodifica hardware H264, quindinessun problema per filmati in tale formato. Inoltreil SoC dispone a bordo dei controller di RAM e Flash,

un gestore di tastiera (fino a 64 tasti), supporta duevideocamere, un touchpanel, PWM e molto altro...Fa un po’ impressione che tutto questo sia racchiusoin un quadratino grande quanto un’unghia! Ad ognimodo, meglio cercare di abituarcisi velocemente

LINUX PRO 127 23

Raspberry Pi vs CubieBoardSe il destino dei buoni maestri è quello di esseresuperato dagli allievi, allora la Raspberry Piè stata buonissima maestra. È solo unacoincidenza, ma sembra quasi che i progettisti

della CubieBoard abbiamo fatto tesoro del

nostro articolo su Linux Pro 116, correggendola lista dei punti deboli e soddisfacendo larichiesta di miglioramenti che avevamo elencatoper la Raspberry Pi. Vediamo qui di seguito

un confronto schematico tra le due schede.

  Raspberry Pi CubieBoard

Core ARMv6 ARMv7  Clock 700 MHz 1000 MHz  RAM installata 256M (512 dalla rev2) 1024  Bus GPIO (n° pin) 17 96  Dimensioni scheda(cm) 8,6 x 5,4 10 x 6  Fori di fissaggio 0 (2 dalla rev2) 4  Porta SATA No Sì, una  Ingresso audio (Line in) No Sì  Porta Infrarossi No Sì, una  Memoria flash No Sì, 4 GB  Uscita VGA No tramite GPIO  Ingressi analogici No Sì, 4  Uscita TV Sì tramite GPIO

  Supporto webcam Sì tramite GPIO  Prezzo (in dollari) 35 49

Dal confronto non ci sono dubbi sullamanifesta superiorità della CB che peròancora non può contare sulla vastacomunità di supporto di cui gode

la Raspberry. Possiamo aspettare ma ancheagire in prima persona per migliorarela situazione: qualche volontarioper creare il sito www.cubieboard.it ?

Page 26: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 26/100

CubieBoard

a queste meraviglie perché il futuro dell’elettronica

è sempre più “microscopico” e “tutto in uno”.

Da questi continui rimpicciolimenti dell’elettronica

ne deriva che per realizzare un sistema potente

il “trucco” adottato dai progettisti del prodotto

è semplice: basta scegliere un SoC già pronto che

soddisfi le proprie esigenze e contornarlo del poco

hardware necessario per ottenere la scheda finale.

La prova è che sulla scheda troviamo, oltre all’A10,

solo altri 5 integrati: due chip di RAM, il chip di rete,la Compact Flash e il chip dedicato all’alimentazione.

Nella famiglia A1x esiste anche una versione A13

più economica (senza porta SATA e HDMI) dedicata

ai tablet, mentre la versione superiore – la A15

– integra una CPU con 4 core. Per quanto concerne

il sistema operativo, le maggiori distro hanno già

(Debian, Arch) o stanno preparando (Suse, Fedora)

versioni dedicate per ARM, per cui anche sul fronte

software non resteremo a secco dal punto di vista

della disponibilità di applicativi. Stante queste notizie,

possiamo tranquillamente affermare che il prossimo

portatile di noi pinguini al 100% non potrà essere

altri che un sistema equipaggiato con uno di questi

SoC: piccolo, economico, potente, a bassi consumienergetici e senza necessità di rumorose ventole

di raffreddamento. Se l’hardware si diffonderà

a sufficienza, chi realizza software  blasonato  dovrà,

volente o nolente, realizzarne una versione anche

per Linux su ARM altrimenti... beh, le alternative

realizzate con Software Libero ci sono e sono ormai

competitive con il software proprietario in quasi

tutti i campi applicativi: se non lavorate con AutoCAD

o altro software di nicchia per otto ore al giorno,

potete subito passare a GNU/Linux su ARM!

 

Punti deboli? Nessuno, anzi pochiForse “punti deboli” è una definizione esagerata,

diciamo che ci sono delle cose che avremmo graditoe che invece sono assenti: per esempio altre due

porte USB, visto che una volta connesse tastiera

e mouse non restano porte libere per altro (la tipica

chiavetta di memoria e/o la scheda di rete senza fili

USB). Ovviamente si può usare il solito replicatore

di porte USB, ma visto che la nostra scrivania

comincia a essere occupata da strati di periferiche,

ecco che meno fili e scatolette ci sono in giro

e meglio è. Ci sarebbe piaciuto molto trovare

a bordo anche un chip wireless, allo scopo di rendere

la scheda sempre più completa e indipendente da

accessori esterni nel caso di necessità di connessioni

senza fili. Visto che stiamo sognando, anche una

seconda porta Ethernet (che ci avrebbe permessodi usare la scheda in funzione di firewall/router/ecc.)

non ci sarebbe stata male. Certo si può usare

un convertitore USB/Ethernet, che però da quella

impressione di “artigianalità” che in campo elettronico

non sempre è ben vista. Speriamo che i progettisti

leggano Linux Pro e che integrino i nostri desideri

nella prossima versione della CubieBoard, senza

ovviamente dimenticare di passare a connessioni di

rete superiori alla classica da 100 Mb/s (che sempre

più spesso appare come un “collo di bottiglia” se

comparata alla sorella maggiore da 1 Gb/s). Va

comunque detto che 49 dollari per tutta questa roba

è veramente un prezzo aggressivo e aggiungere altro

hardware senza aumentare il costo finale è – almomento in cui scriviamo – oggettivamente molto

difficile. Per fortuna in campo informatico quello che

24  LINUX PRO 127

2 Il Mali-400 si occupa egregiamente della grafica

La terza USB a costo zero

Abbiamo detto che la CB ha solo due porte USB,

ma non è del tutt o esatto: parlando telematicamente con

altri appassionati, è saltato fuori che mettendo mano ai file

di configurazione della scheda è possibile convertire

la miniUSB dalla modalità kernel debug mode , (che è usataper attività di upgrade firmware), in una vera e propria porta

USB tradizionale, quindi usabile per tastiere, mouse o altro.

Il file da editare si chiama script.bin, i nostri lettori

smanettoni sono avvisati e si potranno sbizzarrire!

La porta USB convertibile

Page 27: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 27/100

CubieBoard

oggi costa 100 tra sei mesi costerà 50, per cui bastaaspettare. Se però le precedenti mancanze possonoessere perdonate come peccati veniali, completiamoperò questo paragrafo sottolineando una cosa che

proprio non ci piace: come la Raspberry, anche la CBha i connettori a “raggiera”, cioè distribuiti su tre lati.In questo modo si vanifica il fatto che la schedasia piccola perché lo spazio risparmiato in circuitostampato è occupato da cavi, cavini e cavetti  chespuntano in tre direzioni. Speriamo che nelle futureCubieBoard le porte USB saranno posizionatesu uno dei lati corti, in modo da impegnare spaziosolo “per il lungo”, rendendo così la scheda più snellae meno ingombrante. Ovviamente in un’ottica salva

 spazio, l’optimum sarebbe avere i connettori tuttida un lato solo, per ridurre al minimo indispensabilegli ingombri: noi abbiamo già mandato i nostrisuggerimenti a [email protected], cosa

che potete fare anche voi.

Scheda ok, sito koLa scheda sa il fatto suo, ma il sito www.cubieboard.org , pur se esteticamente gradevole,è – al momento in cui scriviamo – carentedi informazioni. I progettisti hanno curato moltodi più la scheda che non le “pubbliche relazioni”ad essa associate. Poco male, alla fine dei contile informazioni che ci sono possono bastare e, cometutte le volte che si parla di un progetto legatoa GNU/Linux, si tratta solo di aspettare perchési formi spontaneamente una comunità a supporto sucui fare affidamento. Molte informazioni tecniche sono

reperibili sul sito associato http://linux-sunxi.org/FirstSteps . Inoltre noi abbiamo avuto alcune drittedomandando in IRC: server Freenode, canale#cubieboard. In Rete abbiamo trovato una comunità– piccola ma vivace – che oltre a dare supporto inchat sta espandendo e traducendo nelle varie linguenazionali le pagine del wiki dedicate alla CubieBoard.

Arriva la schedaArrivataci dopo 19 giorni dalla spedizione, oltre allascheda vera e propria la scatola contiene un cavoSATA e un cavetto di alimentazione collegabile a unanormale USB del PC. La scheda arriva già con Linuxpreinstallato sulla Flash: si toglie dalla scatola,

si connettono le periferiche, si dà correntee in pochi secondi siamo dentro. Abbiamoa disposizione solo la riga di comando, che è più che

sufficiente per iniziare. Purtroppo abbiamo dovutoprocurarci un convertitore seriale/USB per poterciconnettere alla console di debug della scheda,in quanto l’uscita HDMI sembrava morta: abbiamo

poi scoperto che a causa del driver video nonparticolarmente intelligente, la risoluzione 1440x900del nostro monitor di prova era una di quelle nonsupportate. Abbiamo fatto presente la cosa sul canalechat del progetto con la speranza di un prontorimedio da parte dei gestori del driver. Tramitela porta mini-USB abbiamo eseguito l’aggiornamento(non obbligatorio ma sempre ben accetto)del firmware. Notate che per “firmware” intendiamola versione di Linux caricata sulla Flash da 4 GB.

Come installare una distroÈ possibile crearsi la propria installazione seguendole istruzioni presenti in http://linux-sunxi.org/

FirstSteps , ma sappiamo che questo può bloccarei pinguini più timidi. Non per questo ci si devescoraggiare, perché là dove mancano le capacità o lavoglia di fare ecco che viene in soccorso la pazienza:come in tutti i progetti GNU/Linux basta aspettaree qualcuno farà il lavoro al posto vostro. Ci auguriamoquindi che a breve compariranno in Rete varieimmagini sulla stessa falsariga tracciata mesi fa dallacomunità fiorita intorno alla Raspberry. Per quanto

LINUX PRO 127 25

3 Il sito Web del progetto

4 La scheda e gli accessori

CubieBoard: potenza solo quando serveGrazie alla possibilità di modulare lafrequenza di funzionamento a ben 50velocità differenti (da 30 MHz fino a 1488MHz) ecco che diventa possibile scegliere il

clock che meglio si adatta alle nostreesigenze, ottimizzando così il rapportoprestazioni/consumi. Si desidera usare la CBcome un controllore embedded alimentatoa batteria? Impostare 30 MHz fissi servirà amassimizzare la durata delle pile. Abbiamoimplementato un piccolo NAS? Siccome ilcollo di bottiglia è la velocità della rete,imposteremo la velocità minima necessaria

per saturare i 100 Mb/s. Vogliamo un PCcon buone prestazioni ma solo quandoserve? Impostiamo una frequenza variabileda 60 MHz a 1000 MHz, lasciando la

possibilità al sistema operativo di “scalare” infunzione delle necessità. Serve unamacchina reattiva? Impostiamo unafrequenza fissa, per esempio 1200 MHz,mentre per la versione no-lim it  a 1.48 GHzserve un piccolo dissipatore passivo fissatosulla CPU. Le istruzioni su come modulare lafrequenza del quarzo sono reperibili pressohttp://linux-sunxi.org/Cpufreq.

Tabella 1

  Scheda Clock (MHz) Pass/s Pass/s/MHz

Raspberry Pi  700 72 1.03

  CubieBoard  1008 180 1.78  Pentium-M  1700 170 1.00

Page 28: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 28/100

CubieBoard

ci riguarda, ci siamo dotati di una vecchia microSD da2 GB sulla quale abbiamo installato Linaro, una distro

basata su Ubuntu. Lo scopo è ovviamente quello

di fare qualche prova in quanto ci interessa molto

saggiare i muscoli  del sistema, quindi mettiamo subito

sotto torchio la potenza della scheda con test classici:

trasferimento massivo per testare I/O

ed elaborazione numerica per saggiare

le capacità di calcolo della CPU.

Prove superate!Partiamo con un file da 400 MB creato in /dev/shm;

in questo modo non avremo vincoli di I/O dellamemoria Flash in modo da testate le prestazioni

del blocco “SoC-Rete”. Il file è trasferito tramite cavo

Ethernet incrociato connesso a un robusto desktop

con porta da 1 Gb/s e con abbastanza potenza

elaborativa da non essere esso stesso un freno

alle prestazioni della CB. Trasferendo il file usando

netcat  vediamo l’ottima velocità di 9.9 MB/s, quindi

è chiaro che la CB regge lo sforzo in quanto satura

in pratica la banda disponibile della porta a 100 Mb/s,

che diventa quindi essa stessa un vincolo per velocità

più elevate: speriamo che nel prossimo SoC

implementino una scheda di rete di classe Gigabit.

Viceversa, usando il protocollo SSH ci si scontra

con la cifratura che, assorbendo potenza di calcolo,abbassa la velocità a 8,2 MB/s, che resta comunque

una valore più che accettabile. Passando

all’elaborazione numerica, abbiamo scaricato

i sorgenti di aircrack-ng 1.1, compilato ed eseguito

lo stesso test sulle tre piattaforme elencate nella

Tabella 1 (nella pagina precedente). Come raffronto

abbiamo usato un portatile che, sulla carta, ha due

vantaggi non indifferenti, cioè la disponibilità delle

istruzioni SSE2 e una superiore velocità di clock. Ciò

nonostante il Pentium-M è sconfitto dal Cortex-A8

presente sulla CB. Guardando al rapporto tra

password al secondo e velocità di clock, vediamo che

esso conferma come gli ARM siano delle buone unità

elaborative e tale giudizio migliora ulteriormente se sitengono in considerazione i loro limitati assorbimenti

energetici. Sia chiaro che i pochi test effettuati non

sono esaustivi, ma quanto meno danno un’idea delle

capacità dell’hardware in gioco. L’interfaccia grafica

presente su Linaro è LXDE e la quantità di applicativi

26  LINUX PRO 127

6 LibreOffice e Chromium al lavoro

L’ARM Cortex-A8

All’interno dell’A10 batte una CPU

Cortex-A8: essendo quest’ultimo il pezzo

di silicio che tiene in piedi tutta la baracca ,

vogliamo spendere qualche parola in più su

di esso. Ricordiamo che si tratta di ARMv7,quindi top di gamma per quanto riguarda

i processori a 32 bit (stiamo sempre parlando

di ARM, ok?). Integra NEON, un economico

ma prestante coprocessore matematico

per l’elaborazione vettoriale, cioè consente

operazioni SIMD (Singola Istruzione su Dati

Multipli). Il coprocessore numerico VFPv3

ha ben 32 registri dedicati ai calcoli in

virgola mobile quindi nessun problema per

compressioni/decompressioni, gestione

di calcoli scientifici, ecc. Infine c’è un modulo

hardware dedicato all’ottimizzazione dei

flussi elaborativi scritti in C, Python e Java.

Tra Dati, Istruzioni e di Secondo L ivello, la

quantità totale di cache – 320K – è ridicola

se paragonata a quella degli x86 (che o rmainon hanno mai meno di 6-8 MB)

ma è più che sufficiente per una architettura

prestante come ARM. Se pensiamo che

tutto questo viene realizzato con qualche

milione di transistor (a fronte delle centinaia

di milioni di transistor necessari per una

tipica CPU x86) si capisce bene quale sia

il grado di efficienza di questa architettura,

senza contare il risparmio economico

al momento dell’acquisto e ai risibili consumi

energetici, ulteriore fonte di non-spesa

durante la vita operativa dell’apparato.

Occorre tenere in considerazione il fatto

che la “bassa” velocità di funzionamento

(1 GHz) non equivale a basse prestazioni.

Infatti sfruttando un trucco architetturale,

per la maggior del tempo vengono eseguitedue istruzioni per colpo di clock, ma a parte

questa ottimizzazione, le istruzioni sono

di per sé corte e veloci: insomma, la filosofia

RISC (che spinge gli ARM) è più efficiente

della filosofia CISC (su cui si basano gli x86,

cioè Intel e AMD). Inizialmente ARM

equipaggiava apparecchiature secondarie

come autoradio, lavatrici, display,

NAS, router, eccetera, poi è diventata

praticamente monopolista su smartphone

e tablet e adesso sta muovendo i primi

passi nel settore delle schede tutto-in-uno:

ci viene spontaneo pensare che da lì

a entrare in PC e server, il passo sarà

breve. Chi ha qualche capello bianco

ha visto l’alba delle CPU x86 e crediamoonestamente che ne vedrà anche

il tramonto a favore degli ARM.

Page 29: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 29/100

CubieBoard

installati di default è molto limitata, ma non abbiamo

avuto problemi a usare il solito apt-get  per installare

software extra, applicativi classici che non possono

mancare su un desktop moderno e che abbiamo usato

per proseguire le prove in ambito PC. Firefox 16 e

Chromium non danno problemi, LibreOffice 3.5.4 è un

po’ lento all’avvio ma poi fila via liscio e anche gli altriapplicativi non risentono particolarmente delle limitate

dimensioni dell’hardware. Invero, abbiamo riscontrato

due fattori negativi, non imputabili alla scheda in

quanto tale: la microSD da noi usata non andava oltre

i 2.5 MB/s in lettura, risultando perciò essere un vincolo

che azzoppa le prestazioni generali. Per migliorare la

velocità della memoria di massa, si consiglia perciò una

scheda almeno di classe 4 (considerato ormai l’entry

level delle microSD) o meglio ancora passare alla

classe 10 che al momento garantisce le migliori

prestazioni di I/O. La seconda problematica riscontrata

è inerente la parte grafica che ogni tanto presentava

poca reattività: tale problema deriva dal fatto che non

abbiamo utilizzato il driver specifico per la GPU dellascheda ma solo il generico framebuffer, con le ovvie

limitazioni prestazionali del caso. Insomma, l’hardware

c’è tutto, al contrario del software che deve essere

ancora messo a punto completamente, ma non c’è da

temere: in pochi mesi la comunità risolverà i problemi.

La scheda ci ha piacevolmente stupiti, l’A10 fa il suo

lavoro e lo fa bene: CubieBoard ha le carte in regola

per stare sulla vostra scrivania, senza se e senza ma.

Chi come noi ha comprato a marzo 2012 la RP

si trova per le mani un prodotto che, in un’ottica

di uso “PC”, è accettabile per attività casalinghe ma

non all’altezza per applicativi pesanti ma considerati

normali dall’utente medio: lo stesso difficilmente

capiterà a chi comprerà nelle prossime settimanela CB, infatti il funzionamento dei due mattoni come

Firefox e LibreOffice la dice lunga sulla longevità

che ha di fronte questo hardware. Ma il progresso

in campo elettronico è come un rullo compressore

che non si ferma: per le prossime versioni

tecnologicamente più evolute già si mormora

di dimensioni del chip e relativi consumi ridotti dell’80%

(ottima notizia per tablet e smartphone) e con

prestazioni superiori a quelle erogabili dal Cortex-A8

(ottima notizia per desktop e portatili). Di sicuro

le schede basate su A10 hanno prestazioni più che

sufficienti, ma verranno presto surclassate da nuove

versioni migliorate. Ad ogni buon conto, non ci si deve

sentire defraudati dal fatto che il proprio hardwareeccezionale oggi sarà domani considerato meno che

mediocre. Ricordiamoci sempre che il miglior tempo

in cui acquistare un apparato informatico è l’adesso del

momento, il quando serve quel determinato oggetto.

Hardware vario, Linux al passoARM Holding, la società che progetta le CPU

omonime, non le produce direttamente

ma dà in licenza ad altre società (Samsung, Texas

Instruments, ecc.) la possibilità di inglobare le CPU

in SoC personalizzati in funzione delle necessità

del cliente. Questa flessibilità implementativa

è a volte controproducente in quanto ogni cliente può

personalizzare troppo il prodotto finale, complicandole cose alla parte software: infatti se le differenze

tra un modello e l’altro sono eccessive, non basta

un kernel generico ma occorre personalizzarlo,compilandolo specificatamente per quel tipo di chip.

Niente di grave, ma sicuramente fastidioso per

i neofiti che si aspettano un kernel  buono per tutto 

così come sono abituati da anni in campo PC. Per

ovviare parzialmente a questo problemi, a partire

da Linux 3.7 è stato aumentato il numero di core

ARM supportati di default: intendiamoci, non

si è ancora raggiunta la facilità tipica degli x86

che ormai non presentano più alcun tipo di problema

per le moderne distro, ma è sicuramente un primo,

incoraggiante passo nella direzione giusta, il cui

obiettivo finale è il raggiungimento della classica

sequenza installa, riavvia, usa, che ben conosciamo

per gli attuali PC. Inoltre – altra chicca – il 3.7 prevedeil supporto agli ARMv8, cioè la versione a 64 bit: un bel

regalo di Natale per tutti noi pinguini! Mandiamo quindi

i nostri auguri ai manutentori del ramo ARM di Linux

e gli diciamo: siamo con voi , ragazzi !

LINUX PRO 127 27

7 Un prototipo di contenitore per la CubieBoard

Cosa non ci piace dei produttori di chip

Spulciando nel sito http://linux-sunxi.org/

CedarX notiamo che come molto spesso

accade (NVIDIA, ATI, ecc.), anche

i produttori dell’Allwinner A10 sono restii

a condividere le specifiche tecniche – anzi,

per dirla giusta, non le condividono e basta

– quindi per usare alcune parti del silicio

ci sono solo due strade: utilizzare i driver

proprietari o ricorrere al faticoso processo

di reverse engignering per realizzare driver

Open Source. Sarebbe bello se la Comunità

facesse sentire la propria voce al produttoreper favorire la “liberazione” della

documentazione tecnica.

Installare una distro tramite un altro OS

Lo sappiamo, non è bello parlare del nemico

su una rivista come questa ma per dovere

di cronaca e per onestà verso i nostri lettori

segnaliamo che esiste una procedura

che permette la creazione della microSD

utilizzando come piattaforma di lavoro

l’endemico sistema proprietario. Il toolè molto flessibile in quanto permette

di scegliere tra una decina di diverse

distribuzioni, questo per favorire la libertà

di scelta dell’utente finale. In attesa

che tale procedura venga portata

anche sul nostro beneamato Pinguino,

al link http://bit.ly/TQWrg2 potrete

trovare tutte le spiegazioni per lavorarecon le Finestre.

Page 30: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 30/100

CubieBoard

Prenotaree aspettareVolete la CubieBoard? Non

è così facile. Grazie ai nostri

ganci  oltre la Grande

Muraglia, noi di Linux Pro

siamo riusciti a entrarefortunosamente in possesso

di uno dei primi 200

prototipi prodotti

artigianalmente, vincendo

una spietata competizione

con i geek di mezzo mondo

che bramavano lo stesso

oggetto. Dalla Nuova

 Zelanda al Cile, dalla

Ungheria al Canada,

gli appassionati di tutto

il pianeta hanno riempito

il forum con la stessa

domanda: “quando possoaverne una?”. Per avviare

la produzione in serie

servono soldi e sul sito

www.indiegogo.com/cubieboard hanno attivato

una raccolta fondi che ha

accumulato 96 mila dollari

in 45 giorni. Quindi piazzate

pure il vostro ordine, ma

siate pronti ad aspettare

due o tre mesi prima

di avere un pezzo. D’altro

canto, qualche settimana

di attesa darà il tempo agliappassionati di migliorare

i driver, quindi non tutto

il male viene per nuocere.

Dopo duecento pezzi

di pre-serie a metà anno,

entro la fine del 2012 sono

state spedite ai fortunati

che le avevano prenotate

per tempo circa un migliaio

di schede: una quantità

ridicola se confrontata

con i numeri di vendita della

Raspberry, ma questa prima

ondata ufficiale di esemplari sarà la miglior pubblicitàpresso il pubblico che secondo chi scrive decuplicherà

le richieste per successivi lotti di produzione,

in un gioco al rilancio che prevedibilmente segnerà

i suoi successi nel corso del 2013.

L’inizio di una nuova eraHackberry, Raspberry, BeagleBoard, CubieBoard...

La cosa veramente rilevante in queste schede basate

su ARM è che esse possono essere viste come

un grimaldello che scardina una situazione

che si era incancrenita negli anni, cioè il binomio

Windows/x86. La previsione di Moore, se da un lato

assicurava miglioramenti prestazionali, dall’altro

faceva intravedere l’abbattimento dei prezzi,cosa che si è – anche se con ritardo – verificata.

Il videogiocatore hardcore con un sistema i7,

Non solo PCAbbiamo visto che la CubieBoard ha tutte le carte

in regola per essere un buon sostituto dei normali

desktop, ma le sue peculiarità non si esauriscono

certo qui. Come inizialmente accennato, un grande

potenziale è racchiuso nel bus di espansione GPIO

(i due “pettini” laterali di pin) che permettono

la gestione di decine di linee di I/O programmabili

in linguaggi ad alto livello come Python, C o con script

Bash. Ai link http://linux-sunxi.org/GPIO e http://bit.ly/TSdpE2 potete trovare semplici istruzioni

con le quali è possibile accendere e spegnere i piedini

del bus, cioè quel tipo di comandi che rappresentano

i mattoni fondamentali  con cui costruire l’interazione

della scheda con il mondo esterno. Si tratta di esempididattici, che possono essere presi come esempio

ed espansi fino a coprire ogni esigenza del pubblico.

28  LINUX PRO 127

Intervista al progettista

Linux Pro Parliamo con il progettista della scheda: cosa ci puoi dire di te?

Tom Cubie Sono cinese, ma uso lo pseudonimo di Tom Cubie (n.d.a: tra i cinesi che hanno

relazioni commerciali con l’Occidente è pratica comune adottare dei nomi di comodo

facilmente pronunciabili in inglese). Sono co-fondatore della Cubietech Limited, la ditta

che produce la CubieBoard. Prima ero dipendente della ALLWINNER Tech in qualitàdi Embedded System Engineer e prima ancora ho occupato la posizione di Software

Engineer presso la Imagination Technology.

LXP Cosa ti ha spinto a creare la CubieBoard? Avete preso ispirazione da schede

esistenti, come la nota Raspberry Pi?

TC La ragione principale è favorire la realizzazione di software Open Source. Quando sono

stato assunto dalla ALLWINNER Tech, ho notato che i chip prodotti dalle compagnie cinesi

(Allwinner, Rockchip, ecc.) erano ad alte prestazioni e a basso costo, ma il software che ci

girava sopra non era di buon livello. Ritengo che la via dell’Open Source sia quella migliore

per sviluppare software di elevata qualità e spremere app ieno la potenza dell’hardware. Di

conseguenza ho dato vita a una scheda a basso costo usabile come piattaforma di sviluppo:

mi sono ispirato alla Beaglebone (n.d.a.: un’altra scheda basata sull’A10 ma meno potente

e più costosa, http://en.wikipedia.org/wiki/BeagleBone#BeagleBone ), ma la filosofia

del prezzo r idotto all’osso  e della Condivisione del Sapere è simile a quella della Raspberry.

LXP In Internet molte persone vogliono la CubieBoard, ma la disponibilitàè limitata. Quando sarete in grado di produrre numeri grossi, per esempio

cento o duecentomila pezzi?

TC Siamo una compagnia neonata, non disponiamo di ingenti capitali per fare tutto

quello che vorremmo, ma grazie alla campagna di raccolta fondi istituita tramite Internet,

abbiamo potuto cominciare a fare le cose seriamente. Non siamo ancora in grado

di produrre massivamente, il lotto attualmente (n.d.a.: novembre 2012) in lavorazione

è di 2.000 pezzi. Poi penso che passeremo a lotti da cinquemila, con l’auspicio

di raddoppiare tale numero la volta successiva. Al momento non ci sono segnali

che indichino la necessità di lotti da centomila pezzi.

LXP Noi – gli utenti finali – sentiamo la mancanza di altre due porte USB.

Cosa ci puoi dire su questo argomento? State pianificando una

revisione/miglioramento della scheda? 

TC L’intenzione è di creare una scheda di espansione per dare supporto per la VGA

e rendere disponibile una o più connessioni I2S (N.d.A.: un tipo di bus seriale,

http://en.wikipedia.org/wiki/I2S ) così come ci è stato proposto da molti utenti:il numero delle porte USB non sarà aumentato, ma potranno essere esportate

sulla scheda figlia e da li moltiplicate tramite un classico hub.

LXP Progetti per il futuro? State pianificando una CubieBoard 2.0? Se sì, possiamo

avere qualche anticipazione?

TC Per i futuri modelli, seguiremo lo sviluppo dei SoC Allwinner. Produrremo schede

con 2 e 4 core (usando rispettivamente i SoC A20 e A31). La prossima CubieBoard

sarà basata sull’A20: esso è pin-to-pin compatibile con l’A10 che usiamo attualmente,

per cui l’aggiornamento sarà istantaneo e indolore, in quanto non dovremo riprogettare

il circuito stampato; avremo così in un colpo solo due CPU, due GPU e la rete a 1Gb/s.

LXP Grazie Tom per il tuo tempo e arrivederci alla prossima.

TC Grazie a voi e un saluto ai lettori di Linux Pro.

Page 31: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 31/100

CubieBoard

32 GB di RAM e doppia scheda video 3D, scrolleràle spalle e non si curerà di queste schedine,ma per tutti gli altri gli ARM sono molto appetibili:la potenza bruta fornita dai moderni SoC è sufficienteper la maggior parte delle applicazioni casalinghee da ufficio e queste schedine simil-PC hannofinalmente innescato la corsa verso il bassodei prezzi. Ragionandoci, appare quanto menostrano spendere 500 Euro per un PC ipercarrozzato,affamato di energia e richiedente un sistema operativoa pagamento solo per navigare su Internet o starein chat. Con un decimo di tale cifra si ha un sistema

che ugualmente soddisfa le esigenze dell’utenteFacebook medio, che tra l’altro non si trova piùcostretto a pagare il sistema operativo e gli applicativi,visto che può avere tutto installando una distroGNU/Linux! Gli attuali giganti del mercato elettroniconon possono non tenere conto di questo cambiamentodi rotta, né potranno fermare questa “corsa versoil quasi zero” dei prezzi dell’hardware e dovrannoadeguarsi, rimodulando la loro offerta in un modellodi commercio molto più attento ai costi finali:anche chi realizza applicativi dovrà darsi una svegliatae tornare alla dimenticata pratica di ottimizzareil proprio software elefantiaco del quale, francamente,siamo ormai stanchi. Molta gente se ne è ormai

accorta e si ribella all’idea di continuare a dovercomprare hardware agli steroidi  solo per compensareprogrammi mediocremente realizzati. GNU/Linuxè stato l’inizio, ora le CPU ARM sono il complementoideale per un’accoppiata hardware/softwarepotenzialmente rivoluzionaria. Di tutto questonoi utenti finali possiamo solo rallegrarceneperché vale sempre l’equazione: maggiore of ferta

== maggiore libertà di scelta per il cliente .

ConclusioniÈ noto che quando si “apre” un nuovo frontecommerciale, molti competitori si contendonola clientela (vi ricordate quante marche di schede

video c’erano anni fa?) ma poi la concorrenzaspazza via i meno adatti lasciando sopravviverechi meglio si muove su un mercato altamentecompetitivo come è quello dell’elettronicadi consumo. Ringraziamo l’ormai superatoARMv6 della Raspberry per aver fatto da battistrada,ma ora sono le schede dotate di core ARMv7a – ciclisticamente parlando – tirare il gruppo sul fronte PC-su-schedina. Ragionando in prospettiva,la tecnologia ARM è un asso pigliatutto: è dominantenel settore mobile dove la fa da padrone in cellularie tablet, sta erodendo “verso l’alto” il mercatodei PC partendo dai netbook (all’URL http://bit.

ly/11S2Cnd trovate alcune foto “a cuore aperto”

di netbook cinesi basati su ARM) e infine è alternativa“verso il basso” nel mercato dei microcontrolloridove sta lentamente penetrando grazie alle datate

ma ultra economiche versioni ARMv4 che si fanno fortidella superiore potenza di calcolo e alla flessibilitàdi programmazione. In questo momento la CubieBoardha tutte le carte in regola per essere il nuovo punto

di riferimento a cui guardare nel settore dei PC tipocarta-di-credito, ma aspettiamoci nuovi antagonistia breve e perché no, una possibile Raspberry 2.0dotata di un A10 e con 1 GB di RAM, qualerappresaglia  inglese alla scheda dagli occhi a mandorla.Rallegriamocene perché, tra i tanti litiganti, quelli chegodranno saremo noi, gli utenti finali che potrannoscegliere ciò che meglio soddisferà le nostre esigenze.Se dobbiamo azzardare una previsione, il progressotecnologico sarà tale che tra 18-24 mesi avremoschedine ARM all’insegna del 4: CPU 4-core a 64Bit,GPU 4-core, 4 GB di RAM e 4 porte USB: restandoin tema, speriamo che il prezzo sarà di soli 40 Dollari.In pratica per l’equivalente monetario di una serata

“pizza e cinema” potremo comprare una workstationdalle dimensioni di un pacchetto di fazzolettini di cartae dai consumi vincenti nei confronti del classico PCdesktop. Siamo visionari? Lo dicevano anche di chiparlava di “un PC nel telefono” e sappiamo comeè andata a finire. Aspettiamoci dunque a brevedelle schede ARM dalle prestazioni super. Il futuronon è domani, il futuro è oggi  e noi ci siamo dentro.Le CPU ARM “ad alte prestazioni” se la giocanocon quelle Intel “entry level” ed è nostra convinzioneche più passerà il tempo e più l’ago della bilanciasi sposterà a favore della piattaforma ARM.Ancora pochi mesi e in molti ambiti non ci saràpiù nessuna scusa per continuare a usare una

piattaforma Windows/x86 al posto di Linux/ARM! LXP 

LINUX PRO 127 29

8 Il convertitore USB per connettersi in seriale

Un viaggio lungo un anno

A partire dal numero 116, vi abbiamopresentato la “rivoluzione ARM”: prima conla Raspberry Pi, poi con Aria nel numeroscorso e infine ora con CubieBoard.

In questo terzetto, Cubieboard è in cima a llaclassifica delle prestazioni in quanto usabilecome un buon rimpiazzo delle normaliattività desktop ma che al contempopadroneggia senza problemi attività di I/O.Viceversa Aria è medaglia di bronzo, unsistema Linux/ARM orientato verso attivitàda microcontrollore ma con la classicapotenza e flessibilità di un sistema Linux

a 32 bit. Infine c’è la Raspberry, che puòessere vista come un “compromesso” trai due estremi. Ora che avete una panoramica,potrete scegliere l’hardware che meglio si

adatta alle vostre esigenze. Ad ogni modo,noi non ci fermeremo qui e continueremoa seguire da vicino la continua evoluzionedel Pianeta ARM . Abbiamo coperto questagamma di schede con adeguati a rticolidi presentazione sperando in tal modo diaver soddisfatto tutte le esigenze dei nostrilettori: ma se così non fosse, contattat eciin redazione con le vostre richieste.

Page 32: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 32/100

Quando si parla di Open Source si pensanormalmente al software, eppure sempre piùspesso potete trovare fumetti, musica e persinobirre libere da diritti. In questo modo chi vuolepuò copiare, trasformare e alla fine migliorareil lavoro degli altri senza dover per questopagare cifre che pochi possono permettersi.Fino ad oggi, però, solo in pochi avevanopensato alla possibilità di realizzare un intero

film libero da diritti, uno di questi è BassamKurdali, regista del “corto” Elephants Dream che è stato realizzato nel 2006 con softwareOpen Source e distribuito liberamente, in mododa permettere alle persone di modificarlo comevolevano. Ora Bassam sta lavorando su Tube,un altro film “libero” che si ispira all’Epicadi Gilgamesh. Fantastico!

Linux Pro: Vorremmo iniziarela nostra conversazione parlandodi Elephants Dream, il tuo primocorto Open Source. Sappiamo beneche risale ormai a 7 anni fa ma ci

torna utile per discutere di Blender,www.blender.org. È corretto direche hai realizzato questo filmper dimostrare le potenzialitàdi Blender?Bassam Kurdali: In realtà gli obiettivi eranodifferenti. Certo, uno dei più importantifu dimostrare ciò che era possibile realizzarecon un software Open Source, ma è stato unpo’ più complesso di così, visto che si è trattatodi capire se, e fino a che punto, era possibilespingersi. All’epoca in cui Blender non eraancora software Open Source c’era una speciedi collegamento tra artisti e programmatori.

Lavoravano insieme e potevano vedereimmediatamente se qualcosa non andava.Negli anni successivi la programmazione diventò

più un lavoro di nicchia riservato a geekappassionati, e non era chiaro se si sarebbepotuto realizzare qualcosa di concreto. Questonon solo perché non esistevano esempi di quelloche poteva essere fatto, ma anche perchéil passaggio dalla teoria alla pratica avrebbepotuto non funzionare. Si trattava non solodi dimostrare che un software come Blenderera adatto per realizzare un film, ma anche

che il risultato sarebbe stato soddisfacente.Così la parte di animazione dovette esserecompletamente riscritta per Elephants Dream,insieme al Compositor che prima nemmenoesisteva. Lo stesso Ton Rosendaal, il produttoredel film, realizzò il Compositor a metà film,semplicemente mettendosi alla scrivaniae iniziando a lavorarci per un paio di settimane.

LXP: Da quello che dici sembra cheprima dell’avvento dell’Open Sourceprogrammatori e artisti lavorasseromeglio insieme.BK: È andata esattamente così. In un primomomento Blender era un software proprietarioceduto gratuitamente, un freeware insomma.In breve tempo divenne così popolare da avereforum e siti Web a lui dedicati. Alla fine,e non so nemmeno io bene come sia andata,

c’è stata una cessione da parte della societàdi produzione video Neo Geo (da non confonderecon la software house specializzata in videogiochi)

a NAN (acronimo di Not a Number). Neo Geosi occupava di produzione video mentre NANvoleva entrare nel settore del 3D Web e Mobile,che si pensava avrebbe avuto un enormesuccesso, cosa che in realtà non è stata. Anchese eravamo negli anni ’90 eravamo moltomotivati nel realizzare strumenti 3D, figurateviche il primo programma di animazione 3Dstava in un floppy disk da 3,5’’. Era abbastanza

piccolo da stare sui dispositivi mobili o da essereutilizzato come base per software più complessi.L’idea era quella di usare il core di Blendercome publisher real-time, mantenendo lostrumento di creazione gratuito e mettendoin vendita quello per la distribuzione. In praticase volevi solo renderizzare e riprodurre un filmnon dovevi pagare nulla, ma se volevi riprodurlo

in real-time sul Web allora avrestidovuto pagare una tariffa. All’epocaio avevo a disposizione una dellaprime chiavi di riproduzione Webdi Blender, ma poi nel 2001ci fu l’esplosione della bolla

speculativa delle società Internete tutte le aziende che non avevanoancora realizzato un profitto perseroi loro investitori e fecero bancarotta.

Fu proprio allora che si decise di cercarei fondi che permettessero di trasformareBlender in un software Open Source.

LXP: In modo che potesse sopravvivereanche nel caso che la società che lo avevaprodotto andasse in fallimento?BK: Esattamente. Penso che tutte le successiveesperienze Open Source siano in qualche modocollegate alla vicenda di Blender. Così per

esempio il cortometraggio Elephants Dreamsi pose l’obiettivo di migliorare il core dianimazione di Blender e di realizzare un primo

SU COME È STATO REALIZZATO

“Ton ha scritto il Compositorin due settimane a metàdella produzione”

Vivereil sognoLinux Pro ha avuto un’interessante conversazione con Bassam Kurdali,

uno dei cervelli che stanno dietro a Elephants Dream, uno dei primi cortometraggi Open Source

Intervista

30  LINUX PRO 127

Page 33: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 33/100

Intervista

LINUX PRO 127 31

Page 34: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 34/100

compositore. Il tutto basandosi sui feedback cheio e gli altri artisti avevamo fornito sull’estremalentezza del sistema di animazione e sullamancanza di un sistema di controllo della grafica.Nei moderni sistemi di animazione esiste infatti uncomplesso sistema di controllo della grafica che

indica al programma le relazioni tra quello chesta avvenendo in ogni momento nella scena.Ed è importante essere sicuri che le scenevengano aggiornate nell’ordine esatto, fotogrammadopo fotogramma. Per fare un esempio, se il tuocappello si trova sul tavolo, è chiaro che dipendedal tavolo per la sua posizione. Così se io animo“cappello” e “tavolo”, supponendo che entrambiabbiano una chiave per il loro movimento,e quindi vado su “Aggiorno” e aggiorno primail cappello muovendolo e successivamenteaggiorno il tavolo, è probabile che per unafrazione di secondo vedrò il cappello fluttuarenello spazio. Perciò è indispensabile aggiornare

prima il tavolo e poi il cappello. Questo in praticasignifica che ogni volta che fate un aggiornamentodi una scena, dovrete controllare attentamenteil ciclo delle dipendenze degli oggetti. Blendernon aveva un suo DAG (Direct Acyclic Graph),così doveva continuamente ricalcolare la scenautilizzando la pura “forza bruta”, in modo da averesempre aggiornate le singole dipendenze. Questoperò portava a un framerate decisamente basso,oltre al fatto che c’era un limite al numerodi possibili dipendenze tra gli oggetti chepotevano essere calcolate da Blender. Quindinon era nemmeno possibile impostare degliscenari complessi, che erano invece necessari

per molte animazioni. Per tutti questi motivi,e soprattutto per la novità dell’utilizzo di uncompositore, il corto Elephants Dream rappresentòuna vera rivoluzione nel periodo in cui fu girato.

LXP: Ci sono altri elementi di Blender

che speri di migliorare nel tuo

prossimo progetto, Tube?

BK: Come Urchn (lo studio di cui Bassamè il direttore creativo), non siamo più collegatialla Fondazione Blender, per cui siamo

più interessati al film che non a migliorareparti specifiche di un software.

LXP: Perché Elephants Dream sembra

più che altro un esercizio di stile tecnico?

BK: In un certo senso è così, io tendo sempreall’astrazione in quello che mi piace e amosperimentare ed Elephants Dream nonè nemmeno così estremo rispetto al mio concettodi sperimentazione. C’è poi il fatto che tuttii progetti di Blender hanno delle datedi scadenza estremamente ridotte, noi avevamoa disposizione sei mesi, ma i primi tre sono statidi pre-produzione e quando abbiamo iniziato

non avevamo nemmeno un soggetto,che è praticamente il contrario di quello

che succede di solito: si parte con un soggetto,quindi si pensa al finanziamento, agli interpreti

e infine si passa alla produzione. Nel nostro casoabbiamo pensato prima al finanziamento, quindiagli interpreti e infine al soggetto. Abbiamopassato i primi tre mesi facendo avanti e indietrocon lo sceneggiatore, eseguendo multiplesimulazioni di animazioni e prove di realizzazione.Solo dopo tre mesi ci siamo detti che era oradi cercarci una storia e abbiamo realizzatoun soggetto di 12 pagine ricco di dialoghi.Lo sceneggiatore lavorava per il teatro e nonaveva mai fatto soggetti per il cinema e tanto menoper film animati. E così scrisse un soggetto ricco didialoghi mentre noi preparavamo delle animazioniultra veloci. E naturalmente ci rendemmo subito

conto che avremmo dovuto tagliare gran parte delsoggetto visto che la durata del corto non superavai 20 minuti. Siamo così passati da dodici paginea una e abbiamo tagliato delle scene che per losceneggiatore erano fondamentali, ma che proprionon ci stavano. Naturalmente lo sceneggiatoreci odiò. Io e il produttore Ton, intanto, passavamoil tempo nel suo appartamento che lui amavama che io pensavo fosse miserabile. Io stavoveramente male mentre Ton era super eccitato.Quindi riducemmo il soggetto a una pagina cherisultava più che sufficiente per il nostro corto.E a quel punto iniziammo a lavorare come dei matti.

LXP: Come avete pensato di riuscirea ridurre allo stesso modo un’opera

gigantesca come L’epica di Gilgamesh?

BK: Nessun problema. Abbiamo già lavoratoper anni sulla storia, tagliando e migliorandole parti che non ci convincevano. E comunqueil soggetto era costruito per un film, nonper un cortometraggio, anche se poiabbiamo scelto il cortometraggio per evitare

di imbarcarci in una storia più grande di noi.

LXP: Così un giorno potrebbe diventare

un vero film?

BK: Sarebbe completamente differente da quelloche faremo, c’è chi è riuscito a realizzare un cortononostante fosse partito con l’idea di realizzareun film a lunghezza standard e alla fine si èritrovato con una via di mezzo tra i due. Ma sitratta principalmente di un esercizio di stile, con inpiù il rischio di non riuscire a reggere la maggioredurata. Noi d’altra parte non volevamo nemmenorealizzare un corto che non avesse la ricchezzadel film completo. Così alla fine nel nostro corto

non ci sarà nessun riferimento al film completo,pur avendo gli stessi temi e gli stessi personaggi.

LXP: La vicenda di Gilgamesh è fantastica,

pur essendo vecchia funziona ancora oggi.

BK: Verissimo, uno degli aspetti più interessantiè che è formata da diversi frammenti, di cui partesono conosciuti e parte no, che sono stati scrittida differenti persone in epoche differenti,in lingue differenti e che non sempre c’entranotra loro. È possibile realizzare differenti versionidell’epica e allo stesso tempo rendersi contodi aspetti contraddittori. Si possono ricavareversioni differenti ma coerenti, anchese poi tra di loro sono diversissime vistoche accadono cose diverse. Così, per esempio,in una versione Endiku muore mentrein un'altra passa nel regno sotterraneo.Così mi piace molto l’idea di realizzare

episodi incompatibili tra di loro chesi autosostengono comunque.

LXP: Il progetto Open Source è perfetto.

Elephants Dream permette di scaricare 7 GB

di dati che contengono tutti i file necessari.

Avete saputo di qualcuno che è riuscito

effettivamente a modificarli?

BK: Di qualcuno sì, a questo punto però nonso nemmeno se i file siano ancora sull’FTPche li ha archiviati per diversi anni e chepermetteva di scaricare solo le parti cheinteressavano. Dal mio punto di vista possodire che i file più semplici sono quelli che

hanno offerto più soddisfazioni, in quantonon richiedendo funzioni particolari di Blendernon davano problemi. Così il file dei piccoli uccelli

SU TUBE

“Siamo più interessati a realizzareun buon film piuttosto che a migliorarele funzioni di un software”

Intervista

32  LINUX PRO 127

Page 35: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 35/100

robot funziona ancora oggi perfettamente, lo puoicaricare in una versione recente di Blender e farciquello che vuoi. Invece i due personaggi principali,Prog ed Emo, per funzionare richiedonoparticolari elaborazioni non semplici. Per questocredo che la maggior parte delle persone alla fineutilizzi solo le parti più semplici del progetto.

LXP: Ma questo capita perché Prog ed Emohanno texture più complesse (come capelli

e pelle), mentre i robot sono più semplici?

BK: Sono proprio le caratteristiche dei personaggia complicare le cose. Così per esempioc’è un complesso sistema di controllodella rotazione e nella versione di Blenderche avevamo c’era un bug nel sistema di calcolodei dati, al punto che abbiamo dovuto stimarei valori da inserire in modo da ottenere i risultatisperati. Nonostante questo gli occhi dei nostripersonaggi ruotavano che era una meraviglia.Alcune persone poi fecero dei semplici remix,anche semplicemente per cambiare le scene.

L’esempio di modifica che più mi ha colpitoriguarda una versione stereoscopica in 3Ddi Elephants Dream. Si tratta di un lavoroenorme che richiedeva di modificare tuttii file di produzione, visto che noi avevamogirato in 2D. In più è stato ricompilatoin stereo con risultati ottimi, lo vedemmoun paio di anni fa a una conferenzadi Blender rimanendone sbalorditi.

LXP: Si tratta di quel tipo di finto 3D dove

 vengono sistemati alcuni oggetti in primo

piano e si lasciano gli altri sullo sfondo per

dare l’impressione della tridimensionalità?

BK: Se fosse così semplice potrestisemplicemente usare due videocamereper due diversi tipi di oggetti. Ciascuna di queste

sostituirebbe l’occhio destro e quello sinistroe alla fine basterebbe avere a disposizione dueproiettori per sovrapporre le immagini e un paiodi occhiali 3D per miscelarle. In pratica è moltopiù complesso di così, sia perché noi usiamo deglieffetti 2D sia perché comunque il 3D è finto.Si tratta di un esperimento divertente, ma ci sonodiverse situazioni in cui non funziona. Occorre

lavorare molto sulle impostazioni di Blenderper dare l’effetto della tridimensionalità.C’è veramente molto lavoro da fare perottenere un effetto decente e sono sorpresoche qualcuno abbia deciso di provarci.

LXP: Tutto quello che sappiamo di Blender

è che è un software molto complesso.

Non sarebbe possibile avere a disposizione

una versione semplificata, qualcosa di meno

potente ma di più gestibile?

BK: Avete provato Wings 3D? È un sempliceprogramma di modellazione che fa solamentequello che promette. È molto più semplice

da usare di Blender in quanto non richiededi interagire con un altro programmadi animazione 3D. La mia risposta è cheattualmente non esistono strumenti di animazione3D semplici in grado di fare di tutto. Ce ne sonoalcuni veramente semplici e ben fatti che peròti mettono in grado di fare una sola operazioneal meglio. Così Wings 3D è un ottimo programmadi modellazione 3D Open Source mentreSculpting è un ottimo programma commerciale.Entrambi si focalizzano su un solo obiettivo e perquesto motivo condividono una certa semplicitàche li mette alla portata di chiunque. Blender poisarà sicuramente complesso, ma non più di Maya

o 3D StudioMax. Come difficolta è simile, maè proprio il concetto di utilizzo a essere differente.Spesso chi usa Maya dice che Blender è più

complesso, ma in realtà lo dicono senzaconoscerlo e comunque chi li conosce entrambisa che Maya è più difficile. SketchUp è un altroesempio di applicazione finalizzata a un soloobiettivo e quello che fa lo fa benee semplicemente.

LXP: Ma non si tratta solo delle funzioni

disponibili. Ci capita spesso di sentirepersone che dicono che gli piacciono

le funzioni ma non sopportano l’interfaccia

di un software. GIMP è un esempio e Blender

non è poi così diverso. Penso che riguardi

molto i vecchi utenti che non vogliono

che sia troppo rivoluzionata un’interfaccia

a cui sono comunque abituati.

BK: Sinceramente non mi interessanoi cambiamenti. Negli anni Blender è diventatomolto più user-friendly. Mi capita spessodi ascoltare commenti di nuovi utentiche riconoscono che l’interfaccia è gradevole.Non so quanto sia percezione e quanto realtà,

ma ci sono alcuni aspetti che sono realmentecambiati in meglio. Per esempio la possibilitàdi avere differenti mappature della tastierapreimpostate, così anche un utente Mayaad esempio può scegliere il keymap adattoper il suo software. Le telecamere e i controllidi trasformazione funzionano come con Mayae potrete ritrovarvi sempre in un ambienteconosciuto. E poi bisogna naturalmenteconsiderare che nel 1995 Blender non avevanemmeno i menu ma solo un’interfacciaassolutamente semplice che a distanza di 18 annisembra naturalmente antiquata ma che all’epocaveniva utilizzata normalmente in combinazione

a un numero praticamente infinito di scorciatoieda tastiera. Alla fine a mio parere è impossibilefuggire dal proprio passato. LXP

Intervista

LINUX PRO 127 33

Page 36: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 36/100

34  LINUX PRO 127

Sysadmin

Premiata Amministreria 

Dottor BrownTecniche esoteriche per i sysadmin direttamente

dai recessi più impenetrabili della sala server

A volte mi capita di imparare una parolanuova. Ad esempio coopetizione ,che ho sentito per la prima volta duranteun recente LinuxCon. Un mistodi cooperazione e competizione ,è un esempio di  parola macedonia (in inglese portmanteau word ).Molte di queste parole sono diventaterapidamente di uso comune: pixel, webinar,netiquette, camcoder e innumerevoli altre,ma coopetizione è, almeno per me, ancorasufficientemente nuova da sorprendermi.La coopetizione è quello che muove

Linux, in particolare lo sviluppo di grandiprogetti Open Source come OpenStack  e lo stesso kernel, che attraggonocontributi da numeroso organizzazioni che,in altri settori, competono furiosamentetra di loro. Perché coopetono? (non hoidea del verbo da usare, si accettanosuggerimenti!) Beh, molte aziende hannobisogno di un sistema operativo comebase per i loro prodotti e scrivernee mantenerne uno richiede un immensosforzo. Meglio utilizzare il lavoro di altrie, contribuendo all’impresa, assicurarsiche le funzionalità specifiche di cui hanno

bisogno siano presenti nel codice.Il concetto non riguarda il solo software.Ad esempio Peugeot, Citroen e Toyotahanno condiviso i costi dello sviluppodi alcuni componenti per le loro auto,pur rimanendo altamente competitivi sulmercato. Non si tratta quindi di altruismoo del desiderio di fare qualcosa per il benecomune, ma piuttosto di brutale economia.Nonostante ciò molte aziende mostranochiaramente di avere difficoltàa comprendere il concetto ed è questo,suppongo, che rende nervosa la comunitàdell’Open Source quando, per esempio,

Oracle prende il controllo di applicazionicome OpenOffice e MySQL.

Coopetizione

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.

Come fate le copie di salvataggiodelle vostre macchine?Per un uso personale le soluzioni

semplici, come scrivere un archivio tar dei vostri file più importanti su un discoesterno, possono andare bene.Per un backup di livello enterprise esistono soluzioni centralizzate, comeAmanda, Bacula  e BackupPC .La maggior parte di queste soluzioni,però, non funziona quando si trattadi un guasto hardware, quindi quandoil vostro disco muore occorre reinstallareil sistema operativo prima di ripristinareil contenuto della copia. Mondo Rescue (http://mondorescue.org/) è unasoluzione per questo genere di disastri.Permette di creare un’immagine avviabiledi un disco che comprende parti a vostrascelta del filesystem e che può esserefatta partire su un sistema conun disco appena installato. È disponibileper tutte le maggiori distribuzioni(Fedora, RHEL, openSUSE, SLES,Mandriva, Mageia, Debian, Ubuntue Gentoo) ed è distribuito sotto licenzaGPL. Mondo è in grado di eseguiresalvataggi su nastri, dischi, dischidi rete e o direttamente su unCD/DVD ed è capace di eseguire

Mondo e MindiQuanto vi ci vuole per ripartire dopo il guasto di un disco rigido?

Con Mondo bastano pochi minuti

il backup di numerosi tipi di filesystem(ext2, ext3, ext4, Reiserfs, NTFSe numerosi altri, in pratica tuttii più diffusi) su dischi IDE e SCSI,LVM, RAID hardware e software.È possibile eseguire Mondointerattivamente, inserendoi dati necessari in una serie di schermate,oppure dalla riga di comando.Mondo usa un programma ausiliario,chiamato Mindi, per creare le immaginisu CD. Mindi crea immagini che usanoil vostro kernel con i relativi moduli,librerie e strumenti software, in modoche l’immagine salvata, una voltaavviata, metta a disposizioneun ambiente simile a quellodi cui si è eseguita la copia. Usandoi CD creati con Mindi è possibileripristinare interattivamente i dati,scegliendo quali parti dell’archivioestrarre, oppure ripristinare in unavolta sola tutto il sistema contenutonel CD, partizionando l’hard disk.Questa comoda opzione permetteanche di clonare facilmenteun sistema esistente.

Seguendo i link alla documentazione contenutinella pagina http://mondorescue.org troverete le pagine di manualedi  mondoarchive, mondorestore e mindi .C’è anche un HOWTO molto dettagliato,ma presuppone una buona competenza

nell’uso della riga di comando. Inoltreè disponibile una presentazione (in inglese)all’URL http://bit.ly/1496qyI.

Per saperne di più

La prima schermata di raccolta delleinformazioni che appare quando si lanciaMondo in modalità interattiva

Page 37: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 37/100

LINUX PRO 127 35

Sysadmin

Quindi volete fare l’amministratore di sistema?

Il mese scorso abbiamo visto come gestire la memoriadi massa sui nostri server Linux. Questo mese illustreremole basi della gestione dei pacchetti, cioè esamineremo perlo più i comandi rpm e yum. Tutti gli articoli di questa serie sibasano su CentOS 6.2. Se volete sperimentare quello di cuiparliamo (cosa che vi raccomando caldamente) dovreteinstallare CentOS come ho descritto nella prima parte.Molti dei comandi che incontreremo questo mese generanoparecchio output e non ho lo spazio per riprodurlo tuttoall’interno dell’articolo. Se desiderate esaminarlo in dettagliopotete trovare la trascrizione completa di molti dei comandiall'URL http://bit.ly/WedWrx.

La grande divisione tra le distroLa gestione dei pacchetti è forse l’area in cui vediamole maggiori differenze tra le distribuzioni Linux: la principaleè quella tra quelle che usano lo stile Red Hat per pacchettie strumenti di gestione (che comprende Red Hat, CentOSe Fedora) e quelle che usano strumenti stile Debian(comprende Debian, Ubuntu. Mint e molte altre derivate).Dato che i nostri tutorial si basano su CentOS, mi concentreròunicamente sugli strumenti stile Red Hat. Quindi,se vi interessa imparare a usare gli strumenti stile Debiancome dpkg e apt-get  dovrete rivolgervi altrove.

Cominciamo dall’inizioCos’è esattamente un pacchetto? Beh, sostanzialmentesi tratta di un archivio di file che vengono copiati sul vostrosistema quando lo installate. Tipicamente un pacchettoconterrà un po’ di binari, uno o più file di configurazione,magari qualche libreria di supporto e spesso alcune paginedi manuale e altra documentazione. Un pacchetto contieneinoltre dei metadati , tra cui una breve descrizione delpacchetto stesso, una firma digitale e alcune informazioni sulledipendenze. Su un sistema Red Hat i pacchetti vivono in filecon estensione .rpm. Questi file hanno dei nomi altamentestrutturati. Analizziamo ad esempio il nome aide-0.14-3.el6.

i686.rpm. Il pacchetto si chiama aide e ha numerodi versione 0.14 (scelto da chi ha sviluppato il software).Il numero della versione di build  è 3.el6 (scelto da chi hacreato il pacchetto) ed è stato compilato per essere eseguitosu architettura i686 (cioè per Intel a 32 bit). Un altroesempio: il pacchetto yum-3.2.29-22.el6.centos.noarch.

rpm non è legato a un processore specifico (noarch).Questo perché è scritto in Python, un linguaggio di scriptinginterpretato. Prima di proseguire voglio parlare un po’ didipendenze. Le dipendenze di un pacchetto sono quei pezzidi software che devono essere installati affinché il pacchettosia in grado di funzionare. Esempi comuni di dipendenze sonolibrerie di supporto e strumenti a riga di comando o serviziesterni usati dal pacchetto. Scoprire tutte le dipendenzemancanti può, in alcuni casi, essere piuttosto complicato.Parleremo in seguito in maggior dettaglio dell’argomento.Lo strumento usato per esaminare, installare e aggiornarepacchetti RPM è a sua volta chiamato rpm. In origine eral’acronimo di Red Hat Package Manager . Si tratta di uncomando in grado di fare praticamente tutto, con un saccodi opzioni per la riga di comando. Per dare qualche esempiosignificativo abbiamo bisogno di una fonte di file RPM. Il DVD

CentOS da cui avete eseguito l’installazione (o la suaimmagine ISO se state usando una macchina virtuale)contiene più di 3.000 pacchetti nella directory Packages,quindi useremo quello. Per prima cosa possiamo chiedereil numero di versione di un pacchetto: $ cd /media/CentOS_6.2_Final/Packages $ rpm -qp aide-0.14-3.el6.i686.rpm aide-0.14-3.el6.i686Questo non ci dice molto di più di quanto non sapessimogià, perché, come abbiamo visto prima, il numero di versioneè contenuto all’interno del nome del file del pacchetto.Possiamo invece esaminare la descrizione del pacchetto così: $ rpm -qip aide-0.14-3.el6.i686.rpmSe vi stavate chiedendo cosa diavolo sia aide, il comando

ve lo dirà. Si tratta di uno strumento per la rilevazione delleintrusioni che si basa sui controlli di integrità dei file (pervedere l’output completo del comando date un’occhiataal file sul DVD). Possiamo vedere l’elenco dei file presentinel pacchetto con il seguente comando: $ rpm -qlp aide-0.14-3.el6.i686.rpmNella lista troviamo un solo eseguibile ( /usr/sbin/aide),un file di configurazione ( /etc/aide.conf) e un po’di documentazione, tra cui un paio di pagine di manuale.C’è poi il file /etc/logrotate.d/aide. Semplicementeinserendo questo file nella directory logrotate.d riusciamoa configurare automaticamente logrotate in modo cheesegua la rotazione dei file di registro prodotti da aide.A proposito, i lettori più assidui ricorderanno che qualchemese fa mi ero lamentato del “morbo del punto d”,un malanno che affligge numerosi programmi di sistemaper i quali quello che era sempre stato un unico filedi configurazione (come /etc/logrotate.conf) è diventatoun’intera directory piena di file (in questo caso /etc/

logrotate.d). Beh, qui scopriamo uno dei vantaggi di questascelta. Il file di configurazione aggiuntivo è semplicementeinserito al suo posto. Non dobbiamo perdere tempo constrani script per aggiungere una riga a un file di configurazione.

InterrogazioniRivolgiamo ora la nostra attenzione alla raccolta diinformazioni sui pacchetti già installati. I comandi sono simili,a parte il fatto che non occorre specificare l’opzione p 

Quarta parte della serie di guide che vi trasformerà da utenti inesperti in navigati amministratori

di sistema. Questo mese vi facciamo studiare la gestione dei pacchetti

Compilare i pacchetti

Dato che il software Linux è per la maggior

parte Open Source, si potrebbe essere indotti

a pensare che la cosa giusta da fare sia

installare nuovo software scaricando

e compilando i sorgenti. Siti come

sourceforge.net  ospitano il codice sorgente

di migliaia di applicazioni. Se però siete

un amministratore di sistema di professione

e supervisionate dozzine di server vi

suggerisco di considerare questa come

l’extrema ratio, da usare solo quando

non esistono pacchetti binari precompilati

per il software che intendete installare oppurese avete necessità di usare l’ultimissima

versione a causa di un bug fix  o di una nuova

funzionalità. Perché sono contro l’installazione

dai sorgenti? Perché sposta su di voi,

l’amministratore, la responsabilità di assicurare

che il pacchetto venga compilato

correttamente e che tutte le dipendenze siano

soddisfatte. Gli strumenti standard di gestione

dei pacchetti, poi, non sapranno nulla

di questo nuovo pacchetto e probabilmente

non esisterà una maniera semplice per

disinstallarlo. Dovrei anche menzionare il fatto

che esiste una sorta di soluzione ibrida,

in cui si parte dal codice sorgente (nella forma

di un RPM sorgente) e lo si configurae compila come un RPM binario che viene

poi installato nel solito modo.

Page 38: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 38/100

36  LINUX PRO 127

Sysadmin

e che è sufficiente indicare il nome di base del pacchetto.Quindi per sapere quale versione di Bash stiamo usandodiamo il comando $ rpm -q bash bash-4.1.2-8.el6.centos.i686Se volessimo invece esaminare la descrizione del pacchettodovremmo usare il seguente comando: $ rpm -qi bashoppure per la lista dei file presenti nel pacchetto: $ rpm -ql bash

Oltre a chiedere “che file ci sono nel pacchetto?” è possibilechiedere “da che pacchetto proviene questo file?”con il seguente comando: $ rpm -qf /bin/ping iputils-20071127-16.el6.i686Infine possiamo ottenere la lista di tutti i pacchetti installati: $ rpm -qaPreparatevi a vedere una lista piuttosto lunga! Ok, bastacon le interrogazioni. Installiamo il pacchetto aide.Da notare che occorre essere root per farlo: # cd /media/CentOS_6.2_Final/Packages # rpm -ivh aide-0.14-3.el6.i686.rpm Preparing... ############## [100%] 1:aide ############## [100%]

Il programma rpm tiene traccia di cosa viene installatonella directory /var/lib/rpm. L’installazione di aide è statapiuttosto facile, ma non sempre fila tutto così liscio. Proviamoad esempio a installare amanda (un programma di utilitàper eseguire backup): # rpm -i /media/CentOS_6.2_Final/Packages/ amanda-2.6.1p2-7.el6.i686.rpm errore: Dipendenze fallite:  xinetd necessario a amanda-2.6.1p2-7.el6.i686L’installazione è fallita perché amanda ha una dipendenza(il programma xinetd) che non è installata. In questo casola soluzione è piuttosto semplice, basta installare primail pacchetto xinetd. A volte però la lista delle dipendenze

non soddisfatte è molto più lunga e non sempre è semplicecapire quali pacchetti vadano installati per risolvereil problema. In questo caso rpm mostra i suoi limiti.

Arriva il cane gialloYum cerca di superare i limiti di rpm visti qui sopra. Il nome

del programma deriva da Yellow Dog Updater, Modified ,cercate su Google se volete capirne il significato. Si trattadi uno strumento ad alto livello per la gestione dei pacchettiche differisce in due punti chiave da rpm. Innanzitutto yum normalmente scarica i pacchetti dai repository Internet(anche se è possibile installarli direttamente dal DVDdi CentOS se lo desiderate). Secondo, yum risolve per voile dipendenze, installando automaticamente tutti i pacchettiaggiuntivi necessari. Mettiamolo alla prova con amanda: # yum install amanda Dependencies Resolved  Installing : 2:xinetd-2.3.14-35.el6_3.i686 1/2  Installing : amanda-2.6.1p2-7.el6.i686 2/2 Complete!

Ho sfrondato massicciamente l’output prodotto dal comando,lasciando quanto serve per vedere che yum ha installatoautomaticamente xinetd per risolvere la dipendenza.L’installazione dei pacchetti non potrebbe essere più semplicedi così. Attenzione però al fatto che l’installazionedi un pacchetto che fornisce una qualche sorta di servizionon avvia il servizio stesso: in questo esempio non ènemmeno abilitato all’interno del suo file di configurazioneper xinetd (in questo yum differisce dal sistema di gestionedei pacchetti di Debian che, dopo aver installato un servizio,lo attiva in modo che funzioni almeno in parte). Yum ha,naturalmente, un suo file di configurazione: /etc/yum.conf.I file a cui sarete probabilmente più interessati sono peròquelli in /etc/yum.repos.d (di nuovo il morbo del punto d),

che definiscono le coordinate dei repository. Per defaultviene usato un file chiamato CentOS-Base.repo chespecifica cinque repository (base, updates, extras, centospluse contrib), anche se gli ultimi due sono disabilitati.Diamo un’occhiata alla prima parte di questo file: name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release= $releasever&arch=$basearch&repo=os #baseurl= http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6Anziché inserire un singolo URL nella configurazione comeindirizzo del repository, yum è in grado di scaricare una lista

di mirror  da utilizzare, usando l’URL specificato dal parametromirrorlist . È anche possibile definire un URL specifico(usando il parametro baseurl): di solito i repository di terzeparti sono definiti a questo modo. Questo repository èconfigurato in modo da verificare le firme digitali dei pacchetti(una buona idea). Il parametro pgpkey dice dove trovarela chiave. Notate come si tratti di un file locale che fa partedell’installazione standard di CentOS, quindi per defaultCentOS conosce la chiave pubblica dei suoi repository.Se ne abilitate altri (ci arriveremo tra un minuto)dovrete scaricare altre chiavi. Possiamo chiederea yum quali repository conosce: # yum repolist Loaded plugins: fastestmirror, refresh-packagekit, security

 Loading mirror speeds from cached hostfile  * base: mirror.netcologne.de  * extras: mi.mirror.garr.it

Rimuovere un pacchetto

La rimozione di un pacchetto è semplice: # rpm --erase aidePer fortuna rpm ha sufficiente buon sensoda non rimuovere un pacchetto da cui

ne dipendono altri: # rpm --erase mindi

 errore: Dipendenze fallite:  mindi >= 2.0.7 necessario a (installato)mondo-3.0.2-1.rhel6.i386

rpm si rifiuta di rimuovere mindi 

perché il pacchetto (installato) mondo ne ha bisogno.

Esistono parecchisistemi di gestionedei pacchetti,ma la maggiorparte di essi haun’anatomia generalesimile a quellamostrata qui

MetadatiFile

Descrizione

Lista delledipendenze

Binari/script

Librerie

File di configurazione 

Documentazione

Firma digitale

Script diinstallazione/

disinstallazione

comandorpm

Databasedei pacchetti

installati

Filesystem

Page 39: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 39/100

LINUX PRO 127 37

Sysadmin

  * updates: ftp.hosteurope.de repo id repo name status base CentOS-6 – Base 4776 extras CentOS-6 – Extras 17 updates CentOS-6 – Updates 835 repolist: 5628

Pacchetti di terze partiCi sono numerose applicazioni per CentOS disponibili inrepository di terze parti. Se ne volete installare una dovreteaggiungere dei file .repo in /etc/yum.repos.d, in modoche yum sappia dove si trovano. Come esempio proviamoa installare la suite per il disaster recovery  Mondo,che ho descritto prima. Per prima cosa verifichiamoche non si trovi nei repository standard: # yum search mondo Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile  * base: mirror.netcologne.de  * extras: mi.mirror.garr.it

  * updates: ftp.hosteurope.de Warning: No matches found for: mondo No Matches foundAggiungiamo quindi un file (mondorescue.repo)in yum.repos.d: [mondorescue] name=rhel 6 i386 - mondorescue Vanilla Packages baseurl=ftp://ftp.mondorescue.org//rhel/6/i386 enabled=1 gpgcheck=1 gpgkey=ftp://ftp.mondorescue.org//rhel/6/i386/mondorescue. pubkeyTra l’altro non me lo sono nemmeno dovuto scrivere,l’ho semplicemente scaricato dal sito mondorescue.org.

Da notare che chiediamo a yum di importare la chiavepubblica dal sito mondorescue.org, in modo da poterverificare le firme digitali dei pacchetti scaricati da lì. Indossoper un attimo il mio cappello di esperto in sicurezzaper sottolineare il fatto che state in effetti autorizzandoyum a installare come root pacchetti provenienti da questosito. Se non vi fidate del fornitore del software non fatelo!Chissà quali danni potrebbero provocare questi pacchetti?Inoltre, se state lavorando in un ambiente aziendaleverificate se per caso qualche regolamento vieta l’utilizzodi repository di terze parti. Una volta installato il filedi configurazione la nostra ricerca con yum è più fruttuosa: # yum search mondo Loaded plugins: fastestmirror, refresh-packagekit, security

 Loading mirror speeds from cached hostfile  * base: mirror.netcologne.de  * extras: mi.mirror.garr.it  * updates: ftp.hosteurope.de ============================== N/S Matched:mondo ============================== mondo.i386 : MondoRescue is a GPL Disaster Recoveryand Cloning Solution

 Name and summary matches only, use “search all”for everything.A questo punto diventa semplicissimo procederecon l’installazione: # yum install mondo

 eliminate un sacco di righe...

 Installed:  mondo.i386 0:3.0.2-1.rhel6

 Dependency Installed:  afio.i386 0:2.5-1.rhel6

buffer.i386 0:1.19-4.rhel6  genisoimage.i686 0:1.1.9-11.el6

mindi.i386 0:2.1.3-1.rhel6  mindi-busybox.i386 0:1.18.5-1.rhel6

syslinux.i686 0:4.02-7.el6  wodim.i686 0:1.1.9-11.el6

 Complete!Come avrete notato yum ha installato cinque pacchettiaddizionali per risolvere le dipendenze. Yum ha un saccodi altre funzionalità, come la ricerca: vi invito a leggerela sua pagina di manuale. Mi rimane solo lo spazio perindossare di nuovo il mio cappello di esperto in sicurezzae parlarvi di una ulteriore funzionalità di rpm. L’opzione--verify è in grado di segnalare qualsiasi modifica ai filedi un pacchetto effettuata dopo l’installazione. Ad esempio: # rpm --verify xinetdQuesto comando non produce nessun output: il pacchetto

è esattamente identico a quando l’abbiamo installato. Invece # rpm --verify initscripts ..5....T. c /etc/inittabci dice che il file di configurazione /etc/inittab ha dimensione,checksum MD5 e data e ora di modifica diversi rispettoall’installazione (per i dettagli di quello che stampail comando cercate “differs” nella pagina di manualedi rpm). Ovviamente c’è da aspettarsi qualche modificapost-installazione ai file di configurazione di un pacchetto,ma se vedete modifiche ad esempio ai binari di sistemaconviene che iniziate a preoccuparvi. È così possibileusare il comando come un semplice strumentoper la rilevazione delle intrusioni. Il mese prossimofornirò al nostro server uno scopo nella vita, installando

su di esso alcuni servizi. Ci vediamo presto!LXP

Per saperne di più

Leggete le pagine di manuale di rpm (http://

www.rpm.org/max-rpm/rpm.8.html)e yum (http://linux.die.net/man/8/yum).Inoltre la pagina di manuale di yum.conf 

spiega cosa è possibile inserire in un file.repo. Per la storia completa, compresocome costruire i vostri RPM, potete leggere

l’eccellente libro (in inglese, non c’è ancorauna traduzione italiana) di Eric Forster-Johnson che trovate all’URL https://docs.

fedoraproject.org/en-US/Fedora_Draft_ 

Documentation/0.1/html/RPM_Guide/index.html. Una lettura che vi terràoccupati per molti pomeriggi piovosi.

Fobia della riga dicomando? Lo GnomePackage Manager vi permette di cercare, vedere, installaree disinstallarei pacchettiusando il mouse

Page 40: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 40/100

Diventa protagonistadel mondo Linux 

Page 41: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 41/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 42: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 42/100

40  LINUX PRO 127

L’angolo di

News, recensioni e guide sul sistema operativo libero per smartphone

AndroidRiconoscimento offlineAndroid è finalmente in grado di riconoscere la vostra

 voce anche se non siete connessi a Internet 

U

no dei punti di forza

di Google è sicuramente il

sistema di riconoscimentodella voce, non per nulla

a Mountain View possono vantare

un’accuratezza superiore al 95%,

questo grazie anche

all’elaborazione negli anni

di oltre 230 miliardi di parole.

Fino a poco tempo fa il

meccanismo di riconoscimento

avveniva però esclusivamente

nei server di Google e quindi era

necessario avere una connessione

abbastanza veloce a Internet,

che con i dispositivi mobili

non è sempre garantita. La buonanotizia è che a partire dalla

versione 4.1 Jelly Bean di Android

è possibile attivare un sistema

di riconoscimento in italiano

direttamente dallo smartphone

semplicemente scaricando pochi

Megabyte di dati e avendo inoltre

la possibilità di venire riconosciuti

non solo dalle app di Google,

ma anche da quelle di terze parti.

Noi lo abbiamo provato dettando

del testo in un documento di Word

aperto con Google Docs e ci siamo

stupiti nel trovare un’accuratezzaquasi assoluta nel riconoscimento.

Lo stesso è avvenuto dettando

SMS ed eseguendo una ricerca

dal browser anche in situazioni

rumorose come quella all’internodi un’automobile. Per attivare

sul vostro smartphone

o tablet Android la funzione

di riconoscimento offline in lingua

italiana serve Android 4.1 Jelly

Bean e il pacchetto di dati

che potrete scaricare selezionando

Impostazioni D Lingua

e immissione D Voce D Ricerca

 vocale. Dopo aver selezionato

Riconoscimento vocale offline 

non dovrete fare altro che

scegliere la lingua italiana tra quelle

disponibili e come tastiera scegliereGoogle digitazione vocale.

Tanta musica a costo zeroSpotify approda infine anche nel nostro paese

Spotify arriva finalmente

nel Play Store italiano,

si tratta di uno dei più

diffusi servizi di streaming

musicale che, grazie a un accordo

con Sony, Emi, Warner e Universal,permette di ascoltare legalmente

oltre 15 milioni di milioni di brani,

compresi quelli appena usciti

su CD. Creato nel 2008

da una startup

svedese, Spotify

può vantare

attualmente oltre

20 milioni di iscritti

in tutto il mondo,

5 milioni dei quali

pagano da 5 a 10

dollari al mese per

avere a disposizionela versione Unlimited

del servizio, che

permette di ascoltare in streaming

tutta la musica che volete senza

essere disturbati dalla pubblicità,

oppure dalla Premium, che offre in

più la possibilità di scaricare fino a

3.333 canzoni per dispositivo perun totale di 9.999 brani. Spotify

può essere scaricato gratuitamente

dal Play Store e vi offre subito

due giorni di prova in modalità

Premium, finiti i quali passerete

automaticamente alla modalità

Free che ha un tetto di due ore

e mezza di musica alla settimana,

ripagati dall’inserimento di alcuni

annunci pubblicitari. Ma il bello

di Spotify è che è un’app social in

quanto vi permette di condividere

con gli amici di Facebook o Twitter

i vostri gusti musicali edeventualmente di realizzare

delle playlist collaborative che

si aggiorneranno automaticamente

nel momento in cui qualcuno dei

partecipanti aggiungerà un nuovo

brano. All’interno dell’app potrete

poi trovare il collegamento diretto

a Last.fm, la più grande communitymondiale di appassionati di musica

e la funzione Radio, che creerà

delle playlist partendo dai vostri

gusti musicali. Il software che

sta dietro a Spotify è proprietario,

consente di ascoltare musica

di buona qualità a 160 Kbit/s ed

è protetto da DRM, questo significa

che oltre a non potere copiare su

altri dispositivi le canzoni scaricate

sullo smartphone, non potrete

riprodurle una volta terminato

le ore a vostra disposizione

oppure nel caso in cui decidiatedi non rinnovare l’abbonamento

Premium o Unlimited. LXP

Page 43: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 43/100

LINUX PRO 127 41

 Archos GamePad L’angolo di Android

Archos GamePadGrande schermo da 7 pollici, processore dual core e ottimo prezzo per la prima vera

console Android che arriva dalla Francia

Caratteristiche 7

Prestazioni 7

Autonomia 6

Qualità/prezzo 8

GamePad

 Una console nata per chigioca ma che grazie ad Android

 può essere usata anche cometablet. Peccato per lecomponenti non sempreall’altezza del software.

Il voto diLinux Pro

Giudizio

Produtore: ArchosWeb: www.archos.comPrezzo: €149,00

7

Smartphone e tablet

stanno lentamente ma

inesorabilmente togliendo

spazio alle classiche

console portatili. I giochi presenti

sui market di iOS e Android

hanno veramente poco da

invidiare alle vecchie cartucce

e oltretutto costano decisamente

meno. Non ci siamo perciò

particolarmente stupiti di poter

provare GamePad, una console

portatile simile alla PSP di Sony,

ma in cui gira il sistema operativo

di Google. L’ha realizzata Archos,

azienda francese che ormai

da diversi anni produce tablet

Android di buona qualità. Il primo

obiettivo da cui sono partiti

ad Archos è stato sicuramente il

prezzo, 150 euro rappresentano

infatti la soglia oltre la quale pochi

sono disponibili a spendere i loro

risparmi, soprattutto oggi che

con meno di 200 euro si può

acquistare un tablet da sette

pollici come il Google Nexus 7.La struttura di GamePad è simile

a quella di una classica console,

con tanto di joypad e 6 tasti

funzione per lato, con una

disposizione buona per

un utente medio, meno per un

appassionato che troverà poco

raggiungibili i tasti L2 e R2.

La plastica con cui è costruito

GamePad non offre una

sensazione di particolare

robustezza, ma considerando

il prezzo difficilmente si poteva

la personalizzazione dei tasti

per i giochi, visto che non tutti

i giochi sono immediatamente

riconosciuti dal tablet

(al momento in cui scriviamo

sono circa 250 i giochi

già adattati). Altro aspetto

sicuramente interessante per chi

ama videogiocare è quello degli

emulatori. Sul market è possibile

trovare emulatori per le principali

console del passato, a partire

dalla N64 di Nintendo. La buona

notizia è che la maggior partedi questi emulatori viene

riconosciuta senza problemi

dal GamePad, certo poi

occorrerà procurarsi le ROM

relative, disponibili su vari siti

specializzati su Internet,

ma dei quali occorre comunque

avere anche la versione originale.

Inoltre a differenza di quello

che accade con i tablet, con

il GamePad è possibile togliere

i pulsanti virtuali sul display

e usare quelli hardware

rendendo l’esperienza di giocoestremamente simile all’originale.

Ma GamePad non è solamente

una console per giocare;

la presenza di Android, infatti,

consente di navigare su Internet,

guardare film e ascoltare musica

come su un normale tablet

di Google. Certo, mancando

l’alloggiamento per la SIM non

è possibile usarlo per telefonare,

a meno di non installare Skype

e usarlo come dispositivo VoIP.

Manca anche una fotocamera

e questo non solo impediscele chat video ma anche di usare

il tablet per fotografare. Infine

chiedere di più. Quello che

invece non ci è proprio piaciuto

è lo schermo, e non tanto per la

risoluzione limitata ai 1024x600

pixel, quanto per il ridotto angolo

di visualizzazione. Basta infatti

inclinare anche di poco la console

perché il display diventi molto

scuro e questo soprattutto nei

giochi di corsa che utilizzano

il sistema di comando via sensore

di accelerazione è sicuramente

un problema. Il processore è un

onesto, ma non particolarmente

brillante, Rockchip RK3066 Dual

Core da 1,6 GHz con un GB

di RAM e 8 GB di memoria Flash

espandibile via scheda microSD.

Il processore grafico, sicuramente

fondamentale trattandosi di una

console, è il buon Mali 400MP.

Il problema è che in questo

momento i giochi più interessanti

per gli “hard-core gamer” sono

quelli della Tegra Zone di Nvidia,

che però girano solamente con

i processori grafici Nvidia: anchese il Mali 400MP ha ottenuto nei

benchmark risultati paragonabili

a quelli della Tegra 2, i giochi

che richiedono la piattaforma

di Nvidia non gireranno.

Android puroGamePad è aggiornato

alla versione 4.1 Jelly Bean

di Android e non presenta

particolari personalizzazioni,

a parte qualche app preinstallata.

Il vero problema riguarda

la batteria: ci siamo ritrovati

con la batteria a terra in sole 3

ore di gioco, decisamente troppo

poco. Lasciando invece il tablet

in standby e usandolo non più

di un’ora per giocare è possibile

arrivare alla fine della giornata

anche con un paio d’ore di

navigazione e video. In definitiva

lo consideriamo un esperimento

riuscito solo in parte: la necessità

di mantenere il prezzo sotto

i 150 euro ha obbligato Archos

a utilizzare componenti non diprima qualità e ciò, a sua volta,

ha evidenti ripercussioni sulla

qualità dell’esperienza di gioco.

Restiamo in attesa di vedere

a che prezzo Nvidia venderà

la sua console Shield che sarà

dotata di chip Tegra 4. Secondo

molti il prezzo ben difficilmente

resterà sotto i 300 euro, il doppio

di quello del GamePad. LXP

Un tasto fisico rimane sempre più comodo per giocare rispetto

a quelli touch sul display tipici dei tablet. Attualmente sonopiù di 250 i giochi già compatibili con i pulsanti del GamePad,numero destinato ad aumentare in breve tempo

Page 44: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 44/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 45: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 45/100

Test >>Dell C1760NWUna stampante laser che offre

una più che buona qualità distampa e costi di manutenzionecontenuti pag. 44

AVM Fritz!Box 3370Tutta la robustezza dei routerAVM, con Wi-Fi potenziatoe tante funzioni pag. 45

In libreria∆ Android - Programmazioneavanzata

∆ Linux Essentials pag. 46

Confronto >>È giusto che anche i più piccolisi avvicinino all’uso del computer,ma bisogna fornire loro i giustistrumenti. Scoprite qual èil migliore leggendoil nostro confronto pag. 48∆ DoudouLinux∆ Edubuntu∆ LinuxKidX∆ Qimo

∆ Sugar on a Stick 

Da non

perdere >>Nove programmi liberida provare subito!∆ MKVToolNix pag. 54∆ Glances pag. 55∆ Tasque pag. 55∆ Midori pag. 56∆ o42a pag. 56∆ Zathura pag. 57∆ cclive pag. 57

∆ Trigger Rally pag. 58∆ Quabro pag. 58

Fritz!Box 3370

Qimo

Trigger Rally

 LINUX PRO 127 43 

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 46: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 46/100

44  LINUX PRO 127

Test Dell C1760NW 

Dell C1760NWUna stampante laser senza i difetti di una laser? Possibile, grazie ai motori LED di ultima

generazione adottati da Dell

Caratteristiche 8

Prestazioni 9

Facilità d’uso 8

Qualità/prezzo 8

C1760NW

 Una stampante veloce, facileda manutenere, capace diun’ottima qualità di stampa.

Il voto diLinux Pro

Giudizio

Produtore: DellWeb: www.dell.itPrezzo: €253,00

8

Chi lavora in casa,

o in un piccolo ufficio,

quando pensa a una

stampante a colori

pensa in genere a una ink-jet.

Fino a qualche tempo fa le

stampanti laser a colori erano

infatti troppo costose, difficili

da manutenere, e avevano

prestazioni scadenti in fatto

di stampa fotografica.

Ma l’arrivo dei motori HiQ LED 

sembra aver rimescolato le

carte in tavola. Nelle macchine

HiQ LED, l’immagine si forma

su un tamburo fotosensibile

come in una laser, ma la fonte

di luce non è un complicato

e delicato sistema con laser e

specchi rotanti, ma una barra

di LED che concentra la luce

sul cilindro tramite un gruppo

ottico integrato. La barra

è dotata di un’elettronica

di pilotaggio integrata, che

controlla il posizionamento

e l’intensità dei raggi luminosiemessi, eliminando i problemi

tipici delle macchine LED

di vecchia generazione:

disallineamenti dei colori,

scarsa uniformità della luce,

bassa risoluzione. Le testine

del motore HiQ hanno una

risoluzione di 600x600 dpi,

controllare la stampante

dal suo server Web integrato,

però, comodamente

accessibile richiamando dal

browser l’IP della macchina.

Aprendo il lato destro si ha

accesso alle quattro cartucce

di toner, fornite già installate

e di dimensioni ridottissime

in quanto sono solo serbatoi

di toner. Cilindri fotosensibili,rulli di trasferimento e altre

parti non andranno mai

sostituite, perché progettate

per durare per tutta la vita

utile della macchina. Per

cambiare la cartuccia basta

premere un pulsante.

Prova praticaLa macchina è operativa in

pochi secondi: appena estratta

dalla scatola basta collegare

la presa dell’alimentazione,

impostare la password dellarete Wi-Fi ed è già possibile

stampare da cellulari e tablet

Android o iOS tramite

le apposite app gratuite Dell

Mobile Print  (Android) e Print

to Dell (iOS). La macchina

è fornita con driver per

le varie versioni di Windows

e Mac OS X, comprese le più

recenti. Dell non fornisce,

ufficialmente, supporto

Linux. Ma abbiamo provato a

installare il driver Linux Debian

della Xerox Phaser 6010 e laDell ha stampato senza alcun

problema dal nostro sistema

fino a 1200 in

modalità immagine,

e producono

stampe di

eccellente qualità.

La C1760NW usa

un motore HiQ LED,

che Dell chiama

ClearView LED,

di derivazione

Xerox, capace di

produrre 12 pagine

minuto a colori e

fino a 15 in bianco

e nero. La macchina è

molto compatta, da spenta

occupa 30x40 centimetri in

pianta con un’altezza di 23,

anche se quando è in uso

ha bisogno di un po’ di spazio

in più per il cassetto della

carta, doppio, da 160 fogli A4

più uno da 10, che accetta

anche singoli fogli di carta

speciale,come buste o carta

intestata. La C1760NW

si interfaccia via USB 2.0,Ethernet o Wi-Fi. Il pannello di

controllo è formato da alcuni

pulsanti disposti a joystick

e da un display alfanumerico

da 2 righe per 16 caratteri,

che mostra indicazioni fin

troppo sintetiche, soprattutto

in italiano. Molto meglio

Ubuntu. C’è anche la versione

RPM per chi usa distribuzioni

Red Hat o SUSE. In definitiva,

la stampante di Dell è

versatile, veloce, capace

di stampare testo e grafica

di ottima qualità, e anche

di stampare foto su carta

comune con qualità migliore

di un’ink-jet, e non troppo

distante da quella ottenibileda una getto d’inchiostro

su carta fotografica. Unica

perplessità il costo delle

cartucce, circa 50 Euro per

il nero e 58 Euro per il colore

con capacità di 700 pagine;

circa 71 Euro l’una le cartucce

ad alta capacità, 1.400 pagine

ciascun colore e 2.000 pagine

il nero. Costo compensato,

comunque, dall’assenza di altri

consumabili. LXP

Il pannello di controllo ha undisplay da 2x16 caratteri,

spesso piuttosto cripticoda interpretare a causa delleabbreviazioni eccessive

Le cartucce sono piccolee contengono solo il toner.

Si cambiano semplicementepremendo una levetta, e sonol’unico consumabile da sostituire

Page 47: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 47/100

LINUX PRO 127 45

Fritz!Box 3370 Test

AVM Fritz!Box 3370Il router ADSL/VDSL di fascia media di AVM accelera il Wi-Fi e rinuncia alla telefonia. Quasi

Caratteristiche 9

Prestazioni 7

Facilità d’uso 8.5

Qualità/prezzo 6

AVM Fritz!Box 3370

 Un router versatile e comododa usare, ma la velocitàdel Wi-Fi non è aumentataquanto ci si aspettavae il prezzo è considerevole.

Il voto diLinux Pro

Giudizio

Produtore: AVMWeb: www.fritzbox.eu/itPrezzo: €179,00

7.5

AVM è un produttoretedesco i cui routerWi-Fi di fascia alta sonomolto popolari

in ambito SOHO, ovvero SmallOffice/Home Office, grazieal fatto che gestiscono in modointegrato i dati, la telefoniaanalogica e la telefonia digitale.Recentemente, AVM hapresentato anche dei prodottiper la fascia media, destinati almercato domestico. Dopo il quasibasilare 3270, ecco arrivarequesto 3370, primo router AVMdotato di sistema Wi-Fi MIMOa 3 antenne, che gli consenteuna velocità massima teorica di450 Mbps. La radio può lavoraresia sui 2,4 GHz che sui 5 GHz,ma non contemporaneamente– una limitazione pesante per chiha molti apparecchi da collegare,visto che spesso costringea usare la trafficatissimabanda dei 2,4 GHz.

Il potere del VoIPA parte il Wi-Fi, il Fritz!Box

3370 è, in un certo senso,un 7390 cui è stata tolta lasezione di gestione della telefoniaanalogica e le antenne DECT.Tuttavia, è stata mantenutala gestione della telefonia IP:basta attivare un’opzione viafirmware, e il Fritz!Box può fareda centralino agli apparecchiVoIP e SIP di casa, compresigli smartphone iOS e Android,per i quali è presente un’apposita

app nei rispettivi market. Conil 3370, per esempio, possiamo

la password WPA2 preimpostata,il firmware di gestioneè accessibile dal browsersemplicemente collegandosiall’IP di default del router,192.168.178.1. Si nota subitola veste grafica molto curata dellepagine, ma soprattutto il fatto

che il sistema è impostato conuna serie di wizard  e procedureguidate, tradotte in italiano,che permettono a chiunquedi configurare l’apparecchionel giro di qualche minuto.È anche possibile impostare unamodalità utente “avanzata” chedà un controllo totale sulle variefunzionalità, nonché l’accessoa menu particolareggiati checonsentono di tenere sottocontrollo le varie caratteristiche.Per esempio, è possibile vedere

in forma grafica lo spettro radiocon le relative interferenze,o l’andamento della qualitàdella linea ADSL. Fra le funzioniavanzate fornite dal 3370, oltreagli immancabili firewall e serverDHCP, e alle già citate funzioniMedia Center, NAS e di telefoniaIP con centralino e segreteria,sono da segnalare il supportoa IPv6, la modalità Eco a bassoconsumo, la possibilità di creareuna rete Wi-Fi separata perl’accesso ospiti, e il sistema

MyCloud che permette diconfigurare la memoria USBcollegata in modo da poter

telefonare in VoIP da un iPado da un iPod Touch.Esternamente, il 3370 èpressoché indistinguibiledal fratello maggiore.Lo chassis inplastica argentoe rosso hauna formacuriosamenteaerodinamica, concinque grandi spieluminose sul frontale e duepulsanti in posizione più arretrata:sono l’interruttore di accensionee quello per disattivare la radioWi-Fi. Le connessioni sul retrosono la presa per l’alimentatoreesterno, quattro porte GigabitEthernet, una porta USB 2 e ilconnettore RJ per la linea ADSL.Su un fianco è posta una secondapresa USB 2. Il firmware del3370 permette di collegare alleporte USB sia memorie di massa,che diventano a tutti gli effetti deiNAS multimediali condivisi grazieal Media Server UPnP integratoche funziona davvero bene, siaapparecchi come stampantie scanner. È anche possibilecollegare una chiavetta USB 3G,che garantisce il collegamentoInternet nel caso che la lineaADSL dovesse cadere. Oltrealla gestione della telefonia,il maggiore punto di forzadei router AVM è il software digestione, e questo per fortunanon è stato intaccato: il 3370 halo stesso software dei modelli più

costosi. Una volta agganciatial segnale Wi-Fi tramite

accedere alla stessa via Internetcome si accede alle memoriecloud - con il vantaggio, rispettoa queste ultime, di lasciarei propri file memorizzati in unproprio disco, e non su qualcheserver Internet di cui nonconosciamo il livello di sicurezza

e di privacy. Concludendo, il3370 si segnala per completezzadi funzioni e comodità d’uso.Tuttavia, la velocità operativareale del Wi-Fi, soprattutto sulunga distanza e in presenza diostacoli, non ci ha impressionato:è vero che migliora del 50%quella del 7390, ma quest’ultimoè un po’ più lento rispettoai suoi concorrenti. LXP

Il 3370 ha le antenne interne ed èpredisposto per il montaggio a muro

Tutte le connessioni sono sul retro, meno la seconda porta USB2.0 che si trova sul fianco sinistro

Page 48: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 48/100

Test In libreria

Linux EssentialsAnche se questo libro non parla di LXP,ci è piaciuto lo stesso

Linux Essentials è il nome

di uno degli esami

del Linux Professional

Institute e non è una

coincidenza che questo volume

porti lo stesso nome. Esso

accompagna passo per passo

il lettore attraverso tutto ciò

che deve sapere per superare

l’esame. Molto lentamente.

Per esempio, il primo capitolo

(20 pagine) è dedicato

alla presentazione di Linux

e del suo posto nel mondo. Daqui si parte per spiegare cosa è

un sistema operativo, cos’è una

distribuzione e quali sono le più

comuni (anche se mancano

GIOCATI UN SUDOKU,TE LO OFFRE:

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

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

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

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

essa regola vale anche per le colonne. Ci sono 9 colonne, da riempire con le stesse cifre da 19, senza che si ripetano. Infine ci sono i riquadri 3x3, per un totale di 9 quadretti. In ciascun

uadro ogni cifra a 1 a 9 deve comparire una sola volta. Il gioco consiste nel riempire di cifre

te 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 

Mint e Mageia). Solo a partire

dal quarto capitolo (pagina 50)

si inizia a vedere come usare

i programmi, dopo aver visto

un po’ della filosofia Open

Source e di licenze nei capitoli

due e tre. Se ci avessero dato

questo libro all’inizio del nostro

percorso d’apprendimento

di Linux saremo subito saltati a

questo capitolo, fermandoci un

po’ anche nel sesto (dedicato

alla linea di comando), per

poi mettere giù il libro e partirecon i nostri esperimenti. Quindi,

se siete come noi e volete

imparare Linux, abbiamo

trovato il testo che fa per voi.

Linux Essentials

 Una lenta ma approfondita introduzione a Linux.

Il voto diLinux Pro

Giudizio

Autore: Roderick W Smith

Editore: Sybex

ISBN: 978-1-118-10679-2

Pagine 327

Prezzo: € 32,00

8

AndroidProgrammazione avanzata

Un libro “tosto” per programmatori esperti

Imparare a programmare

per Android non è difficile

se si hanno le basi (anche

di Java, in questo caso), ma per

approfondire le proprie conoscenze

e fare qualcosa di serio serve

una buona guida di riferimento.

Leggendo questo libro, aggiornato

alla versione 4 di Android, abbiamo

percepito tutta l’esperienza sul

campo dei due autori che da tempo

seguono Android. Nei nove capitoli

vengono trattati molti degli

argomenti che qualunque

programmatore Android dovrebbe

conoscere: Activity, creazione

dell’interfaccia (compresi dei

suggerimenti per il miglioramento

delle prestazioni e sui tool dell’SDK,

a volte poco noti, da usare durante

la progettazione), networking,

NFC e altro ancora. Il terzo capitolo

è dedicato alla programmazione

dei tablet, mentre nell’ottavo, molto

interessante, si parla di qualità del

software. L’ultimo riguarda proprio

Android 4. Tutti i capitoli sono pieni

di esempi, così che il lettore possa

subito sperimentare quanto

appreso, e le spiegazioni non sono

mai “tirate via”, anzi sono sempre

molto precise e chiare. LXP

Android –Programmazione avanzata

  Non è un testo per chi inizia, ma chi vuole approfondire l’argomento lo troverà utile e chiaro.

Il voto diLinux Pro

Giudizio

Autore: Emanuele Di Saverio,

Stefano Sanna

Editore: Edizioni FAG Milano

ISBN: 978-88-8233-750-6

Pagine 350

Prezzo: € 29,90

8.5

Page 49: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 49/100

IL FOTOGRAFO

Ogni uscitaè una COPIA da collezione 

da conservare gelosamente

La più bella e lussuosa rivista di fotografia

mai vista in Italia

ttualità

cultura

della

otografia

i n e d i c o l a e s u i P a d |

T UTTA NUOVA 

Page 50: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 50/100

48  LINUX PRO 127

La parola Edutainment

è quel neologismo

sbandierato da tutti quelli

che pensano non sia

abbastanza chic usare il termine

“gioco educativo”. Invece

è importante sottolineare

ugualmente l’importanza

del fine e del mezzo per

raggiungerlo. Insegnare ai

bambini arte, storia, matematica

e letteratura non sempre è cosa

facile ma racchiudete il tutto

in un turbine di colori, aggiungete

personaggi simpatici e qualche

musichetta allegra e il gioco

è fatto. Linux è un veterano di

lunga data nell’offrire l’ambiente

ideale allo sviluppo di giochi

educativi anche grazie a potenti

suite come Gcompris che

miscelano sapientemente

l’aspetto ludico e quello cognitivo.

Inoltre essere una piattaforma

aperta e personalizzabile rende

il sistema del Pinguino perfetto

per sviluppare strumenti adatti

ai più piccoli: chiunque può

ingegnarsi e creare una

distribuzione specifica per una

determinata età, scegliendo con

cura interfaccia e software adatti

al target prescelto. Linux è adatto

a tutte le età, infatti a prescindere

da quanto giovani o anziani siano

i suoi utenti c’è sempre il software

giusto a stimolarne l’attenzione

e le capacità. Anche per questo

motivo il soggetto del confronto

che avete tra le mani sono

le distribuzioni destinate

ai più piccoli.

“Linux è un veterano di lungadata nell’offrire l’ambienteideale allo sviluppo di giochieducativi come Gcompris”

Test 

Confronto

Distribuzioni

per bambiniLinux non è solo un affare da grandi, anche i più piccoli possono

trarne molti vantaggi. Ecco i sistemi a loro dedicati

∆ DoudouLinux∆ Edubuntu∆ LinuxKidX∆ Qimo∆ Sugar on a Stick 

LA NOSTRA SELEZIONE

MODALITÀ DEL TEST

La maggior parte delle

caratteristiche testate nel

corso di un confronto regolare

in questo frangente avrebbe

avuto poco senso. Ad esempio

le modalità e feature del gestore

di pacchetti, la potenza d elle

utility di configurazione e simili.

I bambini non sono interessati

a questi aspetti e i genitori,

in quanto amministratori

del sistema, non saranno certo

interessati all’ultima versione

disponibile dei pacchetti o alla

personalizzazione estrema del

kernel. La distribuzione ideale

dovrebbe farsi installare con

il minimo sforzo e poi lasciare

che i pargoli scatenino la propria

creatività senza troppi rimorsi.

Quindi due tra gli aspetti piùimportanti sono un’interfaccia

semplice, chiara e intuitiva

e il pacchetto base del software

offerto. Il desktop dovrebbe

essere estremamente semplice

da utilizzare così che i bambini

non incontrino problemi

nel cercare di avviare

i propri software preferiti.

Allo stesso modo la selezione

di software deve essere

ben bilanciata, altrimenti

se tutte le applicazioni

si concentrano in un senso,

sia esso l’apprendimento

o il gioco, il rischio di annoiarepresto gli utenti è veramente

dietro l’angolo.

Page 51: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 51/100

LINUX PRO 127  49

Con tutta probabilità vorreteinstallare il sistema voi stessi,

senza lasciare l’onere

direttamente ai vostri figli,

quindi non c’è bisogno che l’installer

sia particolarmente adatto ai bambini.

In ogni caso non vorrete sicuramente

essere annoiati da dettagli poco

calzanti, ad esempio è difficile che

vorrete cifrare parti del sistema data

la situazione. Al contrario, se avete

già un sistema preesistente, vorrete

impostare un dual-boot, quindi

avere un buon tool di partizionamento

risulterebbe molto utile. La ISOdi Edubuntu pesa 2,6 GB circa

e come molte altre derivate di Ubuntu

vi permetterà di avviare un sistema

Live oppure installare sul disco

direttamente a partire dal menu.

Unity è l’interfacia di default con

GNOME come alternativa. Nonostante

l’installer sia sostanzialmente identico

a quello di default con un buono

strumento di partizionamento, sono

stati aggiunti alcuni extra come

l’integrazione a LTSP (Linux Terminal

Server Project). Questa feature

è particolarmente utile nelle classidove c’è un computer particolarmente

potente collegato ad altri PC che

si limitano a utilizzare quanto fornito

da quello centrale. Finita l’installazione

Idettagli dell’interfaccia verranno

trattati successivamente, in questa

sezione si vogliono elencare

le prime impressioni avute

direttamente post-installazione

e primo avvio. DoudouLinux riproduce

una musichetta all’avvio e vi precipita

in un’interfaccia colorata che permette

di scegliere tra cinque programmi,

oltre ad altri dettagli minori. Sono

anche presenti degli evidenti pulsanti

di spegnimento e riavvio. Piccola

nota negativa sta nel fatto che ogni

volta che si termina un programma, per

qualche momento, il server X si riavvia

mostrando la riga di comando. Anche

Qimo è decisamente gradevole e di

immediata interpretazione. Al termine

Installazione

Prime impressioni

Quanto è facile passare da zero a “pronti per il divertimento”?

Il sistema sembra accogliente oppure ostile?

tipica saranno occupati 4,5 GB dispazio disco e 230 MB di RAM dopo

un avvio tipico. Anche DoudouLinux 

è un sistema Live, tuttavia non v’è

traccia di un sistema d’installazione

grafico. Secondo gli sviluppatori:

“uno dei primi obiettivi di DoudouLinux

è di permettere ai bambini di usare

il sistema senza danneggiare

eventuali dati presenti. Ecco perché

non sarà mai possibile installare

il sistema con un singolo click

del mouse”. Ecco anche perché la

funzionalità è nascosta tra i comandi

testuali e dovrete guardare sul sitodel progetto per trovarne traccia.

Al momento inoltre l’installazione

è possibile solo da USB e non da CD.

Qimo è un altro derivato di Ubuntu

che ne offre il classico installer,

offerto in una ISO da 700 MB, che

permette di selezionare specifiche

di sistema quali la localizzazione,

il partizionamento e così via. Durante

la fase di copia dei file vengono

mostrati alcuni suggerimenti e infine

l’installazione occuperà 2,1 GB di

spazio disco e 250 MB di RAM circa

ad avvio pulito. Sugar on a Stick  (SOAS) è basata su una distribuzione

diversa, ovvero Fedora 17, e avvia

l’inusuale interfaccia Sugar. Potrete

poi avviare l’installer Red Hat

del caricamento del desktop, viene

mostrato un pannello nella parte bassa

dello schermo contenente sette ampi

pulsanti. Questi a loro volta danno

accesso ai software principali della

distribuzione. Nella parte alta dello

schermo si potrà trovare la tradizionale

barra delle applicazioni, scelta che

ne rende un po’ più “classico” l’aspetto

rimanendo comunque sufficientemente

distante dalle usuali interfacce

dei sistemi odierni. Non è il caso

di Edubuntu invece, dove è palese

la somiglianza con la classica interfaccia

di Ubuntu. Certo, è stato cambiato

lo sfondo di default del desktop

e ci sono delle modifiche minori ma la

somiglianza e l’approccio è nonostante

Anaconda aprendo un terminale

e digitando liveinst . Lo spazio disco

occupato a fine installazione sarà

2,1 GB con 150 MB di RAM circa.

LinuxKidX è una distribuzione basata

su Slackware che si avvia in modalità

live. L’installer è nascosto nella

sezione Sviluppo a ragion veduta,

dato che è proprio lo stato in cui si

trova. Terribilmente in via di sviluppo.

Gli errori grammaticali sono numerosi,

dovrete montare le partizioni

manualmente pre-installazione e poisegnalare il path all’installer. Il tutto

reso ancor più complicato dal layout

portghese usato di default dalla

tastiera. Decisamente poco usabile.

tutto troppo simile. Quindi questo

fa sorgere una domanda: quale aspetto

in particolare renderebbe questa

interfaccia adatta a dei bambini?

Non ha nulla di colorato o semplificato.

LinuxKidX è un’esplosione di colori

con pinguini disegnati e un approccio

simpatico e allegro. Ci sono molte icone

sul desktop con cui sperimentare anche

se purtroppo i contenuti cominciano

a essere un po’ datati. Sugar on a Stick

invece è davvero minimale, altamente

concentrato su un approccio grafico

con poco testo da leggere o elementi

presi dalle interfacce tipiche.

Un desktop spazioso, con un design

chiarissimo, pensato per l’esecuzione

di un task per volta.

 Anaconda èancora l’installer

 più flessibiletra quelli offerti.

Verdetto

DoudouLinux

Edubuntu

LinuxKidX

Qimo

Sugar on a Stick

Sugar on a Stick viene offerto con il testatissimo

installer di Red Hat 

 Usare l’interfaccia di DoudouLinux èdavvero un giocoda… bambini.

Verdetto

DoudouLinux

Edubuntu

LinuxKidX

Qimo

Sugar on a Stick

Confronto Test 

Page 52: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 52/100

Interfaccia utenteQuanto è semplice trovare e avviare i programmi desiderati

e muoversi nell’interfaccia grafica?

Ibambini raramente hanno necessità di organizzare grandi quantitàdi file o vogliono un menu multi-livello oppure altamenteconfigurabile. Il fulcro spesso starà nelle applicazioni offerte,

una volta trovate quelle che gli sono più congeniali cercherannodi avviarle più velocemente possibile. Ad ogni modo quandosono presenti più di una manciata di programmi è necessaria

un minimo di divisione in categorie invece di una lista infinita di piccoleiconcine. Quindi l’attenzione in questa sezione sarà volta allo sforzonecessario per trovare un’applicazione e a qual è il rischioche un bambino possa incappare erroneamente in un altroprogramma. Inoltre l’interfaccia è adatta a tutti i range di etàoppure annoierà gli utenti più grandicelli?

DoudouLinuxOra sì che si ragiona! Nella pagina precedente avete visto l’interfaccia basedi DoudouLinux, ideale per i bimbi più piccoli. D’altro canto questa distribuzioneè destinata a bambini da 2 a 12 anni, quindi quelli più grandi potrebbero trovarlanoiosa e poco stimolante. Fortunatamente c’è una versione dell’interfaccia chefornisce dei tab per accedere a varie categorie di software che ci ricordano la vecchiaGUI degli Asus EeePC. C’è un piccolo pannello in cima che serve per modificarele impostazioni di rete, cambiare il volume e spegnere il computer. In definitiva l’interoambiente ci è piaciuto, con una netta separazione tra l’interfaccia normale e quellaWhole che consente di soddisfare utenti di diverse età.

EdubuntuÈ Unity. Dunque, non stiamo dicendo che Unity sia male – anzi, sappiamo che moltiutenti la apprezzano. Ma in una distribuzione pensata per una audience giovane,è una scelta davvero terribile. Per esempio, ipotizzate che voi o vostro figlio vogliatesfogliare le applicazioni educative: dovete premere l’icona della Dash in cima,poi selezionare la piccola icona priva di testo descrittivo in basso, quella con righelloe penna, che mostra alcune delle applicazioni installate e quelle installabili.

Se premete su Installate vedrete una grande lista in ordine alfabetico di tuttii programmi installati. Tutto ciò è scomodo, quindi dovete premeresu Filtra i risultati e poi la sezione dei tool educativi. Quindi, solo a questo punto,dopo un buon numero di click potete arrivare a ciò che cercavate. Da rivedere.

50  LINUX PRO 127

 In questo

ambito non c’èun unico vincitoreassoluto.

Verdetto

DoudouLinux

Edubuntu

LinuxKidX

Qimo

Sugar on a Stick

Test 

Confronto

In Sugar on a Stick c’è molto pocodi personalizzabile a livello graficoma è presente un menu di selezione

in cui poter scegliere la lingua e leimpostazione di rete. Invece la sceltasoftware è ottima: usando il browsersi possono visitare le pagine chiamateSugar Activities da cui avete accessoa centinaia di applicazioni e giochi con unclick. Anche DoudouLinux non ha moltepossibilità di personalizzazione della GUI,però questa scelta è voluta proprio daglisviluppatori per evitare di confonderei propri piccoli utenti e impedire checombinino disastri. Nota molto positiva in

PersonalizzazioneQuanto è possibile personalizzare e modificare l’ambiente?

Doudou è la presenza di DansGuardian che funge da filtro Web. DoudouLinux èbasata su Debian stable e ciò comportache spesso i pacchetti non sarannoaggiornatissimi, ma si possono aggiungerealtri repository con le usuali modalità.Edubuntu permette di trascinareapplicazioni nel pannello di sinistra, cosìda rimpiazzare la scelta di default cheè assolutamente assurda per il targetdi questa distro. Grazie a Unity è possibilecambiare il tema, lo sfondo del desktope altre impostazioni ma non c’è un modosemplice per bloccarle in modo chei bambini non riescano a cambiarle

(bisogna cambiare alcune impostazionitramite Gconf). Qimo offre il livello dipersonalizzazione tipico di Xfce, offrendodi default i pacchetti presenti nei vecchirepository di Ubuntu 10.04. Peròl’aggiornamento di versione a quellesuccessive nei test di redazione nonha dato particolari problemi. LinuxKidXinvece offre un’ampia gamma di opzionidi configurazione come offerte da KDE,d’altra parte l’offerta dei softwaredisponibili è ferma al 2009 e perusufruirne dovrete confrontarvicon la riga di comando e imparare ausare il package manager di Slackware.

Page 53: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 53/100

LinuxKidXL’interfaccia è basata su KDE e la maggior parte delle modifiche per renderlaadatta a un pubblico di bimbi riguardano l’estetica. Purtroppo questa distribuzionenon è stata aggiornata dal 2009 quindi la versione usata è KDE 3.5, decisamentedatata. Fortunatamente le icone sul desktop mitigano un po’ il problema del menuche è davvero affollato e quindi poco usabile. Un altro problema dell’interfacciaè l’impostazione del layout di tastiera che, di default, è su portoghese brasiliano

(la lingua usata degli sviluppatori). Ciò significa che molti tasti sono errati,fortunatamente per risolvere tale problema basterà aprire il menu K, andarein Control Center D Regional & Accessibility D Keyboard Layout ,scegliendo poi la lingua italiana. Situazione assurda, soprattutto datoche tutto il resto della distribuzione è in inglese!

Qimo La GUI di Qimo è basata su Xfce e offre un setup a due pannelli abbastanza comunecon un bel pannello ad icone nella parte bassa dello schermo e la barra delle applicazioni(e l’area di notifica) a occupare la parte in alto. Se avete usato Xfce in passatonon avrete problemi a ritrovare le vostre abitudini ma anche gli utenti Windowsnon dovrebbero faticare troppo a comprenderne il funzionamento. Per rendereil tutto più adatto ai piccolini gli sviluppatori hanno pensato di scegliere come sfondo

della scrivania di default un simpatico disegno che riporta un eschimese (da cuil’ispirazione per il nome Qimo) e un orso polare. Unica pecca potrebbe esserela mancanza di suggerimenti a scomparsa sulle icone nel momento in cui si passail mouse, in questo modo infatti è meno semplice capire quale programma verrà avviato,soprattutto dato il fantasioso e colorato tema delle icone. In generale si può dire che Qimomescola l’utilizzo di uno stile a cartoni adatto ai bambini con un approccio più tradizionalee familiare agli adulti che dovrebbe permettere a tutti di essere a proprio agio.

Sugar on a Stick È proprio il caso di dire che un’interfaccia così non si è mai vista. Sugar on a Stickè stato sviluppato a partire dal progetto OLPC (One Laptop Per Child), miratoa fornire anche i paesi più poveri di una dotazione minima informatica. L’interfacciamostra una quantità minima di testo e il launcher principale è un anello di icone.

Pulito, minimale anche se visto il target un po’ più di colore sarebbe stato meglio.Tutti i programmi vengono lanciati in modalità “a tutto schermo”. Spostandoil mouse agli angoli del display si possono attivare funzioni diverse quali la listadelle attività recenti, il passaggio a un utente diverso e altro. Dopo una primafase di apprendimento e familiarizzazione dell’interfaccia non dovrebberoesserci problemi particolari.

LINUX PRO 127  51

 La guida

utente di Doudouè davverograndiosa.

Verdetto

DoudouLinux

Edubuntu

LinuxKidX

Qimo

Sugar on a Stick

Confronto Test 

Edubuntu include la guidaUbuntu Desktop Guide che offre una notevole quantità

di informazioni sull’utilizzo e gestionedel sistema. Si possono anchetrovare alcuni riferimenti alladocumentazione online perapprofondire la conoscenza delleapplicazioni installate. Doudou inquesto ambito mostra il meglio di sé,a parte qualche piccola imperfezionenelle traduzioni (tipicamentefrancesismi) e qualche sezione un po’datata. D’altra parte con la distroviene offerto un manuale in PDF

DocumentazioneLa quantità di documentazione offerta è sufficiente?

di 160 pagine, accessibile direttamentedall’interfaccia, che approfondisce(a volte troppo) quasi tutto ilsoftware offerto. Insomma 10 e lodeagli al team di documentazione.Al contrario la documentazione diQimo è quasi inesistente. Le due iconepresenti nel menu puntano a unacopia locale della guida di Xubuntuche non esiste e alle guide di Xfcenudo e crudo. Allo stesso modoLinuxKidX non mostra altro chela guida di KDE. Non che si pretendadi avere una guida omnicomprensiva,ma un semplice file Welcome.pdf 

che mostra i programmi principali inbreve avrebbe reso bimbi (e genitori)sicuramente più sereni ed entusiastidella scelta fatta. Sugar on a Stick,invece, ha una documentazionepiù che buona, ma è per la maggiorparte dedicata all’utilizzo dellefunzionalità OLPC, poco calzantiper l’uso tipico che ne farebberoi bambini qui in Italia come desktop.Ad ogni modo la guida è ben fattae accompagnata da numerosiscreenshot, quindi si notachiaramente la cura che glisviluppatori vi hanno posto.

Page 54: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 54/100

52  LINUX PRO 127

egregia questa situazione. Edubuntu

offre un gruppetto di giochi

abbastanza decente tra cui Atomix ,

 Blinken, gbrainy , Potato guy , Ri-Li  

e Sudoku. Doudou qui sbaraglia

gli avversari offrendo una selezione

senza pari. I giochi sono divisi in

categorie, quindi nella sezione arcade

di può trovare Frozen Bubble, Circus

 Linux , Help Hannah’s Horse (una sorta

di Pac Man) e Robots. Nella sezione

avventura di trova Pingus, SuperTux  e

 Abe’s Amazing Adventure, mentre la

sezione Sport offre Foobilllard , Super

Tux Kart  e Kolf . E ancora giochi da

tavolo, giochi di logica, giochi di carte

e molto altro pronto da esplorare.

Davvero un’offerta impressionante,

soprattutto tenendo conto che tutto

questo sta in un CD a fianco di due

suite educative complete.

Alcuni genitori potrebbero

non gradire l’idea di una

distribuzione educativa che

contiene molti giochi. Non è forse una

distrazione? Forse sì, ma nel senso più

generico di “distribuzione per bambini”

è una buona cosa sapere di poter

Giochicontare su giochi mirati all’età

interessata per consentire ai propri

figli di prendersi un attimo di relax

tra un’attività di apprendimento

e l’altra. Qimo e LinuxKidX sono

abbastanza povere in questo campo;

l’unico gioco incluso di default

è quello degli scacchi. Certo, ci sono

molte attività divertenti in GCompris,

ma se si pensa che dovrebbero

essere distribuzioni esclusivamente

per bambini ci si aspetterebbe

qualche gioco in più presente

di default nella ISO d’installazione.

Anche avendo a disposizione poco

spazio, gli sviluppatori potevano

valutare di inserire qualche semplice

gioco. Anche Sugar on a Stick non

offre molto inizialmente, ma i 130

giochi a portata di click nella pagina

online dedicata mitigano in maniera

Divertimento tutto incluso.. o no?

 Edubuntuqui si merita

 senza dubbio il primo premio.

Verdetto

DoudouLinux

Edubuntu

LinuxKidX

Qimo

Sugar on a Stick

 Doudou non ha rivali inquesto campo.

Verdetto

DoudouLinux

Edubuntu

LinuxKidX

Qimo

Sugar on a Stick

Test 

Confronto

Senza dubbio Edubuntu è la

distribuzione che è riuscita

a radunare più software educativi

pronti all’uso, con la scelta quasi

obbligata di GCompris come

protagonista. Se non ne avete mai

sentito parlare, si tratta di una grande

collezione di giochi, attività didattiche e

di avvicinamento alla tecnologica che è

nata nel 2000. Piena di colori e talvolta

forse un po’ troppo puerile, eppure

imbattibile per il target e l’obiettivo

prefissati: potrete trovare attività

riguardo l’informatica e i computer,

matematica, scienza, geografia, arte,

lettura e molto altro. Il pacchetto

software è decisamente corposo

ma è anche una parte essenziale

di qualsiasi distro mirata ai bambini.

Oltre questo Edubuntu offre Celestia

(esplorazione spaziale), il trio Tux- 

di strumenti per bambini (TuxPaint,

TuxMath e TuxTyping) insieme a Parley,

un allenatore di vocabolario. Al fianco

di questi strumenti basilari si potranno

trovare applicazioni più avanzate come

Lybni, potente software per il disegno

delle funzioni matematiche. Essendo

Edubuntu la distribuzione più corposae anche l’unica che ha bisogno (per

dimensioni) di un DVD al posto

Applicazioni educativeQuali programmi dedicati all’apprendimento sono presenti?

di un CD, potreste aspettarvi una

selezione più ampia di software pronti

all’uso ed è proprio quello che troverete.

Doudou riunisce un vasto assortimento

di software valido, riuscendo nell’intento

di concentrare tutto in uno spazio

piuttosto contenuto, inclusi il gigante

GCompris e il “sempreverde”

Childsplay. Proprio quest’ultimo software

rappresenta un’altra pietra miliare

dell’offerta per bimbi, con un’ampia

scelta di strumenti di apprendimento,

concentrati per la maggior parte a un’età

prescolare. Ci sono giochi di memoria,

puzzle e giochi di vario genere, un’ottima

alternativa a GCompris per i più giovani.

Potrete trovare inoltre altri software

educativi per KDE (Kanagram,

KHangman e KLettres) insieme

a TuxPaint e PySyCache (allenamento

all’uso del mouse). La maggior parte

di questi programmi è destinata

a un’età dichiarata compresa tra i 2

e i 12 anni, ma si possono trovare

anche applicazioni che possono

intrattenere anche i più grandi come

KGeography. Sfortunatamente qui

niente programmi sullo spazio e le stelle.

Sugar on a Stick invece ha adottatoun approccio diverso, offrendo

un proprio set di software (chiamati

“attività”). Non che la scelta sia ampissima,

ma l’idea è di offrire soluzioni adatte

alla particolare interfaccia. Ad esempio

c’è un gioco di memoria associato

ad alcuni concetti di matematica oppure

un navigatore lunare, il classico gioco

di disegno con la tartaruga

e un ambiente di introduzione alla

programmazione Python. Anche se

quest’ultimo task potrebbe sembrare

esagerato, pensate che fino a non molti

anni fa non era così strano trovare

dei ragazzini di 10 anni intenti a scrivere

giochi (basilari) nei linguaggi ad alto

livello più svariati su Commodore, Amiga

e Spectrum. Quindi perché precludere

questa possibilità alle nuove generazioni?

L’unica vera pecca è che anche

sommando tutte le suddette attività

il risultato è poca cosa rispetto all’offerta

di GCompris. Qimo, invece, offre una

piccola ma adeguata selezione tra cui

GCompris, Childsplay, TuxPaint, TuxMath,

TuxTyping e Lab. Quest’ultimo è un

intrigante tentativo di introduzione

alla programmazione tramite un gioco

in cui si deve aiutare una formica

a uscire da un labirinto dandole istruzioni.

LinuxKidX, a sua volta, offre la solitatriade GCompris, Childsplay e TuxPaint

più l’intera gamma educativa di KDE.

La pagina online delle Attivitàdisponibili per Sugar on a Stickpermette di scaricare oltre130 giochi diversi!

Page 55: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 55/100

LINUX PRO 127  53

Confronto Test 

Distribuzioni per bambini

Il verdettoe uno script Bash di 20-30 righeche aggiunge e toglie i pacchettinecessari. A veder i risultati delleprove il target ideale è quello diuna classe, invece che un utilizzocasalingo e personale comela maggior parte delle altredistribuzioni. Invece Doudou esce a testa alta dal confronto,pur avendo una minore offertasoftware l’interfaccia ripagaappieno le carenze, insieme

alla documentazionee all’abbondanza di giochi.Lo sforzo e la passione profusi daglisviluppatori si vedono in diversiaspetti e l’obiettivo “bambini”è stato azzeccato in pieno.L’aspetto giocoso e talvoltatroppo elementare la rendonoideale per un target tra i 2 e gli8 anni. Se vostro figlio è un po’più grandicello vi consigliamocaldamente di indirizzarlo verso

Quindi chi è il vincitorealla fine? Primadi provare tuttequeste distribuzioni

le aspettative erano cheEdubuntu sarebbe riuscitaa sbaragliare la concorrenzasenza troppe difficoltà.D’altronde è la distribuzioneper bambini più conosciutaed è supportata da Ubuntu,un mix vincente non credete?

Dopo aver fatto i test di cuisopra la risposta è chiaramente“no”. Unity ne rende l’utilizzodifficile (il vantaggio di cercare leapplicazioni digitandone il nomenon ha senso con i bambini)e a parte l’integrazione con LTSPnon ci sono ragioni ovvie permantenerla separata dal ramoprincipale di Ubuntu. Lo stessorisultato potrebbe essereottenuto con una Ubuntu base

di semi-abbandono, conpacchetti vecchi e poca sceltadi software. Se a questoaggiungete il fatto di dover usareil package manager di Slackwarevia riga di comando, risulta

semplice capire perché è megliorivolgere le proprie attenzionialtrove. Ultimo, non per qualità,Sugar on a Stick . L’interfacciaalternativa e innovativaè sicuramente apprezzabilema dopotutto sembra ancorain uno stato troppo sperimentalee lontano dai canoniche i bambini troveranno

successivamente sui lorocomputer. Sicuramente unprodotto da provare, datala vasta scelta di “attività” tracui scegliere online e la presenzadi rare perle, ma probabilmentenon è la scelta ideale comesistema definitivo per vostro figlio.

Inaspettatamente non ci sono molte distribuzioni dedicate ai più piccoli.Foresight  aveva un progetto in questo senso ma è stato abbandonato.Poi c’è Kiddix (www.kiddix-computing.com) che sembra promettentema è anche a pagamento. Il prezzo di 10$ potrebbe valere la pena se cifosse una vera offerta particolareggiata ma sembra che il software inclusosia per la maggior parte gratuito e facilmente reperibile diversamente.Rimangono quindi due grossi buchi di mercato con altrettante potenzialità:

Considerate anche...una distro in stile Doudou, in un DVD pieno di software, che permettadi scegliere l’età al boot in modo da offrire un ambiente pronto all’uso.La seconda chance è quella di creare una distribuzione Linux checonsenta di familiarizzare con il sistema stesso, con tanti piccoli tutorial,aiuti riguardo l’uso dell’interfaccia e così via. Ovviamente non si intendel’uso di strumenti di amministrazione come sysctl o simili, quandola struttura tipica delle directory, utilizzo dei file e simili. LXP

Qimo, secondo vincitore diquesto test. Nonostante l’offertainiziale non sia eccelsa, tramiteil package manager di Ubuntupotrete trovare tutto quantovi è necessario. Unica peccain questo caso è ladocumentazione ma se avete

un minimo di confidenza conUbuntu non dovreste averedifficoltà a cavarvela. Altrasoluzione molto appetibileè LinuxKidX. Sfortunatamentegli sviluppatori hanno lasciatoandare il progetto che orasi trova in uno stato

“Doudou esce a testa alta

dal confronto, pur avendouna minore offerta software”

Cose ne pensate? Avete provato delle distro differenti rispetto a quelle

provate da noi? Fatecelo sapere scrivendo a [email protected] .

A voi la parola

DoudouLinux1°

Qimo2°

Web: www.qimo4kids.com Versione 2.0

 Ottima soluzione ma richiede dei ritocchi e manca di documentazione.

Sugar on a Stick  4°

Web: http://bit.ly/1236lv Versione Basata su Fedora 17

 L’interfaccia è curiosa ma è troppo lontana dagli standard usati altrove.

Web: www.doudoulinux.org Versione 1.2

 Semplice, ben documentata e piena di giochi e strumenti divertenti.

LinuxKidX3°Web: http://linuxkidx.blogspot.com Versione 2.0

 Gli anni di abbandono si fanno sentire, altrimenti sarebbe una valida scelta.

Edubuntu5°

Web: www.edubuntu.org Versione 12.04

 Ubuntu con LTSP incluso e alcuni pacchetti aggiunti. Niente di più.

Page 56: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 56/100

54  LINUX PRO 127

Test 

Da non perdere

MKVToolNix

Video su Internet:è veramenteun guazzabuglio.Per la maggior parte

degli anni 2000 abbiamodovuto combattere con ognitipo di codec e formatidi file contenitori diversie solo per avere un’esperienzadi navigazione decente

dovevate installare un ampioventaglio di estensioni.Le cose sono andate

leggermente megliocon la diffusa adozionedi Flash, ma quella eraancora un’estensione

difettosa, soggetta a bloccarsie una soluzione non ideale

per guardare i video. E sebbeneora si abbia H.264 comeformato video “standard”,questo è attorniato da ognitipo di problema di licenza.Come al solito, però,

la comunità del Software Liberoè venuta fuori con una soluzione(o per la verità, un pugnodi soluzioni). Una di questeè Matroska, un formatocontenitore completamenteaperto, cioè un mododi archiviare flussi audioe video dentro un solo file,come AVI nel mondo Windows.I file Matroska hannogeneralmente l’estensione.mkv e possono esserevisualizzati con molti riproduttori

e qualche browser. Matroskamira a diventare il formatocontenitore multimedialestandard sulla Rete,in modo che possiamo tuttiimplementare video sui nostrisiti senza preoccuparcidi licenze e diritti. Per costruire

file di Matroska avete bisognodi un insieme di strumentie qui entra in giocoMKVToolNix. È una seriedi utility a riga di comandoe grafiche per prelevarele informazioni dai file .mkv,estrarne i dati o metterli insiemeda altre fonti. La più utileè mkvmerge, accessibile nellasua incarnazione grafica tramitemmg. Quando l’avviate, vi sipresenta un’interfaccia piuttosto

semplice, ma auto esplicativa.Per iniziare a convertire i vostrivideo, fate click sul pulsanteaggiungi nel pannelloSorgente e selezionateun video esistente. Poi, sotto,vedrete le tracce contenutenel file (le parti video e audio)e selezionandole si apriranno leopzioni nel pannello a schede aldi sotto. Quando avete finito conle vostre scelte, premete Avvia

muxing in fondo e vedrete unrapporto che mostra i risultati.

Quindi potrete caricare il videosul vostro sito Internet e aiutarea mantenere il Web che amiamolibero e aperto per il futuro.

Creatore di fi le video

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 6.0.0 ∆ WEB www.bunkus.org/videotools/mkvtoolnix

QUESTO MESE...MKVToolNix 54Glances 55Tasque 55Midori 56o42a 56Zathura 57cclive 57

Trigger Rally 58Quabro 58

SorgenteQui si aggiungono i video esistentida convertire nel formato .mkv.

OpzioniSotto File D Opzioni, potete personalizzareil comportamento dell’interfaccia.

GlobaleIn questa scheda potete dividere i filedestinazione e renderli conformi a WebM.

Opzioni destinazioneCambiate le impostazioni per il filedestinazione, per esempio: il rapportoaspetto sotto Specifiche formato.

ConversioniScegliete il nome del file destinazionee Aggiungi alla coda per fareconversioni in blocco.

ContenutiCon un file sorgente caricato, qui potetevedere i componenti audio e video.

L’interfaccia di MKVToolNix

“Per la maggior parte degli anni

2000 abbiamo dovuto combattere

con ogni tipo di codec”

Usando mkvinfo-gui -g, seguito da un nome di file, potetericavare informazioni dettagliate su un file di Matroska

Page 57: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 57/100

LINUX PRO 127 55

 

Da non perdere Test

Il lavoro di un amministratoredi sistema non è mai finito.Si deve tener tracciadei più recenti problemi

di sicurezza, dei pacchettidi aggiornamento, ottimizzarei file di configurazionee sistemare le cose quandogli utenti le rompono. Persinoquando tutto sta andando lisciosi deve controllare la macchina

affinché non rimanga a cortodi RAM o di spazio sul disco.Grazie alla progettazione diUNIX e all’apertura di Linux, nonè difficile per gli amministratorisbirciare nei meccanismi internidi un sistema, ma frugarein /proc e destreggiarsi traun mucchio di strumenti a riga dicomando non è particolarmenteelegante. Glances è un

programma da terminale chefornisce una panoramica dellerisorse del sistema. Esso miraa raggruppare insieme tuttele informazioni che servonoa un amministratore in una solaschermata. Lo screenshotlo spiega meglio: lì potete vederela vista predefinita di Glancesche mostra il carico della CPU,l’uso della memoria e dello

swap, l’attività della rete, l’I/Odel disco, i punti di mount e unelenco dei processi. Nonostantetutte le informazioni siano stipateinsieme (e considerando cheè progettato per funzionare suterminali 80x24, cioè macchinesenza X), Glances è facile dacomprendere grazie all’uso degliattributi del terminale, comeil grassetto e il colore. Il colore

∆ VERSIONE 1.4.1 ∆ WEB http://bit.ly/QWBRnN

GlancesControllo di sistema

Date uno sguardodentro il cervello di unoscrittore del Da nonperdere e vedrete un

grosso ammasso di note adesivee promemoria: programmida provare, programmiraccomandati dai lettori,programmi che sono stati trattatiprima, programmi che nonsi compilano e così via. Qui nonstiamo cercando di guadagnarcila vostra simpatia, ma siamosempre felici quando uno deiprogrammi in cui ci imbattiamorende la vita molto più semplice.Tasque è un gestore di attività.Di questi ce ne sono diecia un soldo nel mondo Linux,che comprendono quasi tuttii toolkit e i linguaggi disponibili,ma quello che ci piace di piùdi Tasque è la sua semplicità. Non

prova a intasare l’interfaccia coninutili aggeggi, né soffre dellamalattia contagiosa chiamatascheumorfismo, cioè provare afar apparire il programma comeun oggetto “reale” mettendoeffetti pannello di legno e fotodi penne sullo sfondo. Quandosi avvia per la prima volta,Tasque vi fa scegliere tra duemodelli di archiviazione perle vostre liste: potete integrarlecon il fantastico sito Webwww.rememberthemilk.com o archiviare i vostri dati in locale.Quindi vi si presenta una listapiuttosto vuota, pronta peraggiungere i vostri compiti.Basta digitare il nome nelriquadro in alto a destra ecliccare sul pulsante Aggiungi .Quindi potete personalizzareil compito, selezionando la data

∆ VERSIONE 0.1.11 ∆ WEB http://live.gnome.org/Tasque

TasqueGestione attività

di scadenza, la categoria e lapriorità. Completare un compitorichiede solo di spuntarela sua casella di controllo.Per richiamare la finestraPreferenze , premete conil tasto destro sull’iconadi una spunta nell’areadi sistema della vostra scrivaniao gestore di finestre (non c’èmodo di accedervi tramitela schermata principale).La nostra principale lamentela

è che Tasque è scarsamentepersonalizzabile; non potetecambiare il numero di priorità oaggiungere una nuova categoria,ma questo è parte della suasemplicità. La ragione per cuici piace così tanto è cheabbiamo iniziato a usarloimmediatamente in preparazionedi questo Da non perderee qualsiasi strumento vi aiutia essere produttivi senza faremodifiche è degno di attenzione.

non è lì solo come fronzolo

visivo, ma lo sfondo verde sottola riga superiore di statistichepuò cambiare colore se lasituazione peggiora. In terminalipiù grandi l’elenco dei processisi espande per mostrare piùcolonne, come PID e Utente,altrimenti rimane lo stesso.È disponibile anche una limitatacapacità di personalizzazione,tramite la quale potete cambiare

l’ordinamento dell’elenco

(per esempio, per uso di CPUo per uso di RAM); tramitel’opzione di riga di comando-t  potete modificare quantofrequentemente lo schermoè aggiornato. In definitiva,Glances è il programmaperfetto da eseguiresu una connessione SSH a unserver o a qualsiasi macchinavogliate osservare da vicino.

Tasque non è una cura magica per la procrastinazione, ma è unapiccola applicazione ben fatta che risulta davvero utile

Tutto ha una gioiosa colorazione verde, perciò non abbiamoniente di cui preoccuparci. Non ancora

Page 58: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 58/100

56  LINUX PRO 127

Test 

Da non perdere

Ibrowser sono probabilmentele più grandi vittime delgigantismo di funzioni. Ognibrowser inizia vantando

di essere “veloce e leggero”, manon appena vengono aggiunteun po’ di funzioni, i requisitidi RAM iniziano a salire e quelrapido, piccolo browser che unavolta amavate inizia a sembrareun po’ impacciato. Firefox è un grande esempio di questo:ha iniziato come biforcazione

sperimentale di Mozilla, col nomedi Phoenix, abbandonandomolta della vecchia robaccia infavore di bassi requisiti di risorse.Ma Firefox ha subito messosu peso e sebbene sia miglioratorecentemente nella velocità,ha ancora alcuni problemi conla gestione della memoria. Perquelli che guardano al Megabyte,

Midori

c’è una promettente alternativain Midori. Questo browserprende il motore di renderingWebKit  (originariamentebiforcato da KHTML di KDEe ora usato in Google Chrome e in Safari di Apple) e lo avvolgein una semplice interfaccia GTK.È anche molto leggero sui banchidi RAM: quando si accede allapagina principale di Midori, peresempio, usa solo 46 MB di RAM.Paragonatelo a Firefox, che

impiega fino a 115 MB e potretevedere la differenza. Quandosi moltiplica questa differenza perdiverse schede, si ha un notevoleeffetto sulla memoria disponibile.L’interfaccia di Midori apparee si comporta in modo classico,utilizzando le stesse scorciatoiedi tastiera per la navigazionee la gestione delle schede che

Browser

si trovano in Firefox e Chrome.I pulsanti del pannello superioresono molto in stile Netscapenella loro grossezza, ma potete

riconfigurarli per essere icone piùpiccole o solo testo. Di defaultc’è una comoda icona di uncestino che fornisce un rapidoaccesso alle schede chiuse direcente e il motore di ricerca èimpostato a DuckDuckGo. Midoriinclude un pugno di estensioni,come un blocca pubblicitàe i gesti del mouse e il suo

∆ VERSIONE 0.4.7 ∆ WEB http://bit.ly/O4DD8I

Molti linguaggidi programmazionehanno tentatodi scimmiottare i loro

equivalenti umani, ma i risultatisono di solito piuttosto ordinari.Prendete il COBOL, per esempio: IDENTIFICATION DIVISION.

 PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY Hello, world. STOP RUN.Non è molto attraente, vero?Ma il COBOL è antico, perciòi nuovi tentativi come o42a sono sempre degnidi un’occhiata. Secondogli sviluppatori, un programmain o42a dovrebbe essere “piùsimile a un testo naturale inInglese di uno scritto in qualsiasilinguaggio di programmazionetipo C”. È un linguaggio compilato,con tipizzazione statica, altamentedichiarativo con mescolate alcune

o42a

funzioni di programmazioneimperativa. La versione o42adel codice di sopra è così: Use namespace ‘Console’. @Main := * { Print Hello, World! nl. }

Linguaggio di programmazione

 i < 10? ...Questo significa: “se il valoredella variabile i è minore di dieci,allora torna all’inizio del cicloattuale”. Il modello di oggettidi o42a è basato sui prototipi,perciò gli oggetti derivanodirettamente da altri oggetti,

senza classi o interfacce.L’oggetto ‘null’ è il prototipodi tutti gli oggetti e ai campinegli oggetti si può accederecon i due punti, per esempio:

“foo:bar”. Il linguaggio è a unostadio iniziale di sviluppoe gli sviluppatori si stannoconcentrando principalmentesul sistemare la sintassie la progettazione, perciòattualmente c’è solo uncompilatore prototipo scrittoin Java (con LLVM generatoredi codice alle spalle). Ma anchenella serie 0.2.x c’è una discretaquantità di documentazione.

∆ VERSIONE 0.2.3 ∆ WEB http://o42a.org

La documentazione è chiara e piena di esempi, due polliciin su da parte nostra senza ombra di dubbio

sistema di preferenze è piuttostodecente. Nel complesso, non c’èniente che Midori faccia che siaanni luce avanti agli altri browser,

ma svolge il suo lavoroadeguatamente, con precisionee a un livello molto più leggerosulla memoria di Firefox.Funziona particolarmente benein Xfce, perciò se state pensandodi rivitalizzare una vecchiamacchina con Linux, questobrowser dovrebbe esserela vostra prima scelta.

Qui potete vedere l’uso dei puntiper segnare la fine del comando,proprio come i punti e virgolanei linguaggi tipo il C. Ci sonomolti altri tentativi di rendereil linguaggio più leggibiledagli umani, come:

Page 59: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 59/100

LINUX PRO 127 57

 

Da non perdere Test

Sappiamo quello che state

pensando: “Un altro

visualizzatore di

documenti? Linux non

ne ha già, diciamo, dieci zilioni?”.

E avreste ragione, è una

categoria di software che

è stata sfruttata quasi alla morte.

Diciamo quasi perché quando

abbiamo scoperto Zathura 

abbiamo capito che valeva

la pena parlarne. Mentre lamaggior parte dei visualizzatori

di documenti provano a rendere

le cose punta-e-clicca per gli

utenti non tecnici, Zathura

si rivolge agli utenti più avanzati,

che preferiscono operare

principalmente con la tastiera.

La sua interfaccia è veramente

minimalista: caricate un file PDF,

per esempio, e sarete perdonati

se penserete che sia una di

quelle vecchie applicazioni di

X11, come xman o xedit . Non

ci sono pulsanti o menu con cui

giocare, troverete solo una barra

di stato lungo il fondo che mostra

il nome del file e il numero

di pagina. Ora potete scorrere

un documento usando i soliti tasti

cursore e PagSu/PagGiù,

ma Zathura supporta anche le

scorciatoie tipo Vi, perciò potete

scorrere anche con i tasti h, j, ke l (usate le versioni maiuscole,

J e K, per scorrere una pagina

intera per volta). I controlli tipo

Vi vanno anche oltre, con vari

comandi disponibili, come

:bmark  per i segnalibri, :print  

per stampare e :info per

mostrare i dettagli tecnici di un

documento. Potete anche usare

il classico :q di Vi per uscire. Un

altro tasto utile è f, che quando

∆ VERSIONE 0.2.1 ∆ WEB http://pwmt.org/projects/zathura

 Zathura

 Visualizzatore di documenti

Attenzione tutti voi patiti

di YouTube: quante

volte avete trovato

un bel video di gattini

che cadono dai tavoli o di Linus

Torvalds che esprime molto

francamente la sua opinione

su Nvidia e avete desiderato

di poterli salvare sul vostro disco

fisso? Ci sono diverse estensioni

basate sul browser disponibili per

rovistare nell’HTML di YouTube

e strappare contenuti video per

lo scaricamento diretto, ma sono

spesso complicati da usare

e si rompono periodicamente.

Non sarebbe bello se ci fosse

un’alternativa alla riga di

comando? Beh, fortunatamente,

c’è e si chiama cclive. Questo

piccolo strumento senza fronzoli,

nella sua forma più semplice,

prende un URL di YouTube

e ne estrae i dati video in un file

a sé stante:

cclive http://www.youtube.com/

 watch?v=IYx8kK7kR9o

Questo ci dà un file con il nome

del titolo del video in formato

WebM. Ora, il formato disponibile

per ogni video può essere

determinato con l’opzione -F,

come potete vedere nella

schermata, ci sono risoluzioni

da 240p fino a 720p. Potete dire

a cclive di scaricare uno specifico

formato usando l’opzione

--format . Se siete nel mezzo

dello scaricamento di un video

e accade qualcosa alla vostra

connessione Internet, potete

riprendere con -c e per

indirizzare a un diverso nome

di file usate -o. cclive include

∆ VERSIONE 0.7.10 ∆ WEB http://cclive.sourceforge.net

cclive

Scaricatore di video

funzioni avanzate come

la capacità di mascherarsi

da specifico browser tramite

l’opzione --agent . Potete anche

usare --throttle per limitare

la velocità di scaricamento

e scaricare tramite un proxy

server (che aiuta se il video non

è disponibile nel vostro paese).

Usando l’opzione --exec, potete

eseguire comandi aggiuntivi sul

file subito dopo lo scaricamento,

utile se volete fare una

conversione di formato

o estrazione audio. Oltre

a YouTube, cclive supporta

anche siti Web come Vimeo

e Dailymotion. C’era un progetto

per dargli un’interfaccia grafica

(Abby su http://code.google.

com/p/abby), ma è abbandonato

da un po’. Si spera che qualche

intraprendente smanettone di Qt

possa farlo rivivere, però...

è premuto evidenzia

i collegamenti interni ed esterniin un documento, mettendo dei

numeri prima di questi. Perciò se

state scorrendo un documento

con un indice dei contenuti, per

esempio, non dovete prendere

il mouse, basta premere f e poi il

numero relativo al collegamento

che volete. Sono incluse molte

altre opzioni e comandi, come

descritto nella pagina del

manuale (man zathura)

e mentre il programma supporta

i file PDF, PostScript e DjVu,altri formati possono essere

disponibili in futuro tramite

il suo sistema di estensioni.

Siamo passati a Zathura come

visualizzatore di PDF predefinito

e stare alcuni giorni senza mouse

nello scorrere i documenti,

specialmente tecnici con molti

collegamenti, ha davvero portato

il sorriso sulle nostre facce

estremamente belle.

Elencate i formati disponibili per un video e poi scaricatelo,non può essere più semplice

Questo è come appare lo schermo dopo avere premuto il tastof per evidenziare i collegamenti dei documenti

Page 60: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 60/100

58  LINUX PRO 127

Test 

Da non perdere

Dai giorni gloriosi di Sega

Rally abbiamodesiderato più giochidi rally. Vedete, mentre

i normali giochi di guida sonotutti belli e buoni, sono moltobinari nel funzionamento:sterzate a sinistra e la macchinava a sinistra. Sterzate a destra,va a destra. E così via. Invecenei giochi di rally passate metàdel tempo a sbandare sullecurve, provando a puntare

la vostra macchina nelladirezione opposta alla suarotazione. È una bella sensazione,perciò tutti i nostri Natali sonoarrivati in una volta quandoabbiamo scoperto Trigger

Rally per Linux.

Beh, la maggior parte dei Natali,comunque, è solo alla versione0.6.0. Nondimeno, è giàin buona forma, con unconvincente motore fisico e unadiscreta selezione di macchine.Per quanto riguarda la gravità, èun po’ sospetta, con le macchineche rimbalzano come se fosserosu Marte, ma questo aumentail fattore divertimento. Ci sonotre macchine e 33 percorsi, chevanno dalla pista realistica della

giungla e l’esplorazione di uncanyon al bizzarro vulcanoe ai balzi sulla superficie lunare.Per adesso c’è solo una modalitàa singolo giocatore da scegliere,divisa in tre opzioni: allenamento,eventi e corse singole. In ogni

Trigger RallyGioco di corse

∆ VERSIONE 0.6.0 ∆ WEB http://bit.ly/PWaeMB

Usare una mazza percolpire con una palladei mattoni difficilmenteè la ricetta più fantasiosa

per un gioco, ma Quabro ne dàun’interessante interpretazione.

Dal punto di vista del gioco,è molto simile al tradizionale giocorompimattoncini di un tempo:una palla rimbalza sullo schermo etramite una racchetta lungo il fondo,

che controllate, dovete dirigerlaverso i mattoni per colpirli (e

distruggerli). Contemporaneamente,dovete assicurarvi che la palla nonpassi oltre la racchetta e fuori dal

fondo dello schermo. Ma mentrei tradizionali giochi rompimattoncinivi danno il controllo di appenauna racchetta, Quabro ve ne dàquattro. Quelle orizzontali sonosincronizzate, come lo sono le

verticali, perciò in definitiva dovetesolo usare i controlli sinistra/destrae su/giù. Ma ora che la palla puòsfuggire da qualsiasi lato delloschermo, le cose iniziano a farsi

molto più difficili. Poi ci sonoi potenziatori. Certi mattoni

rivelano bonus che espandonoil vostro punteggio, allargano leracchette o le restringono. Potete

QuabroGioco di mazza e palla

∆ VERSIONE 0.6.1∆ WEB http://bit.ly/PvccAZ

I mattoni con le stelle forniscono potenziatori o depotenziatori,come accade talvolta. Per cui fate bene attenzione...

“Dovrete fare movimenti fluidi percontrollare la macchina in velocità”

I cerchi rossi rimbalzanti rappresentano un cambiamentodai soliti tipi di impostazioni dei punti di controllo

caso, correte unicamente controil tempo, navigando intorno

al percorso per esseresicuri che la vostramacchina passiattraverso i cerchi rossirimbalzanti (guardate

la schermata). Potete sterzarecon il mouse o usando la tastiera,in entrambi i casi, dovrete faremovimenti precisi e fluidiper controllare la macchinain velocità, altrimenti scivoleretevia sul vostro tettuccio. Trigger

Rally è già un buon divertimentoe otterrete un senso di

soddisfazione quando fate ungiro del percorso in un tempodecente, senza rimbalzare nelloscenario. Ci si sente piuttostosolitari, perciò la presenzadi qualche altra macchinalo amplierebbe in un giococompleto, crediamo.Ah, e se lo compilate dai sorgenti,guardate doc/README.txt ,perché usa un sistema dicompilazione non convenzionale.

“In quanto al gioco, è moltosimile ai tradizionali giochirompimattoncini”

anche applicare una rotazionealla palla quando questa colpiscele estremità della racchetta,se vi muovete in modo opportuno.Perciò avete molto su cuiconcentrarvi: afferrare i potenziatoriutili (evitando quelli cattivi),mantenere la palla sullo schermoe applicare la rotazione in modoche colpisca determinati mattoni.Fiuuu. Però è sorprendentementecompulsivo e la musica rilassata,spaziale e gli effetti sonori di ping

pong forniscono un’atmosferapiacevole. Per di più, i livelli (20in totale) sono archiviati in filedi semplice testo, perciò è moltosemplice creare dei vostri livellie giocare con disegni insoliti.Il gioco ha vari livelli di difficoltà,che influenzano la velocità dellapalla, il più facile è troppo lentoe occorrono anni per ripulire loschermo, perciò andate alla taccacentrale quando iniziate a giocareper la prima volta. LXP 

Page 61: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 61/100

LINUX PRO 127 59

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

TUTORIAL

Editor per programmareGeany è l’arma in più per i programmatori

Open Source, qualunque linguaggio

si voglia usare pag. 60

Controllo remotoVolete avvicinarvi alla domotica senza

spendere vagonate di Euro? Provate

OpenRemote, la soluzione Open Source

che fa per voi pag. 64 

 Web App faciliAvete mai pensato di ricorrere

a delle macchine virtuali per fornire

al mondo le vostre Web App?

Fatelo con Turnkey Linux! pag. 68 

Samba 4Acitve Directory in salsa Open pag. 72 

Raspberry Pi

Con SSH accedi da lontano alla tua RPin tutta sicurezza pag. 78

ACCADEMIA DEL CODICE

Concetti di baseSpesso per risolvere un problema reale

sono necessari diversi tipi di informazioni.

Questo mese, quindi, vi mostriamo quali

e quanti tipi tipi di dati esistono pag. 82

DjangoEcco come precaricare i dati all’internodei progetti e come creare form pag. 84

SchemeLa prima puntata di una nuova serie

dedicata a un linguaggio per

la programmazione funzionale

che deriva dal Lisp 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 62: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 62/100

60  LINUX PRO 127

Geany

Un potente editor per creare applicazioni

Scrivere codice è una cosa molto personale.Ognuno ha i suoi tool preferiti, le suetecniche e il suo approccio per produrre

dell’ottimo codice ricco di funzionalità. Centinaiadi libri sono stati scritti riguardo i diversi aspettidell’arte Zen di scrivere codice, e sicuramentenon siamo qui per dirvi che la nostra stradaè la quella migliore. Il cuore di questi dibattitiè se utilizzare un IDE oppure un editor per creareil proprio codice. È interessante notare che, moltidi quelli che propendono per gli IDE sono spessodei novizi della programmazione che considerano

gli IDE essenziali per abbassare la difficoltà disviluppo del codice. Molti hacker stagionati, invece,preferiscono gli editor per evitare tutti i fronzoli econcentrarsi soltanto sul codice. Per quanto riguardanoi, entrambe le soluzioni hanno i loro pro e i lorocontro e riteniamo che sia una scelta strettamentepersonale e che non ci sia una risposta giusta aquesta domanda. Negli anni abbiamo tes tato diversiIDE: Eclipse, KDevelop, Visual Studio, ecc.. Così comediversi editor:  Emacs, Vim , GEdit , eccetera. Alla fineabbiamo fatto la nostra scelta, il suo nome è Geany.

Semplicità e potenzaGeany è sostanzialmente un editor di testo,

con l’aggiunta di diverse funzionalità necessarieper i programmatori. Geany in realtà non è né un IDEné un normale editor di t esto; in sostanza è un editor

di testo con molte funzionalità di un IDE. Geany nontenta di trasformare tutto in wizard, con templateprecotti e altre funzionalità che trovate normalmentein un IDE, ma include le funzionalità base di cui avetebisogno per scrivere codice, un ottimo editor,la possibilità di navigare classi e funzioni, il codefolding e molte altre feature. Siamo fermamenteconvinti che Geany sia la scelta migliore per losviluppatore saltuario o professionista che desiderascrivere applicazioni per GNU/Linux. Geany è statoscritto utilizzando le librerie GTK , il che significa

che si integra completamente nei desktop Unitye GNOME, rispettivamente di Ubuntu e, ad esempio,Fedora. I pacchetti sono disponibili nell’UbuntuSoftware Center, nel repository Everythingdi Fedora, e sono reperibili anche per Debian,Gentoo, OpenSUSE, ArchLinux, CentOS, RHEL,AltLinux, SourceMage e Crux all’indirizzo www.

geany.org/Download/ThirdPartyPackages. Geanyfornisce un supporto built-in per una vasta gammadi linguaggi di programmazione, tra i quali, (O)Caml,Ada, Assembler, C, C#, C++, COBOL, Cython, D,Fortran, FreeBasic, Genie, GLSL, Haskell, Haxe, Java,Objective C, Pascal, Scala, Vala, VHDL e Verilog.Include inoltre un ottimo supporto per i linguaggi

di scripting e di markup, come ActionScript, CMake,Erlang, Ferite, Forth, Javascript, LISP, Lua, Makefile,Matlab, NSIS, Perl, PHP, Python, R, Ruby, Shell,Tcl, CSS, DocBook, HTML, LaTeX, Markdown,reStructuredText, Txt2Tags e XML. In più, offresupporto anche per Abc, Config, Diff, Gettex t,SQL e YAML. Ovviamente potete scriverein qualunque linguaggio utilizzando Geany, solonon potrete sfruttare le funzione di evidenziazionedella sintassi e quelle specifiche per i vari linguaggi.In questo articolo daremo un’occhiata a Geanyesplorando molte delle sue funzionalità. Per questomotivo andremo a creare un nuovo progetto, conun po’ di codice di esempio, e daremo un’occhiata

alle varie opzioni di configurazione per avvicinareil software alle vostre necessità. Andremo a scrivereil codice di esempio in Python, ma ovviamente voipotete utilizzare il linguaggio che preferite. Iniziamo.

L’interfacciaAvviate Geany e vedrete un’interfaccia simile a quellain Fig.1. Ci sono tre parti chiave in questa interfaccia.Sulla sinistra il browser dei file: da qui poteteaccedere rapidamente ai diversi file, classi, funzionie agli altri componenti del vostro progetto.Lo vedremo meglio in seguito quando andremoa creare il nostro codice. Nella parte destrac’è la finestra principale dell’editor. Qui è dove

passerete la maggior parte del vostro tempo.Come in molti editor di testo moderni, poteteaprire diversi file, e passare t ra i vari file attraversoFACILE

L’arma un piùDopo anni di ricerche per trovare l’editor perfetto per programmare, lo staff di Linux Pro

pensa di aver finalmente trovato un vincitore, una vera arma in più in mano agli sviluppatori

Page 63: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 63/100

LINUX PRO 127  61

Geany Tutorial

dei tab. Sotto l’editor di testo c’è la sezione deiMessaggi. Qui potete vedere l’output del vostrocompilatore/interprete, le informazioni di debug,oltre che poter inserire appunti al vostro progetto.In alto in questa schermata si trova il menu(in Ubuntu, è integrato nel pannello superiore come

per la maggior parte delle applicazioni), trovateinoltre le funzioni più comuni all’interno di toolbar.Anche le toolbar sono personalizzabili. Perconfigurarle, è sufficiente cliccarci sopra con il tastodestro, scegliere Preferenze Toolbar, selezionare lefunzionalità sulla sinistra e cliccare sulla freccia versodestra per aggiungerle alla barra degli strumenti.

Scrivere codiceIniziamo con il creare un nuovo progetto. Cliccatesu Progetto D Nuovo, inserite il nome nel boxche appare (ad esempio ‘Bellissima app’), e cliccatesul pulsante Crea. Con il progetto creato, andiamoa configurare alcune preferenze per il progetto.

Per fare ciò, cliccate su Progetto D

 Proprietà.Un buon posto per iniziare la configurazionedel vostro progetto è la sezione Indentazione.Qui potete decidere se utilizzare i tab o gli spazie quanti usarne. Questa sezione è particolarmenteutile per gli sviluppatori Python, che potrebberoavere alcuni progetti in cui utilizzano il tabper indentare e altri in cui utilizzano gli spazi.Se state lavorando a un progetto che necessitadi un compilatore (come ad esempio un’applicazionein C/C++) potete utilizzare la sezione Compila per configurare i comandi necessari alla compilazionedel progetto. Impostare questa sezione è tantosemplice quanto inserire i comandi manualmente

in un terminale. Non ci dilungheremo in questo,dato che oggi abbiamo deciso di utilizzare Python.Ora, potreste aver notato che il processo di creazionedel progetto non ha aperto alcun wizard per cercaredi guidarvi nella configurazione del progetto.Ecco, questo è uno dei motivi per cui Geanynon può essere considerato un IDE. Se voleteuna procedura guidata dovete utilizzare un softwarediverso, come Quickly, e importare tutti i file generatinella directory del progetto di Geany. Con il nostronuovo progetto, creiamo un file cliccando su File D Nuovo da modello D main.py. Questo ci creaun nuovo file Python con un po’ di codice incluso,un commento con la licenza utilizzata e un po’

di codice precotto per la funzione main().

Ora selezionate File D Salva Come e chiamiateil file app.py. Ora vedrete come stampare a videoil famoso ‘Ciao Mondo!’: aggiungete quindialla funzione main() questo codice: print “Ciao Mondo!”Salvate il file ed eseguitelo. Potete eseguireil file direttamente da Geany cliccando sullascheda Terminale nella zona inferiore. È sufficienteaprire la directory in cui è contenuto il codice(nel nostro caso /home/light/progetti/Bellissima

app/) ed eseguire il file: cd progetti/Bellissima\ app python app.pyA questo punto, sempre nella finestra del terminale,apparirà “Ciao Mondo!”. Vediamo ora come Geanysemplifica la navigazione nel codice. Nella zonaa sinistra cliccate sulla scheda Simboli. Questa è unascheda su cui probabilmente spenderete molto delvostro tempo. Qui potete vedere la funzione main().La scheda Documenti mostra i file che compongonoil vostro progetto, attualmente solt anto uno,ovviamente l’utilità aumenta con l’aumentaredei file e della complessità. Cliccando sulla funzionemain() nella scheda Simboli vedrete una piccola

freccia apparire nell’editor nel punto in cui inizia

1 L’editor Geany è semplice e privo di fronzoli inutili

Le 10 funzionalità principali di Geany

Perché dovreste interessarvi a Geany?Ecco 10 motivi per farlo:1  Semplicità di utilizzo Geany è sempliceda utilizzare e vi offre una gestione dei vostriprogetti molto semplice.2  Code navigation Trovare le vostrefunzioni e classi in un codice intricatoè semplice con il browser del codice.3  Supporto a molti linguaggi ed

evidenziazione della sintassi Geany offreun vasto supporto per molti linguaggi,

tra i quali C, C++, Python, PHP, Perl, Ada,Java, Ruby, Tcl, HTML, CSS e molti altri.

4  Autocompletamento Non riuscitea ricordare come si chiama la funzioneche vi serve? Geany ve lo suggerirà, e vi diràanche quali argomenti dovete passarle.5  Chiusura automatica dei tag XML

e HTML Quando si scrive HTML e XML, lachiusura automatica dei tag rende più facilela scrittura del codice e più difficile sbagliare.6  Code Folding Nasconde blocchidi codice che non vi servono conun semplice click.

7  Plug-in Geany ha una vasta gammadi plug-in di terze parti che potete installare

per estendere il vostro editorin modi differenti.8  Supporto per i task  Vedere tuttii commenti TODO e FIXME in un soloposto rende più facile la gestionedelle cose da sistemare.9  Terminale embeddato Un terminaleincluso nell’interfaccia rende il test di parti dicodice o il ritrovamento di file, facile e veloce.10 Supporto per il debugging Un debugger integrato permette

di trovare le problematiche del vostrocodice in modo rapido.

œ

Page 64: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 64/100

62  LINUX PRO 127

Tutorial 

Geany

la dichiarazione della funzione. Nell’editor è presente

anche un piccolo quadrato bianco con un - al suo

interno, vicino a ogni blocco di codice. Cliccandoci

sopra il blocco verrà nascosto e il simbolo diventerà

un + per indicare che è presente del codice nascosto.

Create ora una nuova classe per scoprire come

Geany semplifichi la navigazione del codice.Aggiungete il codice qui di seguito al programma:

 class MiaClasse:

  def __init__(self):

  print “Sto creando un oggetto MiaClasse”

  def show_info(self):

  print “Questa classe è MiaClasse”

  def foo(self, valore):

  print “Mi hai fornito il valore %s” % valore

 if __name__ = ‘__main__’;

  oggetto = MiaClasse()

  oggetto.show_info()  oggetto.foo(5)

In questo codice, abbiamo semplicemente creato

una nuova (e inutile) classe. Mentre stavate scrivendo

il codice potreste aver notato che una piccola

casellina per nascondere il codice è apparsa

automaticamente vicino a ogni blocco che avete

aggiunto. Geany è intelligente, osserva il codice

che state scrivendo e applica le sue funzionalità

automaticamente in tempo reale senza aspettare

che concludiate il blocco o che salviate il file. Un’altra

funzionalità che potreste aver notato è che quando

stavate scrivendo il nome delle funzioni nella vostra

classe (scrivendo oggetto. e il nome della funzione),

Geany apriva un piccolo box di completamentoautomatico con le funzioni scritte fino a quel punto.

Questa è una funzionalità estremamente utile,

e Geany tenterà anche di suggerirvi funzioni

dichiarate nelle API che state utilizzando.

Con la nuova classe aggiunta al programma, date

un’occhiata alla scheda Simboli nella parte sinistra

dell’interfaccia. Potete notare che la vostra classe

è apparsa con una piccola icona blu, e che le funzioni

al suo interno sono mostrate gerarchicamente.

Per una piccola applicazione come questa,

la visualizzazione delle classi non è un gran benefit,

ma con un’applicazione più grande come quella

mostrata in Fig.2, questa visualizzazione

è estremamente utile perché vi consente

di saltare da una parte all’altra del vostro codice

per trovare quello che vi serve.

ConfigurazioneUna delle principali differenze tra un IDE

e un normale editor è il livello di personalizzazione

disponibile. Molti IDE offrono un set d i impostazioni

di default e una quantità limitata di configurazioni

per mantenere l’IDE semplice da utilizzare.

Anche se gli editor solitamente non hanno

un front-end ricco come gli IDE, spesso offrono

la possibilità di configurare molte più cose. Geany

offre un ricchissimo insieme di configurazione

per le diverse parti che compongono il programma.

Potete configurare Geany in due punti:

∆ Modifica D Preferenze - da qui potete

configurare il cuore dell’applicazione;∆ Modifica D Preferenze Plugin - da qui potete

configurare i plug-in (ne parleremo in seguito).

Diamo un’occhiata alle configurazioni principali

di Geany, iniziamo con il configurare le informazioni

che vengono inserite nei commenti in testa ai nuovi

file del progetto. Cliccate su Modifica D Preferenze 

D Modelli e vi appariranno diversi campi che potete

modificare. Geany cercherà di popolare questi campi

per voi, ma alcuni di ess i richiedono una modifica

da parte vostra. All’interno di questi campi, noterete

delle stringhe incomprensibili, per esempio

%Y-%m-%d nel campo Data. Questi codici

agiscono sul template per determinare in che modo

le date devono essere visualizzate. Nell’esempio,%Y-%m%-d verrebbe convertita in 2013-01-04:

%Y corrisponde all’anno (2013), %m al mese (01)

e %d al giorno (04). Per un elenco completo di

questi codici visitate l’URL http://man.cx/strftime.

Proseguendo nella personalizzazione, una delle

cose più importanti è la possibilità di configurare

le scorciatoie da tastiera. La programmazione

è un’arte che ha del ritmo e delle cadenze. Quando

siete all’opera, volete mantenere il ritmo per non

perdere il flusso di pensieri. Questo è uno dei motivi

per cui molti di noi hanno trascorso intere nottate

programmando ininterrottamente. Se c’è qualcosa

che interrompe il ritmo più d i qualsiasi altra

è l’utilizzo del mouse. Spostare le mani dalla tastieraal mouse e di nuovo alla tastiera rallenta molto,

le scorciatoie vi offrono un modo per mantenere

invariato il vostro ritmo. Se non avete mai utilizzato

le scorciatoie da tastiera, vi suggeriamo caldamente

di cominciare e fortunatamente potete configurare

praticamente ogni scorciatoia anche in Geany. Per

fare ciò, andate in Modifica D Preferenze e poi

2 Geany permettedi gestire consemplicità ancheprogetti complessigrazie ai suoi tool

Plug-in

Una delle migliori funzioni di Geany è l’ampia gamma

di plug-in di terze parti. Molti di questi plug-in sono

disponibili nel gestore pacchetti delle varie distribuzioni;

potete trovare molte informazioni utili sui plug-inall’indirizzo http://plugins.geany.org.

Page 65: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 65/100

LINUX PRO 127  63

Geany Tutorial

sulla scheda Scorciatoie da tastiera. Un’altra areaimportante da configurare è l’editor stesso. Anchese un editor di testo è abbastanza semplice… potetescriverci del testo all’interno… esistono molt i fattoridi differenziazione su come la gente vuole utilizzarel’editor. Indentazione, evidenziazione della sintassi,i numeri delle righe, l’autocompletamento e moltissimialtri elementi. Fortunatamente Geany offre una vastagamma di configurazioni per l’editor in Modifica D Preferenze D Editor. Potete anche configurare

quali parti dell’editor visualizzare cliccando suVisualizza D Editor. Vi raccomandiamo di abilitareMostra i numeri di riga ; vedere quale riga creaproblemi è fondamentale quando si collabora conaltri o si lavora su grossi progetti. Potete ancheutilizzare Visualizza D Editor D Schemi di colori per caricare delle colorazioni aggiuntive per l’editor,ad esempio se preferite un tema più scuro. Potetetrovare molti altri temi all’indirizzo www.geany.org/Download/Extras#colors.

Gestire i task Una pratica comune tra i programmatori è quelladi aggiungere commenti al proprio codice pe r

segnarsi le cose da ricordare o da fare in seguito.Ad esempio, se una particolare funzione è limitata,potreste aggiungere quanto segue per ricordarvelo: # TODO: Espandere questa funzione per includereil supporto a XYZ.

Potete anche aggiungere un commento pe r ricordarvidi sistemare una funzione in seguito. Una cosa tipo # FIXME: Rendere la funzione thread-safeUno dei problemi di questo approccio è che potrebbediventare difficile il ritrovamento di queste piccolenote in seguito per risolvere i problemi prima dellarelease. Fortunatamente, Geany include una piccolafunzionalità che vi permette di vedere tutte questenote in un unico posto e costruire un’unica todo list

di cose che dovete sistemare o concludere.

3 Geany offre svariate possibilità di configurazione

Controllo delle versioni?

Una delle domande principali che la gente pone su Geanyè se è disponibile il supporto per Git , Bazaar, Subversion,CVS e altri sistemi di controllo delle versioni. Di default,Geany non include questo tipo di supporto, ma esiste

un plug-in: date un occhiata all’indirizzo http://plugins.geany.org/geanyvc.html per maggiori dettagli.

Alternative a Geany

Volete dare una possibilità a qualche altro

software? Ecco alcune alternative a Geany:

∆ Eclipse È un IDE cross-platform che supportamolti linguaggi, è stato progettato per soddisfarele esigenze degli sviluppatori professionisti. Anchese può sembrare un po’ complesso e di d ifficileutilizzo, Eclipse è un ottimo IDE con un vastissimosupporto a svariati linguaggi di programmazione.

∆ KDevelop Inizialmente progettato per gli

sviluppatori KDE; KDevelop è uno dei primi IDEnato per un desktop environment. Con molte

funzionalità a disposizione si rivela un’ottima scelta,soprattutto per chi scrive applicazioni per KDE.

∆ GEdit  A un primo sguardo GEdit può sembrareun semplice editor di testo, ma esistono moltissimiplug-in ed estensioni che lo trasformano in qualcosache somiglia molto a Geany. Se per voi la semplicitàè la cosa importante, GEdit è un’ottima scelta.

∆ Qt Creator Progettato espressamente per creareapplicazioni in Qt  e QML, Qt Creator è un IDE

che non si limita alla scrittura del codice,ma anche alla creazione di interfacce, navigazione

dei documenti e altre funzionalità. Se voletescrivere applicazioni Qt, Qt Creatorè fortemente raccomandato.

∆ Anjuta Anjuta è frutto di un lungo lavoroe inizialmente è stato progettato come IDEper le applicazioni GNOME, ma oggi questofornitissimo IDE offre supporto a moltissimialtri tipi di applicazioni.

∆ Bluefish Se volete scrivere soltanto

contenuti Web, in HTML, PHP o Python, Bluefishè un’ottima scelta.

Per utilizzare questa funzionalità è sufficienteutilizzare le parole TODO (da fare) e FIXME (sistemami) per descrivere il problema comescritto sopra, e assicurarvi che il plug-insia installato (in Ubuntu il pacchetto si chiamageany-plugin-addons) e che sia abilitato;dalla configurazione è possibile anche decideredi utilizzare parole diverse da TODO e FIXME.Geany è un editor estremamente semplicema comunque molto potente e offre i tool essenzialidi cui potreste aver bisogno per scrivere il vostro

codice. Gli sviluppatori di Geany si sono chiaramenteconcentrati sulla semplicità e sulle necessitàreali dei programmatori, e si sono opposti all’ideadi riempire l’applicazione di orpelli che alla maggiorparte dei developer non servono. Questo offreall’editor un alone di maturità e fortunatamenteil livello di personalizzazione disponibile e la riccagamma di plug-in disponibili garantisconoalla maggior parte degli utilizzatori tuttele funzionalità di cui necessitano. Geany non richiedeun lungo tempo di apprendimento, e questo articolovi ha mostrato le funzionalità principali di cui avetebisogno per essere produttivi. Ora, senza ulte rioriindugi, andiamo a produrre un po’ di codice.

Felice programmazione a tutti!LXP

Page 66: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 66/100

64  LINUX PRO 127

OpenRemote

Controllate la vostra casa con uno smartphone

dispositivo. Qualsiasi computer scegliate, è preferibileche si tratti di hardware a basso consumo energeticovisto che dovrà essere acceso tutto il giorno.Se non avete molto spazio a disposizione, inoltre,anche delle dimensioni compatte possono giocarea vostro favore. Scaricate il file ZIP di OpenRemote2.0 e decomprimetelo, quindi assegnatei permessi di esecuzione allo shell scriptopenremote.sh e avviatelo: $ unzip OpenRemote-Controller-2.0.1.zip$ cd OpenRemote-Controller-2.0.1/bin$ chmod u+x openremote.sh$ ./openremote.sh run

Dopo aver eseguito l’ultimo comando vedrete scorrereparecchio output sul terminale, che sarà utileda consultare in caso di problemi. Se l’installazioneè andata a buon fine, il vostro controller OpenRemoteè già in ascolto per ricevere i vostri comandi.

Progettare le interfacceA questo punto dovrete definire il comportamentodelle interfacce del vostro controller OpenRemote,creando un account su OpenRemote Designer (designer.openremote.org), un software Webbased per costruire le interfacce. Un primo esempioconsiste nel creare un pulsante per riattivare il vostrocomputer desktop sfruttando il Wake on LAN. Dopo

aver eseguito il login sul sito, entrate nella sezioneBuilding Modeler, dove configurerete le azioniche il vostro controller può ricevere. Fate clicksu Device D New D New Device per creareun nuovo dispositivo controller e assegnargli unnome (ad esempio Raspberry Pi), quindi fate click suNext . Successivamente selezionate Add command per creare un nuovo comando che sarà eseguitosul controller. Assegnategli un nome e scegliete

il protocollo Wake-On-Lan. Dal menu Protocol potete osservare che OpenRemote supportanumerosi protocolli con cui interfacciarsi. Inseriteil MAC address del vostro PC desktop nella partebassa della finestra (potete trovare questainformazione alla voce HWaddr dell’output delcomando ifconfig) e l’indirizzo IP di broadcast dellavostra LAN (si trova alla voce Bcast  nell’outputdi ifconfig), come 192.168.0.255. Per terminarefate click su Submit  e quindi su Finish. Nella barralaterale sulla sinistra vedrete il vostro dispositivocon un comando associato. A questo punto avete

configurato il comando per risvegliare il vostroPC, ma c’è ancora bisogno di definire l’interazionenecessaria per attivarlo. Fate click sull’icona

Al giorno d’oggi la maggior parte dellesoluzioni domotiche è proprietaria. In molticasi, infatti, bisogna pagare cifre elevate per

componenti hardware e software integrati tra loroche supportano solo determinate periferiche. Tra lealternative aperte oggi disponibili per l’automazionedomestica troviamo OpenRemote. Questa soluzionedispone di un controller Open Source scritto in Java,eseguibile quindi su piattaforme Linux, Windowso OS X, in grado di supportare numerosi protocolli.Potete, inoltre, progettare le vostre interfaccedi comando, accessibili via Web o tramite app peri sistemi operativi mobile Android e iOS. Avendoa disposizione l’hardware giusto, non ci vorrà molto

prima di controllare tutti i dispositivi della vostracasa direttamente dal vostro smartphone.

InstallazionePer poter utilizzare OpenRemote è necessarioinstallare il controller software su un computer.Poiché il programma è scritto in Java, l’unicorequisito richiesto è il Java Runtime Environment(JRE). Potreste decidere di installarlo sul vostroRaspberry Pi con Raspbian Wheezy (consultateil box OpenRemote su Raspberry Pi), ma in praticaqualsiasi distribuzione GNU/Linux può andar bene.In alcuni casi potete sfruttare addirittura un NASbasata su Linux, come Synology NAS, Netgear

ReadyNAS e QNAP NAS. Per le istruzionid’installazione potete consultare la documentazionesul sito www.openremote.org per il vostro

“OpenRemote supportanumerosi protocolli

con cui interfacciarsi”

FACILE

Controllo remoto per la casaL’alternativa alle black box commerciali per comandare da lontato i dispotivi casalinghi

Page 67: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 67/100

LINUX PRO 127  65

OpenRemote Tutorial

UI Designer in alto a sinistra (è la secondada sinistra) e create un nuovo pannello facendo clicksu New D New Panel. Assegnategli nome e tipo(per esempio Android) e fate click su Submit . Nellafinestra centrale vi verrà mostrata un’immagineche emula un dispositivo Android. Trascinate il widget

Button dalla sezione destra dello schermo, quindiselezionate il pulsante Select  alla voce Command nelle proprietà del widget sulla destra. Sceglieteil comando Sveglia PC che avete creato primae fate click su OK. Potete anche cambiare il nomepredefinito del pulsante (“Button”) con un valorepiù significativo. Il pulsante a questo puntoè collegato con il comando, quindi fate clicksu Save nella parte alta dell’interfaccia.

Svegliare il computerA questo punto la parte relativa al controllerè stata completata, quindi è necessario attivarel’interfaccia appena creata. Visitate il sito

http://INDIRIZZOIP:8080/controller/ sostituendoINDIRIZZOIP con l’indirizzo IP del computer doveè stato attivato OpenRemote. Inserite username epassword relativi all’account creato su OpenRemoteDesigner e fate click su Sync with Online Designer.Dopo aver visualizzato il messaggio Sync Complete,visitate la pagina http://INDIRIZZOIP:8080/

webconsole e fate click su Search in modoche la console trovi automaticamente il vostrocontroller. Fate click sulla freccia alla destradell’URL del controller e inserite il nome del pannellonel campo Default Panel Name, quindi selezionateSave. Selezionando l’URL del controller nella listavedrete il pannello con il pulsante che avete definito

nello schermo virtuale dello smartphone. Se fateclick sul pulsante, il vostro PC sarà svegliato tramiteil Wake on LAN. In caso di problemi, è probabileche ci sia qualcosa che non funziona conla configurazione del Wake on LAN. Innanzituttoaccertatevi di aver inserito il corretto MAC addresse indirizzo IP. Successivamente verificate che talefunzionalità sia attivata nel BIOS del vostro PC.Infine provate a usare il comando wakeonlan con il MAC address del vostro PC per accertarviche il problema non risieda in OpenRemote.

App AndroidTramite la console Web potete pilotare il vostro

controller OpenRemote da qualsiasi dispositivodisponga di un browser, ma OpenRemote offre ancheapp native per Android e iOS. Con Android poteteinstallare OpenRemote direttamente dal Google PlayStore. Quando lanciate l’app verrà eseguita una ricercaautomatica del controller OpenRemote qualora si troviall’interno della stessa rete, a meno che non abbiatedisabilitato la funzione Auto Discovery. Sceglieteil pannello che volete visualizzare nella sezioneChoose Panel Identity. In questo esempio ne è statodefinito solo uno, ma nulla vieta di progettare pannellidiversi per lo stesso controller, realizzandonead esempio uno per Android e uno per iPad. Al terminedella configurazione fate click sul pulsante Done 

per visualizzare il pannello creato con OpenRemoteDesigner. Il pannello selezionato sarà visualizzatoimmediatamente la prossima volta che aprirete l’app.

A questo punto potrete risvegliare il vostro PCdirettamente dal vostro smartphone utilizzandol’app OpenRemote. Volete sfruttare il vostro cellulareAndroid anche per spegnere il PC da remoto?Con OpenRemote potete anche definire comandi cheeseguono degli script di shell. Scrivete le seguentirighe di codice per lo script shutdown_computer.

sh sul controller che dovrà spegnere il PC: #!/bin/bashssh -t openremote@$1 sudo shutdown -h now

L’opzione -t  è necessaria perché sudo richiede unaTTY  e lo script accetta l’indirizzo IP comeargomento. Rendete il vostro script eseguibile: $ chmod u+x /home/pi/shutdown_computer.shSul computer che volete spegnere da remotoeseguite sudo visudo e aggiungete le seguenti righe: Cmnd_Alias POWER = /sbin/reboot,/sbin/shutdownopenremote ALL=(ALL) NOPASSWD: POWER

In questo modo l’utente openremote può riavviaree spegnere il PC senza dover inserire una password.L’utente openremote può essere creato come segue: $ sudo adduser openremotePer poter entrare con l’utente openremote senzadover inserire la password, dovrete generare una

Risvegliare il vostroPC? Non c’è problemacon OpenRemote!

Se siete stufi del telecomando della TV, potete progettarela vostra interfaccia di controllo remoto nell’UI Designer

œ

Page 68: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 68/100

66  LINUX PRO 127

Tutorial 

OpenRemote

L’app OpenRemoteè in grado di trovare

automaticamentei controller che avete

configurato, a patto

che si trovino nellastessa rete del vostro

smartphone

coppia di chiavi SSH sul controller e copiarela chiave pubblica dal controller al PC da pilotare. $ ssh-keygen$ ssh-copy-id -i ~.ssh/id_rsa.pub openremote@PC

Provate a eseguire lo script shutdown_computer.shpassandogli l’indirizzo IP corretto:

 $ ./shutdown_computer.sh INDIRIZZOIPSe tutto funziona a dovere, potete procederecon la creazione di un nuovo comando sull’interfacciaOpenRemote Designer. Scegliete un nome comeSpegni PC , selezionate il protocollo Shell execution

protocol e inserite il percorso completo dello scriptdi shell, assieme all’indirizzo IP del PC. Ricordateche al momento i comandi che sfruttano questoprotocollo supportano un solo argomento. Finoraavete visto come controllare un computer da remoto,ma se volete interagire con altri dispositivi potetesfruttare protocolli come X10, Z-Wave o KNX,tutti supportati da OpenRemote in modo direttoo indiretto. Nel prossimo esempio vedrete come

controllare indirettamente interruttori X10 tramiteOpenRemote accendendo o spegnendo la macchinadel caffè o le luci. Gli oggetti necessari sono uncontroller X10 e i moduli X10. Il controller emettei segnali sulla linea elettrica, mentre un modulo X10li riceve e interagisce con il dispositivo connessoal modulo. Collegando il controller X10 al computersu cui è installato OpenRemote è possibilecontrollare i dispositivi X10 dalla stessa interfacciadegli altri comandi configurati in OpenRemote.

Compilare e usare MochadNell’esempio viene usato un controller MarmitekCM15PRO X10, supportato da Mochad (MultipleOnline Controllers for Home Automation Daemon).Mochad non è ancora disponibile nei repositoryDebian, quindi dovrete scaricarlo e compilarlo

come segue: $ sudo apt-get install libusb-1.0-0-dev$ tar zxvf mochad-0.1.15.tar.gz$ cd mochad-0.1.15$ ./configure$ make sudo make install

Mochad è piuttosto semplice da usare: se collegateil controller X10 con il cavo USB al vostro computer,Mochad viene automaticamente avviato come demone.Osservate le seguenti righe in /var/log/messages: Oct 21 15:11:45 raspberrypi mochad[4962]: startingOct 21 15:11:45 raspberrypi mochad[4963]:Found CM15AOct 21 15:11:45 raspberrypi mochad[4963]:

In endpoint 0x81, Out endpoint 0x02Quando Mochad è in esecuzione potete controllarlocollegandovi alla porta 1099 con netcat: $ nc locahost 1099A questo punto potete utilizzare i comandi X10,come st  per lo stato e pl b2 on per accendereil modulo B2. Ogni modulo X10 ha un HouseCode (da A a P) e uno Unit Code (da 1 a 16).Mochad riconosce anche alcuni comandi genericicome all_lights_off. Se tutto funziona comeprevisto, è tempo di interfacciare Mochadcon OpenRemote. Aprite il sito OpenRemoteDesigner e aggiungete un nuovo comando comeAccendi Macchina Caffè. Scegliete il protocollo

TCP/IP (e non X10) e inserite localhost comeindirizzo IP e 1099 come porta. Inserite un comandoMochad come pl b2 on nel campo Command e fateclick su Submit. Aggiungete un widget Button nell’UIDesigner e associategli il comando appena creato.Fate click su Save e copiate la nuova configurazionesul vostro controller OpenRemote. A questo puntosarete in grado di spegnere e accendere la vostramacchina del caffè direttamente dallo smartphoneAndroid. Consultate la documentazione diOpenRemote riguardante il supporto di altridispositivi X10. Alcuni di questi sono supportatinativamente, ed è quindi possibile utilizzaredirettamente il protocollo X10 per definire i comandi.

Il protocollo TCP/IP, però, è più flessibile e consentedi interagire con qualsiasi componente hardwareo software che può essere controllato tramitenetcat . L’ultimo esempio consiste nell’effettuareil parsing di dati da una pagina Web utilizzando uncomando HTTP e creando un sensore per visualizzarele informazioni sul pannello OpenRemote. In questoesempio verrà utilizzato il servizio Weather2 (www.

myweather2.com). Create un account gratuito sulsito Web e verificate il codice di accesso nella sezioneDeveloper Zone. Per visualizzare le previsioni meteodi Milano per i prossimi due giorni usate il seguenteURL: www.myweather2.com/developer/forecast.

ashx?uac=CODICEACCESSO&output=xml&que

ry=45.27,9.10. Per sfruttare queste previsioni conOpenRemote create un nuovo comando, specificateun nome (ad esempio Meteo Milano) e selezionate

Non è necessario avere

un controller

OpenRemote installato

per provareun’interfaccia progettata

nell’UI Designer.

Se fate click sull’icona

più a destra nella parte

in alto a sinistra

di OpenRemote

Designer vi viene

mostrata un URL

che potete inserire

tra i controller nell’app

OpenRemote.

Tip

Se la sincronizzazione

online della

configurazione

del vostro controller

OpenRemote non

funziona, potete

comunque esportare

la configurazione

in formato zip nella

finestra dell’UI Designer

ed eseguire l’upload

verso il controller

OpenRemote.

Ricordate di selezionare

l’opzione Offline 

nella pagina principaledell’interfaccia Web

del controller.

Tip

Page 69: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 69/100

LINUX PRO 127  67

OpenRemote Tutorial

OpenRemote su Raspberry Pi

Il Raspberry Pi è il computer ideale per

OpenRemote: è compatto e consuma poco,

quindi potete lasciarlo acceso tutto il giorno

in qualsiasi punto della vostra casa. Per

questo test è stata utilizzata l’immagineRaspbian Wheezy su una scheda SD.

Dopo aver installato il sistema operativo,

dovete installare la versione giusta di Java:

 $ sudo apt-get install icedtea-6-jre-cacao

Questa operazione può richiedere diverso

tempo a causa del numero di dipendenze

installate. Quando l’installazione di Java

è terminata potete procedere con il setup

di OpenRemote come descritto nell’articolo.

Se volete avviare OpenRemote al boot del

Raspberry Pi modificate il file  /etc/rc.loca l 

nel caso non abbiate intenzione di creare

uno script di init . Aggiungete questerighe prima della riga exit 0:

  cd /home/pi/OpenRemote-Controller-2.0.1/bin

./openremote.sh start

Ricordate che OpenRemote è

un’applicazione onerosa per il Raspberry Pi,

quindi i tempi di avvio si avvicinano ai 60

secondi. Dopo l’avvio l’applicazione

è comunque perfettamente funzionante.

Grazie ad OpenRemote ogni pagina Web può diventare un sensore

il protocollo HTTP. Inseritel’URL sopra riportatanel campo URL, dopoaver sostituito la stringaCODICEACCESSO il codiceassociato al vostro account.

Poiché il Web serverrestituisce un file XML,potete utilizzareun’espressione XPath perestrarre l’informazione cheinteressa. Ad esempio, perestrapolare la temperatura,l’espressione è //curren_ 

weather/temp. Perconcludere scegliete unintervallo di campionamento, inserendo ad esempio30m per indicare mezz’ora e fate click su Submit.

Creare un sensore

A questo punto avete a disposizione l’informazionesulla temperatura e dovete mostrarla nell’interfaccia.Per far ciò è necessario creare un nuovo sensorecollegato al comando appena creato. Fate clicksu New sensor, assegnategli un nome e selezionateil comando da collegare, quindi scegliete Custom come tipologia. Dopo aver fatto click su Submitvedrete il sensore nella barra laterale sulla sinistra.Passate all’interfaccia UI Designer, aggiungete unalabel testuale con scritto Meteo Milano e un’altralabel collegata al sensore precedentemente creato

facendo click su Select  accanto a Sensor nellabarra laterale a destra. Al termine salvate la nuovaconfigurazione e sincronizzatela con il vostrocontroller OpenRemote per visualizzare il meteo sul

vostro smartphone. OpenRemote si integra con tantitipi di hardware e software, perciò date un’occhiataalla documentazione per scoprire tutte le opportunitàche avete a disposizione. Ad esempio potreste usareun pannello OpenRemote per controllare un mediaplayer  XMBC  o televisori Samsung. Potreste integrareil controller con sistemi di allarme, ricevitoria infrarossi e così via. OpenRemote è ancorain sviluppo e non è una soluzione di utilizzoimmediato, ma esiste una grande comunità

di entusiasti che potrà ispirarvi e guidarvi. LXP

Page 70: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 70/100

68  LINUX PRO 127

 Virtualizzazione

Usate delle appliance virtuali per offrire e gestire Web App

Questo è il punto in cui entra in campo Turnkey

Linux: utilizzando una loro applicazione si avrà

a disposizione un nuovo server in un batter

d’occhio. Le “virtual appliance” di Turnkey Linux

sono basate su un sistema completo, ma ridotto

all’osso, inoltre sono già configurate e possono

essere installate su server sia fisici che virtuali.

Turnkey Linux usa come base un sistema

minimale chiamato  JeOS (Just Enough Operating

System) per mantenere al minimo le dimensioni

dei propri sistemi. Attualmente sono basate

su Debian 6.0.5 Squeeze che, insieme ad alcuni

programmi aggiuntivi non forniti ufficialmente

da Debian, è il cuore di Turnkey Linux Coreche sta alla base di tutte le loro distribuzioni.

Per esempio l’appliance dedicata a WordPress

usa l’ultima versione del CMS WordPress

installato su una versione minimale di Debian.

Per semplificare la gestione del CMS la distribuzione

è dotata di un meccanismo di aggiornamento,

inoltre sono già installati una dozzina

dei più popolari plug-in (oltre a poterne

installare altri come in ogni installazione

di WordPress che si rispetti), gli sviluppatori

permettono anche di abilitare l’aggiornamento

automatico dei moduli aggiuntivi, ma la cosa

migliore è che tutta l’applicazione è gestibile

utilizzando una connessione SSL. Turnkey Linuxha appena rilasciato le versione 12 delle sue

applicazioni, che ora sono più di 100. Oltre

a WordPress vi sono altre applicazioni più o meno

popolari per gestire ogni sorta di contenuto, come

Joomla, Drupal, Concrete5, Elgg, Clipbucket

ed altre. Vi sono anche applicazioni che formano

piattaforme perfette per lo sviluppo, come lo stack

LAMP, l’appliance per l’hosting di applicazioni .NET

su Linux e diverse versioni dello SDK dell’AppEngine

di Google. In caso ve lo stiate chiedendo tutte

le appliance di Turnkey Linux sono completamente

libere e scaricabili gratuitamente.

Strumenti del mestiereLe appliance di Turnkey Linux sono disponibili

in vari formati, quale scegliere dipende da dove

si decide di installarle. Comunque, una volta

installate, indipendentemente dalla piattaforma

scelta, l’interfaccia di installazione e gestione

saranno identiche. Attualmente sono disponibili

sei formati, utilizzando l’immagine ISO si potrà

installare l’appliance sia su una macchina fisica

sia su una virtuale. Il LiveCD utilizza una versione

modificata del programma di Debian per

l’installazione. Anche se si può utilizzare

l’immagine ISO per installare una virtual machine,

non è la scelta migliore, in questo caso è meglio

utilizzare l’immagine VMDK o OVF, la primaè specifica per hardware dotato delle estensioni

di virtualizzazione, come VT-X di Intel, mentre

INTERMEDIO

Installare un servizio accessibile via Retesu un server Web non per tutti è come bere

un bicchiere d’acqua. Per iniziare si devono

saper configurare con una certa dimestichezza

le impostazioni di rete. Inoltre le applicazioni

Web richiedono molti software di contorno,

dalla base dati alle librerie di base e si possono

passare ore a “mettere insieme” tutte le componenti

prima di riuscire a rendere disponibile la propria

applicazione. Volendo rendere disponibile il proprio

servizio a terzi si dovrà esaminare attentamente

il server anche dal punto di vista della sicurezza.

Alcune appliance hanno un pannello di controllo per verificare lo statodel server Apache e la sua configurazione

La via facile alle Web AppLinux Pro vi mostra come non scottarvi le mani mentre preparate un’applicazione Web

Page 71: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 71/100

LINUX PRO 127  69

 Virtualizzazione Tutorial

la seconda è adatta anche a macchine più vecchie.

Entrambi i tipi di immagine del disco funzioneranno

sia su VirtualBox sia su VMware Player. Il formato

OpenStack, come indica il nome, è ottimizzato

per l’uso sulla piattaforma cloud OpenStack,

esistono poi versioni anche per OpenVZ e Xen.

Le dimensioni delle appliance variano, ma molte

sono al di sotto dei 300 MB, le ISO sono

più piccole delle immagini delle macchine virtuali.

Gadget a go-goUna volta scaricata l’appliance dal sito di Turnkey

Linux, il primo passo è quello di avviarla, il metododipende dal tipo, le immagini ISO devono essere

masterizzate poi basta inserire il CD-ROM

nel lettore e seguire le istruzioni dell’installer

per installare e configurare il server. Se si preferisce

un’immagine OVF la si può importare in VirtualBox

usando la voce Import Appliance del menu

File , verrà creata una macchina virtuale

con le impostazioni predefinite. Nel caso

dell’immagine VMDK sarà necessario prima

creare la macchina virtuale in VirtualBox,

però, invece di creare un nuovo disco virtuale,

bisogna selezionare l’opzione per usarne

uno preesistente e scegliere l’immagine

VMDK scaricata. Una volta fatto questo si accende

la VM e, indipendentemente dalla versione scelta,

il processo di configurazione sarà lo stesso.

Dopo la fase di impostazione il server si riavvierà

automaticamente e apparirà la console

di configurazione per la gestione degli strumenti

e dei servizi messi a disposizione dalla distribuzione.

Tutte le immagini hanno almeno due strumenti

di gestione, un emulatore di terminale in AJAX

chiamato Shell-in-a-Box che permetterà

di collegarsi al server remoto tramite

un browser Web e Webmin.

Prendiamo il timone con WebminWebmin è un’interfaccia Web che permette

di gestire tutti gli aspetti del server remoto,

come l’impostazione di cron, la lettura

dei log e la gestione dei processi attivi.

Se l’appliance ha bisogno di MySQL sarà

installato anche PHPMyAdmin per la gestione

delle base dati. La console mostra, inoltre,

le informazioni necessarie per connettersi

tramite SSH o SFTP, cioè indirizzi e porte

per le connessioni. Turnkey Linux non modifica

le applicazioni, quindi se si ha bisogno di aiuto

si può utilizzare la documentazione ufficiale.

Nel caso fosse necessario modificare un fileper configurare qualche servizio possiamo

collegarci utilizzando SSH oppure Shell-in-a-Box

su una connessione HTTPS. Per copiare dei file

è sufficiente connettersi tramite un qualsiasi

client FTP utilizzando le credenziali di root

inserite durante l’installazione.

Turnkey Linux HubOltre ai servizi normali le appliance di Turnkey Linux

forniscono un insieme di strumenti personalizzati,

il primo di questi è il Turnkey Hub, utilizzandolo

si possono lanciare e gestire le appliance installate

nel cloud di Amazon EC2. I server installati tramite

l’Hub su EC2 usano un firewall configurabile,ma ottimizzato per le singole appliance,

che come politica permette solamente

1  Avviare dal LiveCDSe si sta utilizzando un’immagine ISO si può installare

direttamente l’appliance oppure provarne i componenti

in modalità live. Per l’installazione si utilizza una versione

modificata dell’installer di Debian.

2  Partizionare il discoL’unica decisione da prendere durante l’installazione

sarà il partizionamento del disco. A meno che non

si sappia cosa si sta facendo meglio accettare

le impostazioni suggerite.

3  Configurazione di LVMDi default l’installer suggerirà di usare una partizione

LVM, il vantaggio è di poter ampliare il disco in caso

l’applicazione aumenti lo spazio occupato.

Passo passo Installare un’appliance

Per quanto le appliance di Turnkey Linux siano parchedi risorse cercate di dedicargli risorse adeguate

Il canale YouTube di

Turnkey Linux all’URL

www.youtube.com/

turnkeylinux offre un

gran numero di video

informativi.

Tip

œ

Page 72: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 72/100

70  LINUX PRO 127

Tutorial 

 Virtualizzazione

Bisogna conservarecon cure la chiavedi escrow, utilizzandoquesta chiave si potrannoripristinare i backup anchein assenza della password

di cifratura dei backup.Un altro asso nella manicadelle appliance di Turnkeyè il servizio gratuito di DNSdinamico tklapp.com .Il servizio permetteai server di essereraggiungibili all’esternodella rete e fornisce

un nome facile da ricordare. Il servizio si puòconfigurare tramite lo strumento chiamato HubDNS ,installato in tutte le appliance. Prima di iniziarela configurazione bisogna effettuare il loginall’Hub e scaricare la chiave di cifratura

dal proprio profilo, poi da terminale:hubdns-init HUB_APIKEY foo.tklapp.comhubdns-update

Tutto qui. Sostituite HUB_APIKEY con il nomedella chiave e foo con il nome del server, se questoè disponibile sarà ad esso riservato. Il secondocomando assocerà l’indirizzo IP al nome di dominioappena creato. Utilizziamo l’appliance dedicataa Torrent per riportare in vita un vecchiocomputer in disuso. Scarichiamo l’immagine ISO,masterizziamola su CD e tramite l’installerinstalliamo il server. Avviamo il browser su un’altramacchina sulla stessa rete e inseriamo l’indirizzodel server, questo farà apparire il pannello

di controllo del server Torrent. Una dellecaratteristiche di questa appliance è il file managerAjaXplorer  per poter gestire file e directory.L’applicazione ha un’interfaccia amichevoleed esistono delle app anche per Android e iOS.

Il piccolo muloPrima di iniziare i download bisogna collegarsia una istanza di MLDonkey, per farlo è necessario,

le connessioni alle porte dei servizi forniti. Tramitel’Hub si possono anche monitorare i server remotie controllare l’uso del processore, dei dischie della rete. L’Hub semplifica anche operazioniavanzate come agganciare i volumi di un NAS

a un server remoto sul cloud. Esiste anche TurnkeyBackup and Migration (TKLBAM). È stato creatoper funzionare con lo storage del cloud di AmazonS3. Si può configurare TKLBAM tramite il modulodi Webmin ad esso dedicato. Anche se entrambigli strumenti sono disponibili gratuitamente,per effettuare backup usando S3 di Amazonsarà necessario acquistare il servizio di storagesul cloud, che comunque è molto economico,0.1 euro al Gigabyte al mese (i nuovi utenti hanno5 GB di spazio gratuito). TKLBAM può essere usatoanche per effettuare backup locali: supponendodi avere un disco montato in /mnt/backupdrive,basterà aprire una shell e dare i seguenti comandi.

  tklbam-backup --addressfile:///mnt/backupdrive/tklbam/backup tklbam-escrow /mnt/backupdrive/tklbam/keyLa chiave di escrow può essere utilizzataper autenticare e ripristinare un backupanche su un’altra appliance TurnKey: tklbam-restore --address file:///mnt/backupdrive/ tklbam/backup --keyfile=/mnt/backupdrive/  tklbam/key

Il cuore di Turnkey

Tutte le appliance di Turnkey Linux si basanosu Turnkey Core. Alla base Debian 6.0.5Turnkey Core aggiunge tutti i componentinecessari a tutte le altre appliance.La distribuzione Core è configurataper installare automaticamentegli aggiornamenti di sicurezzadagli archivi ufficiali di Debian. Verràchiesto di applicare gli aggiornamentidirettamente durante l’installazionee sarà impostato come orario

di aggiornamento le 4 del mattino.L’appliance Core include anche tuttigli strumenti personalizzati di Turnkey Linuxper il backup e la migrazione dei server,la shell Web in Ajax e l’interfaccia di gestioneWebmin. Anche se la distribuzione Coreè disponibile per il download, nonè di grande interesse per la maggior partedegli utenti: è espressamente pensataper l’applicazione dell’insieme di scriptTKLPatch per la modifica delle appliance.

1  Impostare la passwordDurante la configurazione dell’appliance verràchiesto di scegliere una password per l’utente

root e per l’amministratore degli specificicomponenti, per esempio MySQL.

2  Aggiornamentidi sicurezzaSi può saltare il passo che richiede la chiave dell’API

dell’Hub, allo stesso modo è possibile evitare di installaregli aggiornamenti, ma a meno che non si abbianoproblemi di connessione a Internet è meglio non farlo.

3  Server in funzioneQuesto è tutto, una volta che l’applicazioneè configurata mostrerà la console con la lista

degli indirizzi e delle porte per collegarsiai vari strumenti di gestione.

Assicuratevi che

l’appliance sia

configurata per

utilizzare una retedi tipo bridge

in modo che si possa

raggiungerla

da qualsiasi

computer della rete.

Tip

Passo passo Configurare l’appliance

Page 73: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 73/100

LINUX PRO 127  71

 Virtualizzazione Tutorial

nell’interfaccia di base, selezionare la linguettaClients e cliccare sul pulsante Connect  vicinoal server 127.0.0.1:4001. Adesso dal sitoTorrent che si preferisce si copia il collegamentodel file .torrent che si vuole scaricare.Nell’interfaccia del server selezionate il tabLinks, incollate l’URL e premete Load per incominciare il download. Una voltacompletato il download, il file sarà controllatodall’antivirus ClamAV e copiato nella directory /var/l ib/mldonkey/incoming . Si può utilizzare

MLDonkey anche per rendere disponibili i propritorrent: essendo già configurato sarà sufficienteaprire l’interfaccia di gestione avanzata dal pannellodi controllo e selezionare Help e Sysinfo per controllare le impostazioni; le directorydi default sono indicate alla fine della pagina.MLDonkey permette di distribuire sia fileindividuali (come una immagine ISO) sia gruppidi file all’interno di una directory. Nel primo casobasta copiarli in  /var/l ib/mldonkey/incoming/files ,nel secondo in  /var/l ib/mldonkey/incoming/

directories . Adesso bisogna creare un file

torrent, per cui c’è bisogno di un trackerche ne annunci la presenza agli altri peer.Come comportamento standard, MLDonkeyusa l’indirizzo del server per gestire i torrentsu rete locale; per utilizzare un tracker esternobisogna modificare la configurazione. La viapiù semplice per farlo è quella di utilizzarel’interfaccia di base e cercare la voceBT-default-tracker: sarà vuota, inserite l’indirizzodel tracker esterno, per esempio http://bit.ly/

 zJ4 xF6  che è il tracker di LinuxTracker.org.

A questo punto, utilizzando l’interfaccia avanzatausate il comando compute_torrent  per indicarei file che si vogliono rendere disponibili.Per esempio, compute_torrent/srv/storage/

incoming/files/my-fav-distro.iso creerà un file.torrent nella directory  /var/l ib/mldonkey/torrents /

seeded; una volta fatto ciò basta usare la voceUploads all’interno del tab Transfers perconfermare che i vostri file sono disponibili.È tutto, adesso si possono scaricare fileautomaticamente e guadagnare posizionifra i peer rendendo disponibili i propri torrent. LXP

1  Aggiornare la listadei pacchettiPer farlo sarà sufficiente aprire l’interfaccia digestione Webmin e selezionare System D Software

packages. Poi selezionate la voce Re-synchronize

package list  in fondo alla pagina e Upgrade now.

2  Installare i pacchettiUna volta che la lista dei pacchetti è sta ta aggiornata

si potrà cercare il programma da installare. Facendo

una ricerca saranno mostrati tutti i pacchetti presenti

nei repository di Debian che corrisponderanno

ai criteri di ricerca immessi.

3  Installare da CLIGli utenti avanzati potranno utilizzare la shell Webper installare programmi dando prima il comandoapt-get update e poi apt-get install <nome

del pacchetto> come su ogni distribuzione Debian.

Potete usare il menuAdvanced perriconfigurare la retee riavviare ospegnere l’appliance

L’interfaccia di base permetterà di raggiungereP2P-GUI che è molto più semplice da utilizzarerispetto a quella standard di MLDonkey

Passo passo Installare software aggiuntivi

In totale Turnkey Linux

mette a disposizione

606 appliance, per

un totale di 120 GB.

Tip

Page 74: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 74/100

72  LINUX PRO 127

Samba 4La nuova versione del tool principe per l’interoperabilità

delle soluzioni di Network Attached Storage (NAS)

da parte di numerosi produttori. In questo tutorial

verrete guidati passo passo alla implementazione

un server Active Directory utilizzando Samba 4.

PrerequisitiPer una corretta compilazione e installazione di Samba,

sono necessari i pacchetti (Red Hat Linux o CentOS)

elencati nel box Pacchetti necessari per la

compilazione. Per installarli usate il seguente comando:

 # yum install libacl-devel \

 libblkid-devel gnutls-devel \

 readline-devel python-devel \

 gdb pkgconfig krb5-workstation \ zlib-devel setroubleshoot-server \

 setroubleshoot-plugins \

 policycoreutils-python \

 libsemanage-python \

 setools-libs-python \

 setools-libs \

 popt-devel libpcap-devel \

 sqlite-devel libidn-devel \

 libxml2-devel libacl-devel \

 libsepol-devel libattr-devel \

 keyutils-libs-devel cyrus-sasl-devel

All’indirizzo http://bit.ly/VYA0pT sono elencati

i prerequisiti anche per altre distribuzioni. Occorre

poi impostare le opzioni user_xattr, acl e barrier=1 nei filesystem utilizzati da Samba, usando delle linee

simili alle seguenti nel file /etc/fstab:

 /dev/sda3 /usr/local ext4 auto,rw,

 user_xattr,acl,barrier=1 1 2

 /dev/sdc1 /home ext4 auto,rw,user_xattr,acl,

 barrier=1 1 2

Nell’esempio, le opzioni sono state usate sia

nel filesystem nel quale è installato Samba,

sia in quello usato per creare le condivisioni.

Per rendere operative le modifiche, lanciate i comandi

 # mount -o remount /usr/local

 # mount -o remount /home

Se il vostro Linux è installato su una singola partizione,

dovete impostare le opzioni per l’unico filesystem: /dev/sda1 / ext4 auto,rw,user_xattr,acl,barrier=1 1 2

In questo caso il comando da lanciare dopo la modifica èDIFFICILE

Benedetto Vassallo

Red Hat Certified

Engineer, sistemista

senior presso il Sistema

Informativo di Ateneo

dell’Università degli

Studi di Palermo,

responsabile dell’Unità

Operativa “Sviluppo

e manutenzione

dei sistemi”. Si occupa

della gestione di 180

sistemi Linux su svariate

architetture (x86,

Alpha, SPARC

e IBM zSeries),

virtualizzazione,

gestione

e manutenzione

del sistema di posta

elettronica, backup

e disaster recovery.

Un ringraziamento

particolare per la

preziosa collaborazione

a Enrico Capuani,

sistemista junior

presso l’UnitàOperativa “Sviluppo

e manutenzione

dei sistemi” in seno al

Sistema Informativo di

Ateneo dell’Università

degli Studi di Palermo.

L’autoreIn una rete aziendale è inevitabile dover gestire

sistemi di tipo diverso, quali Linux, Windows,

Mac e così via. Ognuno di questi sistemi

ha alcune caratteristiche peculiari che lo rendono

preferibile, se non insostituibile, rispetto a un altro,

ma la loro convivenza, a volte, può rendere difficile

gestire utenti, gruppi, accessi e permessi. In ambito

Windows il problema si risolve installando un server

Active Directory, in grado di gestire queste e altre

problematiche. Il Samba Team è giunto, dopo 10 anni

di lavoro, alla creazione del primo software Open Source

che permette di implementare i protocolli di Microsoft

Active Directory. La versione attuale è la 4.0.0 e include

un LDAP Directory Server, un Kerberos AuthenticationServer, un Secure Dynamic DNS server e supporta

tutte le maggiori implementazioni delle Remote

Procedure Calls per l’Active Directory. Samba 4 mette

a disposizione tutto ciò che occorre per svolgere il lavoro

di Domain Controller compatibile con Active Directory

per tutte le versioni di Windows attualmente supportate

da Microsoft, compreso l’ultimo nato, Windows 8.

Il Server Active Directory fornito da Samba 4 può essere

aggiunto a un dominio Microsoft esistente, ma anche

i Microsoft Active Directory Domain Controllers possono

essere aggiunti a un dominio il cui Domain Controller

e Active Directory Server è Samba4; ciò sta a dimostrare

l’interoperabilità dei protocolli di Active Directory

tra Microsoft e Samba che si è ottenuta grazie a unosviluppo di Samba 4 che ha seguito pedissequamente

la documentazione pubblicata da Microsoft Corporation.

Possiamo dire che oggi Samba rappresenta la scelta

tecnologica principale per il servizio di File Server

tra piattaforme Microsoft Windows e Linux, tanto

che già da qualche tempo viene implementata all’interno

1 Impostazione dei parametri di rete

Nei nostri test il software è stato installato su un server

Red Hat Linux 6, ma la procedura descritta può essere

eseguita anche in altre distribuzioni. Per il resto del tutorial

verranno usate le seguenti impostazioni:

∆ Directory di installazione: /usr/local/samba

∆ Hostname del server: master

∆ Nome DNS: master.linuxpro.it

∆ Nome del dominio NT4: linuxpro

∆ Indirizzo IP: 192.168.1.150

∆ Ruolo server: Domain Controller

Requisiti e impostazioni

Active Directory con Samba 4Il primo Active Directory Open Source si è aggiornato, finalmente!

Page 75: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 75/100

LINUX PRO 127  73

Samba 4 Tutorial

 # mount -o remount /

Se usate un filesystem che non supporta queste opzioni,

potete impostare l’opzione

posix:eadb = /usr/local/samba/eadb.tdb

nel file /usr/local/samba/etc/smb.conf. Per testare

il filesystem lanciate i seguenti comandi come utente root:

 # touch /home/test.txt # setfattr -n user.test -v test /home/test.txt

 # setfattr -n security.test -v test2 /home/test.txt

 # getfattr -d /home/test.txt

 # getfattr -n security.test -d /home/test.txt

L’output dovrebbe essere simile al seguente:

 # file: test.txt

  user.test=“test”

 # file: test.txt

  security.test=“test2”

Se ottenete un errore del tipo Operation not supported ,

probabilmente il vostro kernel non è configurato

correttamente, mentre se ottenete un errore come

Operation not permitted , probabilmente non avete

lanciato i comandi come root.

Scaricare e installare SambaSe volete usare una versione stabile di Samba, il modo

migliore per ottenerla è scaricare il file samba-x.y.z.

tar.gz  dal sito http://ftp.samba.org/pub/samba/.

Al momento della stesura di questo tutorial,

l’ultima versione disponibile è la 4.0.0.

 # wget http://ftp.samba.org/pub/samba/samba-4.0.0.tar.gz 

Una volta scaricato il pacchetto, decomprimetelo

in una directory a piacere:

 # tar xvzf samba-4.0.0.tar.gz 

Verrà creata la directory samba-4.0.0 con all’interno

tutti i sorgenti. Per compilare il software lanciate

i seguenti comandi e andate a prendere un buon caffè: # cd samba-4.0.0

 # ./configure --enable-debug --enable-selftest

 # make

Con questi comandi, Samba verrà configurato

per essere installato nella directory /usr/local/samba.

Se volete cambiare il percorso di installazione sostituite

il comando configure con quello seguente:

 # ./configure --prefix=/percorso/nomedir

--enable-debug --enable-selftest

Le opzioni --enable-debug e --enable-selftest  

sono opzionali, nonostante siano raccomandate

rispettivamente per ottenere maggiori informazioni

nel caso qualcosa non funzionasse come previsto

e per poter eseguire make test  per verificarese l’installazione può essere effettuata nel vostro sistema.

Se volete attivare il profiling con Google perftools,

sostituite il comando configure con

 # LDFLAGS=“-ltcmalloc -lprofiler” ./configure.developer

Per la stesura di questo tutorial è stata utilizzata

la prima configurazione. Per installare samba,

basta lanciare, sempre da utente root, il comando

 # make install

ConfigurazioneUna volta installato Samba occorre configurarlo come

Active Directory e Domain Controller, ma prima bisogna

eseguire qualche modifica alle impostazioni di rete della

Linux box. Volendo usare il DNS integrato in Samba,occorre impostare l’indirizzo IP della Linux box come

server DNS primario, reindirizzando poi le richieste

per i domini non gestiti da Samba al DNS reale.

Supponendo quindi che i server DNS utilizzati

normalmente abbiano indirizzi IP 8.8.8.8 e 8.8.4.4,

modificate il file /etc/resolv.conf come segue:

 search linuxpro.it

 nameserver 192.168.1.150

 nameserver 8.8.4.4

Successivamente si attua il provisioning di Samba,

che consiste nel creare un database utenti di base

che verrà utilizzato quando imposterete il server

come Domain Controller. Il comando seguente

deve essere eseguito come root:

 # /usr/local/samba/bin/samba-tool domain provision

 Realm [LINUXPRO.IT]:

Domain [LINUXPRO]:

Server Role (dc, member, standalone) [dc]:

DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE,

BIND9_DLZ, NONE) [SAMBA_INTERNAL]:

DNS forwarder IP address (write ‘none’ to disable

forwarding) [192.168.1.150]: 8.8.8.8

 Administrator password:

Retype password:

...

 ...

 ...

 A Kerberos configuration suitable for Samba 4 has been

generated at /usr/local/samba/private/krb5.conf Once the above files are installed, your Samba4 server

will be ready to use

 Server Role: active directory domain controller

 Hostname: master

All’indirizzo http://bit.

ly/gIazTh sono

disponibili alcuni

videotutorial in inglese.

Tip

∆ libacl-devel

∆ libblkid-devel

∆ gnutls-devel

∆ readline-devel 

∆ python-devel 

∆ gdb pkgconfig 

∆ krb5-workstation ∆  zlib-devel 

∆ setroubleshoot-server

∆ setroubleshoot-plugins 

∆ policycoreutils-python

∆ libsemanage-python 

∆ setools-libs-python 

∆ setools-libs

∆ popt-devel ∆ libpcap-devel 

∆ sqlite-devel 

∆ libidn-devel

∆ libxml2-devel 

∆ libacl-devel 

∆ libsepol-devel 

∆ libattr-devel

∆ keyutils-libs-devel ∆ cyrus-sasl-devel

Pacchetti necessari per la compilazione

2 Sistemae sicurezza

œ

Page 76: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 76/100

74  LINUX PRO 127

Tutorial 

Samba 4

 NetBIOS Domain: LINUXPRO DNS Domain: linuxpro.it DOMAIN SID: S-1-5-21-865586500- 352730388-247790742Come si vede dall’output riportato, se le impostazionidi rete sono corrette, potete lasciare le configurazioni

proposte cambiando soltanto l’indirizzo IP del DNSForwarder e inserendo il DNS originariamenteimpostato come primario nella Linux box. Per l’utenteAdministrator potete usare una password a sceltapurché sia conforme alle policy impostate di default,cioè che sia abbastanza lunga e che contenga letteremaiuscole, minuscole e numeri. Per il test è stata usatap4$$Word. Come ultima impostazione rimane daconfigurare kerberos, per farlo create il file /etc/krb5.conf con il contenuto seguente: [logging]  default = FILE:/var/log/krb5libs.log  kdc = FILE:/var/log/krb5kdc.log  admin_server = FILE:/var/log/kadmind.log

 [libdefaults]  default_realm = LINUXPRO.IT  dns_lookup_realm = false  dns_lookup_kdc = false  ticket_lifetime = 24h  renew_lifetime = 7d  forwardable = true

 [realms]  LINUXPRO.IT = {  kdc = master.linuxpro.it  admin_server = master.linuxpro.it  }

 [domain_realm]  .linuxpro.it = LINUXPRO.IT  linuxpro.it = LINUXPRO.IT

Partenza dei serviziIl comando da lanciare, sempre come root,per far partire il vostro nuovo server AD DC è: # /usr/local/samba/sbin/sambaPer testare il vostro nuovo server lanciate i comandi

Create una directory (ad esempio /usr/ local/samba/var/

profiles) e impostatene i permessi in modo che tutti

gli utenti possano accedervi, ma che solo il proprietario

possa cancellare i file:

 # mkdir /usr/local/samba/var/profiles

 # chmod 1777 /usr/local/samba/profiles

Editate il file /usr/ local/samba/etc/smb.conf  e aggiungete

le linee seguenti:

 [profiles]

  path = /usr/local/samba/var/profiles

  read only = no

Riavviate samba. Da Windows, ap rite Utenti e computer

di Active Directory e modificate l’utente di cui volete attivare

il roaming profile come mostrato nella figura qui in basso.

Effettuate un accesso da un computer con le credenziali

dell’utente a cui avete effettuato la modifica e create un file

sul desktop. Uscite da questo computer ed effettuate l’accessoda un altro computer; troverete sul desktop il file creato. Configurazione del Roaming Profile

Attivazione del Roaming Profile

3 Proprietà del sistema

4 Impostazione del nome di dominio

Page 77: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 77/100

LINUX PRO 127  75

Samba 4 Tutorial

 $ /usr/local/samba/bin/smbclient --version Version 4.0.0

 $ /usr/local/samba/bin/smbclient -L localhost -U% Domain=[LINUXPRO] OS=[Unix] Server=[Samba 4.0.0]

  Sharename Type Comment  --------- ---- -------  netlogon Disk   sysvol Disk   IPC$ IPC IPC Service (Samba 4.0.0)Per testare l’autenticazione, usate il comando seguente: $ smbclient //localhost/netlogon-UAdministrator%’p4$$Word’ -c ‘ls’

 Domain=[LINUXPRO] OS=[Unix] Server=[Samba 4.0.0]  . D 0 Sat Jan 12 22:41:43 2013  .. D 0 Sat Jan 12 22:41:56 2013

  40316 blocks of size 2097152. 34551 blocksavailable

Per testare kerberos usate i comandi: $ kinit [email protected] Password for [email protected]: Warning: Your password will expire in 41 days on SatFeb 23 22:41:55 2013

 $ klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: [email protected]

 Valid starting Expires Service principal 01/12/13 23:45:15 01/13/13 09:45:15krbtgt/[email protected]

  renew until 01/19/13 23:45:07

Per testare il DNS, invece, si usa # host -t SRV _ldap._tcp.linuxpro.it _ldap._tcp.linuxpro.it has SRV record 0 100 389master.linuxpro.it.

Per arrestare il servizio si possono usarei comandi seguenti: # killall samba # rm -v /usr/local/samba/var/run/samba.pidAll’indirizzo http://bit.ly/RQHqVu sono disponibili alcuniscript di startup. Per la distro usata per la stesura

di questo tutorial abbiamo usato lo script propostoper Red Hat/Fedora e riportato nel box Init script

per Samba 4, chiamandolo /etc/init.d/samba4. Unavolta modificati i permessi del file in modo da renderloeseguibile, potete usare Samba come qualunque altroservizio installato nella vostra Linux box. Ad esempio

lo si può fare partire automaticamente all’avvio del server: # chmod 755 /etc/init.d/samba4 # chkconfig samba4 add # chkconfig samba4 on # service samba4 restartPrima di aggiungere il primo computer al nuovo dominio,create una condivisione editando il file /usr/local/samba/

etc/smb.conf, aggiungendo il contenuto seguente: [pubblica]  path = /home/pubblica  comment = Condivisione pubblica  read only = no  public = yes  guest ok = yes

Successivamente create la directory, impostate i permessiper renderla pubblica e riavviate Samba: # mkdir /home/pubblica# chmod 1777 /home/pubblica

 # service samba4 restart

Configurazione di WindowsÈ giunto il momento di vedere coronati i vostri sforzi e,quindi, di aggiungere il primo computer al nuovo dominio.Per i test sono stati usati Windows 7 Professional,

Di seguito sono elencati gli indirizzi dai quali poter scaricareil software di gestione d i Active Directory per le versionidi Windows nelle quali non è già incluso.

∆ Windows Vista: http://bit.ly/2wSxks∆ Windows 7: http://bit.ly/4zy1q0 ∆ Windows XP Professional (Administration Tools pack &Support Tools): http://bit.ly/amCFUG, http://bit.ly/PsKuo ∆ Group Policy Management Console (Windows XP SP1o Windows Server 2003): http://bit.ly/PVff6K 

Software di gestione

5 Accesso al sistema con le credenziali del dominio 6 Amministrazione di Active Directory da Windows 7

œ

Page 78: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 78/100

76  LINUX PRO 127

Tutorial 

Samba 4

Windows 8 e, per le funzionalità di gestione di ActiveDirectory, Windows Server 2008 R2 Enterprise.Dopo aver effettuato l’accesso a Windows 7 comeamministratore, la prima cosa da fare è configurarel’interfaccia di rete in modo da usare come server DNSprincipale quello in cui è in esecuzione Samba, come

mostrato in Fig.1. Successivamente, dal pannello dicontrollo scegliete Sistema e sicurezza e poi Visualizza

il nome del computer. Da questa schermataselezionate Cambia impostazioni, evidenziato dallafreccia in Fig.2. Dalla schermata successiva premeteil pulsante Cambia... (Fig.3), inserite nella mascherasuccessiva il nome del dominio e cliccate su OK (Fig.4).Verranno richiesti un nome utente e una passwordche abbiano i privilegi di Domain Administrator ; inseriteil nome utente Administrator  e la password che aveteimpostato quando avete eseguito il provisioning di Samba, il computer verrà aggiunto al dominio. Cliccatesu OK e riavviate il computer. Al prossimo accessoinserite come nome utente LINUXPRO\Administrator  

e la relativa password per accedere al dominio (Fig.5).

Gestire Active Directoryda WindowsPer gestire il server Active Directory direttamenteda Windows, occorre installare i Windows Remote

Administration Tools e la Group Policy Management

Console, operazione non necessaria per le versioni

Server  di Windows. Scaricate il software da uno degliindirizzi riportati nel box Software di gestione,installatelo nel vostro computer Windows e seguitele istruzioni visualizzate dopo l’installazione. Eseguiteil programma dsa.mcs e sarete pronti ad amministrareil vostro nuovo server Active Directory  (Fig.6).

#! /bin/bash # # samba4 Bring up/down samba4service# # chkconfig: - 90 10 # description: Activates/Deactivatesall samba4 interfaces configured to \

 # start at boot time. # ### BEGIN INIT INFO # Provides:# Should-Start:# Short-Description: Bring up/downsamba4

 # Description: Bring up/down samba4 ### END INIT INFO # Source function library. . /etc/init.d/functions if [ -f /etc/sysconfig/samba4 ]; then  . /etc/sysconfig/samba4 fi CWD=$(pwd)

 prog=“samba4” start() {

  # Attach irda deviceecho -n $”Starting $prog: ”

  /usr/local/samba/sbin/samba  sleep 2  if ps ax | grep -v “grep” | grep -q / samba/sbin/samba ; then success $“samba4startup”; else failure $“samba4 startup”; fi

  echo } stop() {  # Stop service.  echo -n $”Shutting down $prog: ”

killall samba  sleep 2  if ps ax | grep -v “grep” | grep -q / samba/sbin/samba ; then failure $“samba4shutdown”; else success $“samba4shutdown”; fi

  echo } status() {  /usr/local/samba/sbin/samba

--show-build } # See how we were called.

 case “$1” in start)  start  ;; stop)  stop  ;; status)  status irattach  ;; restart|reload)  stop  start  ;; *)  echo $”Usage: $0{start|stop|restart|status}”

  exit 1 esac exit 0

 Init script per Samba 4

7 Creazionedi un utente

in Active Directory

8 Creazionedi un’unità

organizzativa

Page 79: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 79/100

LINUX PRO 127  77

Samba 4 Tutorial

Per aggiungere un utente al dominio, cliccate su Users,

nella finestra di destra, premete con il tasto destro

del mouse, scegliete Nuovo D Utente, nella maschera

che segue inserite i dati per il nuovo utente (Fig.7)

e impostate una password. Uscite da Windows

e accedete con le credenziali dell’utente appena

creato. L’aggiunta di utenti può essere effettuatadalla Linux box, lanciando il comando

 # /usr/local/samba/bin/samba-tool user add

nome_utente

Per concludere diamo un’occhiata alle impostazioni

dei criteri di gruppo. Per questa operazione è necessaria

una versione Server di Windows oppure potete installare

Group Policy Management Console (Windows XP SP1

o Windows Server 2003 a 32 bit) come descritto

nel box Software di gestione. Per la stesura di questo

tutorial tutte le operazioni che seguono sono state

effettuate da Windows Server 2008 Enterprise,

dopo aver aggiunto il computer al dominio. Da Start  

D Strumenti di amministrazione, aprite Utenti

e computer di Active Directory, equivalente a dsa.msc  descritto precedentemente. Selezionate il dominio, fate

click destro e, dal menu contestuale scegliete Nuovo 

D Unità organizzativa (Fig.8). Date un nome alla

nuova unità organizzativa (nell’esempio Utenti con

restrizioni ) e cliccate su OK. Sempre da Strumenti

di amministrazione, aprite Gestione criteri di gruppo,

aprite l’albero Domini, poi il dominio linuxpro.it :

selezionate l’unità organizzativa Utenti con restrizioni 

e, dopo aver cliccato con il tasto destro del mouse, scegliete

Crea un oggetto Criteri di gruppo in questo dominio

e crea qui un collegamento... (Fig.9). Assegnate un

nome al criterio (nell’esempio Inibisci pannello di controllo)

e cliccate su OK per creare il nuovo criterio. Modificate

il criterio selezionandolo e scegliendo Modifica dal menucontestuale: si aprirà una nuova finestra dal titolo Editor

Gestione Criteri di gruppo. Navigate in questa finestra

aprendo Configurazione utente, Modelli

amministrativi, e qui selezionate Pannello di controllo 

(Fig.10). Aprite Proibisci l’accesso al Pannello

di controllo con un doppio click e attivate il criterio.

Tornate a Utenti e computer di Active Directory 

e trascinate l’utente creato in precedenza nell’unità

organizzativa Utenti con restrizioni . Accedendo

al computer con le credenziali di questo utente, vedrete

che non sarà più attiva la voce Pannello di controllo 

nel menu Start. In Fig.11 è mostrata la barra del menu

Start di questo utente prima dell’applicazione del criterio

(a sinistra) e dopo la sua applicazione (a destra).Si conclude così questo breve tutorial che illustra, forse

la più importante, delle funzionalità di Samba 4. LXP

9 Creazione di Criteri di gruppo

10 Editor Gestione Criteri di gruppo 11 Effetto del criterio di gruppo su un utente

I sistemi Microsoft utilizzano le Access Control

List (ACL) per la gestione delle autorizzazioni

su file e directory, ciò permette di ottenere

una granularità maggiore rispetto alle

impostazioni di base delle autorizzazionisu Linux; queste ultime possono presentare

delle limitazioni in quanto permessi diversi

non possono essere configurati per utenti

diversi né per gruppi diversi in riferimento

a un solo file o a una sola directory. Le ACL

di Microsoft hanno maggiori funzionalità

permettendo di configurare le autorizzazioni

su un singolo file o su una singola directory

per qualsiasi utente o gruppo. Poteva Samba

rimanere soltanto a guardare tale differenza?

No! Dato che le ultime versioni di Linux

supportano le ACL, Samba è in grado

di tradurre le ACL di Microsoft nelle ACLsupportate dalla distribuzioni di Linux più

diffuse: tali ACL si chiamano ACL POSIX. Lo

Standard Portable Operating System Interface

 for UNIX  (POSIX) raggruppa a sua volta

un insieme di standard, definiti dall’Institute

of Electrical and Electronic Engineers (IEEE),

al fine di rendere compatibili le applicazioni

su tutte le piattaforme UNIX-like.

Samba e le Access Control List 

Page 80: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 80/100

78  LINUX PRO 127

Raspberry Pi

Scoprite come usare al meglio questo piccolo computer

che parte in automatico la prima volta che si accende

Raspbian e che facilita una serie di attività che altrimenti

avreste dovuto fare a mano. In altre parole, il tool rende

superflue delle competenze da smanettoni togliendo

all’utente neofita il peso di dover sapere quali file

toccare per cambiare il tipo di tastiera o come attivare

una connessione SSH e altre amenità di questo tipo.

Quindi il primo consiglio che vi diamo è quello

di aggiornare immediatamente la distro: il metodo

più facile è collegarsi a www.raspberrypi.org/

downloads, scaricare la versione di Raspbian

più recente, decomprimerla e riversarla sulla memoria

SD nello stesso modo che avete adottato nella prima

puntata di questa serie. Potreste essere tentati di dareuna ripulita alla scheda: il comando da dare è

dd if=/dev/zero of=/dev/mmcblk0 bs=1M

dove mmcblk0 rappresenta la vostra scheda SD.

Ricordatevi però di salvare i dati prima di dare

il comando, altrimenti andranno irrimediabilmente

perduti. Poi potrete provvedere a riversare sulla

memoria la nuova versione di Raspbian con

dd if=/percorso/immagine of=/dev/mmcblk0

PortePrima di cominciare a usarlo, pensiamo che sia meglio

spiegare l’idea alla base del protocollo SSH. Quando

si stabilisce una connessione tra due computer – che

sia per connettersi a una pagina Web, per scaricare unfile via NFS o per scaricare la posta – due cose devono

essere note: l’indirizzo IP della macchina alla quale

vogliamo connetterci e il numero di porta del servizio

(SSH, NFS, Web, ecc.) del quale vogliamo usufruire.

Molto diffuso e noto è il concetto di indirizzo IP, di solito

una quaterna di numeri del tipo 192.168.133.20

che identifica univocamente un PC membro di una rete,

così come il nome della via e numero civico identificano

una casa. Però il concetto di porta è un po’ meno

familiare e comprensibile al primo colpo.

Specificare una portaCosì come è normale che in una casa ci siano più

persone, ognuna delle quali in attesa di una letteraindirizzata solo e soltanto a lei, così è normale che una

serie di servizi residenti su un computer si aspettino

di essere contattati specificatamente da chi ha bisogno

di loro. In casa ci aspettiamo di essere contattati

univocamente grazie al nome del destinatario scritto

sulla busta: questo sistema trova il suo corrispettivo

informatico specificando il numero di porta alla quale

si desidera connettersi. Ogni porta è identificata

da un numero che va da 0 a 65535 e ogni servizio

che potrebbe essere fornito da un computer, come un

server Web, è noto per essere in ascolto su un numero

di porta predeterminato. C’è una serie di numeri di

porta standard su cui ci si aspetta che i veri servizi siano

in ascolto e tale lista è decisa dalla Internet AssignedNumbers Authority (maggiori informazioni presso

http://bit.ly/Yk930v ), l’ente preposto alla definizione

INTERMEDIO

Tutti noi, una volta o l’altra, abbiamo

sperimentato l’Internet castrata, cioè una

connessione che non ci permette di fare quello

che vorremmo. Di solito si tratta di limitazione sui

protocolli come SMTP per le mail o XMPP, oppure

di filtri su certi tipi di siti Internet. Qualunque

sia il motivo delle restrizioni, spesso si tratta di una vera

e propria seccatura. Altre volte capita di usufruire

di connessioni Wi-Fi liberamente fornite da alberghi,

bar, ristoranti, ma anche in questo caso potreste sentirvi

infastiditi dal fatto che i vostri dati passino per mani

sconosciute: è dimostrato che altri utilizzatori dello

stesso hotspot (oltre ai proprietari dello stesso) possano

ficcanasare nel flusso delle vostre comunicazioni,spiando o addirittura modificando i dati che veicolate

nell’etere. In questo articolo vedremo come usare

Raspberry Pi allo scopo di creare dei tunnel SSH

crittografati, per tenere censori, spioni e curiosi fuori

dai vostri affari telematici. La nostra schedina è perfetta

per questo tipo di compito: silenziosa nel funzionamento

ed economica sia nel costo che nei consumi d’esercizio,

si tratta di un hardware acquistabile a prescindere:

si compra e si tiene in un cassetto fino al momento

in cui servirà, come adesso.

RaspbianSe siete stati tra i fortunati possessori della RP fin

dall’inizio, è probabile che la stiate usando con unaversione di Debian per ARM. Ma quello di Debian

è un mondo sempre in movimento, dei volontari hanno

da poco rilasciato una versione di Debian personalizzata

per il microprocessore montato sulla RP, dando vita

alla distro Raspbian . La faccenda è interessante perché

questa distro, oltre a essere più aggiornata e pronta

a funzionare non appena si accende la scheda, è anche

cucita addosso all’hardware: tutto questo si traduce

in miglioramenti prestazionali che - dicono i benchmark

- vanno dal 4 al 38% in funzione del tipo di attività

che manderete in esecuzione. Una cosa carina è il tool

Il nuovo toolraspi-config non

potrebbe essere piùcomodo e facile:

basta lanciarlo condiritti amministrativi

e si è subito operativi

Connessioni cifrate SSHParte 3 Utilizzare in sicurezza connessioni aperte ed evitare censure grazie a SSH

Page 81: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 81/100

LINUX PRO 127  79

Raspberry Pi Tutorial

degli standard Internet. Questi numeri di porta vanno

dallo 0 al 1023: il traffico Web è sulla porta 80, l’FTP

sulla 20, l’SSH sulla 22 e così via. Ovviamente nulla

vi impedisce di impostare un servizio per funzionare

su un numero di porta diverso da quello deciso per

esso: se sapete il numero di porta potrete istruire

il vostro client a interrogare proprio quella porta per

ricevere il servizio desiderato. Però vi potreste chiedere

cosa ha a che fare tutto questo con i tunnel SSH: beh,

in poche parole, un tunnel SSH unito al port forwarding

permetterà di realizzare quello che vi serve! Dato che

un esempio vale mille spiegazioni, immaginate di avere

due computer. Il primo – chiamato laptop – è quello

che state usando all’Internet Café e per questo

è bloccato da un proxy (i proxy sono software che

intercettano e filtrano la navigazione Internet in base

alle regole decise dall’amministratore del proxy)

e proprio per questo vi impedisce di accedere al sito

example.com. Poi avete un secondo computer

chiamato pi (sì, la vostra Raspberry di casa) che ha

un accesso senza restrizioni a Internet. Ovviamente

voi dall’Internet Café potete tranquillamente accedere

a pi grazie al meccanismo del’IP dinamico staticizzato.

Il traffico nel tunnelSe volete accedere al sito example.com dal vostro

laptop dovete farlo attraverso un tunnel, o per meglio

dire, un port forwarding, utilizzando pi come “ponte” per

il flusso di bit: tutto questo attraverso SSH. Solitamente

SSH crea una connessione cifrata tra due PC usando

la porta numero 22 ma in questo caso, invece di aprire

una shell testuale, farete in modo di redirigere il traffico

da una porta a un’altra. Il beneficio che avrete è doppio:

infatti, oltre ad avere una connessione SSH criptata

– e quindi nessuno potrà vedere i vostri dati e password

– sarete anche in grado di accedere a qualunque sito,

indipendentemente dai blocchi imposti dall’Internet

Café o chi per esso. Voi vi limiterete ad accedere

alla Raspberry Pi e sarà lei ad accedere per voi al sito

example.com. Voi dovrete limitarvi a fare in modo che

SSH sia attivo sia su laptop che su pi. Nel caso il vostro

laptop abbia una distribuzione tipo Fedora, digitate:

 su -c “yum -y install openssh”

 su -c “sysremctl enable sshd.service”

 su -c “sysremctl start sshd.service”

Invece, su Debian e le sue derivate, i comandi sono:

 sudo apt-get install openssh-server openssh-client

 sudo service ssh start

 sudo insserv ssh

Se per qualche strano motivo il PC usa Windows allora

dovrete far autonomamente riferimento a programmi

come Putty o Cygwin, dato che l’uso di tali software

va oltre lo scopo di questo articolo.

Creare il tunnelVi abbiamo spiegato il cosa, ora è il turno del come:

per attivare il tunnel è sufficiente digitare

il comando che segue:

 ssh -L 1080:example.com:80 utente@pi -f

Ok, calma e un bel respiro: ora siete pronti alla

spiegazione. Ovviamente ssh è il comando principale

Indipendentemente da quanto a lungo stiate

usando la Raspberry Pi, dovreste sapere cosa

è la riga di comando. Quando accendete

la scheda vi ritrovate in una schermata

di login in bianco e nero, dove ci si aspetta

che digitiate utenza e password. Dopodiché

potrete interagire col sistema come più

vi aggrada, come editare file, usare un browser

Web testuale come Elinks o avviare

l’interfaccia grafica. La riga di comando

è a volte chiamata shell – conchiglia

– e SSH sta per Secure Shell, Shell Sicura.

Essa permette di entrare nel vostro computer

attraverso una connessione criptata,

irrobustita da oscure equazioni matematiche:

questo significa che nessuno è in grado di

spiare ciò che veicolate da e per il PC, sia esso

un cookie, un file dati o un indirizzo Web.

In effetti si tratta della versione moderna

e sicura dei programmi telnet e rlogin.

Cos’è SSH?

Firewall

Un tunnel SSH creauna connessionesicura tra due PC,quindi potete usarequesto sistema perattraversare firewalle altri sistemibloccanti

Tunnel SSH

Pi

Laptop

example

.com

œ

Page 82: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 82/100

80  LINUX PRO 127

Tutorial 

Raspberry Pi

ora potremmo chiamarlo port forwarding remoto .

Immaginate un esempio simile ma opposto dove ancora

una volta avete a disposizione laptop e pi: questa volta

laptop è a casa e dovete usarlo per accedere a una

risorsa (per esempio un server Web) interna a una rete

privata (chiamata internal.example.com) ma un firewall

impedisce di accedere da Internet al sito interno. Comerisolvere il problema? Per fortuna, pi è all’interno della

rete privata e sarà essa ad aggirare il firewall grazie

al meccanismo del port forward remoto. A quel punto

laptop potrà usare la connessione SSH per penetrare

attraverso il firewall, raggiungendo internal attraverso

pi, che ancora una volta, fungerà da sponda di rimbalzo.

Il comando da attivare su pi è il seguente:

 ssh -R 1080:internal.example.com:80

utente@laptop -f

Come vedete, il comando è molto simile al precedente.

Come è facile intuire, -R sta per remoto o reverse

(inverso). La parte 1080:internal.example.com:80  

indica che la porta 1080 di pi deve essere messa

in contatto con la porta 80 del server Web interno.Il resto dei parametri ha le stesse funzioni viste

in precedenza, per cui ne ometteremo la spiegazione.

Per ottenere il massimo da questo comando dovrete

avere l’accortezza di attivarlo in anticipo rispetto

a quando vi servirà, dato che ovviamente non potrete

accedere alla pi per configurarla dopo che sarà stata

posta all’interno della rete protetta dal firewall. Per

risolvere questo apparente paradosso, è sufficiente

ricorrere al comando autossh (installatelo con il solito

apt-get). Al contrario dell’SSH base, autossh è studiato

per tenere la connessione cifrata sempre attiva

e, caso mai venisse interrotta per qualunque motivo,

farla ripartire al più presto. Il comando differisce

di qualche parametro, ecco come dovrete usarlo: autossh -M 20000 -f 1080:internal.example.com:80

utente@laptop

e il parametro -L serve per dirgli che verrà usato per

inoltrare (port forward) una porta. Questa parte è una

normale sessione ssh e potete usare i soliti parametri,

come un numero diverso di porta, un nome di dominio

al posto dell’IP e così via: ricordate però che la

macchina pi deve essere accessibile da laptop, quindi

dovrete sapere il suo nome di dominio o l’IP pubblico;fate riferimento al box relativo per i dettagli su questo

argomento. La parte 1080:example.com:80  è quella

più interessante in quanto mette in contatto (port

forward) la porta 1080 della Raspberry con la porta 80

del sito bersaglio. Infine il parametro -f impone a ssh

di lavorare in background, in altre parole resterà attivo

anche senza occupare la console dalla quale è stato

mandato in esecuzione. Torniamo ora all’Internet Café:

nella barra degli indirizzi del browser Internet

(ad esempio Firefox) digitate http://localhost:1080 

ed ecco che accederete al sito proibito example.com.

Infatti Firefox parlerà con la porta 1080 di laptop, che

però grazie al comando ssh inoltra la porta 1080 a pi:

a quel punto, la Raspberry dirotta alla porta 80 quelloche ha ricevuto dalla porta 1080 e viceversa. Il risultato

è che pi permette di triangolare il traffico Web da

example.com a laptop. Potete facilmente adattare

il comando precedente per inoltrare altro tipo di traffico

rispetto a quello Web. Per esempio, se avete un vostro

server mail (SMTP) che gira su pi, è sufficiente cambiare

‘80’ con ‘25’ nel comando ssh e il gioco è fatto: manca

solo di cambiare i relativi parametri nel programma

di posta elettronica che avete su laptop.

Tunnel inversoQuello che avete creato non è il solo tipo di tunnel

realizzabile con SSH, quindi diamo una rapida occhiata

alle altre capacità di questo comando così versatile. Senel precedente esempio avete creato un tunnel di port

forwarding con il parametro -L, quello che realizzerete

Un tunnel SSHinverso serve perentrare in areeprotette, maassicuratevi di avereil permessodell’amministratoredi Rete altrimenti

potrebbero venirvi acercare con intenzionipoco piacevoli

Tunnel SSHinverso

Pi

FirewallNotebook 

Internal.example

.com

Page 83: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 83/100

LINUX PRO 127  81

Raspberry Pi Tutorial

In questo caso, il parametro -M è la cosa più importate:

il ‘20000’ sta a indicare due porte successive (quindi

un questo caso la 20000 e la 20001) che serviranno

per monitorare lo stato della connessione SSH. Autossh

manderà periodicamente dei dati di prova sulla porta

20000 ricevendo risposta sulla 20001, segno che

la connessione è attiva e funzionante. Nel caso ci fosseun errore di connessione, significherebbe che il servizio

è per qualche motivo stato interrotto (blocco

temporaneo del firewall, cavo di rete sconnesso

e riconnesso, ecc.) quindi autossh provvederà a riavviare

SSH sia sulle porte di controllo (20000 e 20001)

sia sulle porte utilizzate per il flusso di dati vero

e proprio. Questo trucco è utile in quanto gli

amministratori di firewall non amano che si giochi

attraverso i loro apparati e se sentono puzza di bruciato,

spengono e riaccendono il firewall senza troppi

complimenti interrompendo – brutalmente ma con

efficacia – qualunque connessione. Alcuni Professionisti

di Sicurezza Informatica utilizzano la tecnica dell’autossh

proprio per testare l’affidabilità delle difese perimetralidelle aziende: con qualche trucco si insinuano negli uffici

e approfittando della pausa pranzo infilano in qualche

angolo inutilizzato – ma dotato di una presa di rete

attiva – delle “scatolette” che servono proprio a fare

port forwarding remoto. Si può dire che per questi

lavori la Raspberry Pi sembra fatta apposta: magari

configurando appositamente il file /etc/network/

if-up.d potrete fare dei giochetti niente male,

“recuperare” password e copiare mail confidenziali

e file critici del vostro cliente... robbetta così insomma.

Immaginatevi la faccia che farà quando gli presenterete

la lista dei buchi della sua rete apparentemente sicura...

oltre alla fattura, naturalmente.

Tunnel dinamiciVi abbiamo detto molto, ma non tutto. Finora avete

visto come inoltrare un singolo servizio, ma esiste

un comando finale che permette di inoltrare tutti

i servizi in un colpo solo, come segue:

 ssh -D 1080 utente@pi

Come vedete, il comando è molto semplice e sintetico.

Il parametro -D ordina a ssh di configurare un tunnel

dinamico: 1080 è la solita porta locale che vogliamo

utilizzare, mentre utente@pi è l’accoppiata utente/PC

ai quali vogliamo inoltrare il flusso di dati. Dopo aver

dato questo comando, potete configurare sulla

macchina locale qualunque programma che supporta

i proxy SOCKS per inviare il flusso di dati lungo il tunnel

che avete appena creato. Per esempio, su Firefoxandate nel menu Modifica D Preferenze 

D Avanzate D Network  D Impostazioni:

selezionate Configurazione manuale del proxy 

e nella casella sottostante digitate 127.0.0.1 e in quella

di fianco inserite la porta selezionata nel comando ssh

precedente. Poi premete Ok  e avete finito. Se tutto

è andato bene, ora Firefox veicolerà tutto il proprio

traffico attraverso il tunnel criptato fino alla pi,

che si occuperà della vera navigazione per conto

vostro. Potete sincerarvi della faccenda interrompendo

con Ctrl+C il comando ssh e riprovando a usare Firefox,

che dovrebbe rispondervi segnalando un errore

di connessione, a riprova che il flusso di comunicazione

passava veramente attraverso la sessione ssh. Anchealtri programmi che usano la Rete, come la posta

elettronica o i programmi di chat IRC hanno un menu

di configurazione simile a quello di Firefox dove potrete

configurarli: inserite gli stressi parametri che avete usato

con il navigatore Web e dovreste essere a posto.

Basta per oggiBene, siamo arrivati alla fine di questa puntata: le

tecniche mostrate sono molto comode se necessitate

di privacy e nessun vincolo nelle vostre connessioni Web

quando siete in giro per il Mondo, a patto di lasciare

a casa un computer sempre acceso e opportunamente

configurato. Certo, tutto ciò consuma energia e farà

lievitare la vostra bolletta dell’elettricità, ma scegliendola Raspberry Pi come hardware di lavoro, il conto sarà

molto meno salato. Se la vostra necessità è quella di

rendere accessibili i servizi presenti sulla vostra rete

a utenti esterni, allora la cosa migliore potrebbe essere

una connessione VPN, cioè un Network Privato Virtuale.

SSH è meno difficile da configurare, ma è anche più

rigido nell’uso, quindi se preferite la “via facile” della

VPN, vi consigliamo di leggere il prossimo articolo. LXP

La maggior parte delle tecniche usate in questo

articolo necessitano di una macchina con

un indirizzo IP pubblico raggiungibile dal Web

o di un nome di dominio. La tipica connessione

casalinga ha un IP pubblico che però non

è statico ma dinamico: ciò significa che esso

sarà diverso ogni volta che accendete il PC

perché il vostro fornitore di connettività Internet

provvederà a fornirvi il primo che gli capiterà.

La conseguenza di tutto ciò è che non appena

spegnerete e riaccenderete il router, per

esempio, tutto quello che è stato configurato

smetterà di funzionare. Ma il problema non

è privo di soluzione: la prima e più facile è quella

di abbonarsi a un provider che vi garantisca

un IP statico. Se siete fortunati, vi verrà fornito

senza problemi ma di solito vi sarà chiesto

un – a volte salato – sovrapprezzo rispetto

all’abbonamento standard. Nel caso peggiore,riceverete la classica risposta “non possiamo

fornirvi un IP statico in alcun modo”.

Se ricorrere al provider non è possibile, potete

fare riferimento a un servizio come www.no-ip.

com  o www.dyn.com : è necessario tenere in

esecuzione un piccolo software che monitorizza

il vostro indirizzo IP e se questo cambia,

il programma avviserà questi siti. Essi forniscono

un nome di dominio – qualcosa del tipo miosito.

dyn.com – associato al vostro IP: man mano che

questo cambia, loro aggiornano l’associazione

IP-Dominio. Insomma, un semplice trucco per

simulare un IP statico. Se la vostra Raspberry Pi

è dietro a un router, è necessario inoltrare

(port forward) la porta 22: questa attività varia

da router a router, quindi occorre verificare

come si debba agire sul modello che avete

a disposizione. Collegatevi all’interfaccia Web del

vostro router e cercate la parte amministrativa:

da lì potete inoltrare le porte ai PC in funzionedel loro indirizzo MAC. Potete anche considerare

la possibilità di assegnare IP statici ai PC della

vostra rete, in modo da facilitare la gestione

nell’inoltro delle porte.

DNS dinamico

no-ip.com creerà un’associazione IP-Nome

per la vostra Raspberry Pi anche se il suoindirizzo IP cambierà nel tempo

Page 84: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 84/100

82  LINUX PRO 127

Concetti

Negli scorsi articoli abbiamo introdotto i tipidi dati più comuni utilizzabili in Python: numeri(int e float), stringhe, liste, tuple e dizionari.

Abbiamo illustrato il loro funzionamento, alcuni deimetodi più utilizzati e i loro operatori. Non abbiamodato però molte spiegazioni sul loro utilizzo in contestireali. Questo mese colmeremo questa lacuna. Andremoa scrivere un piccolo programma che conterà quantevolte ogni parola si ripete in un testo. La punteggiaturaverrà esclusa e se una parola si ripete ma con letteremaiuscole o minuscole differenti (ad esempio il e Il),verrà contata come singola parola. Alla fine,il programma mostrerà il risultato a schermo,che dovrebbe essere simile a questo: il: 123 tu: 10 a: 600 …Come esempio, utilizzeremo l’Inferno della DivinaCommedia di Dante Alighieri, che potete scaricaredal progetto Gutenberg: salvate il file nella stessacartella in cui creerete il file Python e chiamateloinferno.txt . Come suggerisce la descrizionedel programma, la prima cosa che dobbiamo fareè dare la possibilità a Python di accedere al file.Per fare ciò si usa la funzione open(): inferno = open(‘inferno.txt’,’r’)

In questo esempio, alla funzione open() abbiamopassato due variabili. La prima è il nome del fileda aprire; se fosse stato in una directory diversada quella in cui si trova lo script Python avremmodovuto scrivere l’intero path. Il secondo argomentospecifica quale operazione deve eseguire sul file:r sta per read (cioè lettura), ma potete utilizzare anchew (write, cioè scrittura) oppure rw (read-write cioèlettura e scrittura). Notate che abbiamo assegnato il filea una variabile, inferno così da poterla utilizzarein seguito nel programma. Con una referenza al filepronta, abbiamo bisogno di un modo per accedereal suo contenuto. Esistono diversi modi per fare ciò,ma oggi andremo a utilizzare un ciclo for… in….Per vedere come funziona provate ad eseguirequeste righe di codice dopo aver aperto il file: >>> for riga in inferno:  print riga …Il risultato dovrebbe essere una visualizzazionea schermo di tutte le righe contenute nel file. Mettendoquesto codice in un file .py, diciamo contaparole.py,otteniamo l’inizio del nostro programma Python.

Pulizia inizialeLa descrizione del programma specifica che dobbiamoescludere la punteggiatura, non tenere contodi maiuscole e minuscole, e che dobbiamo contareogni parola… non le righe! Ad ora, siamo in gradodi leggere l’intera riga come stringa, con lapunteggiatura, caratteri strani non visibili (come  \r\n),maiuscole e minuscole. Consultando la documentazionedi Python sulle stringhe (http://docs.python.org/3.3/

library/) possiamo vedere che ci sono quattro metodiche possono aiutarci a convertire le nostre righein un formato più vicino alle specifiche della descrizione:strip(), translate(), lower() e split(). Strip rimuovei caratteri specificati dall’inizio e dalla fine della stringa,si utilizza così: >>> riga.strip()Quando viene chiamato senza argomenti, rimuove

tutti i caratteri non visibili, che è una delle cose di cuiabbiamo bisogno. translate() è un metodo che puòessere utilizzato per rimuovere un set di caratteri, comela punteggiatura, da una stringa. Per utilizzarlo in questomodo, è necessario passargli due argomenti, il primo èNone e il secondo è la lista dei caratteri da cancellare. >>> riga.translate(None,’!”#$%&\’()*+,-./:;<=>?@[ \\]^_`{|}~’)lower() si spiega da sola: converte ogni carattere dellastringa in minuscolo. split() spezza la stringa in più partiin base all’argomento passato, ritornando una lista.L’argomento richiesto da split() nel nostro casoè ovviamente lo spazio: >>> riga.split(‘ ‘)

Con tutta la punteggiatura rimossa, split() ci ritorneràuna lista con le parole della riga separate l’una dall’altra.Mettete tutto quello che abbiamo visto nel vostro script

Prevedibilmente, secondo il nostro programma

di conteggio, dopo aver ordinato i risultati,la parola più utilizzata nell’Inferno della DivinaCommedia è la congiunzione “e”

Altri tipi di datiVediamo come differenti tipi di dati possano concorrere a risolvere un problema reale

Page 85: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 85/100

LINUX PRO 127 83

Concetti

Python, all’interno del ciclo for, e otterrete unprogresso considerabile verso il successo. A questopunto lo script dovrebbe assomigliare a: inferno = open(‘inferno.txt’,’r’) for riga in inferno:  riga = riga.strip()

  riga = riga.translate(  None,’!”#$%&\’()*+,-./:;<=>?@[\\]^_`{|}~’)  riga = riga.lower()  riga = riga.split(‘ ‘)Dato che tutti i metodi ritornano una nuova stringa,invece di operare su quella esistente, abbiamoriassegnato la variabile riga in ogni riga del nostroprogramma per mantenere il lavoro in ogni passo.

UnicitàBene, date un occhiata a quanto lavoro abbiamogià fatto sui nostri dati! Utilizzando i metodi delle stringe,siamo riusciti a rimuovere tutte le parti di dati che nonci interessavano. Abbiamo anche suddiviso una grande

stringa, che rappresenta una riga, in pezzi più piccolitrasformandola in una lista, cioè nel concetto astrattoa cui siamo più interessati: le parole. Nonostante il moltolavoro svolto, c’è ancora tanto da fare. Ora abbiamobisogno di un modo per identificare quali parole sonouniche, non soltanto in questa riga, ma in ogni rigacontenuta nell’intero file! La prima cosa che dovrebbevenirvi in mente quando si parla di unicità è undizionario, la struttura di chiave-valore che abbiamovisto il mese scorso. Non permette chiavi duplicate,quindi inserendo ogni parola come chiave nel dizionari,siamo sicuri che non ci saranno duplicati. Inoltre,possiamo utilizzare il valore per salvare il numerodi volte che ogni parola è presente nel testo,

incrementandolo ogni qualvolta il programma incontrauna nuova istanza di quella chiave. Iniziamo a creareil dizionario e assicuriamoci che persista per l’interofile, non soltanto per una singola riga, inserendoquesta riga prima dell’inizio del ciclo for: dizionario = {}Questa riga crea un dizionario vuoto, pronto a ricevereparole. Ora dobbiamo pensare a un modo per inserireogni parola all’interno del dizionario. Come abbiamovisto nello scorso articolo, fortunatamente un sempliceassegnamento è sufficiente per compiere questa azione.Possiamo quindi scorrere la lista che abbiamo creatoprima (utilizzando un altro ciclo for), aggiungendoogni parola al dizionario con il valore 1 

(per rappresentare il fatto che abbiamoincontrato questa parola una volta nel file). for parola in riga:  dizionario[parola] = 1Ma ricordate, se la chiave esiste, il vecchio valoreverrà sovrascritto e il conteggio sarà resettato.Per aggirare questo problema possiamo mettereuna clausola if-else dentro al nostro ciclo:  if parola in dizionario:  conteggio = dizionario[parola]  conteggio += 1  dizionario[parola] = conteggio else:  dizionario[parola]=1

Questo brano di codice può generare un po’di confusione perché dizionario[parola]  viene utilizzatoin due modi differenti. Nella seconda riga, ci ritorna

il valore assegnatogli, mentre nella quartae nella settima riga, gli assegniamo come valore

rispettivamente conteggio e 1. Notate ancheche se la parola è già presente nel dizionarioincrementiamo il valore di conteggio di 1,a rappresentare la nuova occorrenza della parola.

Mettiamo tutto insiemeA questo punto tutto quello che ci resta da fareè inserire un po’ di codice per stampare il dizionario,mettere tutto insieme ed eseguire il programma.La sezione di print  dovrebbe assomigliare a questa edessere posizionata alla fine del file, fuori da ogni ciclo. for parola,conta in dizionario.iteritems():  print parola + “:” + str(conta)Questo ciclo for sembra diverso da quelli che abbiamo

visto prima. Utilizzando il metodo iteritems deldizionario, possiamo accedere sia alle chiavi (parola)che ai valori (conta) con un unico ciclo. Che altro?Abbiamo utilizzato la funzione str() per convertireconta, un integer, in una stringa, dato che l’operatore+ non può concatenare un integer a una stringa.Provate a eseguirlo e dovreste vedere il vostroterminale riempito di righe tipo queste: … coltre:1 gelati:1 là:106 ….

Dati ovunque!Questo è tutto ciò che ci eravamo prefissati di farenel tutorial di questo mese. Abbiamo visto comediversi tipi di dati e i loro metodi possano concorrerealla soluzione di un problema reale, speriamoche questo articolo vi sia servito per notarequanto importante sia la selezione del giusto tipodi dato per rappresentare ogni concetto astratto.Per esempio, siamo partiti da una singola stringache rappresentava un’intera riga e l’abbiamo spezzatain una lista di parole. Abbiamo utilizzato poi undizionario per contare le apparizioni di ogni parola.Come esercizio, perché non cercate di ordinareil risultato in modo da poter vedere quali parole

ricorrono più di frequente? Potreste anche decideredi scrivere il risultato su di un file, un dato in ogni riga,per salvare il frutto del vostro lavoro. LXP

La documentazione della libreria standard di Python, http://docs.python.org/3.3/library/, è una risorsa inestimabile per capire quali metodi possonoessere utilizzati e come utilizzarli

Page 86: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 86/100

84  LINUX PRO 127

Django

Nel precedente articolo avete visto come creare

una semplice applicazione che gestisce l’inventario

di un banco di pegni. Avete imparato come

impostare un nuovo progetto Django, realizzare una nuova

applicazione all’interno del progetto, creare un modello,

abilitare l’interfaccia di amministrazione in modo da poter

inserire qualche dato e creare sia il template che la vista

in cui visualizzare l’elenco dei risultati. Infine avete imparato

a configurare la vista relativa ai dettagli di ogni oggetto

dell’inventario. In pratica questa semplice applicazione

è servita a mostrarvi in un colpo solo tutte le principali

funzionalità di Django. In questa seconda parte, partendo

dallo stesso progetto, vedrete come precaricare il progetto

con dei dati predefiniti nonché come creare e usare

i form in modo da fornire agli utenti la possibilità

di aggiungere informazioni al database.

Precaricare dati nel progettoUna delle caratteristiche principali di Django riguarda

l’automatizzazione dell’interfaccia di amministrazione.

Tipicamente, in altri framework Web, dovreste investire

tempo e codice per costruire le stessa interfaccia

manualmente. Django ve la fornisce gratuitamente,

assieme a un ottimo modo per aggiungere nuovi dati

al database, cancellare record e altre funzionalità ancora.

In molti progetti nasce solitamente l’esigenza di precaricare

alcuni dati. Nell’esempio relativo al banco dei pegni, la

tabella delle Categorie è un caso tipico. Nel caso si debba

ricreare il database bisognerebbe, oltre a ricreare le tabelle,

reinserire i record delle categorie di oggetti gestite dal

negozio. In teoria, ciò che serve è semplicemente un elenco

di categorie predefinite da creare automaticamente ogni

volta che viene ricreato il database. Per far ciò bisogna

predisporre qualche fixture. Una fixture non è altro

che un record predefinito da aggiungere al database.

Una volta create delle fixture, Django si occupa di importarle

automaticamente durante la creazione del database.

Ma adesso è arrivato il momento di creare le fixture.

Queste possono essere create in modi diversi, ma in questo

articolo vi mostreremo due approcci molto semplici. La

prima modalità consiste nell’utilizzare un semplice formato

di serializzazione dati come YAML. Per cominciare, create

una directory fixtures all’interno della vostra applicazione

Django (in questo, caso nella directory inventario) che

ovviamente conterrà le vostre fixture. Django controlla

il contenuto della directory fixtures di ogni applicazione

e si occupa di caricare automaticamente tutte le fixture

durante la fase di creazione del database. Ora, create

un nuovo file nella directory fixtures, chiamatelo

initial_data.yaml , e inserite il contenuto che segue:

 - model: inventario.category

  pk: 1

  fields:

  name: Orologi

 - model: inventario.category

  pk: 2

  fields:

  name: Elettronica

 - model: inventario.category

  pk: 3

  fields:

  name: Strumenti

 - model: inventario.category

  pk: 4

  fields:

  name: Cimeli

In questo caso, state aggiungendo quattro elementi alla

tabella Category delle categorie. In ogni blocco viene

specificato il nome del modello, vale a dire la tabella

Category all’interno dell’applicazione inventario. Quindi,

tramite l’etichetta pk  viene dichiarata la chiave primaria.

Questa deve essere un numero univoco. Solitamente

comincerete con un 1 e incrementerete il numero

di 1 a ogni blocco. Infine, vengono specificati tutti i campi

del blocco relativamente al modello corrente (Category)

e i loro rispettivi valori. Dato che il modello Category

contiene un unico campo (name), risulta tutto molto

semplice; dovete solamente specificare il valore del campo

(ad esempio Orologi). Per caricare le nuove fixture, non

dovete far altro che cancellare il database bancodeipegni.

db nella directory principale del progetto ed eseguire:

python manage.py syncdb

Una volta generato il database, dovreste vedere

il seguente messaggio:

 Installed 4 object(s) from 1 fixture(s)

In pratica Django vi sta dicendo che le quattro fixture

presenti nell’unico file di fixture trovato sono state caricate.

Sebbene l’approccio appena descritto per creare le fixturesia comodo, può anche rivelarsi noioso, visto che per modelli

più complessi, con molti campi, la compilazione della fixture

 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

Una ModelForm renderizzata come una tabella,esattamente come se ne vendono in tutti i siti Web

Dati e moduliIn questa seconda parte vi mostreremo come precaricare i dati all’interno dei vostri progetti

e come far contribuire gli utenti tramite i form

Page 87: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 87/100

LINUX PRO 127 85

Django

richiede molto più tempo. Inoltre è molto facile commettereerrori, ad esempio si può sbagliare a inserire il valoredella chiave primaria. Un approccio diverso consistenell’aggiungere i dati tramite l’interfaccia di amministrazionee in un secondo momento generare ed esportare le fixture.Per usare questa tecnica, procedete nuovamente a cancellare

e ricreare il database in modo da avere una base dati pulitasu cui lavorare. Ora aggiungete i dati che desiderate tramitel’interfaccia di amministrazione. Fate attenzione a inseriresolamente le informazioni che volete rendere precaricabili;tutto ciò che inserirete verrà esportato come fixture. Una voltaterminato di aggiungere i dati, potete convertire il contenutodel database in un file YAML con il seguente comando: python manage.py dumpdata inventario --format yaml> initial_data.yaml

Questo comando estrae tutti i dati presenti nell’applicazioneinventario e li scrive nel file initial_data.yaml. Una voltaeseguito il comando potete esaminare il contenuto del filegenerato e noterete la somiglianza con quanto avete editatomanualmente in precedenza. Ora non vi resta altro da fare

che spostare il file nella directory inventario/fixtures per fare in modo che i dati siano importati in automaticoal successivo utilizzo di python manage.py syncdb.

Aggiungere i dati tramite le formFino ad ora, in questa avventura con Django, avete aggiuntoi dati al database solamente tramite l’uso dell’interfacciadi amministrazione. Tuttavia, questo non è il modo piùopportuno per farlo dato che, tra l’altro, limita la possibilitàdi inserire i dati solo agli amministratori. Se volete farein modo che più utenti possano aggiungere nuovi dati, o sevolete personalizzare l’aspetto e il comportamento della fasedi inserimento, dovrete creare un form. Per quelli tra voi chesono ai primi passi con la programmazione Web, i form non

sono altro che quei controlli interattivi che vengono usati perfornire informazioni a un sito Web. Per esempio, in un clientdi posta elettronica (come può esserlo Google Mail ), nellaschermata di creazione di una nuova email in cui inseriteil destinatario, l’oggetto e il corpo dell’email, viene usatoun form. Tutti i campi appena elencati assieme ai pulsantiInvia/Cancella/Salva, fanno parte di un form. Fortunatamentecreare i form con Django è piuttosto semplice. Vedretesubito un esempio di come aggiungere un form al bancodei pegni, per l’inserimento di nuovi oggetti. Per cominciare,bisogna come al solito aggiungere una linea al file urls.py in cui specificare l’indirizzo che fornirà la possibilità di inserirenuovi oggetti. Editate il file urls.py aggiungendo questa linea: url(r’^newitem/$’, ‘inventario.views.newitem’,

name=”newitem”),In questo modo l’indirizzo http://127.0.0.1:8000/

newitem/ viene mappato alla vista chiamata newitem.La vista verrà creata in un secondo momento.Probabilmente avrete notato che questa linea, a differenzadelle altre, contiene il parametro name=“newitem”.Non si tratta altro che di una funzionalità semplice ma moltoutile, infatti vi permetterà di far riferimento all’URL tramiteil nome newitem. In questo modo non avrete la necessitàdi modificare i vostri template nel caso decideste dicambiare l’URL. Ora che avete impostato l’URL, è tempodi creare il form. Gli sviluppatori Web più esperti potrebberoaspettarsi che sia giunto il momento di avere a che farecon l’HTML per progettare il form che sarà poi mostrato

all’utente. Fortunatamente, Django fornisce un eccellentemodo per evitare tutto questo lavoro. Django è fornitodi una caratteristica chiamata ModelForm. In parole povere,

ModelForm vi permette di specificare semplicementeil modello a cui volete aggiungere dei dati (per esempioil modello Item dell’applicazione Inventario) e Djangodisegnerà il form in base alla tipologia dei campi. Peresempio, nel modello Item avete il campo “category”che fa riferimento a un elemento del modello Category.Grazie a ModelForm, le varie categorie saranno visualizzatetramite un’opportuno box drop-down. Inoltre, dato cheavete impostato il nome di tipo CharField, questo verràvisualizzato tramite una text-box a linea singola, mentre

il campo description che è di tipo TextField, verràvisualizzato tramite una text-box più grande e multilinea.Per usare ModelForm, bisogna definire un nuovo form, eper farlo occorre creare un nuovo file, chiamato forms.py,all’interno dell’applicazione inventario. Dopo aver creatoil file editatelo aggiungendo il codice che segue: from django.forms import ModelForm from inventory.models import Item

 class NewItemForm(ModelForm):  class Meta:  model = ItemNel codice appena mostrato, prima viene importatoil modulo ModelForm e subito dopo il modello Item definito

nell’applicazione inventario. Il codice vero e proprio comincia

Una delle caratteristiche più attraenti di Django è l’ottima

documentazione di cui è corredato. Potete trovare

la documentazione ufficiale su https://docs.djangoproject.

com. Troverete la documentazione separata per versione.

Assicuratevi di leggere la documentazione che corrisponda

alla versione di Django che state utilizzando. Per conoscere

la versione installata sul vostro sistema, è sufficiente eseguire

il seguente comando:

 python manage.py version

Inoltre, potete porre tutte le vostre domande nel canale

#django sulla rete IRC Freenode; i ragazzi che si trovanolà dentro sono sempre d’aiuto.

La documentazione di Django

Il sito del libro Dive Into Python (parzialmente tradotto anche in italiano)fornisce anche moltissimo materiale via Web riguardante Python

œ

Page 88: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 88/100

86  LINUX PRO 127

Django

con la creazione della classe NewItemForm di tipoModelForm. Servirà costruire una nuova classeper ogni nuovo form che si vuole utilizzare all’internodi un progetto Django. Quindi, come parte del form,viene creata una classe Meta alla quale va specificato cheil modello utilizzato riguarderà l’oggetto Item. In questomodo, ogni volta che nel progetto si farà riferimentoa NewItemForm, ci si starà implicitamente riferendoal ModelForm generato a partire dal modello Item.

Creare una vistaÈ arrivato il momento di creare la vista che sarà caricatavisitando la pagina http://127.0.0.1:8000/newitem/ .Editate il file views.py e aggiornate la linea di importazioneda django.shortcuts, in modo che importi ancheil modulo redirect : from django.shortcuts import render_to_response, redirectQuesto modulo verrà usato per reindirizzare l’utentea un’altra pagina (la pagina principale) una voltache i dati del form saranno salvati sul database.Ora aggiungete la seguente istruzione all’inizio del file: from django.template import RequestContextQuesta linea definisce l’importazione di RequestContext ,

che verrà utilizzato per processare la vista in un mododifferente rispetto a quanto fatto fino ad ora. Ma questolo vedrete tra poco, per ora cominciate a inserire tuttoil codice relativo alla vista: def newitem(request):  form = NewItemForm(request.POST or None)

 if form.is_valid():  cmodel = form.save()  cmodel.save()  return redirect(index)  return render_to_response(‘inventario/newitem.html’,{‘item_form’: form}, context_instance=

 RequestContext(request))Esaminando il codice linea per linea, la prima istruzionesignificativa è la seguente:  form = NewItemForm(request.POST or None)in cui viene creata una nuova istanza di ModelForm.Questa istanza verrà in seguito passata al template.La linea successiva controlla se il form è stato validato(vale a dire se l’utente l’ha inviato).

  if form.is_valid():Se il form è stato inviato dall’utente, viene creato un oggettodai dati che costituiscono il form e quindi questo oggettoviene salvato nel database.  cmodel = form.save()  cmodel.save()A questo punto, l’Item è salvato nella tabella degli Iteme l’utente viene reindirizzato alla pagina principalechiamando la vista index esaminata nella scorsa puntata:  return redirect(index)Se invece il form non è stato inviato e validato (e quindiform.is_valid() non vale True), viene usata la funzionerender_to_response()  per caricare il template con il formpresente tra gli argomenti della funzione stessa:

  return render_to_response(‘inventory/newitem.html’,{‘item_form’: form},context_instance=RequestContext(request))

In fondo alla linea precedente, avrete notato la partecontext_instance=RequestContext(request) .Uno dei principali vantaggi nell’utilizzare RequestContext  sta nel fatto che fornisce protezione contro gli attacchidi tipo cross-site request forgery (http://it.wikipedia.org/wiki/Cross-site_request_forgery ). Aggiungendoun token CSRF al template, Django aiuta a proteggerel’applicazione da questo tipo di attacco. Ora che la vistaè sistemata, è tempo di creare il template in cui disegnareil form. Nella vostra directory bancodeipegni/templates/inventario, create un file chiamato newitem.html 

e aggiungetegli quanto segue: <h1>Aggiungi un nuovo oggetto</h1> <form action=“{% url newitem %}” method=“post”>  {% csrf_token %}  <table>  {{ item_form.as_table }}  </table>  <input type=“submit” value=“Salva” /> </form>In questo file, oltre che utilizzare il tag <form> in cui disegnare il form, viene utilizzato un po’ di codicespecifico per il template, caratteristica che potrebberisultarvi del tutto nuova: <form action=“{% url newitem %}” method=“post”>

Il codice {% url newitem %} è un modo per far riferimentoalla linea newitem all’interno del file urls.py. Comericorderete, quella linea utilizza il campo aggiuntivoGeany fornisce molti degli strumenti necessari per scrivere Python, HTML e CSS

Una delle domande ricorrenti a propositodi Django consiste sempre in “qualè il miglior editor da usare per creare

applicazioni con Django?”. Anche se poteteusare un qualunque editor in gradodi creare e salvare comunissimi file di testo,esistono alcuni editor specializzati nellaprogrammazione Web, che forniscono dellefunzioni utili e specifiche per la creazionedi Web App con framework come Django.Tra i migliori c’è sicuramente Geany (di cuiparliamo proprio in questo numero). Essofornisce evidenziazione della sintassi perPython, HTML, CSS, chiusura automaticadei tag HTML, code folding, completamentoautomatico e l’integrazione con la shell(che potete ad esempio usare per eseguirepython manage.py) oltre a numerosealtre caratteristiche. Se Geany non facesseal caso vostro date uno sguardoa questi altri due editor:∆ Bluefish - http://bluefish.openoffice.nl è un vecchio punto di riferimento nel campo

degli editor per applicazioni Web. Bluefishè leggero e veloce, fornisce il code foldinge il completamento automatico dei tag oltre

che alcuni semplici interfacce per creareHTML, funzione che chi non è espertissimodi HTML può trovare utile. Questo editorè pensato per GNOME, quindi si integraalla perfezione in Ubuntu, Fedorae altre popolari distribuzioni.∆ KompoZer - www.kompozer.net  fornisce un completo insieme di funzionalitàper la creazione di applicazioni Web.Include molte delle caratteristiche p resentiin Geany e Bluefish, ma anche strumentiper la creazione visuale di HTML, CSSe altri aspetti della vostra applicazione.Sebbene questi strumenti grafici sianoutili per imparare, fate attenzioneal fatto che il codice così generatonon è sempre il massimo. Quindidate sempre uno sguardo al codiceper assicurarvi di mantenere altala qualità della vostra applicazione.

Scegliere un editor

Page 89: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 89/100

LINUX PRO 127 87

Django

name=“newitem” e questo è proprio il punto in cui vieneutilizzato quel riferimento. Come accennato in precedenza,serve un token CSRF per proteggere l’applicazione dagliattacchi di tipo cross-site forgery, e la linea che seguesi occupa di aggiungere questo token:  {% csrf_token %}

Subito dopo viene aggiunto il form stesso:  <table>  {{ item_form.as_table }}  </table>In questo caso viene creata una tabella tramite il tag <table> all’interno della quale si fa riferimento a item_form che èstato in precedenza passato al template. Di questo oggettoviene poi usata la funzione as_table che renderizzail contenuto del form come elementi di una tabella. Infine,viene aggiunto un pulsate per salvare e viene chiuso il form:  <input type=“submit” value=“Salva” /> </form>A questo punto, se provate ad eseguire l’applicazione,il form dovrebbe funzionare e potrete utilizzarlo

per aggiungere un nuovo oggetto al database.Terminato l’inserimento, il form vi reindirizzeràalla pagina che contiene l’elenco degli oggetti.

Personalizzare il formAdesso che anche il form funziona a dovere, vi potrebbevenir voglia di personalizzare qualche punto. Per esempio,potreste voler modificare la modalità di inserimento di unadata, in cui uno dei formati ammessi attualmente è quelloamericano e non quello italiano MM/DD/YYYYVisto che questa modalità di inserimento potrebbeconfondere l’utente, e visto che i formati variano a secondadella nazione, sarebbe utile precompilare la data

con il valore del giorno. Altrettanto utile sarebbe impostarela quantità a 1 visto che raramente si avrà la necessitàdi inserire più oggetti dello stesso tipo. Per precompilarela data, dovete ricavare la data corrente e per questovi occorre il modulo datetime. Come al solito, la prima cosada fare è importare il suddetto modulo nel file views.py: import datetimePer precompilare il form si deve creare una nuova istanzadi un Item e configurarne alcune parti. Quindi bisogna passarel’istanza così creata al form durante la fase di creazionedi quest’ultimo. In pratica il form viene pre-popolato,e i cambiamenti che l’utente apporterà compilandolosaranno applicati all’istanza creata da voi. L’ultimo passoconsisterà nel salvare l’istanza stessa nel database.

Nella funzione newitem() che rappresenta la vista, inseriteil codice che segue proprio all’inizio della funzione: formdata = Item(dateadded =datetime.date.today().isoformat(), quantity = 1)

In questo modo viene creata una nuova istanza dell’oggettoItem e vengono impostati alcuni valori di default. È in questopunto che vengono usati il modulo datetime per recuperarela data corrente e la funzione isoformat() per formattarlasecondo il formato YYYY-MM-DD. A questo punto non restaaltro che informare il form di caricare questa istanzae considerarla la parte dati sulla quale operare. Modificatequindi la linea in cui viene creata l’istanza di NewItemForm(): form = NewItemForm(request.POST or None,instance=formdata)

Come potete vedere, l’oggetto appena creato viene passatoal form nel parametro instance che rappresenta perl’appunto l’istanza del form su cui operare. Ricaricando

il form noterete che i campi data e quantità sarannoprecompilati. Ma a questo punto, qualcuno potrebbechiedersi se sia utile mostrare il campo relativo alla datadi creazione all’utente. Probabilmente sarebbe più sensatocomunque popolare in automatico questo campoma senza che l’utente debba intervenire a riguardo.

Per far ciò, bisogna modificare leggermente la classeNewItemForm() all’interno del file forms.py. Subito dopola linea class Meta: aggiungete la linea di codice che segue: exclude = [ ‘dateadded’ ]Ora, ricaricando il form noterete che il campo “data”non sarà più visibile. Ci sarebbe ancora un punto di cuinon abbiamo parlato. Cosa succede se una volta caricatoil form l’utente compila tutte le informazioni presenti tranneuna (per esempio il campo relativo alla descrizione)?In questo caso vedrete che Django mostrerà un messaggiodi errore in cui vi ricorda che devono essere fornite tutte leinformazioni prima di poter proseguire. Questa funzionalitàfornita da Django lo contraddistingue da altri frameworkper applicazioni Web, in cui questo compito è lasciato

interamente al programmatore. Tuttavia, alcune volte,vorreste poter accettare che un campo del form sia vuoto,ad esempio se il campo serve solo a fornire informazioniaggiuntive. Fortunatamente, anche questo aspetto nonrichiede altro che una semplice configurazione. Bisogneràmodificare alcune cose all’interno dei modelli salvatinel file models.py. Per fare in modo che la descrizionesia opzionale, sostituite la linea in cui viene definito il campodescription nella classe Item() con la linea che segue: description = models.TextField(blank=True)Aggiungendo il parametro blank=True, il campo accetteràche il relativo campo del form non venga compilato; questocomportamento si rifletterà anche sul database.

ConclusioniIn questo articolo avete visto alcuni aspetti fondamentalidella programmazione con Django. Come con tuttele tecnologie, la chiave per impadronirsene è la pratica.Continuate a scrivere codice, modificarlo aggiustarloe risolvere problemi, e prima che ve ne possiateaccorgere vi scoprirete capaci di scrivere ottimeapplicazioni Web. Nel prossimo articolo impareretecome aggiungere dei temi professionali alla vostraapplicazione senza dover per forza conoscere CSS. LXP

Alcuni tra voi potrebbero essere alle prime armisia con Python che con l’HTML. Di seguito trovate un pa iodi ottimi riferimenti per imparare entrambi i linguaggi:∆ Dive Into Python – www.diveintopython.net  è un fantastico ebook gratuito scritto da M ark Pilgrimche include una completa guida alla programmazione conPython. Tratta diversi aspetti: come cominciare, le variabili,le funzioni, la programmazione orientata agli oggetti,la gestione dei file, le espressioni regolari (utili per scriverecome si deve il file urls.py), la gestione dell’HTML e moltoaltro. Trovate la versione in inglese anche sul DVD allegato,mentre la traduzione in italiano (ancora pa rziale) è all’URLhttp://it.diveintopython.net/.∆ W3Schools – www.w3schools.com è il sito più grandee fornito di materiale per l’apprendimento dellaprogrammazione Web. Fornisce tutorial e guide

per praticamente ogni aspetto della programmazione Web.Include HTML, CSS, JavaScript e molti altri argomenti.

Python e l’HTML

Page 90: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 90/100

88  LINUX PRO 127

Scheme

Nelle pagine di Linux Pro, in questi anni,sono stati affrontati molti linguaggidi programmazione diversi, tra i quali

Assembly, Python, PHP, Java; non è mai statopresentato però un piccolo linguaggio chiamatoScheme, scelto da moltissimi corsi di studiocome introduzione alla programmazione. Trale molte ragioni della sua popolarità, la principaleè sicuramente che Scheme è un linguaggiosemplice con una sintassi molto ridotta,e questo lo rende perfetto nel dimostrare molti

principi di programmazione fondamentali offuscatidalla sintassi più complessa degli altri linguaggi.Pur restando un linguaggio ottimo per i nuoviprogrammatori, Scheme è interessante ancheper quelli con più esperienza: diversamentedagli altri è principalmente un linguaggio funzionale(contrapposto a quelli object-oriented e imperativi),e quindi ideale per evidenziare approcci diversia problemi comuni. Con tutto questo in mente,nelle prossime tre puntate entrerete nel mondodi Scheme. Per cominciare vi concentreretesulle basi, mentre più avanti scoprirete alcuniapprocci funzionali alla risoluzione di problemi.

Installare SchemePraticamente tutte le installazioni di Linux contengonogià un interprete Scheme. È chiamato Guile,ma è piuttosto complesso e non lo usereteper questa guida; al suo posto, sfruttereteuno strumento chiamato Dr.Racket , recuperabilenegli archivi della vostra distribuzione o sul Weball’indirizzo http://racket-lang.org/download .Dr.Racket è disegnato per lavorare con unparticolare dialetto di Scheme (che è esso stessoun dialetto di Lisp, il linguaggio con il quale è scrittoed esteso Emacs) chiamato Racket ; è comunqueun ottimo ambiente di sviluppo, e potete usarloper lavorare con lo Scheme standard

semplicemente scegliendo R5RS nel menuLanguage D Choose Language. InstallatoDr.Racket, potete cominciare a programmare.

Espressioni sempliciLa programmazione è semplicementela manipolazione di informazioni e dati. Questidati possono rappresentare qualsiasi cosa,dagli ingredienti necessari per fare un certo tipodi biscotti alla posizione di un braccio robotin una linea di produzione in fabbrica.

Per manipolare tali dati dovete trovare un mododi rappresentarli che il computer possa comprendere,e dovete definire il processo usato perla manipolazione. Fare questo per tipi di daticomplessi è ovviamente una bella sfida, quindiper ora vi concentrerete su qualcosa di semplice:numeri. In Scheme, i numeri e molte operazionicomuni e non che potete applicarvi sonoconosciute come primitive, ovvero integratenel linguaggio stesso. Potete sperimentarlonella metà inferiore della finestra di Dr.Racket.Questa parte della finestra è un interprete interattivo:potete scrivere espressioni in Scheme e il risultatovi verrà immediatamente mostrato. Provate a scrivere

“5” e premere Invio e vedrete un altro 5: il risultatodella valutazione di un numero (la primitiva)è il numero stesso.

 Dr.Racket è il tool scelto per programmarein Scheme. Offre molte funzionalità utili, incluso ilbilanciamento delle parentesi e strumenti per il debug

Dr. Racket è un ambiente di sviluppo che rendela programmazione in Scheme molto più sempliceche un semplice editor di testo. La finestraprincipale è divisa in due parti. Quella in altoviene usata per inserire, salvare e caricare interiprogrammi, costruiti con diverse funzionie definizioni. Una volta completato il lavorosu una parte di programma, se volete vedere come

funziona basterà premere il pulsante Run in altoa destra e Dr.Racket lancerà il programma

e ne mostrerà l’output nella metà inferiore dellafinestra. La metà inferiore può essere altresì usatacome interprete interattivo. Se vi inserite delleespressioni Scheme e premete Invio, ne mostreràimmediatamente i risultati. È un modo velocee pratico per controllare che piccoli pezzi di codicefunzioni come vi aspettate, ed è anche la parteusata nel tutorial di questo mese. Ci sono altre

parti di Dr.Racket che lo rendono un ambientedi sviluppo appetibile: il bilanciamento automatico

delle parentesi, ad esempio, vi aiuta a evitare erroridi sintassi; in più vi fornisce diversi altri strumentiper individuare errori nel codice. Ad esempio, seprovate a lanciare un programma con un errore,Dr. Racket vi mostrerà una descrizione diquest’ultimo e evidenzierà il blocco di codice nelquale avviene. Per di più, se cominciate a lavorarecon programmi complessi, il pulsante Debug potrà

aiutarvi a individuare cosa fa il programma e comevaluta diversi tipi di espressione.

Dr. Racket 

Scheme: imparare le basiNella prima parte di questa nuova serie imparerete a usare questo semplice ma popolare

linguaggio di programmazione funzionale, derivato dal Lisp

Page 91: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 91/100

LINUX PRO 127 89

Scheme

CalcoliCombinando i numeri con le operazioni basilari potete

usare l’interprete Dr.Racket e Scheme come unasemplice calcolatrice, anche se la sintassi è

leggermente diversa da quella che potreste aver

imparato a scuola:

 > (+ 5 5)

 10

 > (- 8 4)

 4

 > (* 2 3 4)

 24

Come potete notare,

l’operazione è specificata

all’inizio e i numeri ai quali

viene applicata (gli operandi)

a seguire; per di più tutta l’operazione deve essereracchiusa tra parentesi. Questa sintassi ha due

vantaggi: primo, potete facilmente applicare

l’operazione a tanti numeri quanti volete senza

ripetere il simbolo; secondo, non è mai un problema

capire quale operazione viene eseguita per prima,

perché basta seguire le parentesi (dalla più interna

alla più esterna):

 > (+ 3 (* 2 4) (+ 4 (- 8 3)))

 20

In questo esempio, per primo calcolate (- 8 3),

quindi (+ 4 5) e (* 2 4), prima di finire con (+ 3 8 9).

Per rendere più semplice seguire le parentesi,

Dr.Racket evidenzia il bilanciamento delle stesse

e la parte di espressione compresa quandole chiudete. Le vostre vite sono rese più semplici

anche grazie a una convenzione chiamata

 pretty-printing , o indentazione. Invece di scrivere

tutta l’espressione e le sottoespressioni in una sola

riga, potete spezzarla allineando gli operandi (i numeri

a cui ogni operazione si applica) verticalmente:

 > (+ 3

  (* 2 4)

  (+ 4

  (- 8 3)))

VariabiliNella programmazione i dati con i quali avete

a che fare raramente rappresentano numeri puri.Ad esempio, un numero potrebbe essere la quantità

di luppolo per fermentare 30 litri di birra, o il volume

di una bottiglia per imbottigliare la birra una volta

terminata la fermentazione. Per rendere il vostro

programma più gestibile e più leggibile manoa mano che la complessità cresce, una delle cose

più importanti che un linguaggio vi possa consentire

è assegnare dei nomi ai numeri. In Scheme

questo viene fatto con la direttiva define:

 > (define pi 3.14)

 > (define radius 3)

Come potete

vedere, funziona

esattamente come

le operazioni

dell’esempio

precedente.

La sola differenza

è nell’ordine fisso degli operandi: per primo il nomeche volete assegnare alla variabile, quindi il valore

da assegnare. Una volta definita la variabile, potete

usarla come una qualsiasi primitiva del linguaggio:

 > pi

 3.14

 > (* 2 pi radius)

 18.84

Un buon modo di pensare a come Scheme valuta

questa espressione è come vi hanno insegnato

L’indentazione automatica e il bilanciamento delle parentesi rendeil rapporto con le molteplici parentesi di Scheme molto più semplice.Una volta capite le parentesi, amerete la mancanza di ambiguità

All’inizio di questo articolo è scritto che una

delle cose che mettono Scheme in una categoria

a parte è la sua natura funzionale, opposta

a linguaggi object-oriented o imperativi.

Se siete nuovi di programmazione non vi diràmolto, ecco quindi spiegato cosa significa.

Queste tre definizioni oscure si riferiscono

a diversi paradigmi di programmazione,

ovvero differenti modi di pensare ai problemi

e programmare soluzioni per questi, e diversi

stili di programmazione. Programmando

con uno stile imperativo, l’ob iettivo principale

è registrare e variare lo stato del programma,

spesso usando variabili e funzioni che ne modificano

direttamente il valore. Questo particolare

paradigma segue il modo in cui il programma

viene eseguito sulla macchina, ma rende

più difficile lo sviluppo e il test, dal momento

che il programmatore deve tenere presente

lo stato di molteplici variabili e non solamentelo stato di una singola funzione: nei linguaggi

imperativi le funzioni possono avere degli effetti

collaterali. Solitamente questo paradigma viene

associato all’Assembly o al C. La programmazione

a oggetti tenta di risolvere il prob lema delle

variabili esterne strutturando il programma

sull’idea di oggetti separati. Ogni oggetto

registra il proprio stato, il che lo rende indipendente

dal resto del programma. Ogni oggetto specifica

anche una serie di metodi (funzioni)

che permettono ad altre parti del programma

di interagirvi e modificarne lo stato. Modella bene

il mondo reale, nel quale molte cose appaiono

proprio come oggetto. Un fornello, ad esempio,

è un oggetto. Ha controlli, come i metodi,che vi permettono di modificare e controllarne

lo stato senza aver effetto su altre parti della cucina.

Infine, la programmazione funzionale tenta

di evitare completamente l’idea dello stato.

Non ci sono variabili, né effetti collaterali. Questo

rende il design e il test dei programmi molto più

semplice, perché ogni volta che una funzione viene

lanciata con gli stessi input, produrrà lo stesso

output. Non c’è bisogno di considerare variabili

esterne, o l’interazione con oggetti estranei.

Paradigmi di programmazione

“Potete usare l’interpreteDr.Racket e Scheme comeuna semplice calcolatrice”

œ

Page 92: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 92/100

90  LINUX PRO 127

Scheme

a scuola: la sostituzione. Viene controllato il valoredi pi e radius e quindi l’espressione viene riscrittacon tali valori: (* 2 3.14 3). Dopo aver ridotto tuttoa primitiva, l’interprete effettuerà la valutazionefinale e stamperà il risultato.

Procedure a.k.a. funzioniIn ogni caso, non siete limitati all’assegnare nomi allesole variabili. Potete anche definire intere procedure.La seconda espressione nell’esempio precedentecalcola la circonferenza di un cerchio con un raggiopari a 3. Ricorderete che a scuola avete imparatola formula generale per calcolare la circonferenzadi un qualsiasi cerchio: 2 volte pi moltiplicatoper il raggio. Nell’espressione sopra avete eseguitouna specifica istanza della procedura descrittada tale formula, ma Scheme vi permette di esprimereanche la forma generica: > (define (circumference radius) (* 2 3.14 radius))La parte finale dell’ espressione (* 2 3.14 radius)

è esattamente la stessa vista sopra (* 2 pi radius),la sola differenza è che il valore di radius non è ancora definito. Si riferisce, invece,al nome nella parte precedente dell’espressione(circumference radius). Potete usare anchequi l’indentazione: > (define (circumference radius)  (* 2 3.14 radius))che vi permette di distinguere le diverse partidell’espressione: la prima riga definisce il nomee eventuali parametri, tutto quello che sta sottoè il corpo della procedura, ovvero le effettiveoperazioni eseguite. Una volta definita la procedura,potete usarla come qualsiasi primitiva:

 (circumference 10)

 62.800... > (circumference 5)31.400...

Ancora una volta viene applicata la sostituzione:circumference viene sostituito dal corpo dellaprocedura, e il valore specificato al posto di radius 

viene applicato alle parti relative dell’espressione.In questi esempi, il risultato è la valutazionedi (* 2 3.14 10) e (* 2 3.14 5).

Espressioni condizionaliUno strumento comune a tutti i linguaggi, inclusoScheme, è la capacità di eseguire un’azione solose una determinata condizione è vera. È ovviamenteuna capacità vitale poiché è quello che fate tuttoil tempo nel seguire una procedura. Ad esempio,se la densità finale della birra è un quarto di quellainiziale dopo 10 giorni, passa all’imbottigliamento,altrimenti prosegui la fermentazione. In Scheme talecapacità è implementata tramite tre diversi strumenti.

Il primo è l’esistenza di operatori relazionali chepermettono di rilevare la relazione tramite due oggetti: > (< 10 5) #f > (> 10 5) #t > (= 10 10) #tIl simbolo < indica minore e controlla che il numeroa sinistra sia minore di quello a destra; > è il suoopposto; infine = è l’operatore di uguaglianza tra duenumeri. Queste operazioni ritorneranno sempre #f se false o #t  se vere. Il secondo strumentoè l’esistenza di operazioni booleane che

permettono di combinare i risultatidi molteplici espressioni relazionali: > (and (> 10 5) (= 10 10)) #t > (or (< 10 5) (= 10 10)) #t > (not (> 10 5)) #fand ritorna #t  se e solo se tutte le espressioni al suointerno sono vere, or se qualsiasi espressione è vera,e not  inverte il risultato dell’espressione, modificandotrue in false e viceversa.

Analisi dei casi

Lo strumento finale che Scheme vi mettea disposizione è il case analysis, che vi permettedi effettuare diverse operazioni a secondadel risultato dei test descritti sopra. La formagenerica dell’analisi dei casi in Scheme è: (cond (<test> <espressione>)  (<test> <espressione>)  ...  (<test> <espressione>))La valutazione di una espressione cond come questacontrolla il primo test: se è vero, valuta l’espressioneassociata e chiude l’analisi; se è falso, procedeal seguente e così via fino a trovarne uno verificato.Se nessun test si verifica, raggiungerà la fine

dell’analisi senza aver valutato alcuna espressione.Esiste anche una forma alternativa di cond che rimpiazza il test finale con la parola chiave

L’indentazione aiutaa separare il nomedi funzionee i parametri formalidal corpo. Una voltadefinite, poteteusare le funzionicome qualsiasi

altra primitivadel linguaggio

Page 93: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 93/100

LINUX PRO 127 91

Scheme

else, per eseguire l’espressione finale nel caso

nessuno dei test sia verificato.

Fizz-buzz Immaginate, ad esempio,

di dover scrivere un

programma per giocare

a Fizz-buzz. Le regole

del gioco indicano che

se un numero è multiplo

di 3, dovrete dire fizz  al

posto del numero; se è un multiplo di 5, dovrete dire

buzz  al posto del numero, e se è multiplo sia di 3

che di 5, al posto del numero dovrete dire fizz-buzz :

 (define (fizz-buzz x)

  (cond ((and (= (remainder x 3) 0))

  (= (remainder x 5) 0))

  ‘fizz-buzz)

  ((= (remainder x 3) 0) ‘fizz)

  ((= (remainder x 5) 0) ‘buzz))

  (else ‘shh))

Potete vedere com’è implementata la logica di gioco,

assieme a pochi altri nuovi concetti. Per prima cosa,

notate che remainder è una primitiva che ritorna

il resto della divisione tra due numeri: ad esempio,

il resto di 5 diviso 3 è 2. Controllando se il resto

è 0, potete capire se un numero è multiplo

di un altro. In secondo luogo, notate che

per usare parole

“normali” in Scheme

dovete anteporre

un apostrofo.

Il primo test,

quindi, controlla

se il numero

è multiplo di 3 e di 5, nel qual caso viene

valutata l’espressione ‘fizz-buzz  che, come

per i numeri, ritorna sé stessa. Il secondo controlla

se il numero è un multiplo solamente di 3,

nel qual caso ritorna ‘fizz , mentre il terzo

controlla per il multiplo di 5 ritornando ‘buzz .

Il blocco else alla fine ritorna ‘shh nel caso

il numero non sia multiplo di 3 o di 5.

Ora che conoscete le basi del linguaggio

Scheme, siete pronti per il prossimo mese

dove affronterete liste e ricorsione, due elementi

che tornano molto utili in un linguaggio

di programmazione funzionale. LXP

Inserendo il codiceper Fizz-Buzz nellafinestra delledefinizioni(la parte superioredi Dr.Racket) poteteusare il debugger

per controllarnel’esecuzione passoa passo

Imparate le basi di Scheme po tete

solidificarne la conoscenza lavorando

su alcuni problemi d’esempio, così

da prepararvi in pole-position

per la puntata del prossimo mese!

Esercizio 1 Senza usare l’interprete

interattivo di Dr. Racket, valutate

l’espressione: (+ 2 (* (- 5 3) 4 (/ 2 (-3

1)))). Riscrivete l’espressione

usando l’indentazione.

Esercizio 2 Scrivete una procedurachiamata conversione che accetti

un valore in Euro e ritorni il valore

corrispondente in Dollari (usate

Google per sapere il tasso

di conversione attuale).

Esercizio 3 Senza usare l’interprete

interattivo di Dr. Racket, valutate

le seguenti espressioni:

 > (define a 2)

 > (define b 3)

 > (define (square x) (* x x))

 > (square 2)

 > (define (sum-squares a b) (+ (squarea) (square b)))

 > (sum-squares 2 4)

Esercizio 4 Un cinema fissa i prezzi

in base all’età. Se siete minori

di 6 anni, entrate gratis, se minori

di 12 o maggiori di 65, entrate

a 4 €. Altrimenti dovete pagare

il biglietto intero (7 €). Completate

la procedura di Scheme per calcolare

quanto ognuno deve pagare

per entrare al cinema:

 (define (prezzo-biglietto anni)

 (...

Esercizi

“Per usare parole normaliin Scheme doveteanteporre un apostrofo”

Page 94: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-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 127

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 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 95/100

LINUX PRO 127 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

MurgiaLug - Santeramo in Colle

www.open-pc.eu/index.php/murgialug/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 - Siracusawww.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.org

GULP Pisa

www.gulp.linux.it 

GuruAtWork - Grosseto e provincia

www.guruatwork.com

Lucca LUG

http://luccalug.it 

L.U.G.A.R - Arezzo

 non disponibile

PLUG - Prato e provincia

www.prato.linux.it 

PtLug - Pistoia e provincia

www.ptlug.org

SLUG - Siena e provincia

www.siena.linux.it 

TRENTINO ALTO ADIGE

AltinumLUG - Rovereto

 nondisponibile 

LinuxTrent - Trento

http://linuxtrent.it

LugBz - Bolzano

www.lugbz.org

UMBRIA

OrvietoLUG

www.orvietolug.orgLUG Perugia

www.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.orgGrappaLUG - Bassano del Grappa

http://grappalug.homelinux.net/

ILC - Informatica Libera Cittadellese - FSUG

http://ilc.pd.it 

LegnagoLUG

 non disponibile

Linux Ludus - Villafranca (VR)

www.linuxludus.it 

LugAnegA

www.luganega.org

LUGSF - San Fidenzio

 nondisponibile

LUG Vicenza

www.vicenza.linux.it 

LugVR - Verona

www.verona.linux.it 

MontelLUG - Montebelluna

www.montellug.it 

FSUG Padova

www.fsugpadova.org

RoLUG - Rovigo

http://rovigo.linux.it 

TVLUG - Treviso

www.tvlug.it 

VELug - Venezia

www.velug.it 

NAZIONALI

FSUGitalia

www.fsugitalia.org

Gentoo Channel Italia

www.gechi.it 

MajaGLUGwww.majaglug.net 

SkyLUG

http://tech.groups.yahoo.com/group/skylug/

Page 96: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 96/100

94  LINUX PRO 127

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

PC-BSD 9.1

Guida software

Ogni tanto ci piace presentarvi qualcosa di diversoda GNU/Linux. È il caso di PC-BSD 9.1, unsistema BSD pensato per l’uso desktop rilasciatoalla fine dello scorso anno, che rispetto alle

versioni precedenti introduce diversi aggiornamenti e

nuove feature. Oltre ai miglioramenti dalla 9.0, la release9.1 offre novità in diversi settori. Una delle più importantiriguarda il sistema d’installazione. Arrivare ad avere uninstaller il più “umano” possibile è uno degli scopi chiave del

LibreOffice 4.0

Suite per l’uffi cio

N

el lato A del DVD, assieme allagrandiosa distribuzione PCLinuxOS2013.02 e a diversi programmi liberi,

trovate la nuovissima e scintillanteversione 4.0 della suite per l’ufficioLibreOffice. Questa è la prima releaseche si allontana fortemente dall’ereditàdel passato, con un codice sorgente più agilee pulito, un maggior numero di funzionalità,una migliore interoperabilità, e un ecosistemapiù diversificato e più aperto all’integrazione.LibreOffice 4.0 presenta un gran numerodi nuove funzionalità, elencate all’URLhttp://bit.ly/V0Lne6. Sono troppe per citarletutte, ne presentiamo solo alcune:∆ integrazione con i sistemi di Contente Document Management - Alfresco, IBM

FileNet P8, Microsoft Sharepoint 2010, Nuxeo,OpenText, SAP NetWeaver Cloud Servicee altri - attraverso lo standard CMIS;

∆ migliore interoperabilità con i documentiDOCX e RTF, grazie a una serie di nuovefunzionalità e miglioramenti come la possibilità

di importare “ink notes” (scritte a pennasu uno schermo touch) e di attaccarei commenti ai campi di testo;∆ ulteriori miglioramenti incrementaliall’interfaccia utente, tra cui l’integrazionecon Unity (Ubuntu) e il supporto dei Temi(o Persona) Firefox, per conferire a LibreOfficeun aspetto personalizzato;∆ introduzione della tecnica dei widgetper le finestre di dialogo, che semplifica latraduzione, il ridimensionamento, e l’eventualeoccultamento, degli elementi della UI, riducela complessità del codice, e pone le basi perun’interfaccia utente significativamente migliore;

∆ diversi miglioramenti alla prestazioni di Calc,oltre all’esportazione dei grafici come immagini(JPG e PNG) e all’introduzione di nuove

funzioni di calcolo definite da ODFOpenFormula;∆ prima versione di Impress Remote Control

App per Android, supportata solo da alcunedistribuzioni Linux (la seconda versione,disponibile nei prossimi mesi, verrà supportatasu tutte le piattaforme: Windows, Mac OS Xe tutte le distro e i binari Linux);∆ migliore gestione dei contributi deglisviluppatori grazie a Gerrit: un sistemadi revisione Web based che semplificail lavoro dei progetti che usano Git.Per terminare, ricordiamo che è possibilesupportare The Document Foundation conuna donazione su http://donate.libreoffice.

org. I fondi raccolti vengono utilizzati perla crescita e la gestione dell’infrastruttura,

e per sostenere le attività di marketing tesea far crescere la conoscenza del progettosia a livello locale sia a livello globale. LXP

progetto PC-BSD, e gli sviluppatori pensano di aver fattograndi passi avanti in questa release. Il processo è statofortemente semplificato, riuscendo comunquead aggiungere anche funzionalità avanzate (perdendoneperò altre…). TrueOS è una nuova opzione “server”che si presenta durante la scelta del tipo di installazioneed è composta da un’installazione di FreeBSD conl’aggiunta delle versioni da riga di comando dei tooldi PC-BSD. Nel sistema è stata integrata anche la soluzione

di gestione delle jail Warden: in pratica il meccanismodelle jail è un’implementazione della virtualizzazione a livellodi sistema operativo che consente agli amministratoridi partizionare un sistema in tanti minisistemi indipendentichiamati, appunto, jail, gabbie. Warden è configurabilein modalità grafica. Tra le altre novità, PC-BSD ora supportail filesystem ZFS anche per boot e installazione.Un altro degli obiettivi del progetto PC-BSD è la completaconfigurazione “automagica” e i nuovi tool graficidi configurazione rendono semplici i rari casi in cui bisognadecidere qualcosa “a mano”. Ora avete a disposizioneuna nuova utility grafica EasyPBI per la costruzionedi un modulo PBI a partire da un port da FreeBSD(i pacchetti PBI sono i programmi precompilati per

PC-BSD). A questo si aggiunge un pratico wizardche compare al primo boot per la clonazione indoloredel sistema. PC-BSD è disponibile a 32 e 64 bit, nel DVDabbiamo incluso la versione a 32 bit nel lato B del DVD.Sul sito del progetto www.pcbsd.org trovate anchela versione da scrivere su chiave USB oltre alladocumentazione e a tutte le informazioni che vi servonoper muovere i primi passi nel mondo dei sistemi BSD.

       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.

Il nuovo strumentoper l’installazionedi PC-BSD non è solo

semplice, ma anchebello da vedere

Page 97: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 97/100

È  I N  E D I C O L  A

Page 98: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 98/100

NEL PROSSIMO NUMERO

Mensile - 5,90 euro - 13,60 CHT

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, Bartolomeo Lucaibrera, Ben Everard, Benedetto Vassallo, Chris Brown, Ciro

Mattia Gonano, Daniele Belletti, David Hayward, EmanueleCalò, Francesca Beatrice Cice, Graham Morrison, Jono Bacon,Maria Vitiello, Matteo Chiarion, Mayank Sharma, Mike

aunders, Nick Veitch, Pietro Leone, Roberto Premoli,hashank Sharma, Simone Bergamini, 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: Arti Grafiche Boccia S.p.A. - SalernoSprea Editori S.p.A. Socio unico Sprea Holding S.p.A.Via Torino, 51 20063 Cernusco SulNaviglio (MI)

Tel (+39) 02.92432.1Fax (+39) 02.92.43.22.36www.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.

In edicola il 13 aprile

PENS TEPENSATEI B MBINIAI BAMBINI

Le tecnologie Open Source di controllo parentale vi permettono di far divertireLe tecnologie Open Source di controllo parentale vi permettono di far divertire

in Rete i vostri figli senza che incappino per errore in qualche sito pericolosoin Rete i vostri figli senza che incappino per errore in qualche sito pericoloso

Nuovo boot Facciamo il punto della situazione suUEFI, il sostituto del vecchio BIOS cheda trent’anni faceva partire i nostri PC.Vi mostreremo cosa deve fare Linuxper potersi avviare ancora...

NetworkingSpesso parliamo di server, client e reti,ma siete sicuri di conoscere a menaditotutti i dettagli sul networking?La redazione di LXP vi aiuta a scoprirlo

Da PC a VMAvete una vecchia installazionedi Linux che volete salvaguardare?Allora perché non la trasformatein una macchina virtuale?

E inoltre:

LINUX RPRO

Page 99: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 99/100

È  I N  E D I C O L  A

Page 100: Linuxpro 127 Marzo 2013

7/23/2019 Linuxpro 127 Marzo 2013

http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 100/100

 

U  N ’  E M O Z  I O N  E 

C H  E  N O N   F I  N  I SC E  M  A I !