linuxpro 127 marzo 2013
TRANSCRIPT
7/23/2019 Linuxpro 127 Marzo 2013
http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 1/100
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
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.
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
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
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
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”
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 .
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
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”
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
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
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
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
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
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
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
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
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
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
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
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.
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
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.
L’autore
Una scheda potente come un PC ma piccola come un telecomando!
SemplicementeCUBIEBOARD
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 ?
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
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
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.
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.
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.
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.
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
7/23/2019 Linuxpro 127 Marzo 2013
http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 33/100
Intervista
LINUX PRO 127 31
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
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
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
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.
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
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
7/23/2019 Linuxpro 127 Marzo 2013
http://slidepdf.com/reader/full/linuxpro-127-marzo-2013 40/100
Diventa protagonistadel mondo Linux
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 %
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
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
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!
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
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
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
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
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
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.
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
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.
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.
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!
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ù.
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
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
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:
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
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
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
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.“);
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
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.
œ
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.
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
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
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
œ
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
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
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
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
œ
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
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
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!
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
œ
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
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
œ
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
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
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
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
œ
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
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
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
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
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
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
œ
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
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
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
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”
œ
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
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”
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
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/
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
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
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
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
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 !