Linuxpro 125 Gennaio 2013
description
Transcript of Linuxpro 125 Gennaio 2013
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 1/100
COOLPIXS800C
La fotocameraanimata
da Android
Razor-qt
Sicurezza
Scopri l’alternativa“snella” al pesante KDE
Controlla gli accessi alla LAN e respingifieramente gli attacchi con PacketFence
Con un PC piccolo comeuna carta di credito puoi:
Creare un Media Center
Controllare la tua fotocamera Usarlo in remoto senza schermo
Diventa protagonista nel mondo Linux
. 125 - RIVISTA + DVD 5,90
IL 2013 IN PILLOLEAbbiamo chiesto ai maggiori protagonisti dell’Open Source quali sono statigli avvenimenti più importanti dello scorso anno e cosa ci aspetta in questo
∆ RIDARE VITA AI VECCHI COMPUTER ∆ INKSCAPE ∆ IL NUOVO FILESYSTEM ZFS
PRO
Distributore: Press-Di, Segrate (MI)
Mensile N°125 €5,90
SUPERPOTENTE
RASPBERRY PI
I migliori trucchidegli espertiper sopravviverealla rotturadei dischie alla sparizionedei file
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 2/100
Oggi essere Root è la mia professioneServer Dedicatiper necessità crescenti
EG 64G Hybrid HG XL
Processore
Intel Xeon E3 (IVY BRIDGE)
4 Cores (8 THREADS
)3,4 GHz
RAM
32 GB DDR3 ECC RAM
Hard disk
2x 120 GB Intel SSD 320
RAID SOFT (0/1)
Banda passante garantita
100 Mbps
Traffico illimitato
Processore
Intel Xeon E5 (SANDY BRIDGE-E)
4 Cores (8 THREADS
)3,6 GHz
RAM
64 GB DDR3 ECC RAM
Hard disk
2x 120 GB Intel SSD 320 + 2x 2 TB SATA3
RAID SOFT (0/1)
Banda passante garantita
200 Mbps (IN OPZIONE FINO A 1Gbps)
Traffico illimitato
Processore
2x Intel Xeon E5630 (WESTMERE)
2x 4 Cores (2x8 THREADS
)2x 2,53 GHz
RAM
48 GB DDR3 ECC RAM
Hard disk
12x 3 TB SATA3
RAID HARD 6 Gbps (0/1/5/6/10/50/60)
Banda passante garantita
300 Mbps (IN OPZIONE FINO A 3Gbps)
Traffico illimitato
SP 32G SSD
69,99€ al mese - IVA esclusa
139,99€ al mese - IVA esclusa
299,00€al mese - IVA esclusa
Spese di installazione gratuite Spese di installazione gratuite Spese di installazione gratuite
/dedicated-server
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 3/100
LINUX PRO 125 1
Domande alla redazione: [email protected]
Abbonamenti: [email protected]
Arretrati: [email protected]
Problemi con il DVD: [email protected]
Sito Web: www.linuxpro.itOppure inviate le vostre lettere a:
Linux Pro , Sprea Editori S.p.A.,Via Torino 51, 20063 Cernusco S/N
Telefono: 02.92432.1
CONTATTI
LINUXLINUX PROPROPROPROPROPRO
Massimiliano ZagagliaResponsabiledi redazione
LINUX PRO
Editoriale
ORA TROVILINUX PRO
ANCHESU ANDROID
La forza della comunitàScriviamo queste parole la mattina del 21 dicembre…se ci state leggendo i Maya avevano torto sulla fine
del mondo. Altrimenti, amen. Ma sarebbe un peccato chefinisse tutto, perché ci perderemmo il piacere di dare spazioalle tante comunità che promuovono sul campo GNU/Linux,il Free Software e l’idea di un’informatica diversa da quellache va per la maggiore. E che sono sempre pronte a dareuna mano a chi ha bisogno. Vi raccontiamo un episodio:cercando i programmi e le distribuzioni da mettere nel DVD,ci ha incuriosito Siduction, distro che non conoscevamoe che offre out-of-the-box il nuovo ambiente desktopRazor-qt. Visto che parliamo proprio di questo ambientein uno degli articoli di questo numero, ci siamo collegatial canale IRC della distro e abbiamo chiesto se per loro
andava bene di comparire nel nostro DVD. In breve tempoci hanno dato l’ok e noi siamo andati avanti scaricandol’ISO per provarla l’indomani. Il giorno dopo, poco dopoessere arrivati in ufficio, riceviamo una telefonatada un gentilissimo professore italiano (ci scusiamo,ma non ne ricordiamo il nome) che cortesementeci chiedeva di scrivere a uno dei creatori della distroperché aveva bisogno di dirci qualcosa. Ebbene, FerdinandThommes, responsabile del progetto, dopo la nostrarichiesta, si era messo a provare l’installazione in italianoe aveva notato un errore che impediva l’operazione. Conestrema gentilezza e disponibilità Ferdinand, non sapendo
come contattarci direttamente, si è preoccupato di chiamareil docente italiano che fa parte della comunità di Siduction,che a sua volta ci ha telefonato, e in giornata si è messoall’opera per sistemare il bug e poterci permettere di offrirviRazor-qt pronto all’uso. Il tutto senza che noi gli chiedessimo
nulla e senza ricevere alcun compenso se non il piaceredi vedere distribuita la propria distro. In un mondo che
sembra andare sempre più verso i personalismi, l’indifferenzae il “faccio qualcosa solo se mi porta denaro”, le comunitàOpen Source continuano a offrire questi splendidi esempidi disponibilità e impegno. È vero, a volte, quando si fannodelle richieste nei forum o nelle mailing list, qualcunorisponde un po’ bruscamente, ma poi un aiuto arriva sempre.Passando invece ai contenuti del numero, in tema di disastri,ci siamo preoccupati di darvi un po’ di indicazioni qualoraarrivasse l’apocalisse per i vostri dati memorizzati su harddisk, chiavi USB o schede SD. Trovate tutto a partireda pagina 10… ma attenti agli zombie! Un altro articoloche ci è piaciuto molto è quello di copertina. Vi mostriamo
alcuni usi, utili o solo curiosi, del piccolo computer RaspberryPi che sembra aver creato una moda aprendo un nuovomodo per diffondere GNU/Linux. Dopo Arduino (un esempiograndioso di Open Source) e la Raspberry Pi, infatti,hanno iniziato a diffondersi altre “piccole schede” animatedal sistema del Pinguino e, di conseguenza, nuoveopportunità per principianti e non di provare Linux.Il mese prossimo, salvo disguidi dell’ultimo istante,ve ne presenteremo un altro esempio. Non ci rimaneche augurarvi buona lettura e un Felice 2013!!!
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 4/100
2 LINUX PRO 125
Sommario
SommarioBenvenuti nel centoventicinquesimo numero di Linux Pro, la vostra guida definitiva a Linux e al mondo Open Source
LINUX PRO 125
LINUX
RPRO
In primo piano
08 GNOME OS 10 Apocalisse dei dati 18 2013
SuperSuperRaspberry iRaspberry Pi
Il successodi Raspberry Pi,
il computer piccoloquanto una cartadi credito materribilmente versatile,non sembra arrestarsi.Noi vi mostriamo come
usarlo in modo utile
26
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 5/100
LINUX PRO 125 3
Sommario
04NewsdeskLe novità del mondo Open Source
06MailserverFilo diretto con la redazione
08 FAQ: GNOME OSUn nuovo modo di intendere GNOME
Approfondimenti
10 Perdere i datiRecuperare file e partizioni scomparse
18 2013Cosa ci aspetta quest’anno dalle parole
dei maggiori esperti di Open Source
22 Razor-qtLa versione snella di KDE
26 Raspberry PiDistro e progetti per la piccola scheda
34 Trucchi per sysadminSeconda parte del corso per sysadmin
Android
38 NewsTutte le novità sul sistema di Google
39 I testNikon Coolpix S800c
Recensioni
42 I test del mese∆ ROSA Server 2012 ∆ Faster Than Light
48 Confronto
Social Network Open Source
54 Da non perdereCinque programmi da provare subito!
Tutorial
58 InkscapeCon i potenti e versatili strumenti
di questo software potete realizzareillustrazioni d’alto impatto
62 Sistemi multipostoEcco come si crea un sistema utilizzabileda più persone in contemporaneaavendo a disposizione un computermolto potente
66 TrashwareBastano Debian e qualche piccolotrucco per ridare vita al vecchio PCabbandonato in cantina
74 SicurezzaGrazie a PacketFence riusciretea controllare gli accessi alla vostra LANe a tenere fuori gli intrusi
78 Hardcore Linux ZFS è un nuovo filesystemper GNU/Linux che presente particolaritàdavvero entusiasmanti
Accademia
82 Concetti di baseTutto quello che dovete fare per evitarei messaggi d’errore del compilatore
84 Reti neuraliUltima puntata della serie: facciamosimulare il Teorema di Pitagoraalla nostra rete neurale
88 PythonImparate l’arte dell’elaborazionemultiprocesso, così da sfruttare tuttii core del vostro nuovo processore
94 Guida softwareGuida al software presente nel DVD
Quando trovi
questo bollo
negli articoli,
cercail software
nel DVD
PRO
entr
o
i
ldent r o i l
IL DVD IN BREVELATO A
∆ DISTRIBUZIONI∆ Siduction 12.2.0
con Razor-qt
∆ Slax 7.0
∆ Snowlinux 3 Cinnamon
∆ DESKTOP∆ Diagnil 3.0
∆ Quamachi 0.7.0
∆ Veusz 1.16
∆ INTERNET
∆ Lightread 1.2.2∆ RIVISTA∆ Fbcmd
∆ Gmsh 2.6.1
∆ Nuvola 2.0.1
∆ QXMLEdit 0.8.3.1
∆ Toycars 1.0.6
∆ Esempi di codice Python
∆ Esempi di codice Reti Neurali
∆ SISTEMA
∆ Atop 2.0.2
∆ UFFICIO
∆ LibreOffice 3.6.4
LATO B
∆ DISTRIBUZIONI∆ ArchBang 2012.12.03
∆ Chakra 2012.12
∆ PoliArch 12.12
∆ Puppy Linux 5.4 Slacko
22 Razor-qt
ABBONATI ALLA
VERSIONE DIGITALE
A SOLI 14,90€DURATA ABBONAMENTO 1 ANNO
SOLO PER PC E MAC
www.sprea.it/digital
IL PROSSIMO
NUMERO ESCE IL
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 6/100
4 LINUX PRO 125
Newsdesk Ogni mese tutte le novità dal mondo delle aziende e della comunità Open Source
Embedded
L’app store di Raspberry Pi
I
coder che stanno cercando
un nuovo modo per entrare
nel meraviglioso mondo
dell’hacking su Linux ora hanno
un’altra possibilità: il Raspberry Pi
app store. Inteso come una vetrina
per i lavori dei programmatori
attuali e futuri sulla RP, lo store
sarà il luogo dal quale scaricare,
condividere e trovare ispirazione
dai progetti creati per la piccola RP.
Nel giorno del lancio erano presenti
25 applicazioni nel Pi Store, tutte
gratuite tranne una. Eben Upton,
fondatore della Raspberry Pi
Foundation, aveva già anticipato
in luglio che era in programma
la creazione di uno store:
“Speriamo prima o poi di offrire
una funzionalità in stile ‘App Store’
per consentire alle persone
di guadagnare dalla vendita del
software che essi scrivono”. Dopo
l’apertura dello store, lo stesso
Upton ha detto che “fornirà ai
giovani un modo per condividere
le proprie creazioni con un’audience
più vasta, magari facendoci anche
qualche soldo lungo la strada”.
Anche se la stragrande maggioranza
dei progetti è gratuita, lo store offre
la possibilità di effettuare delle
donazioni ai programmatori dei vari
progetti gratis. Interessante anche
la possibilità di assegnare un voto
ai vari progetti, così la comunità avrà
modo di isolare quelli di scarsa
qualità ed evidenziare invece quelli
migliori. Visto che, nonostante
le previsioni di vendita di 10.000
pezzi, la RP Foundation ne ha
venduti oltre 750.000, questo store
ha buone chance di prendere piede.
Lo store è integrato nella distro
Raspbian, oppure è accessibile
via Web all’indirizzo http://store.
raspberrypi.com/.
D’ora in poipotrete acquistare
o vendereapplicazioni perla Raspberry Pi
direttamentenel suo store,
datevi da fare!
Kernel
386: il supporto è finito
Apartire dal kernel 3.8
l’architettura dei chip
386 non sarà più
supportata. Questa
è la decisione presa da Linus
Torvalds, il “papà” del kernel
Linux, e resa pubblica in un
post nella mailing list degli
sviluppatori del kernel dal titolo“Merge branch ‘x86-nuke386-
for-linus”. “Con questo ramo
si rimuove il supporto all’antica
architettura dei chip 386
eliminando quindi un po’
di complessità, che per anni
ci ha costretto a fare del lavoro
extra quando volevamo fare
cambiamenti alle primitive
SMP”. Linux era stato scritto
in origine proprio per i chip386, quindi si poteva pensare
che avrebbero avuto un posto
www.kernel.org,la casa del
kernel Linux
di riguardo. Ma sembra
che Linus sia più feliceguardando in avanti piuttosto
che rimanendo ancorato
al passato e ha consegnato
al cestino della storiail supporto a questa architettura
vecchia di 25 anni.
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 7/100
LINUX PRO 125 5
Newsdesk
Compatibilità
Samba 4, si balla!
Gli eroi poco celebratimeritano maggior
attenzione di tanto
in tanto, quindi ecco
una notizia che magari non tutti
hanno saputo: è avvenuto
il rilascio di Samba 4! Questo
è un progetto chiave per l’Open
Source, perché si tratta
dell’unica implementazione
libera di Active Directory,
il servizio di directory creato
da Microsoft per fornire
un unico punto centrale per
l’amministrazione di rete,l’autenticazione e la sicurezza.
Se la vostra macchina Linux
deve lavorare in una rete che
include computer Windows, è
molto probabile che essa possa
lavorare proprio grazie a
Samba. Le versioni precedenti
di questo software forniscono
solo le funzionalità per lavorare
con i protocolli del Domain
Controller di Windows NT.
Thomas Pfenning, General
Manager di Microsoft, ha parolepositive per quel che riguarda
l’importanza di Samba: “Active
Directory è un componente
chiave degli ambienti IT
enterprise e Microsoft
spinge molto per il supporto
all’interoperabilità tra le
piattaforme”, ha detto. “Siamo
felici che la documentazione
e i laboratori che Microsoft
ha messo a disposizione siano
stati fondamentali nello sviluppo
delle funzionalità di Active
Directory di Samba 4”.
Invito apertoNonostante l’approccio aperto
di Microsoft verso il nuovo
Samba, la release 4 di questo
software fornisce una ragione
in meno per rimanere con
Microsoft, aprendo le porte
a pezzi da novanta come
RedHat per il controllo delle
infrastrutture che si basano
su Active Directory e che prima
erano “incastrate” con l’azienda
di Redmond. A dir la veritàSamba riesce a lavorare su
Active Directory solo per merito
di una regola antitrust della
Commissione Europea del
2004 che obbligò Microsoft
a condividere informazioni su
Windows ai suoi rivali. Questo
portò a un accordo nel 2007,
con il quale il team di Samba
ricevette informazioni sui
protocolli di Microsoft, assieme
al diritto di usarli. Il Samba 4
Active Directly Compatible
Server supporta policydi gruppo, roaming profile
e gli strumenti Windows
Administration. Samba 4
ha un’interfaccia di
programmazione in Python ed
è in grado di scalare dai poco
potenti dispositivi embedded
ai cluster di supercomputer.
Il team calcola che questa
versione è il frutto di dieci anni
di lavoro, ma i suoi effetti
dureranno molto più tempo.
Nel 2007 il team Samba pagò 10.000 Euro per avere la licenzadi usare i protocolli di Microsoft
Compatibilità
La mela nel pinguino
Da anni possiamo trarre
beneficio dal progetto
WINE, che consente
agli utenti di installare
programmi scritti per Windows su
una macchina con Linux, riducendo
o eliminando del tutto la necessitàdel dual-boot. Ora il Progetto
Darling mira a fornire la stessa
funzionalità agli utenti Linux che
vogliono usare software inteso
in origine per Mac OS X di Apple.
Si tratta di un progetto accademico
ancora alle prime fasi di sviluppo,
ma si pensa che questo progetto
fornirà un layer di compatibilità tale
da far pensare ad applicazioni come
Adobe Photoshop e InDesign di star
girando sotto un kernel Darwin.Darwin usa del codice preso da
GNUStep, un’implementazione
Open Source delle librerie Cocoa
per Objective C di Apple, assieme
ai suoi widget e ai suoi tool.
Librerie
Qt fa cinquina
In anticipo rispetto al previsto,
sono state rilasciate le librerie Qt
5.0, su cui si baserà la prossima
versione dell’ambiente desktop
KDE. Le nuove funzionalità di Qt 5.0
sono molto interessanti per gli
sviluppatori. Giusto per citarne alcune:∆ portabilità migliorata da Qt 4;
∆ nuove API e migliorie
per il motore QML;
∆ supporto a C++11;
∆ supporto
ad HTML5 con
QtWebKit 2;
∆ miglior qualità
grafica;
∆ maggiori
prestazioni
su hardware
poco potente.
Inoltre Digia,che ora gestisce
il toolkit Qt dopoSe tutto va bene sarà possibile usare iTunes sotto Linux…ma perché mai dovremmo farlo?
Un solo framework per dominarli tutti:riusciranno i ragazzi del progetto Qta raggiungere l’obiettivo?
averlo acquisito da Nokia, nel lancio
ufficiale di Qt 5.0 ha affermato
anche che nel corso dell’anno
arriverà anche il supporto di Qt
per Android e iOS. La versione
Open Source di Qt 5.0 può essere
scaricata dalle pagine del progettoQt, http://qt-project.org/, mentre
di quella commerciale è possibile
scaricare una trial a 30 giorni
da http://qt.digia.com/. LXP
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 8/100
6 LINUX PRO 125
Un nuovo LUGGentile redazione, dopo anni d’attesa (2004)
il LUG a Pordenone, è stato costituito formalmente,
come associazione culturale a promozione sociale.
Potrà trovare tutte le informazioni di riferimento
all’ indirizzo http://pordenone.linux.it/ e in
particolare per la parte costitutiva all’indirizzo
http://pordenone.linux.it/wiki/Statuto. Non
pretendiamo un richiamo nella sua prestigiosa
rivista anche se graditissimo e propedeuticoa catturare l’ attenzione della provincia.
Anche se non “pienamente” costituiti nel 2012
abbiamo svolto alcune attività. In particolare
le segnalo il LinuxArena che ripeteremo
a primavera (http://pordenone.linux.it/wiki/Linux_
arena) e gli OpenTalk (http://pordenone.linux.it/
wiki/OpenTalk). La ringrazio per l’attenzione.
Un gruppo di fedelissimi lettori pordenonesi.
Roberto
R
Buongiorno Roberto, pubblichiamo molto
volentieri la tua mail. Visto che siete voi LUG
che fate il “lavoro sporco” sul campo per
diffondere l’uso di GNU/Linux e del Free Software,meritate tutta la visibilità possibile.
VideosorveglianzaBuongiorno, ho letto con interesse il vostro
articolo sulla videosorveglianza ma vorrei qualche
delucidazione dal punto legale. Credo che ci siano
delle leggi che regolano l’uso delle webcam
in luoghi pubblici o in ambienti privati, potete
darmi qualche indicazione?
Massimiliano
RCiao, in effetti l’articolo che citi è piaciuto molto
anche a noi, ma purtroppo in redazione, dal punto
di vista legale, non ne sappiamo moltissimo.
Per questo ci siamo rivolti all’avvocato Francesco Paolo
Micozzi (www.micozzi.it ), uno dei nostri più validi
collaboratori, a cui abbiamo chiesto di farci un quadro
generale della questione. Quindi lasciamo a lui la parola.
Avete mai osservato il comportamento delle persone
riprese da una telecamera? Pensate chela consapevolezza di essere ripresi alteri
il comportamento? Una volta nel campo d’azione di una
telecamera di sorveglianza avete mai pensato “chissà chi
vedrà il filmato?”. La videosorveglianza assume rilevanza
giuridica in tutti quei casi in cui le informazioni captate
dagli occhi delle telecamere consistano in dati personali.
Un dato personale è “qualunque informazione relativa
a persona fisica, identificata o identificabile, anche
indirettamente, mediante riferimento a qualsiasi altra
informazione, ivi compreso un numero di identificazione
personale”. Ovviamente – e senza addentrarci nella
distinzione tra dati comuni e dati sensibili – il volto di una
persona è un dato personale, e perciò la predisposizione
di una telecamera in grado di captare i tratti somaticidi una persona o i suoi spostamenti o le sue attività è,
comunque, soggetta a determinate regole. Gli interessati
al trattamento (ossia i soggetti che potenzialmente
saranno ripresi dalle telecamere di videosorveglianza)
dovranno essere preventivamente informati che stanno
accedendo a un’area sottoposta a videosorveglianza,
e ciò a prescindere dal fatto che le telecamere siano o
meno in funzione. Un esempio di informativa la troviamo
su www.garanteprivacy.it/Garante-Home-theme/
images/original/Allegato1.JPG. Oltre a ricevere
l’informativa, l’interessato al trattamento potrà sempre
rivolgersi al titolare del trattamento al fine di esercitare
i diritti (art. 7 Codice privacy) che gli vengono conferiti
dal Codice e, in particolare, il diritto di accedere ai datiche lo riguardano, di verificare le finalità, le modalità
e la logica del trattamento. Altri accorgimenti sono stati
predisposti dal Garante della privacy nel provvedimento
generale sulla videosorveglianza del 8 aprile 2010
(doc. Web n. 1712680). Nel caso in cui, ad esempio,
l’apparato di videosorveglianza consenta l’accesso
via Web ai dati raccolti dalle videocamere, allora
si dovranno approntare adeguate misure di protezione
contro gli eventuali accessi abusivi al sistema informatico
o telematico che consenta l’accesso da remoto. Se, poi,
il sistema di videosorveglianza trasmette le immagini
– o le rende disponibili – attraverso una rete pubblica di
comunicazioni, si dovranno adottare i sistemi di cifratura
idonei a impedire ai soggetti non abilitati dal prenderevisione dei contenuti captati dalle videocamere. Anche
la conservazione dei dati eventualmente registrati dal
Scriveteci!e avete dei dubbi di natura tecnicadei commenti inviate una [email protected]
ppure spedite una letteraseguente indirizzo:
nux Proprea Editori S.p.A.a Torino, 510063 Cernusco S/N (MI)
vitiamo inoltre tutti i lettoripartecipare al nostro forum
he si trova all’indirizzo Web
ww.linuxpro.it, oppurecollegarsi al nostro canale IRC #lxpspitato dalla rete irc.freenode.net.
MailserverI nostri esperti offrono ogni mese i loro consigli di programmazione e di amministrazione del sistema
L'invio alla redazione di qualsiasi materiale
editoriale (testi, fotografie, disegni, etc.),
su qualsiasi supporto e tramite qualunque
canale (es. posta ordinaria, e-mail,
facebook, sito web, etc.) deve intendersi
- sia quale presa visione, nel colophon
della rivista, dell'Informativa
ex art. 13 d.lgs. 196/03, nonché quale
consenso espresso al trattamento dei dati
personali ai sensi dell'art. 23 d.lgs. 196/03
da parte della Sprea Editori S.p.A.;
- sia quale espressa autorizzazione -
in qualità di titolare dei diritti d'autore
e di utilizzazione economica, nonché
eventualmente di immagine (se del caso
anche in qualità di esercente la patria
potestà sul minore raffigurato
e/o ripreso nelle immagini) -, a titolo
gratuito e in via definitiva, alla libera
utilizzazione del predetto materiale da
parte di Sprea Editori S.p.A., per qualsiasi
fine e con qualsiasi mezzo, e comunque, a
titolo di mero esempio, alla pubblicazione
gratuita su qualsiasi supporto (cartaceo e
non) di titolarità della stessa Sprea Editori
S.p.A. e/o delle altre società in qualunque
modo ad essa collegate, nonché per
qualsivoglia altro fine, con autorizzazionealtresì all'elaborazione, all'adattamento,
alla trasformazione e a ogni altra
modificazione considerati opportuni
a discrezione della redazione.
Resta inteso che il materiale inviato
alla redazione non potrà essere restituito
ed entrerà a far parte dell'archivio
della redazione a titolo definitivo.
Diamo il benvenuto al LUGPN (Pordenone) che si è costituito formalmentecome associazione culturale a promozione sociale
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 9/100
LINUX PRO 125 7
GIOCATI UN SUDOKU,TE LO OFFRE:
LA REGOLA E’ UNA SOLAPer giocare a SUDOKU si deve riempire la griglia in modo che ogni riga, ogni colonna e ogni riqua-
dro contengano le cifre da 1 a 9 una sola volta. Per esempio, una riga è formata da 9 quadretti. In
ciascuno dei quali va scritta una cifra scelta tra 1,2,3,4,5,6,7,8,9. Nella riga ciascuna cifra deve
comparire una sola volta. Ci sono 9 righe e in ciascuna vale sempre la stessa regola: Sempre la
stessa regola vale anche per le colonne. Ci sono 9 colonne, da riempire con le stesse cifre da 1
a 9, senza che si ripetano. Infine ci sono i riquadri 3x3, per un totale di 9 quadretti. In ciascunriquadro ogni cifra a 1 a 9 deve comparire una sola volta. Il gioco consiste nel riempire di cifre
utte le 81 caselle, rispettando contemporaneamente le regole per le righe, le colonne e i riquadri.
T U T T I I V ENER DÌ IN EDICOL A
A S O L O
€ 1,0 0
Difficoltà semplice
sistema di videosorveglianza è soggetta ad alcuni limiti.
Questi limiti sono dettati – fondamentalmente – dal
principio di proporzionalità, in base al quale le modalità
del trattamento dei dati personali devono essere
proporzionate alle finalità che si intendono perseguire
con il trattamento stesso. In genere non si dovrebbero
conservare le registrazioni oltre le 24 ore dallacaptazione. In casi eccezionali, quando si ritenga
necessario conservare le registrazioni per un periodo
di tempo superiore a una settimana si potrà rivolgere
una specifica richiesta di autorizzazione al Garante per
la privacy che dovrà valutare che nel caso in questione
sia rispettato il principio di proporzionalità. Talvolta
possiamo scorgere delle telecamere per promozione
turistica o informazione meteorologica. Si pensi, per
esempio, a uno stabilimento balneare che posizioni delle
telecamere per finalità pubblicitarie o per consentire
ai clienti di verificare da remoto le condizioni climatiche
del giorno. In questi casi – considerate le differenti
finalità perseguite – si dovrà fare in modo che i soggetti
eventualmente ripresi non siano identificabili. Ma lavideosorveglianza non attiene esclusivamente ai profili
disciplinati dal codice della privacy. Esistono, infatti,
particolari situazioni in cui la captazione mediante
telecamere può rappresentare una situazione
penalmente rilevante. Esiste, infatti, nel nostro
Ordinamento il reato di interferenza illecita nella vita
privata (art. 615-bis c.p.) in base al quale viene punito
chi, “mediante l’uso di strumenti di ripresa visiva
o sonora, si procuri indebitamente notizie o immagini
attinenti alla vita privata svolgentesi nei luoghi indicati
nell’articolo 614”. Altro e differente reato è quello
previsto dall’art. 38 dello Statuto dei lavoratori
in base al quale è punito con arresto o con ammenda
chiunque faccia uso di “impianti audiovisivi e di altreapparecchiature per finalità di controllo a distanza
dell’attività dei lavoratori” fuori dai casi previsti dalla
legge (in cui, ad esempio, vi sia un previo accordo
con i lavoratori). Per venire, infine, alle situazioni che
normalmente potremmo definire di “videosorveglianza
domestica” è bene evidenziare che il nostro Codice
della privacy (d.lgs. 196/03) prevede l’esclusione
dall’applicazione delle norme del medesimo codice
quei trattamenti che siano effettuati da persone fisiche
per fini esclusivamente personali se i dati trattati
non siano destinati alla diffusione (ad esempio attraversola rete Internet) o a una comunicazione sistematica.
In ogni caso, si badi, si applicano le norme in tema
di responsabilità (art. 15 Codice privacy) e di sicurezza
dei dati trattati (art. 31 Codice privacy). Ciò significa
che anche il privato che appresti il sistema di
videosorveglianza per fini esclusivamente privati
(per esempio al fine di proteggere la sua proprietà
privata) non dovrà cagionare danni ai soggetti ripresi
e dovrà adottare misure di sicurezza tali da ridurre
al minimo i rischi di distruzione o perdita dei dati,
di accesso non autorizzato o di trattamento non
consentito o difforme rispetto alle finalità per le quali
sono stati raccolti. Le situazioni ipotizzabili sono tanto
numerose che – dato lo spazio a disposizione– non sarebbe possibile esaurire, per ciascuna di esse,
un’approfondita disamina. Ciò che conta è comprendere
che anche l’attività di videosorveglianza è soggetta
a particolari regole, la cui violazione potrebbe
comportare conseguenze anche spiacevoli. LXP
Se volete sapernedi più sulla videosorveglianzae la privacy, dateun’occhiata al sito delGarante della privacy,www.garanteprivacy.it
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 10/100
FAQ GNOME OS
8 LINUX PRO 125
GNOME OSAll’orizzonte si profilano nuove discussioni attorno al controverso ambiente GNOME…
Alcune domande su...
»Argh, com’è che tutti i progetti
vogliono diventare dei sistemi
operativi ultimamente? Qualche
tempo fa mi hai parlato di Firefox OS
e ora questo!
Questo non è solo un fenomeno recente,comunque. Emacs agisce come un sistemaoperativo sin dagli anni 80… comunquesì, la parola d’ordine di questo periodo
è “piattaforma” e il team GNOMEnon si accontenta di scrivere un insiemedi librerie e programmi che stanno sopraun sistema di base di cui non hannoil controllo. In particolare, stannocercando di avere un maggior poteresull’esperienza utente di chi usa GNOME.
»Ma loro lo fanno già – progettano
interamente l’interfaccia di GNOME.
Esatto, ma la parte che vediamo è solo unacomponente di ciò che realizza l’esperienzatotale. Facciamo un attimo un passo
indietro e consideriamo come funzionanole cose in una tipica distribuzione Linux.Alla base hai il kernel, che parla all’hardware,esegue i programmi e gestisce le risorse.Poi hai X Window System, un livello graficosviluppato da un gruppo differente. Oltre
a questo ci sono i toolkit grafici, sviluppatia loro volta da altre persone. Dopo questohai l’ambiente desktop e così via. Questoapproccio un po’ mescolato ha funzionatomolto bene negli ultimi dieci anni ma, contutti questi team che lavorano in modoindipendente uno dall’altro, è molto difficilecreare un’esperienza utente veramenteintegrata e piacevole. Alcune volte Linuxnecessita di una funzionalità che deveessere implementata sia a livello dei driverhardware sia in quello dell’interfacciautente, e far lavorare assieme i gruppiche si occupano di queste parti è un po’
complicato. Immagina questo scenario: unprovider mobile a banda larga vuole iniziarea supportare Linux. Oltre ai modem USB,
il provider deve rilasciare un componentea basso livello (un driver) assiemeal componente di alto livello (il softwareper il dial-up). Per come stanno le cose ora,l’azienda deve lottare con diverse distroLinux, diversi gestori di pacchetti, differentiposizioni nel filesystem dei file di sistemae di configurazione, varie versioni dellelibrerie, diverse interfacce e così via.È un lavoro spaventoso.
»Certo, ma quella è la vita per
i programmatori! Non dovrebbero
fare tutto il lavoro sporco per noi?
Probabilmente è così. Ma prova a pensarecon la prospettiva dell’utente. MisterPrincipiante ha appena installato Linuxed è consapevole di stare usando il desktopGNOME. Mentre sta navigando in Internetscopre un nuovo programma per GNOME.Lo vuole provare ma i pacchetti disponibilisono per una distro differente. “Ma io sto
usando GNOME”, fa notare. “Perché nonposso semplicemente installare programmiper GNOME in GNOME?”. Quindi, alla fine,gli sviluppatori non posso avere GNOMEcome obiettivo. Devono pensare a cosìtante differenti implementazioni di questo
ambiente desktop, a così tante diverseversioni con le loro differenze “sottoil cofano” che il lavoro diventa pocoallettante. Allan Day, un designerdell’interfaccia GNOME, dice: “Al momentoè troppo difficile per gli sviluppatori crearee distribuire applicazioni per GNOME.Le nostre API sono un target in costantespostamento e la distribuzione delleapplicazioni è lenta e frammentata”.
»Ma un’altra distribuzione Linux come
farà a sistemare le cose? Penso
che ci siano già abbastanza distro…
GNOME OS sarà una distro Linux, ma nonsostituirà le distribuzioni tradizionali, névuole divenire l’unica “casa” per l’ambiente
desktop. Piuttosto, è progettato come unapiattaforma per il testing e lo sviluppo– come un’implementazione di riferimentodi un sistema GNOME ideale. TeoricamenteGNOME OS introdurrà funzionalità, ideee tecnologie che verranno poi assorbitedalle distribuzioni principali, rendendoGNOME più consistente su di esse. Con ilpassare del tempo i programmatori sarannoin grado di testare i propri programmi suGNOME OS e questi dovrebbero funzionaremolto facilmente su altre distro basatesu GNOME. Confronta questo con lasituazione attuale, dove uno sviluppatorenon può semplicemente scrivere un’appper GNOME e condividerla con gli altriutenti di questo ambiente sparsi peril mondo. Quello che deve fare, invece,è pacchettizzare il programma per tuttele differenti distro che usano GNOME,tenere in considerazione le loro differenzee poi preparare un repository peri pacchetti, trattando con tutte le questioni
tecniche che questo comporta.
»Quindi è qualcosa di simile
a un gestore di pacchetti? Anche
di questi ne abbiamo abbastanza…
Una specie. Il team GNOME non ha ancoradetto nulla di specifico in merito,ma possiamo capire il loro obiettivo. Fararrivare le applicazioni agli utenti Linux ènotoriamente complicato, a meno che essinon stiano usando una distro rolling-release(come Arch Linux) e tu sviluppatore abbiaun buon rapporto con i gestori dei suoirepository di pacchetti. Cercare di
distribuire app da soli è allo stesso modocomplesso, per le ragioni viste prima. Glihacker GNOME vorrebbero una situazionein cui gli utenti GNOME, indipendentementedalla distro sottostante, potessero provarele nuove app GNOME non appena questesono rilasciate. In modo simile GNOMEdovrebbe avere delle API e un SDK stabili.Al momento, per sviluppare un programmaGNOME devi leggere vari pezzi didocumentazione provenienti da fontidiverse, abbonarti a svariate mailing listper tenere traccia dei cambiamenti e ingenerale destreggiarti con varie cose tutte
assieme. Con API e un SDK ben gestitiche hanno un preciso ciclo di vita, il lavorosarà molto più semplice per gli sviluppatori
“GNOME OS sarà una distroLinux, ma non sostituiràle distribuzioni tradizionali”
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 11/100
GNOME OS FAQ
LINUX PRO 125 9
stanno supplicando gli sviluppatori
di sistemare alcuni dei problemi maggiori
di GNOME 3. Certo, ci sono molte persone
che apprezzano il nuovo design,
ma GNOME 3 è ancora argomento
di discussione nella comunità Linux,
con un’infinità di opinioni che inondanoforum, blog e mailing list. La gran parte
degli utenti GNOME di lunga data pensa di
essere stata ignorata, quindi la situazione si
semplificherebbe se la soluzione ai problemi
che sono stati evidenziati entrasse
a far parte dei progetti futuri.
»Ok, mi hai quasi convinto. Forse.
Quando vedremo i risultati i primi
frutti del lavoro del team GNOME?
Essi sperano di effettuare il primo rilascio
nel marzo del 2014. Questa previsione
è realistica, secondo noi, e vuol dire che non
dovranno dedicare il loro tempo a GNOME OS,potendo quindi lavorare anche per sistemare
GNOME 3 nel frattempo. Poi tenere sotto
controllo i progressi visitando l’URL http://live.
gnome.org/GnomeOS/Design/Whiteboards ,
GNOME. In particolare, ciò farà avvicinare
a Linux i programmatori di app proprietarie,
perché potranno focalizzarsi sul porting del
codice e non battagliare con un milione di
combinazioni di distro e gestori di pacchetti.
» Questo vuol dire che finiràl’ossessione di GNOME di diventare
un’interfaccia per tablet?
Sì e no. Anche se GNOME 3 è stato
un ambiente molto controverso, con un
gran numero di fan che si sono sentiti
frustrati dai cambiamenti radicali avvenuti,
gli sviluppatori sono ancora consapevoli
che il desktop è importante. Ecco
il pensiero di Mr. Day: “I dispositivi esistenti
– in primis portatili e desktop – devono
rimanere l’obiettivo primario di GNOME”.
Allo stesso tempo sta proseguendo il lavoro
per rendere GNOME adatto ai dispositivi
touch, quindi siamo curiosi di vedere cosasuccederà. Comunque andranno le cose,
è interessante la tempistica di questo
importante annuncio da parte degli hacker
GNOME, un momento in cui gli utenti
che mostra le varie idee esistenti per
l’implementazione del sistema operativo e dei
cambiamenti all’interfaccia utente. Ovviamente,
non appena i ragazzi di GNOME produrranno
qualcosa, noi saremo in prima fila per provarlo.
» E cosa succederà se tutto andràin fumo?
Non essere negativo. Diamo una chance
al team GNOME. L’aspetto più importante
della faccenda è che otterremo nuove
tecnologie e idee per migliorare
l’integrazione del desktop. Linux è senza
ombra di dubbio la più grande raccolta
di codice e talento nel mondo
dell’informatica, ma ci sono ancora
problemi nel far stare tutto all’interno
di un desktop coeso. Se gli sforzi
del team GNOME renderanno Linux
più facile da usare, miglioreranno
la cooperazione tra le distro e ridurrannoil lavoro duplicato, sarà una vittoria
netta per tutti. Chi lo sa, anche
se ora sei infastidito da GNOME 3,
magari in futuro li perdonerai… LXP
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 12/100
Non importa da quanto tempo state
usando i computer, nonostante
la vostra esperienza prima
o poi capiterà anche a voi di perdere
dei dati importanti. Quando succede, si cerca
disperatamente di riportare in vita quei dati
che si sono trasformati in zombie, spesso senza
successo. Se siete dei principianti, è probabile
che almeno una volta abbiate fallito la pulizia
di un disco cancellando accidentalmente dei file
o distruggendo del tutto il contenuto di unascheda di memoria senza aver prima trasferito
le preziose immagini su un altro supporto più
sicuro. Non prendetevela con la vostra
inesperienza: succede anche ai migliori. Difatti
sono gli utenti più esperti che a volte fanno
gli errori più gravi, come far confusione con
la tabella delle partizioni, spazzare via il MBR
o peggio ancora, formattando la partizione
o il disco sbagliati. C’è una semplice soluzione:
il backup! Anche se le distro più diffuse forniscono
strumenti che semplificano l’esecuzione di backup
regolari, per molti di noi fare il backup vuol dire
cancellare i dati che non sono stati backuppati.Detto questo, ci sono ancora diversi tool che
possono farvi uscire da queste spiacevoli situazioni.
In questo articolo scoprirete dei software Open
Source in grado di tirar fuori i dati da dischi
morti, riparare un bootloader rotto, ripristinare
file cancellati e perfino intere partizioni.
Se avete un sistema dual-boot con Windows,
vi mostreremo anche come resettare
la password di Windows dimenticata e tenere
la vostra installazione al sicuro da virus e altre
minacce. Il successo di questi tool di recovery
dipende da vari fattori ma non è sicuro al 100%,
per cui il backup è sempre indispensabile,per cui parleremo anche di questa operazione,
il modo più semplice per ridare vita agli zombie!
A i d i s c h i p o s s o n o cap i ta r e
m o l t e c o s e b r u t t e:
p e r d i ta i na sp e t ta ta d i e l e t t
r i c i tà, ca mp i
mag n e t i c i f o r t i… e i da t i s i t ra s
f o r ma n o i n
ZO M B I E ! R i ma n e t e v i c i n i a L X P, v i p r o t eg
g e r e m o
S op ra v v i v e r e
t r e m t e c o s e b r u t t e: a l l ’ap o ca l i s s e d e i da t i
Zombie!
10 LINUX PRO 125
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 13/100
“Conviene usare fsckda una distro Live senzamontare la partizione”
A
nche se i filesystem sono notevolmentemigliorati nell’ultima decade, a volte permettere a soqquadro il disco è sufficiente
un’applicazione che compia un’operazione erratasul disco per non lasciarvi altra scelta che riavviareil PC (questo succede anche quando vi ritrovatea dover fuggire dagli zombie e dovete staccarerepentinamente il computer dalla corrente).Al riavvio, quando Linux individuauna chiusura non pulita, automaticamenteavvia l’utility fsck che verifica la consistenzadel filesystem. Quasi sempre questo bastaper sistemare eventuali probleminidel disco. A volte, però, in base a fattoricome l’anzianità del disco, il tipodi filesystem e il task che è stato interrotto,questo controllo automatico può fallire.
In questi casi il sistema vi chiederàdi eseguire fsck manualmente. Anche
se è possibile usarlo in modalità recovery conil disco montato in sola lettura,noi preferiamo partire da un disco Live
e usare fsck senza montare la partizioneincriminata. Trovate fsck in qualunquedistro Live, come Redo Backupand Recovery o PoliArch (che trovatenel DVD allegato). Per verificare un filesystemspecifico, per ipotesi /dev/sda6 , aprite unterminale e digitate sudo fsck /dev/sda6.Fsck internamente usa il corretto sistemadi check del disco a seconda del filesysteme vi mostra un errore se non riescea riconoscere la formattazione. Quandorichiamate questo comando senza parametri,fsck controlla il filesystem e vi chiedese volete sistemare gli eventuali problemi
riscontrati. Se volete che si procedain automatico potete usare lo switch-y, però fate attenzione: l’interventoautomatico di fsck potrebbe rendereirrecuperabili dei dati, a secondadi che tipo di errore si è verificato.Uno dei problemi più comuni
che bloccano fsck è un superblocco corrotto.Visto che un filesystem
non può essere usato senza un superblocco
in salute, ci sono diverse sue copiedi sicurezza disseminate in diverse posizioni
del disco. Digitate sudo mke2fs
-n /dev/sda6 per trovare dove è stato
salvato il superblocco (attenti, se ometteteil -n spazzerete via il vostro disco fisso),
che dovrebbe essere elencato alla finedell’output, in modo simile al seguente:
Superblock backups stored on blocks: 32768, 98304, 163840, 229376,
294912, 819200, 884736, 1605632, 2654208
Ora usate uno di questi indirizzi perrimpiazzare il superblocco su quella partizione,
per esempio con sudo e2fsck -b
32768 /dev/sda6, e sarete pronti
a riavviare. Se il filesystem rovinatoè una partizione NTFS e non potete
avviare in Windows, potete provarea sistemarla usando l’utility ntfsfix.
Assicuratevi che la partizionenon sia montata e poi digitate
ntfsfix /dev/sda1, dove /dev/sda1è la partizione formattata in NTFS.
Questa utility è in gradodi controllare e correggere
alcuni problemi di base
di NTFS ma, cosa più importante,programmerà un profondocontrollo sulla consistenza di NTFS
al primo riavvio in Windows.
Prima fsck
A volte capita che tutto quello che viservirebbe per riparare Linux si trova propriodentro il sistema, ma non potete accedervi.Forse avete danneggiato in qualche modoGRUB, oppure avete rimosso per errore
qualche pacchetto importante la cuimancanza impedisce l’avvio di Linux. In questicasi potete ricorrere a chroot . È un tool ben
fatto, presente in tutte le distro, e vi dàaccesso come root a un sistema che non siavvia. Usando chroot potete fare il boot da unLiveCD e poi eseguire i programmi come seaveste fatto il boot del sistema malfunzionante
– un po’ come fa un virus geneticamentemodificato che arriva dallo spazio e prendeil controllo della mente umana. Per usare
chroot fate il boot da qualunque distro Live,aprite un terminale e diventate l’utente root.Poi, ipotizzando che la vostra distro Linuxche non si avvia sia su / # mkdir /rotto # mount /dev/sda1 /rotto
# chroot /rottoA questo punto qualunque comandoimpartiate avrà effetto sulla vostra installazione
di Linux, non sul LiveCD, qualunque filemodifichiate, sarà un file della vostra Linuxbox. Quindi, per esempio, potrete reinstallareGRUB nel MBR dopo aver installato Windowsusando update-grub, oppure potete
rimuovere eventuali pacchetti instabilio comunque annullare quei cambiamentiche impediscono al sistema di ripartire.
Fare chroot dentro un sistema non funzionante
Potete usare TestDisk per recuperare fileda certi filesystem, come NTFS, usandol’opzione [Undelete], sotto [Advanced]
La maggior parte delle distro include il tool memtest86+, quindi potete controllarefacilmente se i problemi del vostro PC dipendono da un banco di RAM difettoso
Zombie!
LINUX PRO 125 11
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 14/100
A
nche se fsck dovrebbe correggerediversi problemi dei dischi che non
si vogliono montare, qualche voltail difetto è più serio. Dei dischi morentinon sono una bella cosa da vedere.Ancor di più se contengono datiper voi preziosi – come la posizionedi un centro di ricerca top-secretche dovete raggiungere per recuperarel’antidoto contro l’infezione da zombie.In questi casi la miglior cosa che potetefare per recuperare i dati è minimizzarel’uso del disco in difficoltà. Quindi, invecedi sottoporre a stress il disco per tirarefuori i dati, dovreste subito farne una copiafedele. Potrete poi operare con i tool
di recupero direttamente sulla copia.Normalmente vi suggeriremmo di ricorrereal venerabile comando dd per copiareil disco. Però dd è progettato per arrestarsinon appena viene rilevato un errore,quindi non è di molto aiuto con un disconon funzionante. È in queste situazioni
che torna utile il tool GNU ddrescue. Funzionacome dd e fa copie a livello di blocco di un disco.
Diversamente da dd, però, GNU ddrescue salta iblocchi rovinati e copia quelli validi. Vi serve undrive in salute per copiarei dati recuperati. Potrebbe essere un’unitàesterna USB oppure un secondo discointerno. Inoltre, accertatevi che mentreil disco destinazione è montato, quellodifettoso non lo sia. Poi digitate sudo ddrescue /dev/sda1 /media/backupdrive/ sda1.image /media/backupdrive/logfileQuesto comando farà il backup della partizionesda1 del disco fallato e lo metterà nel filesda1.image nel disco montato in /media/
backupdrive. Il logfile registra tutte le attività
del comando in un file di testo, utile per capirea che punto si è fermata l’operazione in casodi un’interruzione inattesa. Una volta che aveteuna buona copia del disco, potete chiederea ddrescue di rileggere le porzioni di discoche non è riuscito a leggere al primo giro: sudo ddrescue -r 3 -C /dev/sda1 /media/backupdrive/sda1.image /media/backupdrive/logfileCon l’opzione -r dite a ddrescue il numerodi tentativi di lettura dei dati quando si incontraun errore. Questo causa un forte stress al discorovinato, ed ecco perché dovreste provarequesta operazione solo dopo aver fatto
una copia del filesystem. Grazie al file di log,ddrescue cercherà solo di riempire i vuoti senzarileggere le parti già lette correttamente inprecedenza. Ricordate anche che, nonostanteddrescue possa fare il backup di un interodisco con partizioni multiple in un unico file,vi risparmierete un po’ di problemi salvandole singole partizioni in file immagine diversi.Una volta che avete fatto tutte le immaginidelle partizioni del disco, potete provare
a recuperare i dati da esse. In base all’efficienzaraggiunta da ddrescue, il tool può essere
in grado di ripristinare interi filesystem.Quindi, partendo da un’immagine,prima controllatela con fsck, così: sudo fsck /media/backupdrive/sda1.imageQuando fsck ha terminato il suo lavoro, montatel’immagine come dispositivo di loopback: sudo mount -o loop /media/backupdrive/ sda1.image /media/sda1imageOra date un’occhiata dentro /media/sda1imagee dovreste vedere tutti i vostri file. Se il comandonon funziona, è il momento di chiamare in causagli esperti. Foremost e Scalpel sono delle utilitydi file carving che possono estrarre i file dalleimmagini dei dischi. Entrambe le utility vanno
a caccia dei file usando gli header e i footerdi differenti formati di file, ma il secondoin genere si dimostra più efficiente. Trovatedi sicuro entrambi nei repository dellavostra distro. Foremost è il più semplicedei due da usare:sudo foremost -t all -i sda1.image -o rescued-fileQuesto comando tutti i tipi di file riconosciuti daForemost nell’immagine sda1.image e li salverànella directory rescued-file. Prima di poter usareScalpel, invece, dovete modificare il suo filedi configurazione, /etc/scalpel/scalpel.conf,e decommentare tutti i tipi di file che voletefar recuperare. Salvate il file e digitate
sudo scalpel sda1.image -o rescued-file
Ripristinare file cancellatiGli strumenti che abbiamo visto finora sono usatiper recuperare file da dischi rovinati. Ma nonsempre si può incolpare una rottura hardwareper la perdita dei dati. Un utente goffo(per esempio uno ai primi stadi dell’infezioneda zombie che sta perdendo il controllo deimovimenti) può essere altrettanto pericoloso.
Copia bit a bit
Anche se TestDisk e PhotoRec non hannouna GUI, la loro interfaccia basata su unwizard rende semplice il recupero dei dati
Per usare con successo TestDiskdovete prima capire come sonopartizionati i dischi. Una tabella dellepartizioni contiene quattro slot di 16byte l’uno, che limitano a quattroil numero di partizioni primarieper ogni hard disk. Di solito unadi queste quattro partizioni vienemarcata come estesa e contieneun certo numero di partizionilogiche. Potete avere tre partizioniprimarie (sda1, sda2 e sda3)e una quarta partizione estesa checontiene diverse partizioni logiche(sda5, sda6 e così via). Quandovi metterete a cercare partizioni
con TestDisk ne troverete alcunesovrapposte e altre che superano
i limiti della tabella delle partizioni.Qualche volta TestDisk si lamenteràperché troverà una partizioneprimaria in mezzo alle partizionilogiche, cosa impossibile. QuandoTestDisk non riesce a piazzare unapartizione, non solo dovrete trovarevoi quella corretta, ma dovreteanche capire se è logica o primaria.Tenete questo in mente: la primapartizione primaria, in genere iniziaal cilindro 0, testina 1, settore 1. Seavete più partizioni primarie, esseinizieranno in un cilindro diverso da
zero (come 625), testina 0, settore1. D’altra parte, le partizioni logiche
iniziano in un cilindro diversoda 0, testina 1 e settore 1.
Capire le partizioni
Eseguite fdisk -l su un disco in salute e salvate in un file il suo output. Questeinformazioni vi aiuteranno nel trovare con TestDisk eventuali partizioni cancellate
Zombie!
12 LINUX PRO 125
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 15/100
Quindi diamo un’occhiata agli strumenti in grado
di recuperare file cancellati accidentalmente
da dischi altrimenti ben funzionanti. Primadi iniziare, dovreste capire come vengono gestiti
i file dal filesystem. Quando cancellate un file,
esso non viene spazzato via dall’esistenza.
Piuttosto, il filesystem lo marca come cancellato
e rende disponibile alla scrittura di altri file
lo spazio che occupava. Questo vuol dire che
finché un’altra applicazione non usa questo
spazio, il file originale si trova ancora lì e può
essere ripristinato da un tool di file recovery.
Per questa ragione, se vi accorgete di aver
cancellato per errore qualcosa, è importante
che riduciate il più possibile l’interazione con
il disco. Forse il tool Open Source più completo
in questo ambito è PhotoRec. Esso può andarea caccia dei formati di file immagine più comuni
e inoltre può ripristinare file in molti altri formati,
come ODF, PDF, 7ZIP, ZIP, TAR, RPM, DEB
e anche dischi virtuali. Questo tool funziona su
ogni sorte di disco, inclusi hard disk e dispositivi
rimovibili come dischi o chiavi USB e schede SD.
Oltre a leggere i dischi che non fanno
il boot, PhotoRec recupererà file da partizioni che
sono state formattate. Viene distribuito assieme
a TestDisk, di cui abbiamo già parlato e che
useremo anche successivamente, ed è presente
in tutte le distro pensate per il recovery, inclusa
quella presente nel nostro DVD. Anche se
PhotoRec è un tool da riga di comando, esso
divide l’operazione di salvataggio in passi,
proprio come fanno i wizard grafici. Quando
avviate lo strumento, esso per prima cosa vi
chiede di selezionare il disco e la partizione che
ospita i file cancellati, e anche di specificarne
il tipo di filesystem. Poi vi chiede se volete
che faccia la ricerca solo nello spazio libero,non allocato o sull’intera partizione. Dovete
anche indicargli una directory in cui
memorizzare i file recuperati. In base alla
dimensione della partizione, PhotoRec
impiegherà più o meno tempo per fare
il suo lavoro. Di default cerca tutti i file
che è in grado di riconoscere, ma se
volete potete limitare il numero di
formati da cercare usando l’opzione
File Opt . Quando PhotoRec finisce
di cercare, troverete un’enormità di file
dai nomi strani e di tutti i formati nella cartella
che avete indicato. PhotoRec nomina i file
man mano che li trova, lasciando all’utentel’onere di ordinarli. Come per i file, non serve
un grande sforzo per rovinare un disco
in salute. Un tasto premuto per errore (questo
capita, ad esempio, se vi capita di trovarvi
un dito mezzo mangiato da un
corpo appena rianimatosi mentre
eravate distratti nel tentativo
di far funzionare PulseAudio)in fdisk o Gparted può spazzar
via il MBR o condannare all’oblio
una partizione. Però, come
con i file, la situazione è ancora rimediabile,
sempre che smettiate di pasticciare con il disco.
Usare TestDisk TestDisk è il miglior tool in circolazione per
sistemare tabelle delle partizioni e far tornare
in servizio dischi che non fanno più il boot.
L’uso di TestDisk è simile a quello di PhotoRec.
Quando lo avviate prima vi chiede di creare
un file di log (che torna utile per una successiva
analisi qualora il recovery dovesse fallire) e poimostra tutti i dischi collegati al computer. Dopo
che avete selezionato il disco in cui è sparita
la partizione, vi chiederà di selezionarne il tipo,
per esempio Intel, Mac, Sun e così via. Subito
dopo potete vedere le varie opzioni di recovery.
Selezionate quella di default, Analyse,
che legge la struttura delle partizioni e cerca
quelle disperse; alla fine della ricerca TestDisk
visualizza la struttura delle partizioni corrente.
Ora selezionate l’opzione Quick Search
per chiedere a TestDisk di cercare le partizioni
cancellate. In base all’età del vostro disco,
TestDisk visualizzerà un diverso numero
di partizioni. Per capire qual è quella corretta,da recuperare, guardate le label delle partizioni
mostrate alla fine di ogni voce, tra parentesi
In molti casi, Boot-Repair può ripristinare GRUB con un solo click
“PhotoRec funziona
su ogni tipo di disco,compresi quelli rimovibili”
quadre. Se questo non vi aiuta, premete P
su una partizione selezionata per vedere
un elenco dei file che TestDisk ha trovato in
essa. Ripetete l’operazione finché non trovate
ciò che vi interessa. Quando avete trovato
la partizione, conviene copiarne i dati giustonel caso che TestDisk fallisca nel suo ripristino.
Per fare questo, premete P e poi con il tasto a
selezionate tutti i file. A questo punto premete
C per copiarli e il tool vi chiederà dove volete
salvarli. Quando la copia è terminata, premete
q per tornare all’elenco delle partizioni e
premete E per continuare al prossimo passo
dell’operazione di ripristino. TestDisk mostrerà
ancora la struttura delle partizioni, questa
volta con quella scomparsa. Selezionate
Write per salvare la tabella delle partizioni
sul disco e uscite dal programma. Se tutto
è andato bene, al prossimo riavvio la partizione
sarà di nuovo al suo posto.
Con uno scanner antivirus come ClamAvpotete disinfestare la partizione Windowsdall’interno di Linux
Zombie!
LINUX PRO 125 13
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 16/100
A
nche se si spera che TestDisksia servito allo scopo comemostrato nelle pagine precedenti,
ci sono volte in cui anch’esso fallisce.In questo caso bisogna ricorrerealle opzioni avanzate. A volte TestDiskindividua partizioni cancellate, senzaperò riuscirne a capire il tipo. Quandotrova una partizione, TestDisk ne mostrail tipo nella prima colonna, dove trovateun * se si tratta di una partizione avviabile,una P per le partizioni primarie, una L per quelle logiche e una E per quelleestese. Potete usare i tasti cursore a destrae a sinistra su una partizione ev idenziataper cambiarne il tipo. C’è un altro paiodi opzioni per le partizioni disponibili
all’inizio dell’operazione di recovery,giusto dopo che avete selezionatoil tipo di tabella de lle partizioni del disco.Subito sotto l’opzione Analyse c’è il tab
Advanced, che elenca alcunitrucchi avanzati per
i filesystem. Con l’opzioneType potete cambiareil formato della partizione,
cosa utile quando la partizioneche volete ripristinare è stata formattata.
Poi ci saranno delle volte in cuil’opzione Quick Search di TestDisknon sarà in grado di trovare tutte
le partizioni sparite. In questi casivi serve la voce Deeper Search,che scansiona ogni cilindroe interroga anche la copiadi backup del settore di boote del superblocco per trovare altrepartizioni. Non sorprendetevi
se verranno trovate più partizioni di quelleche avevate sul disco. Molte di esse sonosolo immagini fantasma di partizioni esistitein passato – non tutte saranno ripristinabili
e molte occuperanno lo stesso spazio.Nell’elenco delle partizioni trovate, quelleevidenziate in verde sono recuperabiliperché si trovano nel backup del settoredi boot e dei superblocchi. Il problemac’è se ci sono partizioni che occupanolo stesso spazio. Come con Quick Search,una volta che TestDisk ha trovato dellepartizioni, con il tasto P potete leggerel’elenco dei file presenti. Uno o piùdei duplicati non ne mostreranno e il toolvi dirà che il filesystem è rovinato.Marcate questi filesystem come Deleted (D)e continuate fino a quando non trovate
tutte le partizioni cancellate.
Boot campCi sono diversi modi per perdere il bootloaderGRUB. Forse il vostro PC è caduto vittimaalla peggior infezione di zombie possibile:l’installazione di Windows! Anche se installare
Windows dopo aver installato Linux spazzavia di sicuro il MBR (che sarà quindi daripristinare), qualche volta capita anchedi ritrovarsi con qualche esoterica distro Linux
che allo stesso modo si sbarazza del vecchioMBR impedendovi di avviare altri sistemioperativi. Ci sono vari modi per riparareun MBR danneggiato, il più semplice dei qualiprevede l’uso di Boot-Repair . Comecon gli altri tool di questo articolo, lo trovatenella maggior parte delle distro progettateper il recovery. Boot-Repair è pensatoper sistemare in automatico i problemi piùcomuni che possono capitare a GRUB. Inoltre,può essere utile agli utenti più esperti chevogliono controllare gli aspetti più sottili diGRUB, come il passaggio di opzioni addizionalial kernel, il cambiamento dell’ordine di boot
o del timeout, o la scelta del sistema operativodi default. Quando avviate questo strumento,esso cercherà gli eventuali suoi aggiornamentise è disponibile una connessione a Internet.Poi passerà a esaminare i vostri dischie le partizioni presenti. Alla fine vi mostreràuna chiara interfaccia grafica con un paio dipulsanti. Nella maggior parte dei casi il pulsanteRecommended Repair sarà sufficiente asistemare tutto. Eventualmente potete ricorrerealle opzioni Advanced e modificare i vari aspettidell’installazione di GRUB. Poi ricordatevi dicliccare su Apply. In entrambi i casi, dopo aversistemato GRUB, il tool vi mostrerà un URL che
vi porta a un report diagnostico sul vostro PC.Esso sarà utile nel caso in cui Boot-Repairha fallito nel suo compito e vi ritrovate a doverchiedere aiuto a qualcuno più esperto, adesempio nel forum della vostra distro. Poteteanche usare il pulsante Create a BootInfosummary per generare questo report primadi far operare il tool. Alla fine del report,il programma mostrerà le azioni cheintraprenderà per riparare il vostro GRUB.
Resettare la passworddi LinuxA meno che non usiate la stessa password per
tutti i vostri account online e offline (cosa chenon raccomandiamo) è possibile che primao poi vi dimentichiate quella oscura, intricata
Scavare a fondo
Anche se TestDisk vi aiuta a ripristinare eventualipartizioni perse, una tabella delle partizioni sotto soprapuò richiedere tempo per essere sistemata. Almenose non ne avete salvata una in ordine. È una buonaidea usare sfdisk ogni volta che installate o rimuoveteuna distro, o comunque quando fate delle modifichealle partizioni. Sfdisk è una piccola utility da rigadi comando inclusa in tutte le distro, e fa il backupe il ripristino delle tabelle delle partizioni, oltrea poterle modificare. Questi pochi byte potrebbero
fare la differenza con un sistema operativo su cuisi è pasticciato. Il comando sfdisk -d /dev/sda >
sda_tabella.txt farà una copia di sicurezza dellatabella delle partizioni del disco sda in un file di testoche dovreste tenere in un posto sicuro. Al contrario,il comando sfdisk /dev/sda < sda_tabella.txt leggerà il file e ripristinerà la tabella delle partizioninel MBR di sda. Se avete un sistema RAID, potete fareil mirror di una tabella delle partizioni da un discoall’altro usando sfdisk -d /dev/sda | sfdisk /dev/sdb .
Salvare la tabella delle partizioni
Se non amate GRUB, potete usare un bootloader alternativo come GAG
Zombie!
14 LINUX PRO 125
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 17/100
password del PC che avviate una volta ogni
tanto. Oppure siete arrivati al centro
di ricerca e i computer che contengono
la procedura per sintetizzare l’antidoto sono
protetti da password, con gli scienziatiche non sono più in grado di dirvela.
Per crisi come queste avete bisogno della
distro Rescatux (www.supergrubdisk.org/
rescatux). Questa distro possiede i soliti
tool di recovery per riparare filesystem
e bootloader in difficoltà. Ma ciò che
la distingue dalle altre distro di questo tipo
è la sua abilità di cambiare la password
di un’installazione Linux e di rigenerare
un file sudoers corrotto. Quando avviate
questa distro Live viene lanciato
automaticamente l’applicazione di ripristino,
chiamata Rescapp. Questo programma ha
vari pulsanti. Quando cliccate su Password (+), il tool vi chiede se volete cambiare
una password o rigenerare il file sudoers.
Entrambe le opzioni attiveranno la ricerca
di una installazione di Linux sul disco
e poi mostreranno l’elenco degli utenti della
distro che selezionate. Se state cambiando
la password, il tool vi chiede quella nuova
da assegnare all’utente indicato. Se state
ricreando il file sudoers, l’utente selezionato
verrà aggiunto in /etc /sudoers .
Ora quella di WindowsSe gli scienziati stavano usando copie
del vecchio Windows Vista sul loro hardware
finanziato dal governo (cosa molto
probabilmente legata in modo stretto
a ciò che è capitato con gli zombie), ci sono
diversi tool che possono aiutarvi a recuperare
o resettare la password dell’installazione
di Windows. Uno dei più semplici
è Ophcrack (http://ophcrack.sourceforge.
net ). Il modo migliore di usare Ophcrack
è di ricorrere al suo LiveCD basato su SliTaz.
Questo LiveCD esiste in due versioni:
una ha delle tabelle che vi aiutano
a recuperare le password da Windows XP
e versioni precedenti, mentre
l’altro fa la stessa cosa con
Vista e 7. Quando avviate uno
dei due dischi, viene lanciato
in automatico Ophcrack.
Esso scoprirà ed elencherà
tutti gli account utente presenti
nel computer e cercherà di recuperare
le rispettive password. A meno che queste
password non siano incredibilmente
complicate, con tanti caratteri, o che
voi abbiate una macchina molto vecchia,
l’operazione di crack delle password non
dovrebbe durare molto a lungo. Una volta
finito, le password verranno elencate
nella colonna NT Pwd. Questo dovrebbe
funzionare nella maggior parte dei casi, ma
se così non è potete aumentare le chance
di crackare le password scaricando
e installando delle tabelle addizionali dal sito
di Ophcrack. In base a quale L iveCD avete
scaricato, avrete rispettivamente la tabella
XP Free Small o Vista Free. Oltre a queste,
solo la tabella XP Free Fast (703 MB) è
disponibile gratuitamente. Le altre possono
essere scaricate ma bisogna pagare una
quota e possono essere usate per crackare
password che non sono basate su parole del
dizionario, che includono caratteri speciali,
caratteri germanici o numeri e che sono
di varie lunghezze. Se Ophcrack non
è in grado di trovare le password usando
le tabelle gratuite, e non volete procederecon quelle a pagamento, potete usare
Offline NT Password and Registry Editor
(http://pogostick.net/~pnh/ntpasswd/ )
per resettare le password. Prima di
procedere, comunque, sappiate che il reset
delle password ha qualche svantaggio
rispetto al loro recupero. Se avete detto a
Windows di cifrare i file con la vostra
password, resettare la parola chiave non vi
consentirà di decifrarli. Ecco perché prima
dovreste cercare di ritrovarla. L’Offline NT
Password and Registry Editor è disponibile
sottoforma di un’immagine ISO Live da 4
MB. Quando avviate questa Live doveteselezionare la partizione che ospita il
Windows di cui dovete resettare le
password. Poi il tool vi chiede la posizione
del registro delle password. Dopo averlo
letto, lo strumento stampa un
elenco degli account e vi da la
possibilità di impostare una
nuova password, cancellare
quella vecchia, abilitare o
disabilitare un utente o far scalare
i suoi privilegi fino a farlo
diventare
amministratore.
Assicuratevi di
scrivere i cambiamenti
nel registro prima di chiudere.
Ophcrack usa tabelle rainbow preelaborate per recuperare le password
Mentre TestDisk e Photorec sono in grado di trovare
qualunque file, a volte sono un po’ sovrabbondanti.
Se tutto quello che dovete fare è recuperare
dei file JPG o MOV da una scheda SD che è stata
formattata potete usare il tool recoverjpeg. Potete
installarlo dai repository di tutte le maggiori distro.
Per usare questo tool allo scopo di recuperare le foto da
una scheda SD in /dev/sdc, aprite un terminale e scrivete
sudo recoverjpeg /dev/sdc
Questo software ripristinerà tutte le foto che trova
salvandole nella directory in cui lo avete lanciato.
Un altro utile strumento è ntfsundelete cheè progettato per ripristinare file da un filesystem
NTFS. Come prima, dovreste trovarlo negli archivi
di pacchetti della vostra distro. Ipotizzando
che il disco NTFS sia in /dev/sda5, digitate
il comando seguente in un terminale:
sudo ntfsundelete /dev/sda5
Questo comando mostrerà una lista dei file
che ha trovato. Potete usare lo switch -t
per cercare i file modificati in uno specifico
periodo di tempo. Per esempio, il comando
sudo ntfsundelete /dev/sda5 -t 2d
cercherà i file modificati negli ultimi due giorni. Questo
tool ha anche una flessibile opzione di recovery.
Il comando seguente ripristinerà tutti i file PDF e li salverànella directory ripristinati/ sotto la directory home:
sudo ntfsundelete /dev/sda5 -u -m *.pdf -d ~/ripristinati
Tool di recovery dedicati
“Quando le opzioni basedi TestDisk falliscono,ricorrete a quelle avanzate”
Zombie!
LINUX PRO 125 15
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 18/100
N
onostante tutti gli eccellenti strumenti
Open Source per il recovery dei dati,
c’è solo un modo sicuro per
recuperare tutti i propri file: fare un backup.Anche se non porta via molto tempo, fare
una copia di sicurezza dei dati richiede
un po’ di attenzione e di preparazione.
Per iniziare, dove vanno memorizzati i dati?
Tenerli nella stessa partizione o nello stesso
disco non serve a nulla – come rimediare
se si rompe l’intero disco? La soluzione
è usare un disco diverso. Anche il tipo
di dati da salvare e l’uso che se ne vuol fare
può influenzare la scelta dello storage.
Gli hard disk offrono il miglior rapporto
prezzo/spazio e sono anche una soluzione
facile da mettere in opera. I dischi Flash
o quelli esterni USB offrono la massimaportabilità, i CD/DVD sono distribuibili
con maggior facilità mentre lo storage
online consente di accedere ai dati
da qualunque PC.
Cosa salvare?Alcuni di noi sono più organizzati di altri.
Quindi anche se la miglior strategia sarebbe
quella di tenere tutti i dati in un disco
o partizione dedicata lontano dai file
della distro, molti di noi hanno i dati sparsi
un po’ ovunque. Quasi tutte le distro
offrono particolari cartelle in cui memorizzare
i vari tipi di file, come scaricamenti, immagini,
video e documenti. Inoltre, sempre le distro,
si preoccupano di dire ai programmi
quali cartelle usare, in modo da non
mescolare tutto. Se state usando queste
directory in modo ordinato, potete copiare
esse invece dell’intera /home . Inoltre,
la maggior parte dei programmi creano
una loro posizione per memorizzare le cose:in genere vi chiedono dove farlo, ma non
sempre. In questo secondo caso, controllate
nel menu delle preferenze per vedere
dove mettono i dati.
Backup punta e cliccaI programmi di backup in GNU/Linux
non mancano di certo, ma quello che
preferiamo è Déjà Dup. Si tratta
di un front-end grafico per duplicity
che è facile da impostare e ha tutte
le funzionalità che ci si aspetta da un tool
di backup. In alcune distro, come Ubuntu,
Déjà Dup è preinstallato, nelle altre è presentenei repository. L’interfaccia di questo
programma è davvero minimale, in modo
da non confondere gli utenti. Prima di metterlo
in funzione, però, dovete impostarlo. Iniziate
indicandogli dove volete salvare i file.
La destinazione può essere un disco locale,
un disco remoto accessibile via FTP o SSH,
oppure un servizio di storage accessibile via
Web, come Amazon S3 o Ubuntu One. Poi
dovete specificare l’elenco delle directory
da includere o escludere dal backup.
Separando le due, Déjà Dup vi consente
di includere una directory più grande
nel backup, tipo la vostra home, dandovi
però la flessibilità di non copiare alcune parti,come la directory .cache/. Infine dovete
programmare la frequenza dei backup
in modo da automatizzare il processo.
Di default questo strumento terrà per
sempre i vecchi backup, se avete abbastanza
spazio nella destinazione, ma potete
specificare un diverso periodo di tempo
a seconda di quanto critici siano i dati salvati.
Quando avete fatto, premete l’icona Backup
per iniziare il processo. Il tool vi chiederà
di inserire una password per cifrare la copia.
Questo backup iniziale può richiedere
parecchio tempo, ma quelli successivi saranno
più rapidi perché sono di tipo incrementale,quindi verranno copiati solo i dati che sono
stati modificati. Quando si ripristina una copia
di backup, Déjà Dup consente
di rimetterli nella loro posizione
originaria o in un’altra locazione.
Per prima cosa vi verrà chiesta
la password per la decifrazione
e poi verrà mostrato un elenco
ordinato in base al tempo
di creazione dei backup da ripristinare.
Copia totaleAnche se Déjà Dup è l’ideale per fare delle
copie mirate, qualche volta c’è la necessità
di clonare l’intero disco. Per situazioni in cui,
per esempio, dovete rimpiazzare il vecchio
disco con uno nuovo, vi serve uno strumento
che sia in grado di fare una copia perfetta
di tutto quanto il sistema. Il più popolare
tra i tool di questo tipo è CloneZilla. A fronte
di una grande versatilità, però, l’interfaccia
di CloneZilla può intimidire l’utente meno
smaliziato. Se tutto quello che vi serve
è qualcosa che faccia una copia totale del
vecchio disco da mettere poi in quello nuovo,
sullo stesso computer, allora Redo Backup
and Recovery può rappresentare una
soluzione più semplice. Questo tool è
disponibile come LiveCD. Quando fate il boot
vi trovate di fronte solo due pulsanti: potete
Usate il versatile Redo Backup and Recovery se dovete sostituire un disco vecchiocon uno nuovo e più grande e non volete reinstallare Linux da zero
Il backup è una virtù
Déjà Dup è di gran lunga il tool di backuppiù facile da usare
“L’interfaccia minimaledi Déjà Dup è creata pernon confondere l’utente”
Zombie!
16 LINUX PRO 125
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 19/100
fare il backup del disco o ripristinare una copia
già fatta. Il processo di backup inizia con una
scansione del computer a caccia dei dischi.
Poi vi verrà chiesto di selezionare quale voletecopiare. Fatta la scelta, vedrete le partizioni
presenti: assicuratevi di selezionarle tutte.
Poi vi viene chiesto di indicare una
destinazione dove salvare l’immagine clonata
del disco. Questa può essere un secondo disco
fisso del computer, un’unità USB o un folder
condiviso in rete. Nella destinazione dovrete
creare una directory e poi scegliere un nome
che verrà aggiunto ai vari file creati dal
programma. Questo è tutto. In base alla
dimensione del disco da copiare e alla
posizione della destinazione, ci possono volere
anche delle ore per terminare. Quando tutto
è stato fatto, rimuovete il vecchio disco fissoe piazzate quello nuovo al suo posto. Ora
riavviate nuovamente dal LiveCD ma questa
volta premete il pulsante Restore. Ora
muovetevi dove si trova il file .backup
che volete ripristinare, ovunque esso si trovi
(disco locale o in rete). Il passo cruciale della
fase di ripristino è quella in cui si seleziona
il disco target in cui scrivere l’immagine.
Fate attenzione quando lo scegliete perché
il programma cancellerà tutto quello che
è presente nel disco, incluso il MBR. Alla fine
delle operazioni il contenuto del nuovo disco
sarà esattamente identico a quello vecchio.Se il disco precedente aveva sistemi operativi
multipli, e il bootloader funzionava a dovere,
lo stesso sarà per il nuovo disco. Se il disco
nuovo è più grande di quello vecchio, dovrete
ricorrere a Gparted per reclamare lo spazio
aggiuntivo, che si trova non partizionato
alla fine del disco.
A prova di crashI dischi ottici una volta erano il mezzo preferito
per fare il backup, e forse lo sono ancora
adesso. Il loro problema, però, è che anche se
li si tratta con cura, molto spesso dopo un po’
di tempo diventano illeggibili (alla faccia dellagaranzia a vita di alcuni produttori…). Farne di
tanto in tanto una nuova copia ci sembra una
soluzione inefficiente. Un’opzione migliore è
ricorrere a DVDisaster. Questo software crea
un file con un codice di correzione d’errore
(ECC) di un disco in buono stato di salute, file
che potrà essere usato in futuro qualora
il CD/DVD risultasse difettoso. DVDisaster agisce
su immagini ISO. Per creare l’immagine del
vostro disco, inseritelo nel lettore ottico e avviate
DVDisaster. Poi selezionate l’icona Image File
Selection, digitate un nome per l’immagine
ISO e selezionate una
directory in cui memorizzare
questa ISO. Infine premete
il pulsante Read. Oraè il momento di creare il file
ECC. DVDisaster supporta
due tipi di file: RS01
e RS02. Noi vi suggeriamo
di scegliere RS01,
il metodo di default, e di
memorizzare il file ECC in un disco separato.
Cliccate su Create per generare e salvare
il file ECC. Usando le impostazioni di default,
il file ECC è grande circa il 15% della
dimensione dell’immagine ISO. Per una
protezione maggiore, andate in Preferences
D Error Correction e selezionate l’opzione
High. Questo porterà le dimensioni del fileECC al 35% della dimensione della ISO,
ma vi darà anche una maggior possibilità
di ripristinare i dati nel caso il CD/DVD
risultasse gravemente danneggiato. Di tanto
in tanto, poi, fate una scansione dei dischi
di backup con DVDisaster usando il pulsante
Scan, dopo aver inserito il disco, ovviamente.
Se la scansione dovesse rivelare dei settori
danneggiati, è il momento di recuperare
i dati. Per fare questo, create per prima
cosa un’immagine ISO del CD/DVD
danneggiato come fatto prima. Poi
recuperate il file ECC di quel disco
e caricatelo in DVDisaster. Con l’immaginee il file ECC pronti, premete il pulsante Fix,
che leggerà e riparerà l’immagine. LXP
Se dovete clonare un’installazione Linuxsu computer diversi, scegliete CloneZilla
Browser come Firefox hanno delle opzioniper sincronizzare preferiti e passwordtra diversi dispositivi
Se un vostro vecchio CD o DVD non presentaerrori, ringraziate la fortuna e fate subitoun file ECC per sicurezza
I residenti della simpatica città di Bristol, in Inghilterra,
possono dormire sonni tranquilli nei loro letti sapendo
che i loro rappresentanti in comune hanno realizzato
un piano d’emergenza in caso di attacco da parte
degli zombie. Il documento, che è venuto alla luce
nel 2011, sottolinea quattro livelli di attacchi degli
zombie , da live llo amb ientale fino a una pandemia
di zombie (con tasso di infezione superiore al 30%).
Il documento evidenzia anche le zone più pericolose
(i distretti di Shirehampton, Totterdown e Whitchurch
Park) e conferma che l’ordine del consiglio per
trattare con i zombie è di “disconnettere il tronco
cerebrale dal corpo attraverso un corpo contundente
o la totale rimozione della testa”. Una richiesta fatta
al consiglio comunale di Leichester nello stessoperiodo ha rivelato che “non c’è un riferimento
agli zombie nei piani d’emergenza della città”.
Curiosità
Ecco la gente di Bristol: incredibilmente
amichevoli. www.bristolzombiewalk.com
Zombie!
LINUX PRO 125 17
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 20/100
18 LINUX PRO 125
2013
Cosa ci aspetta
nel 2013La redazione di Linux Pro ha sentito alcune delle stelle
più importanti del firmamento del Software Liberoper chiedere loro cosa si aspettano dall’anno che verrà.
Ecco quello che ci hanno risposto
Chi abbiamo sentito
Richard StallmanIl padre di GNU ha realizzato
la licenza GPL che consente
di mantenere libero il Free
Software. Ha anche scritto GCC,
che ci permette di compilare
il software per il kernel Linux.
Gaël DuvalHa realizzato Mandrake Linux,
la prima distro GNU/Linux
che considera la facilità d’uso
una caratteristica fondamentale.
Con Ulteo sta portando il sistema
operativo in una nuova direzione.
Damien ConwayUno dei fondatori della community
Perl, ha realizzato Perl 6
ed è quindi responsabile
del collante che tiene insieme
Internet. I blog dei gattini
non esisterebbero senza di lui.
Ciarán O’RiordanHa combattuto contro i brevetti
a Bruxelles con il suo progetto
“Fermate i brevetti sul software”.
Anche se vivete fuori dall’Unione
Europea sta cercando di rendere
migliore la vostra vita.
Clement LefebvreIn quanto creatore di Linux Mint,
è probabilmente la persona che
è più in sintonia con le richieste
degli utenti del Software Libero.
Si occupa anche di Mate
e Cinnamon.
Stefano ZacchiroliIn quanto project leader
di Debian GNU/Linux guida
la distro più libera di tutte.
Di certo non rinuncerà mai
ai suoi principi e soprattutto
sarà sempre disponibile.
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 21/100
LINUX PRO 125 19
2013
Damien Conway: Secondo me il successoe la continua crescitadi Git e GitHub. Siala tecnologia che il sitoWeb sono attivi ormaida più di cinque anni,
ma l’ultimo anno è stato decisivo comediffusione, utilizzo e consapevolezza da partedell’intera community. Git non è solamente
uno dei migliori esempi di Software Libero,è soprattutto uno stimolo allo sviluppocollaborativo dei programmi.
Clement Lefebvre: Senza dubbioil progetto Mate.GNOME 2 è statol’ambiente desktoppiù utilizzato per la suasolidità e maturità,
inoltre integra i migliori strumenti per la stampa,la comunicazione di rete e la comunicazioneonline. È la degna conclusione di anni di lavoro,
di miglioramenti e di integrazione di componentidi terze parti, applet e temi. Essere riuscitia non farlo sparire e portarlo avanti sottoun nuovo nome rappresenta il migliore successodel 2012. Dobbiamo riconoscere al teamMate il merito di essere riusciti a gestirne consuccesso il mantenimento. Io personalmentesono coinvolto con Cinnamon, uno dei progettipiù interessanti e che stanno riscuotendoun buon successo di pubblico, come stannofacendo Canonical con Unity e GNOME conShell. Ci stiamo divertendo molto a realizzarenuove e grandi tecnologie. Si parla moltosui forum, su IRC e sui giornali di questi nuovi
ambienti desktop che si rivolgono però a unaminoranza di entusiasti di GNU/Linux che amanoprovare le novità anche quando non sonoancora a punto. Dall’altra parte ci sono moltiutenti che non vogliono aggiornare il lorosistema in continuazione, non seguono i blogcon le novità e non capiscono perché qualcosache funzionava bene come GNOME 2 non deveessere più disponibile. Mate è la testimonianzadi cosa significhi veramente Software Libero:
ci siamo trovati nella situazione in cui il piùpopolare tra gli ambienti desktop GNU/Linuxnon veniva più supportato dagli stessisviluppatori. Essendo però distribuito con licenzaGPL, altri sviluppatori della communityGNU/Linux hanno formato un gruppo in gradodi continuarne lo sviluppo. Si tratta del migliorriconoscimento a un sistema che non soloè libero, ma che può venire modificatoe ridistribuito liberamente, permettendoglicosì di continuare a vivere anche senzagli sviluppatori originali.
Gaël Duval: Nel 2012
sono successe cosemolto importantie probabilmenteuna delle piùimportanti è ladefinitiva accettazione
del modello Open Source da parte delleaziende IT. L’Open Source è ormai presenteovunque e non ci sono più le paure,le incertezze e i dubbi che erano normalisolo qualche anno fa. Comunque un fattoimportante è sicuramente la riorganizzazionedi Mandriva Linux e la creazione dellaOpenMandriva Foundation. Stanno
succedendo molte cose, cambiamentiprofondi che meritano una presenzaancora maggiore nel mondo IT.
Stefano Zacchiroli: Citerò qualcosadi sicuramentecontroverso comela guerra sui brevettitra Apple e Samsung.
I brevetti sul software continuano a essereuna minaccia al Software Libero, specialmentein nazioni come gli USA ma anche altrove,pur se in maniera minore. Sono convinto che
quello che dobbiamo assolutamente impedireè una guerra senza fine tra i maggiori
protagonisti dell’IT sui brevetti. Alla finetutti si renderanno conto (e qualcunogià lo ha fatto) che una guerra suibrevetti è controproducente per tuttie chiederanno una riforma. L’escalationprovocata dalla guerra Apple-Samsungrappresenta probabilmente un puntodi non ritorno, dobbiamo solo sperareche la riforma dei brevetti non sia peggiodi quello che abbiamo oggi. Semprea questo riguardo, mi è piaciuto leggerei pareri di molti importanti economistiche affermano che i brevetti nonpromuovono l’innovazione e che sono
stati ripresi dai media negli USAe praticamente in tutto il mondo.
Damien ConwayLXP Perché pensi che Perl abbia tanti
ardenti sostenitori?
DC Credo che ci siano diversi motivi. Primadi tutto il particolare design del linguaggiodi programmazione: se sei uno sviluppatorein sintonia con il modo in cui Perl funziona,allora Perl funzionerà al massimo per te.Questa potrebbe sembrare un’affermazionescontata, ma è molto importante. Gli altrilinguaggi di programmazione ti richiedonodi adeguarti al loro modo di funzionare, Perlfunziona nel modo in cui molti sviluppatoripensano. Inoltre, ancora più importante,Perl è un linguaggio di programmazionenato per le community. La migliorecaratteristica di Perl non riguarda eventualivantaggi tecnici, ma il modo in cui lacomunità mondiale interviene mettendoa disposizione degli sviluppatori risorseimportanti. Il CPAN (ComprehensivePerl Archive Network), offre un enormerepository di Software Libero già testato
su decine di piattaforme, e con molte partigià sperimentate e commentate da chile ha usate in prima persona. Il sistemadi controllo universale dei bug delledistribuzioni da parte del CPAN offreulteriori strumenti per gestire la qualitàdi questa importante risorsa. Esistonopoi siti Web di tipo collaborativo gestitidirettamente dalla community comeperlmongs.org e learn.perl.org, canali IRC,mailing list e movimenti di base come YAPCe OSDC che offrono un network di supportoliberamente disponibile per ognisviluppatore Perl del pianeta.
Quali sono le cose migliori capitate
al Software Libero nel corso del 2012?
Mate è una zattera di salvataggio per tuttiquegli utenti GNOME che non voglionoperdere il loro ambiente desktop preferito
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 22/100
20 LINUX PRO 125
2013
DC: Java, senza dubbio.
Anche se ne apprezzo
il linguaggioe l’ecosistema, odio
la politica, il passaggio
di denaro e la
mancanza dei controlli
di qualità e sicurezza che lo stanno rendendo
incompatibile con molte piattaforme.
CL: Per me il maggior
“fail” è stato SCO.
Vorrei poi commentare
gli interventi di Miguel
de Icaza su Linus
Torvalds, il desktop
di Linux e Mac OS X:
ho molto rispetto per quello che ha fatto Miguel,
ma ogni volta che il mio iPhone non si sincronizza
con il mio sistema operativo perché Apple ha
fatto in modo che si sincronizzasse solo con
iTunes, allora non penso che sia il PC a essere
fatto male ma l’iPhone. Non sono d’accordo
nemmeno con il pensiero che Linux dovrebbe
ispirarsi per le interfacce desktop a Mac OS e iOS.
A me non piacerebbe lavorare con questi sistemi
e non penso nemmeno che stiano facendo un
buon lavoro, almeno non per la nostra community.
L’altro grande “fail” risale all’annuncio di Flash
come protocollo esclusivo per Chromium. Spero
che YouTube diventi pienamente compatibile con
HTML5 prima che Google riesca a fare sparire
Firefox dai nostri desktop.
Richard Stallman:
A mio parere il termine
“fail” non riesce
a rendere l’insieme di
controlli e pubblicità che
l’ultima distro di Ubuntu
GNU/Linux ci obbliga
a subire. E non si tratta di un errore, ma di una
scelta deliberata: ogni volta che all’interno
di Ubuntu fate una ricerca i vostri dati vengonotrasferiti a Canonical, la quale, senza tenere
in considerazione la vostra privacy, vi fa mandare
pubblicità mirate da parte di Amazon. Per
conoscere i motivi che non dovrebbero spingervi
ad acquistare da Amazon potrete leggere qui:
http://stallman.org/amazon.html.
Gli sviluppatori del Software Libero normalmente
non inseriscono funzioni di controllo nei loro
programmi. Sanno che nel momento in cui
lo facessero gli utenti li abbandonerebbero per
passare ad altro software “pulito”. Il fatto che
Canonical ci abbia provato significa che si fida
talmente della propria influenza da non prendere
in considerazione questo rischio. Ed è proprioper questo motivo che dovremmo dimostrarle
che sta sbagliando a sottovalutare l’Open Source.
GD: Non sono molto
soddisfatto di come sia
diventato Android/Linux
per molte ragioni. Mi
sembra che sia ormai
legato solo ai profitti,
non all’innovazione e che
la parte Linux resti sempre più in secondo piano.
CO’R: Si tratta più di una
battuta d’arresto che
di un “fail” vero e proprio,
ma ritengo che
il “Restricted boot”
di Microsoft sia l’elemento
più negativo del 2012.
Smartphone e PC non sbloccabili rappresentano
la principale minaccia per l’Open Source.
SZ: Secure Boot
di Microsoft. Si trattadi una scelta che ha colto
di sorpresa il mondo del
Software Libero e che
si sta trasformando in una
situazione che, comunque
la si veda, farà dei danni molto seri. Da una parte
non si può negare che il rischio dell’inserimento
di un malware prima del boot esiste. Dall’altra
si tratta di una mossa che riflette la forza dei
produttori di hardware. O si è una delle poche
software house in grado di convincere i produttori
a fornire le chiavi necessarie all’inserimento del
proprio codice, oppure sarà necessario richiedere
il permesso per abilitare le immagini di booto ancora chiedere ai propri utenti di farsi carico
di una scomoda procedura di “firma” del software.
Qual è stato il principale “fail” del 2012?
Clement LefebvreLXP Tutti questi cambiamenti nelle release
dei desktop ti hanno fatto cambiare idea
sulla direzione presa dal Software Libero?
Pensi, per esempio, che ci sia troppa scelta?
CL Non c’è mai troppa scelta. Chi pensa che
Mate, Xfce, LXDE, KDE, Canonical, GNOMEe Linux Mint possano convivere all’interno di uno
stesso desktop non ha capito niente di sviluppo
del software. Questi progetti sono resi possibili
da sviluppatori appassionati a cui piace quello
che stanno facendo e hanno una propria visione
in testa. Se lavorassero insieme su un progetto,
che nessuno considera veramente suo, alla fine
non ne uscirebbe niente di buono. Non è un
segreto per nessuno che il gruppo di GNOME
considera Mate una piattaforma obsoleta e poco
interessante. Come è anche chiaro che Canonical
e Linux Mint non condividono l’idea di GNOME
di come dovrebbe essere un’interfaccia grafica.
Se provate a guardarvi intorno scoprirete che gli
utenti Cinnamon amano Cinnamon, quelli Unity
amano Unity, quelli Mate preferiscono Mate, quelli
KDE scelgono KDE e così via… Ma proprio questo
è il vantaggio del Software Libero e di tutti
i progetti in corso in questo momento. Nessuno
di voi si metterebbe in testa di convincere i propri
vicini di casa ad acquistare una stessa automobile
o di scrivere a tutti i produttori di auto pregandoli
di accordarsi in modo da evitare sprechi con
la realizzazione di modelli troppo simili tra loro.
In realtà gli sviluppatori non sono macchine che
possono essere guidate a nostro piacimento.
Questo non è sviluppo. Per realizzare un progetto
che funziona serve la passione, ci si deve
appassionare a quello che si sta facendo e quinditrasferire il proprio piacere anche agli utenti.
L’accordo tra Canonical e Ubuntu per inviare pubblicità agli utenti non è piaciuto per nientea Richard Stallman. Temete la sua ira e tremate, o abitanti di Ubuntulandia
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 23/100
LINUX PRO 125 21
2013
GD: Ritengo che nel
2013 assisteremo
a molte interessanti
novità. Ogni secondo
che passa ci sono
sempre più persone
sul pianeta e vediamo
passare davanti ai nostri occhi avvenimenti sempre
nuovi, buoni o cattivi che siano. Nel settore
dell’IT stanno accadendo cose incredibili
come l’Internet veloce, l’archiviazione online,
PC che costano pochi euro come Raspberry Pi
e sono in grado di far girare molte e importantiapplicazioni. Per non parlare dell’importanza
dei tag RFID e delle stampanti 3D: il mondo
si sta affollando sempre più di oggetti connessi
e intelligenti.
RS: Già sappiamo
che c’è un disastro
incombente: arriveranno
infatti computer in grado
di funzionare solo
con Windows
e che non
vi permetteranno di installare distro GNU/Linux.
A mio parere dovreste impegnarvi per farpassare negli USA e nel resto del mondo
una legge che lo impedisca. Non c’è alcuna
ragione per cui a delle aziende dovrebbe
essere consentito di avere il monopolio
in una questione così delicata.
DC: Non sarò certamente
obiettivo, ma dico Perl.
Ci aspetta un anno
importante con
significativi aggiornamenti
a Perl 5 e 6. Perl 5
avrà un protocollo
meta-object, liste di parametri per le subroutine(finalmente!) e significativi miglioramenti sia
all’interprete che al debugger integrato. Senza
dimenticare che nuovi moduli, librerie e framework
Perl continuano ad apparire su CPAN a un ritmo
sempre sostenuto. Anche Perl 6 continuerà
a crescere sia in termini di diffusione che di usabilità,
con miglioramenti nella performance e sempre
nuove funzioni nei compiler. Allo stesso tempo
saranno disponibili nuovi software e librerie.
CL: Nel 2013 avremoun sacco di novità
interessanti e anche noi
offriremo la nostra quota
di innovazione, anche
se il mio auspicio per
l’anno nuovo rimane
fondamentalmente quello di crescere e di evitare
passi indietro. Se ci voltiamo a guardare quello che
è successo negli ultimi anni ci accorgiamo che tutto
ha funzionato al meglio e che noi abbiamo potuto
costruire sopra l’esistente. Oggi una nuova release
è il risultato di molto lavoro di integrazione in modo
da assicurarci che i vari componenti lavorino bene
insieme. La diversità e la popolarità di molti nuovidesktop è sicuramente positiva per Linux, ma rende
più difficile evitare regressioni. In questo momento
ci sono sicuramente molte innovazioni nei desktop
di Linux e non solo per quello che riguarda
l’ambiente, ma anche con le app di terze parti.
Si tratta di un aspetto importante ma è
ugualmente fondamentale non buttare via quello
che funziona non appena arriva qualcosa di nuovo
e magari graficamente più interessante. Possiamo
goderci entrambi gli aspetti evitando che il “nuovo”
entri in conflitto con il “vecchio”, ma facendoin modo che si integrino con successo.
SZ: Ancora non posso
sapere se assisteremo
a qualcosa di
straordinario nel corso
del 2013, ho solo
qualche preoccupazione
per quanto riguarda
l’uso del cloud che sarà sempre più diffuso e sul
quale avremo ancora meno controllo. Penso però
che qualcosa stia cambiando per il meglio grazie
alle sempre crescenti preoccupazioni per la
privacy che nel corso del 2012 hanno avutouna forte eco anche nei mass media. Sempre
più persone, anche non geek, iniziano a chiedersi
che cosa ne è dei loro dati e anche che tipo
di codice viene usato per gestirli. Si tratta di un
cambiamento culturale che dobbiamo cavalcare
anche all’interno dell’ambiente del Software
Libero, altrimenti rischiamo di conquistare il settore
dei desktop per poi accorgerci che la maggior
parte delle persone si è spostata sulla nuvola dove
il software non è libero e dove i dati non sono più
controllabili dalle persone. Il 2013 sarà un anno
decisivo da questo punto di vista. O riusciremo
a convincere gli utenti dei rischi che corrono
e a fornire delle alternative reali o saremocondannati. E per quanto riguarda Debian?
Beh, mi aspetto grandi cose da Wheezy! LXP
Quale sarà il più importante sviluppodel 2013 per il Software Libero?
Greg Kroah-Hartman Gaël DuvalLXP Cosa ci aspetta nello sviluppo del kernel
nell'immediato futuro?
GKH Un miglioramento costante, nuove caratteristiche
e la compatibilità con tutto l’hardware prodotto
nel 2013. Linux potrà così ulteriormente diffondersi
in tutto il mondo. In pratica quello che sta succedendo
ormai da 21 anni.
LXP Avresti potuto sviluppare Ulteo usando altri
modelli? Cosa ne pensano gli investitori su di un
possibile impiego di denaro sul Software Libero?
GD Ulteo riceve indubbi vantaggi dal mondo dell’Open
Source, anche nel mercato corporate con cui siamo in
trattative. E il mondo dell’Open Source è generalmente
un impulso per chi investe, specialmente in Europa.
Gli esperti sono tutti d’accordo: la funzione Secure Boot di Windows 8 è pessima per Linux,per gli utenti e più in generale per il Software Libero. Speriamo che il 2013 ci portiuna soluzione definitiva a questo pesante problema
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 24/100
Razor-qt
Gli appassionati di GNOME hanno avuto
vita facile ultimamente. “Cosa?”
griderete. “Gli utenti di GNOME hanno
avuto un periodo terribile ultimamente.
Gli appassionati del vecchio ambiente sono stati
sconcertati dalla radicale revisione dell’interfaccia
e i sostenitori di GNOME 3 sono stati oggetto
di continui insulti”. Queste parole sono vere.Ma, vedete, questi utenti di GNOME che
amavano la vecchia grafica 2.x e odiano
quella nuova hanno avuto una via
di fuga quando GNOME 3 è uscito:
potevano passare a Xfce.
Lì, trovavano un ambiente maturo, pieno
di funzioni, basato su Gtk , simile allo
GNOME 2 che conoscevano e amavano,
sebbene con qualche differenza. Oppure
potevano provare LXDE, un altro ambiente
basato su Gtk. Perciò la (incredibilmente
fantastica/estremamente ridicola, cancellate
quello che credete) decisione del team GNOME
non ha causato la fine del mondo. Pensate agliappassionati di KDE che si sentivano a proprio
Razor-qtL’alternativa leggera a KDE
Circola un nuovo ambiente amicodella memoria e sta dando al teamdi KDE qualcosa su cui riflettere.Linux Pro vi spiega tutto...
agio con la serie 3.x. Quando è arrivata la 4.x,
che ha stracciato molto del codice di base e ha
implementato alcune funzioni chiave, questi
utenti di KDE non avevano dove andare. Non
c’era alcuna soluzione omologa di ripiego, nessun
ambiente simile basato su Qt dove potessero
eseguire tutte e loro applicazioni Qt e KDE
preferite senza usare l’ambiente stesso (certo,si può eseguire quasi ogni programma Linux su
qualsiasi ambiente o gestore di finestre, ma ci
siamo capiti. Le applicazioni Gtk appaiono e sono
eseguite meglio in un ambiente Gtk/GNOME e le
applicazioni Qt si sentono più a casa in Qt/KDE).
Quindi c’è stato un grande vuoto nella sequenza
di ambienti Linux per quelli che amanole applicazioni Qt di alto livello come Scribus
e VLC ma vogliono qualcosa un po’ più leggero
e semplice della imponente bestia che è KDE.
Fino a oggi: ora è pronto a entrare in scena
Razor-qt (www.razor-qt.org). Autodescritto
come “ambiente grafico avanzato, facile da usare
e veloce basato su tecnologie Qt”, Razor-qt
è ancora in fase di sviluppo, essendo l’ultima
versione, nel momento in cui scriviamo, la 0.5.1.Ciononostante, è già pieno di funzioni
e abbastanza solido
da essere usato come
ambiente a tempo pieno.
Soprattutto, rispetto a KDE,
è molto più leggero sui
banchi RAM. Guardate
queste statistiche dell’utilizzo
della RAM in Kubuntu 11.10 dopo l’avvio:
Con KDE caricato: 315 MB
Con Razor-qt caricato: 126 MB
Quindi, solo cambiando l’ambiente grafico
si risparmiano circa 200 MB di RAM.
Razor-qt è anche più semplice e facileda utilizzare di KDE.
22 LINUX PRO 125
“È pieno di funzioni e abbastanzasolido da essere usato comeambiente a tempo pieno”
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 25/100
Razor-qt
Poiché Razor-qt è un progetto piuttostonuovo, molte distribuzioni non lo hanno
ancora nei loro archivi di pacchetti.
Tuttavia, vale la pena dare prima un’occhiata,
poiché usare i pacchetti nativi della vostra
distribuzione è sempre il modo più facile
di iniziare. Come per altri ambienti grafici,
Razor-qt comprende diversi pacchetti, ma ci
dovrebbe essere un singolo razor-qt base o meta
pacchetto che richiama il resto. Se state usando
Ubuntu potete installare l’interfaccia tramite
un PPA, cioè un Personal Package Archive
(archivio di pacchetti personalizzato) separato
dagli archivi ufficiali, ma che è tuttavia una
buona fonte di pacchetti affidabili e ben provati.Ci sono pacchetti per molte versioni recenti
di Ubuntu, che vanno indietro fino alla 10.04.
Perciò, se avete una vecchia macchina che
esegue una versione di Ubuntu d’epoca del
2010 e volete dargli un’accelerazione, potete
equipaggiarla con Razor-qt molto facilmente.Per installare su Ubuntu, inserite questi comandi
in una finestra del terminale:
sudo add-apt-repository ppa:razor-qt sudo
apt-get update sudo apt-get install razorqt
Il primo comando indica a Ubuntu che vokete
usare i pacchetti dall’archivio proprio di Razor-qt.
Poi aggiornate l’elenco di pacchetti archiviato
localmente e scaricate i file di Razor-qt. Se state
eseguendo Kubuntu, per esempio, avete già
installate la maggior parte delle dipendenze
come Qt, quindi scaricherete circa 15 MB.
Se state usando, invece, una distribuzione
non Qt, come Ubuntu di base, vi sarà chiesto
di scaricare ulteriori dipendenze. Se aveteinstallato Fedora, CentOS o OpenSUSE, invece,
potete trovare gli archivi qui: http://download.
opensuse.org/repositories/X11:/QtDesktop.
Per ulteriori istruzioni e informazioni
relativamente alle altre distribuzioni, leggete
www.razor-qt.org/install. Se non avetefortuna nel farlo funzionare sulla distribuzione
che avete scelto, potete provare una delle distro
Live scaricabili dall’URL http://razor-qt.org/
install/live.php. Poi, naturalmente, c’è la strada
che prevede la compilazione dei sorgenti come
assolutamente ultima risorsa (o un po’
di divertimento se vi piace fare queste cose).
Il wiki Razor-qt GitHub su http://tinyurl.com/
cd4lgrc ha molte informazioni, compreso
un utile collegamento all’elenco delle
dipendenze. Una volta che avete installato
l’interfaccia, disconnettetevi dalla sessione
corrente e dovreste essere in grado di scegliere
Razor-qt dalla schermata di accesso. Dopo pochisecondi (si avvia in maniera
estremamente veloce in
confronto a KDE e GNOME)
vedrete lo spazio di lavoro,
perciò esploriamolo...
Approntare Razor-qt nel vostro PC non dovrebbe essere difficile
DesktopIn modo predefinito, potreste
non vedere niente qui (se non
avete niente nella vostracartella ~/Desktop), perché
Razor-qt ha un modo piuttosto
insolito di dividere lo spazio di
lavoro. Potete dedicare delle
aree alla visualizzazione dei
widget, uno dei quali può
essere una vista di una cartella,
in questa schermata è la nostra
cartella home. Vi mostreremo
come personalizzarla più avanti.
PannelloLa disposizione del pannello
è piuttosto tipica: all'estrema
sinistra avete il menu principale
per lanciare le applicazioni,
seguito da un commutatore
di spazi di lavoro virtuali. Poi
c'è un'area destinata all'avvio
rapido delle applicazioni usate
più di frequente, seguita
da un'area per passare tra le
app in esecuzione All'estrema
destra, vedrete un vassoio di
sistema e un orologio. Potete
cambiare la dimensione
e la lunghezza del pannello
cliccando con il tasto destro su
di un punto vuoto e scegliendo
Configura; per spostarlacliccate con il destro e andate
nel sottomenu Posizione.
ConfigurazioneSono incluse una manciata di piccole
utilità, che potete trovare tramiteil menu principale in Preferenze
D Razor-qt settings. Per esempio,
potete scegliere se le cartelle
si devono aprire con un click singolo
o doppio e permettere al gestoredi finestre di avere il controllo
completo dello spazio di lavoro.
Razor-qt non comprende
un suo gestore di finestre,
ma funziona benecon KWin e Openbox.
Esplorare l'interfaccia
LINUX PRO 125 23
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 26/100
Razor-qt
Anche se le impostazioni predefinite di Razor-qtsono abbastanza buone per il lavoro di tutti
i giorni, vi consigliamo senza dubbio
di ottimizzarlo alla perfezione. Iniziamo con lo spazio
di lavoro: come già detto, è diviso in aree, nelle quali
potete mettere widget (o plug-in come sono chiamati
qui). Fate click con il tasto destro su di un punto vuoto
dello spazio di lavoro e selezionate Unlock Desktop
dal menu a comparsa. Questo commuta tutto alla
modalità modifica, come reso evidente dalla grande
scritta che appare sullo sfondo (guardate la schermata).
Nella configurazione predefinita Razor-qt ha due
pannelli: quello a sinistra è una vista dell’organizzazione
dei file che punta alla cartella ~/Desktop, mentre
quello a destra è un orologio. Questi sono entrambiconfigurabili tramite menu contestuali da tasto destro.
Fate click destro sulla vista dei file, per esempio,
e poi su Configure Plugin. Ora sarete in grado
di scegliere la cartella il cui contenuto deve essere
mostrato nel pannello. Questa piccola funzione
è splendidamente utile, perché se avete molto spazio
sullo schermo potete destinarne una parte ai vostri file
musicali, una alla vostra raccolta di foto, una ai vostri file
di lavoro importanti e così via. Questa flessibilità nello
spazio di lavoro, in un primo stadio di sviluppo, ci rende
veramente impazienti di vedere cosa verrà dopo.
Al di fuori della vista dei file e dell’orologio, non ci sono
molte altre estensioni di cui parlare al momento,
ma ci aspettiamo di vederne di più nelle future versioni.Una volta che avete finito di configurare, fate click
destro di nuovo in una parte vuota dello spazio di lavoro
e disattivate la casella Lock Desktop. Notate
che tramite questo menu contestuale potete anche
cambiare lo sfondo dello spazio di lavoro.
Giocare con il pannelloTutti gli elementi del pannello possono essere risistemati.
Premete il tasto destro del mouse in un’area vuota
del pannello e nel menu a comparsa andate
in Aggiungi plugin. Lì vedrete un elenco degli elementi
del pannello e potrete spostare o cancellare ciascuno
di essi. Per molte delle estensioni vedrete anche delle
ulteriori opzioni di configurazione, per esempio, nelmenu dell’estensione Gestore dei processi potete
richiamare una casella per configurare com’è mostrata
(cioè con Icone e testo o Solo icone). Aggiungere nuovielementi al pannello è semplice. Fate click destro in uno
spazio vuoto e andate in Aggiungi plugin. Lì vedrete
un elenco di estensioni disponibili con le loro descrizioni.
Aggiungere un pulsante di Avvio rapido è un po’ più
complicato, però, perché non appena fate click su
Aggiungi pulsante, probabilmente non vedrete alcuna
modifica al pannello. Potreste anche essere perdonati
per aver pensato che questa funzione non sia attiva in
questa versione... Ma quello che accade veramente
è che viene aggiunto un minuscolo spazio di tre pixel
alla parte sinistra del pannello vicino al pulsante
del Menu principale (che si è ora spostato un po’
a destra). Questo è il vostro nuovo pulsante di Avvio
rapido, ma ci sarà da divertirsi se provate a fare clickdestro su di esso. Per trasformarlo in un pulsante
utilizzabile, aprite il menu principale, trovate
l’applicazione che volete e poi trascinate la sua icona
in quel minuscolo spazio che avete appena creato.
Allora, magicamente diventerà più grande e funzionale.
Ci piace l’aspetto trascina-e-rilascia di questo, ma
sarebbe molto meglio se il pulsante Avvio rapido vuoto
avesse un punto interrogativo o qualcos’altro per attirare
l’attenzione. Sotto Menu principale D Preferenze D
Razor-qt settings D Strumento di configurazione
della sessione di Razor troverete un pannello di
configurazione che vi permette di selezionare un gestore
di finestre diverso (se ne avete uno installato) e scegliere
quali moduli saranno lanciati all’avvio del sistema. Poteteanche ridefinire le applicazioni predefinite da usare per
navigare il Web e il terminale. Al momento, Razor-qt
non ha molte applicazioni proprie (sebbene possano
essere in arrivo, guardate il riquadro sugli sviluppatori),perciò dovrete prelevarne alcune. Ci sono due modi
di farlo. Se la vostra macchina ha un sacco di memoria,
le prestazioni non sono un problema e state
semplicemente eseguendo Razor-qt perché non
vi piace KDE, allora potete selezionare le applicazioni
di KDE come insieme di strumenti predefinito.
Cioè, potete usare KWrite come elaboratore di testi
principale, Konsole come emulatore di terminale e così
via. In questo modo avete un gruppo di applicazioni
dall’aspetto simile, senza il vasto insieme di funzioni
di KDE a complicare le cose. Tuttavia, se state
eseguendo Razor-qt per allontanarvi completamente
dalle bizzarrie succhia-memoria, vi consigliamo anche
di evitare i programmi di KDE, perché perfino il piùleggero di essi può avviare dietro le quinte un gruppo
di servizi collegati a KDE. Un approccio migliore
in questo caso è trovare applicazioni solo Qt,
cioè programmi che si basano solo sul toolkit
e non sull’intero pacchetto dell’ambiente grafico.
Qui ci sono le nostre raccomandazioni:
∆ Gestore di file: qtFM (www.qtfm.org)
∆ Terminale: qterminal
(https://github.com/qterminal )
∆ Elaboratore di testi: JuffEd
(http://www.juffed.com)
∆ Browser: QupZilla (www.qupzilla.com)
∆ Messaggistica istantanea: qutIM
(www.qutim.org)∆ Riproduttore musicale: Qmmp
(http://qmmp.ylosftware.com ).
Leggero sì, ma comunque configurabile
Attivando la modalità Modifica potete ridimensionare a volontà le aree sullo spazio di lavoroche sono associate ai widget presenti nella scrivania
Volete cambiare gestore delle finestre? Guardateil pannello Configurazione della sessione
24 LINUX PRO 12524 LINUX PRO 125
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 27/100
Razor-qt
Peter Vanek (PV) e Alexander Sokoloff (AS) sonoi due sviluppatori principali dell’ambiente grafico.Noi li abbiamo raggiunti per scoprire com’è nato
il progetto e quali sorprese ci dobbiamo aspettare.
LXP: Da dov’è venuta l’idea di Razor-qt?
Eravate scontenti della direzione che stava
prendendo KDE o del suo utilizzo della
memoria o è stato semplicemente
per togliersi uno sfizio?
PV: Io prima usavo solo Openbox sulla miamacchina in ufficio (KDE a casa) ed ero alquantosoddisfatto. Ma ho dovuto espandere Openboxcon vari componenti di terze parti. Inoltre, lavoro
solo con un piccolo insieme di strumenti nel miolavoro e la maggior parte di queste applicazionisono basate su Qt, perciò ero interessatoa trovare una soluzione basata su questo toolkit.Ho provato vari approcci storici (il gestoredi finestre Antico, Antico-deluxe e altri derivati)ma erano tutti poco utilizzabili o non compilabili.Poi ho trovato il vecchio codice di Razor-qt.Era rudimentale ma non gonfiato dalla grafica.Sembra che più persone stiano cercandoqualcosa di simile. Non mi piace paragonareRazor-qt a KDE. Penso ancora che KDE siail miglior ambiente grafico. Suggerisco allepersone di usarlo. Ma, tuttavia, vedo alcune aree
in cui non è adatto. Razor-qt è un’alternativa.AS: Gli utenti nel mondo Gtk hanno parecchiealternative a GNOME. Gli utenti di KDE non neavevano. Abbiamo deciso di mettere le cose a posto.LXP: State progettando di creare
componenti internamente, come un gestore
di finestre e un gestore di file?
PV: Io sono pigro e penso che sia una dellemie migliori caratteristiche. Sono d’accordo,inoltre, con la strategia “dividi e conquista”, perciòquando posso trovare qualche soluzione esternaper qualsiasi problema vorrei usarla. Oggi siamoin stretto contatto con vari progetti esternie discutiamo funzioni e soluzioni. È sempre
meglio avere un gruppo o uno sviluppatorededicato a un’applicazione specializzataper le nostre risorse limitate. Alcune applicazioni“di base” come Andromeda, JuffEd , Qterminal,Qupzilla sono esaminate con Razor-qte i problemi sono sistemati nei posti appropriati(compresi Qt, X11, strumenti XDG ecc.).
LXP: Quanto lontano pensate di spingervi
con le librerie di Razor-qt? Sono indirizzatesolo alle persone che scrivono estensioni
e componenti o prevedete applicazioni
di Razor-qt complete?
PV: Ne abbiamo parlato molte volte. Al momentonon vogliamo sviluppare applicazioni per Razoreccetto gli strumenti relativi all’ambiente. Peresempio, per me non ha molto senso sviluppareun elaboratore di testo con grandi dipendenzeda Razor perché Qt è multipiattaformaper natura. D’altra parte, posso immaginareun’interfaccia del gestore della rete cheusi le librerie di Razor, perché risolverebbei problemi del solo Razor. Comunque, qualsiasi
roba potenzialmente utile per l’uso pubblico chefacciamo è distribuita come libreria o pacchettoseparato, per esempio la libreria QtXDG.AS: I toolkit dividono il mondo Linux. Abbiamomolte applicazioni che sono come gemelli. Sonosimili e al contempo differenti solo a causa deltoolkit che usano. Noi non vogliamo aumentare
l’entropia, perciò le librerie di Razor-qt
non sono un toolkit per le applicazionidi terze parti ora.LXP: Quali sono i progetti per le prossime
versioni e avete delle scadenze per la 1.0?
PV: “Quando sarà pronta”. È un progetto ancoramolto giovane. Modifichiamo ancora alcune partiinterne fondamentali. D’altra parte, Razor-qtsoddisfa i miei bisogni personali ora. Ma capiscoche altre persone abbiano aspettative più grandi.LXP: Di quale aiuto avete più bisogno
in questo momento, cosa possono fare
i nostri lettori per essere coinvolti?
PV: Qualsiasi aiuto sarebbe gradito. Sembrache stiamo affrontando una situazione
più insolita di quella degli altri progetti OpenSource. Abbiamo molti traduttori, molti creatoridi pacchetti, utenti. Ma ci manca la potenza-sviluppo. Certo, abbiamo gli sviluppatori principalie grandi contributori, ma qualsiasi nuova manod’aiuto sarebbe gradita. Ricordate: programmareper un progetto giovane è divertente. LXP
Il duo dietro Razor-qt presenta la propria visione
La prossima Razor-qt 0.5 includerà il supporto a LightDM (come vedete
nell'immagine, in Ubuntu), una schermata di accesso leggera
Sviluppatori, sviluppatori, sviluppatori
Se scrivete software in Qt, non dovrete fare moltoper assicurarvi che i vostri programmi si adattinobene all’ambiente grafico. Comunque, c’è una libreriadisponibile per aggiungere alcune funzioni specifiche
di Razor-qt alla vostra applicazione, migliorandonel’integrazione. Potete trovare un elenco delle classi
API su http://razor-qt.org/develop/docs/classes.html,la maggior parte delle funzioni sono per gli sviluppatoriche scrivono estensioni del pannello. Guardatehttp://tinyurl.com/92bsa58 per una breve guida
che mostra come implementare una semplice estensione“Hello world”. Non c’è molta attività in termini
di estensioni del pannello di terze parti al momento,ma speriamo che più sviluppatori saliranno a bordoe avremo presto il meglio di entrambi i mondi:un ambiente grafico minimalista con bassi sovraccarichi
nel pacchetto fondamentale, con molte funzionalitàdisponibili da altre fonti.
LINUX PRO 125 25
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 28/100
Abbiamo già dedicato un paio di lunghi
articoli a Raspberry Pi, il computer
grande come una carta di creditodi cui tanto si parla in Rete, ma viste
le richieste che ci sono giunte in redazione
abbiamo realizzato questo articolo
con lo scopo di aiutare chi ha ricevuto
da poco la scheda o chi sta pensando
se acquistarla o meno. Raspberry Pi ha fatto
impazzire gli hobbisti di tutto il mondo come
non accadeva da tempo. La produzione
iniziale di 10.000 pezzi è andata esaurita
così velocemente che solo i più fortunati
e i fan più accaniti sono riusciti ad
aggiudicarsene un esemplare e anche ora le
schede vengono vendute non appena escono
dalla fabbrica. Questo non ci sorprende, vistoche per circa 33 Euro ottenete un computer
Linux completo con un processore ARM
e 512 MB di RAM (per le schede prodotto
dopo il 15 ottobre). Lo scopo del progetto è
quello di rivoluzionare il mondo dell’educazione
nelle scuole, ma è troppo presto per capire
se tale obiettivo verrà raggiunto. Ma una cosa
è sicura: il mondo dell’hacking hardware
amatoriale non sarà mai più lo stesso. Questi
piccoli ma funzionali sistemi sono perfetti perportare un po’ di capacità elaborativa in posti
inusuali dove lo spazio e l’elettricità sono
un plus. Sono andati nello spazio e sono stati
attrezzati per attraversare l’oceano, ma sono
stati usati anche per progetti casalinghi o per
pilotare macchine in remoto. In queste pagine
vi mostriamo alcuni dei possibili usi della
Raspberry Pi (RP d’ora in poi per brevità).
Grazie alla versatilità di GNU/Linux è facile
trasformare la RP in qualunque cosa,da un desktop a un media center
o un controller per l’hardware.
P o t e n z
i a l
a
t u a R a s p b
e r r y P i
Con il suo fidato saldatore, Linux
Pro vi mostra come ottenereil massimo dalla piccola scheda
26 LINUX PRO 125
Raspberry Pi
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 29/100
+Questa è la distribuzioneraccomandata dalla FondazioneRaspberry Pi. A meno chenon abbiate una buona ragioneper usare altro, probabilmenteè l’opzione migliore. È basatasu Debian Wheezy, quindi poteteinstallare qualunque cosasi trovi negli enormi repositorydi Debian. L’ambiente desktopdi default è LXDE, molto leggero,ma un po’ troppo semplice peralcuni. Per chi vuole qualcosain più consigliamo Xfce.
In Raspbian trovate il toolraspi-config che probabilmenteè il modo più sempliceper configurare la vostra RP.Visto che la RP è stata pensataper avvicinare i più giovanialla programmazione, ancheRaspbian ha la stessa cosain mente. Troverete Idle(un IDE per Python) e Scratch(un ambiente di programmazioneper i più piccoli) sul desktop.È disponibile all’URLwww.raspberrypi.org.
La RP è stata progettata a scopoeducativo, ma gli hobbistisono stati velocissimi nel trovarlenuove funzioni. RaspBMCè pensata per trasformarela RP in un media centerda collegare alla TV e dacontrollare con il telecomandodel televisore. Si basa su XBMC,che vi consente di riprodurremusica e video che avetein locale, oppure di farestreaming da Internet.L’immagine del sistema
può essere scaricatada www.raspbmc.com .Per i dettagli sull’installazionee il setup, continuate a leggerequesto articolo. Se avetepronto un back-end MythTV,potete usare XBMC comefront-end. A secondadi cosa vorrete riprodurre,potreste dover acquistaredei pacchetti di codec cheforniscono accesso a formatiaudio/video che si appoggianoad algoritmi protetti da brevetti.
Mentre Raspbian è stata creatacercando di nascondereagli utenti il setup internodel sistema operativo, ArchLinux è progettata per aiutaregli utenti a capire come funzionail sistema. L’immagine iniziale,disponibile su www.
raspberrypi.org, includesolo il sistema base per farfunzionare la RP e farlaconnettere alla rete.Manca la maggior partedei programmi che di solito
si vogliono usare, ad esempioun ambiente desktop.Trovate tutte le informazioniche vi servono all'indirizzoWeb http://bit.ly/9APmgA.Partendo dallo stato inizialeci vuole un po’ di tempoper ottenere un sistema prontoall’uso, ma strada facendoimparerete per beneil funzionamento internodi una distro. Se lo sforzone valga la pena, dipendesolo dalla vostra volontà.
Una versione ufficiale di Androidper la RP è in fase di lavorazione(ufficiale nel senso cheè approvata dalla RaspberryPi Foundation). La fondazioneha fornito dei video di Androidin esecuzione ma al momentoin cui scriviamo non è disponibileper il download. Per eventualinews tenete sotto controllowww.raspberrypi.org.La comunità sta lavorandoa una versione non ufficiale,però. Le prestazioni non sono
eccelse comepromettonodi esserequelledella versioneufficiale, maè già disponibile(anche se glisviluppatorila descrivonocome “scarsamente usabile”).Controllate http://androidpi.
wikia.com/wiki/Android_
Pi_Wiki.
Come ci si può aspettare, esiste unadiscreta varietà di distro per la RPe ogni tanto sembra spuntarne una
nuova. In queste pagine vi illustreremo alcunedelle più popolari, assieme a qualche novità.In un computer normale l’installazionedi GNU/Linux avviene in modo diverso daquanto si fa con la RP. Visto che il sistemaoperativo per la RP funziona su una schedaSD, dovete scrivere il sistema operativo suquesto tipo di dispositivo. Il modo più semplicedi farlo da Linux è tramite il comando dd.Questo tool fa una copia bit-a-bit dei dati
tra un dispositivo e un file (o anche tra due fileo due dispositivi). Le distro sono fornite comefile immagine (simili alle ISO per i CD) chepossono essere scritte sulla SD, dopo esserestate decompresse se necessario, così: sudo dd if=<file-immagine> of=<dispositivo-sd>bs=4k
sudo syncIl secondo comando assicura l’esecuzionedella scrittura dei dati sulla SD (viene svuotatoil buffer di scrittura). Quindi, per esempio,nel nostro computer di test, con due hard disk(sda e sdb), il lettore SD si trova in /dev/sdc.
Se non siete sicuri di quale sia il dispositivousato dalla vostra scheda SD, digitate df -h nelterminale e vedrete un elenco dei dispositivi.Dovreste riconoscere qual è l’SD. Per fareil backup della configurazione della RP, potetesuccessivamente creare una nuova immagineinvertendo l’origine (if) e la destinazione (of)nel comando dd. Per esempio sudo dd if=<dispositivo-sd>of=<nuovo-file-immagine> bs=4k
Questa immagine potrà poi essere compressacon gzip o bzip, quindi non occuperàmolto spazio di disco.
Raspbian
Guida alle distro
RaspBMC
Arch Linux
Android
LINUX PRO 125 27
Raspberry Pi
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 30/100
Per la maggior parte degli utenti di RP,
Raspbian sarà l’interfaccia grafica di questo
computer. Potete ottenere l’immagine
e installarla su scheda SD come spiegato
nella pagina precedente. Una volta pronta,
è una buona idea aggiornare il software
presente collegando la RP a Internet,
aprendo un terminale e digitando
sudo apt-get update
sudo apt-get upgrade
Il tool chiave di Raspbian è raspi-config.
Partirà automaticamente al primo avvio,
ma potete anche richiamarlo in qualunque
momento da terminale digitando sudo
raspi-config. Presenta un buon numero
di opzioni, le più importanti delle quali sono:
∆ expand_rootfs Visto come si installa
su SD Raspbian, viene creato solo un
filesystem da 2 GB indipendentemente
dalla dimensione della scheda SD che usate.
Quindi, con una scheda più grande di 2 GB,
lo spazio rimanente non sarebbe ut ilizzabile.
Potete usare questa opzione per espandere
il filesystem in modo che occupi tutto
lo spazio disponibile.
∆ memory_split La RP usa lo stesso blocco
di memoria sia per il processore principale
sia per il chip grafico. Usando questa opzione
potete cambiare la quantità di memoria
allocata ai due elementi.
∆ overscan Questa opzione può essere
usata con alcuni display per fare in modo
che la grafica occupi l’intero schermo.
Potete tranquillamente ignorarla
se non avete problemi.
∆ overclock Ottenete il 50% di prestazioni
extra senza costi aggiuntivi! Guardate il box
in basso per maggiori dettagli.
∆ boot_behaviour Questa opzione dal
nome un po’ criptico cambia la modalità
di boot, grafica o testuale.
La quantità di software presente in Raspbian
è stata mantenuta al minimo indispensabile
o poco più. Questa è un’ottima idea,
ma usando la distro potreste sentire
la mancanza di qualcosa. Fortunatamente,
visto che Raspbian è legata ai repository
ARM di Debian, avete accesso a più
programmi di quanti possiate desiderare.
Se state usando un mouse, potreste voler
installare un gestore di pacchetti grafico:
vi raccomandiamo Synaptic. Per installarlo
digitate in un terminale
sudo apt-get install synaptic
Potete aprirlo dal menu di LXDE D
PreferencesD Synaptic Package Manager.
Ovviamente potete installare anche tutti
gli altri programmi che volete.
Raspbian
OverclockingIl processore al cuore della Raspberry Pi è progettato
per funzionare a 700 MHz. Questo vuol dire cheesegue 700.000.000 di operazioni al secondo.
Certo, “progettato per funzionare” non vuol dire
“deve funzionare”: potete incrementare quella
velocità. Facendolo, però, aumenterete i consumi
energetici e di conseguenza il calore generato. Se
la scheda si scalda troppo, rischiate di ritrovarvi con
un grumo di silicio piuttosto che con un processorefunzionante. Fortunatamente l’ultima versione di
Raspbian include un tool che vi aiuta ad aumentare
la velocità tenendo sotto controllo le temperature.
Visto che si tratta di uno strumento ufficiale, usandolo
non invaliderete la garanzia (diversamente da altrimetodi sorti in precedenza). Per overcloccare
la vostra RP non dovete fare altro che digitare sudo
raspi-config e selezionareOverclocking. Ci sono
alcune opzioni tra cui scegliere, in base a quanto
coraggiosi vi sentite. Se trovate che la vostra RP
diventa instabile, riavviate il sistema tenendo premuto
il tasto Shift per disabilitare l’overclocking e poi
cambiate le opzioni in raspi-config. L’impostazionepiù estrema dovrebbe darvi il 50% in più di
prestazioni: nelle nostre prove questo ha fatto
la differenza per quel che riguarda l’esperienza
desktop, soprattutto con la navigazione Web. Se
volete tenere sotto controllo la temperatura del core
potete aggiungere il relativo widget nel pannello
di LXDE. Comunque RP spegnerà automaticamentel’overclock al raggiungimento degli 85 gradi.
1 Trasformare una RP in un portatile: http://rpidock.blogspot.it
2 Usare un Kindle come schermo: www.ponnuki.net/2012/09/kindleberry-pi
3 Trasformare RP in una sorta di supercomputer: http://bit.ly/OGBGfD
4 Controllare il vostro Arduino via Web: http://bit.ly/Xyjsld
5 Costruire un sintetizzatore: www.raspberrypi.org/archives/1878
6 Vagare nella notte remotamente: www.aonsquared.co.uk/the_dark_pi_rises
7 Controllare dei pannelli solari: http://bit.ly/MHwCHF
8 Conversare con uno straniero: www.willpowell.co.uk/blog/?p=219
9 Inviare un carico nello spazio: www.daveakerman.com/?p=592
10 Controllare una casa dal Web: http://bit.ly/WK1YCR
11 Birra fatta in casa: http://bit.ly/PSfdzr
12 Giocare con vecchi giochi: http://petrockblog.wordpress.com/retropie
13 Imparare a costruire un SO: www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os
14 Stampare foto: http://bit.ly/PvmWjF
L’overclocking aumenterà la quantitàd’energia consumata dalla RP, quindi
diventerà meno stabile se collegate diversidispositivi USB
Come tutte le buone distro, Raspbian include
una selezione di programmi per i "perditempo".
Nell'immagine vedete Squirrels dei Pygames
+
14 hack strabilianti
28 LINUX PRO 125
Raspberry Pi
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 31/100
Potete installare un player multimedialecome VLC in Raspbian e usarlo perriprodurre musica e filmati. Questa soluzionepuò andare bene se usate RP come unnormale computer e ricorrete alle funzionimultimediali di tanto in tanto. Però, vistele ridotte dimensioni dell’hardware e il fattodi essere silenziosa, la RP è lo strumentoideale per costruire un centrod’intrattenimento multimediale. Potrestepartire da Raspbian e personalizzarlain base alle vostre necessità, e ciò va benese avete in mente un utilizzo pocotradizionale. Altrimenti, visto che comenoi di LXP probabilmente sarete un po’ pigri,sarebbe preferibile sfruttare il lavoro altruipiuttosto che fare uno sforzo in primapersona. Fortunatamente per noi e per voi,un gruppo di hacker si sono accollatile difficoltà legate alla costruzionedi un media center per la RP, creandoun’immagine scaricabile da tutti. Poteterecuperare l’installer da http://bit.ly/
PSFGIe, copiatelo nella RP (presumiamoche abbiate già installato Raspbian– in alternativa su www.raspbmc.com trovate altri modi per procurarvi RaspBMC)e poi avviatelo con sudo python install.pyper scaricare e impostare la distro.Il contenuto attuale della scheda SD verràrimpiazzato, quindi assicuratevi di avercopiato eventuali file utili prima di dareil comando. Quando l’installer ha terminato,riavviate il sistema. Noterete subito delledifferenze non appena partirà l’ambientegrafico. Questa distro usa come desktopil popolare media center XBMC, decisamentediverso da LXDE di Raspbian. Poteteriprodurre file multimediali locali, in rete,
su Internet (installando svariati add-on).
Potete aggiungere musica e filmati a XBMCcollegando un dispositivo USB, oppuremettendoli direttamente nella scheda SD viaFTP (nome utente pi, password raspberry).Più avanti vi diciamo come trovare l’indirizzoIP della RP. Forse le uniche configurazioninecessarie sono quelle relative alla lingua(se volete l’ambiente in italiano) e all’audio,per verificare che sia inviato nel posto giusto.Per impostare l’italiano andate in System D Settings D Appearance D International. Per l’audio andate in Sistema D Impostazioni D Sistema D Uscita
audio e impostate analogico o HDMI in base
a ciò che state usando. Tutto questo va bene,ma è un po’ scomodo da usare con mousee tastiera. La buona notizia è che a XBMCè stato aggiunto il supporto per il controlloremoto, oppure tramite il telecomandodel televisore. Nel secondo caso doveteverificare le impostazioni del televisorecercando la funzione HDMI-CEC (chiamatain modi diversi nei vari televisori). Perl’accesso remoto, invece, c’è una praticainterfaccia Web. Usando un qualunquedispositivo dotato di browser potrete cosìcontrollare la riproduzione in XBMC. Questainterfaccia è abilitata di default, quindi dovete
solo scoprire l’indirizzo IP della RP andandoin Sistema D Info sistema D Rete.
RaspBMC
A questo punto vi basta inserire questo
indirizzo IP in un browser e il gioco è fatto.Se poi avete a disposizione uno smartphoneAndroid o iOS, potete trovare alcune appnei vari store che vi consentono di controllarein remoto XBMC. Nelle nostre proveabbiamo notato che Raspbian portaal limite i consumi energetici. Se collegatealcune periferiche USB e notate chela distro diventa un po’ instabile, potrebbeessere questo il motivo. Il modo per mitigareil problema potrebbe essere utilizzareun hub USB alimentato. Andando oltre
È possibile ottenere il controllo completodel vostro televisore usando Linux, inclusala visione in diretta della TV e la registrazionedelle trasmissioni. Potete fare questousando MythTV (www.mythtv.org).Vi servirà un secondo computer collegatoall’antenna che agisce come server.Attenti però: configurare MythTVè complesso. Per recuperare i file videoda visualizzare con RaspBMC, poi, potetememorizzarli in un altro computer connessoin rete oppure in un NAS. Il modo in cui farlodipende da come condividete i file, ma tuttoparte da Aggiungi video. Per altre
informazioni leggete le pagine del wikiall’URL http://bit.ly/OOvXb6.
Basta poco per ottenere un media centereccellente che si può comandare anchecon il telecomando del televisore
Questo è il “telecomando” remoto di default, ma ci sono altre interfacce più carinese provate a guardare tra le impostazioni di RaspBMC
LINUX PRO 125 29
Raspberry Pi
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 32/100
Le dimensioni della RP consentono
di usare questo computer per controllare
altri dispositivi embedded. Questo
potrebbe sembrare un po’ ridondante
– i dispositivi embedded hanno già
una qualche forma di controllo – ma vuol
dire che è possibile usare degli script
ed estenderli in modi altrimenti impossibili
(o almeno molto difficili) senza
un dispositivo extra. Quasi tutto quello
che potete collegare a un PC può essere
gestito dalla RP; in queste pagine daremo
uno sguardo alle fotocamere per un paio
di ragioni. Per prima cosa, Linux ne
supporta molte, e secondariamente esiste
un discreto range di progetti che potete
portare avanti una volta apprese le basi.
Il miglior tool da riga di comando
per la manipolazione delle fotocamere
da Linux è Gphoto2. Installatelo con
sudo apt-get install gphoto2
Ora diamo un’occhiata agli utili tool
che questo progetto ci offre. L’ambiente
desktop potrebbe cercare di montare la
fotocamera e questo potrebbe dare noia
a Gphoto2, quindi è meglio procedere
senza ambiente grafico. Aprite un
terminale e digitate sudo raspi-config
e sotto Boot Behaviour selezionate
la voce che non fa avviare il desktop,
poi riavviate. Nel nostro sistema di test
abbiamo visto che l’energia elettrica fornita
alla RP è sufficiente, ma volendo usareun mouse è preferibile adottare un hub
USB alimentato. Ovviamente questo
dipende da che dispositivi collegate e dalla
fonte di corrente. Nell’ambiente testuale
collegate la fotocamera ed eseguite
gphoto2 --auto-detect
Il comando cercherà di trovare
la macchina collegata alla RP. Molto
probabilmente individuerà la vostra – il
numero di fotocamere supportate è molto
ampio, ma non include tutti gli esemplari
esistenti. Se la vostra non è tra quellecompatibili, non vi rimane che cambiare
macchina. Non tutte le fotocamere sono
uguali e il prossimo passo vi serve
per capire cosa può fare la vostra.
Per elencare le azioni possibili digitate
gphoto2 --auto-detect --abilities
Ci sono, in linea generale, due classi
di azioni: cattura e upload/download.
La prima
classe
vi consente
di scattare
le foto
dai vostriscript
ed è presente nei modelli superiori.
La seconda classe vi permette
di manipolare le foto memorizzate nella
scheda di memoria ed è attiva per la
maggior parte delle fotocamere. In queste
pagine usiamo questa seconda classe
di funzioni. Il comando più semplice
che potete inviare alla fotocamera è quello
che vi fa ottenere tutte le foto presenti
nella memoria del dispositivo:
gphoto2 --auto-detect --get-all-files
Avviando questo comando scaricherete
tutti i file dalla fotocamera nella directorycorrente. Questo andrebbe bene su un
computer normale, ma sulla RP non può
andare perché si rischia di riempire
in breve tempo la scheda SD. Conviene
copiarle su una chiave USB. Per fare
questo in una sessione interattiva potreste
semplicemente usare un tool grafico per
montare la chiave USB, usare df -h per
vedere dov’è montata la chiave e spostarvi
al suo interno con cd. Però, volendo fare
le cose in automatico tramite script,
bisogna trovare un modo per capire dove
viene montata la chiave. Ci sono alcuni
modi per farlo, ma faremo la scelta piùsemplice: monteremo la prima partizione
“Le dimensioni della RP consentonodi usarla per controllare altri
dispositivi embedded”
Controlla la fotocameraFate il backup delle vostre foto con Raspberry Pi
In questa forma, il tutto non è molto portabile, ma con un po’ di giudizioso fai-da-tedovreste essere in grado di assemblare il tutto in modo corretto
Alimentare la RPLa Raspberry Pi trae l’alimentazione dalla porta
micro USB. Questa fornisce 5V, e la Raspberry
Pi Foundation consiglia una corrente di almeno
700mA. Questo si può ottenere con un
alimentatore da rete, oppure collegando un
cavo USB al computer o ai televisori dotati di
porta USB. Se volete rendere portabile la RP, ci
sono alcune opzioni. Quattro batteria AA
dovrebbero fornire abbastanza potenza,
supponendo che abbiate le conoscenze e i cavi
per collegare il tutto. Però noi troviamo che la
soluzione migliore sia usare una di quelle
batterie di riserva per gli smartphone dotata di
cavo micro USB.
30 LINUX PRO 125
Raspberry Pi
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 33/100
del primo disco e memorizzeremolì le foto. Ipotizziamo che stiate usandol’utente standard, pi. Se non è così dovetemodificare lo script che stiamoper presentarvi. Per prima cosa bisognacreare un punto di montaggio per il drive.Serve quindi una cartella e può essere
messa ovunque – nello script tralasceremole convenzioni e la metteremo nella home.Quindi, prima di eseguire lo script, digitate mkdir /home/pi/pic_mountFatto questo siete pronti a proseguire.Ecco lo script per montare il drivee recuperare le foto: #!/bin/bash if mount /dev/sda1 /home/pi/pic_mount ;then
echo “Partition mounted” cd /home/pi/pic_mount yes ‘n’ | gphoto2 -- auto-detect--get-all-files
umount /dev/sda1 else echo “/dev/sda1 could not be mounted” fiyes ‘n’ è un comando che emettesemplicemente uno stream di caratteri n.Questo vuol dire che quando Gphoto2chiede se si vuole sovrascrivere qualcheimmagine, la richiesta verrà declinata.Il comando umount è essenziale,perché assicura che la chiave USBsia opportunamente sincronizzataprima di essere rimossa. Abbiamochiamato lo script get-pics.sh
e lo abbiamo salvato nella home directorydella RP. Per renderlo eseguibile si usa chmod +x /home/pi/get-pics.shOra dovreste essere in grado di eseguirloa mano. Dovrete usare sudo perchébisogna montare un’unità esterna.Il pezzo finale del puzzle è l’esecuzioneautomatica di questo script. Per farequesto lo aggiungiamo a /etc/rc.local .Lo script viene eseguito al boot,con i privilegi di root, quindi nonc’è bisogno di preoccuparsi dei permessi.Vi basta aprire il file con un editorcon privilegi di root. Ad esempio,
con sudo nano /etc/rc.local,
aggiungete la linea seguente: /home/pi/get-pics.shappena prima della linea exit 0. Oratutto quello che dovete fare è collegarela fotocamera (assicuratevi che sia accesa)e la chiave USB: lo script farà il backupdi tutte le foto.
EvoluzioneSe volete usare la RP senza uno schermo,e molti lo vorranno, potreste collegaredei LED ai pin GPIO, come mostratopiù avanti, e usarli per indicare lo stato.Così come avete salvato le foto su chiaveUSB, potreste caricarle su un servizioondine, come Flickr. Leggete il boxqui in basso per vedere come collegarealla rete la vostra RP tramitelo smartphone. Potete includere una sortadi switch per dire alla RP quali fotocaricare, e quali invece mettere su chiave
USB, ad esempio caricare online quellein bassa risoluzione e salvare su USBquelle in alta. Oppure potreste far creareallo script le versioni in bassa risoluzione
Gphoto2 ha molte più funzionalità di quelle che abbiamo usato in queste pagine, inclusi i bindingper Python e Java. Per tutti i dettagli del caso visitate il sito Web del progetto, www.gphoto.org
da mettere online. Certo, non dovetefermarvi a questo punto. Se aveteuna chiave USB Wi-Fi, potete usarla pertrasformare la RP in un server Web. Conun po’ di scripting PHP (o in qualche altrolinguaggio per il Web) potreste creareun’interfaccia grafica per Gphoto2 chevi consenta di collegarvi dallo smartphone.
Prendendo invece una direzione diversa,se la vostra fotocamera supporta l’opzionedi cattura, potreste usare la vostra RPper scattare foto, oltre che per copiarle.
NetworkingLa Raspberry Pi ha di serie una porta di reteEthernet, comoda in molte occasioni, ma nonsempre il cavo di rete arriva ovunque. È possibileusare una chiave USB wireless (sul wiki di RP trovateun elenco di chiavi compatibili). Comunque, se aveteuno smartphone Android e il vostro provider non hadisattivato questa feature (il tethering), potete usarlocome dispositivo di rete. Questo ha il vantaggiodi non consumare energia dalla RP e quindi è unabuona soluzione quando state usando delle batterieper alimentare la RP. Dovreste essere in grado
di condividere sia la connessione Wi-Fi sia il 3G.Ovviamente conviene controllare quale delle dueconnessioni si sta usando prima di scaricare filedi grandi dimensioni. Per fare ciò, collegateil vostro telefono alla RP, poi abilitate il tetheringin Impostazioni D Wireless e rete D Tethering.Tornando alla RP, se digitate sudo ifconfig, dovrestevedere l’interfaccia usb0, priva di indirizzo IP, però.Le interfacce di rete sono controllate dal file /etc/
network/interfaces. Di default non c’è una voceper il networking USB, quindi dovete aggiungerlo voi.
Aprite il file con il vostro editor di testo preferito(con sudo). Per esempio, con sudo nano
/etc/network/interfaces e aggiungete le linee iface usb0 inet dhcp nameserver 208.67.220.220 nameserver 208.67.222.222Qui abbiamo usato i nameserver di OpenDNS,ma potete usare quelli che volete. Ora poteteriavviare le interfacce di rete oppure la RPper attivare i cambiamenti. A questo puntola connessione Internet dovrebbe essere attiva.
LINUX PRO 125 31
Raspberry Pi
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 34/100
Prima abbiamo detto che le ridotte
dimensioni della RP la rendono perfetta
per controllare altri dispositivi embedded,
ma lo stesso vale se si vuole creare un
proprio dispositivo embedded. Si potrebbe
creare un piccolo computer che risolva un
particolare problema, come il controller per
la fotocamera visto nelle pagine precedenti.
Il guaio è che potrebbe essere un po’
difficile capire cosa sta succedendo nella RP
se non si usa uno schermo. Fortunatamente
i progettisti del piccolo computer hanno
pensato a questo problema e hanno
aggiunto la possibilità di ottenereinformazioni (o inviare degli input) senza
usare le usuali periferiche per PC (schermo,
tastiera e mouse). Questo si può fare
tramite il General Purpose Input and Output
(GPIO). Vi sareste chiesti a cosa servono
tutti quei pin posti vicino alla scheda SD…
bene, state per scoprirlo. Questo circuito
può essere usato per mostrare informazioni
da qualunque sorgente, ma in queste
pagine lo useremo per risolvere unproblema in cui incappiamo spesso: trovare
il byte finale di un indirizzo IP. Ciò è utile se
volete accedere in remoto alla vostra RP,
ma non potete configurargli un indirizzo IP
statico perché, per esempio, dovete
spostarla in diverse reti. Di solito potete
individuare i primi tre byte dalla netmask,
ma quello finale può essere elusivo
se non si ha un monitor. Useremo
il programma gpio, che
fa parte di WiringPi. Potete trovare
altre informazioni all’URL
http://bit.ly/RP8UKJ . Potete
scaricare il codice sorgente
compresso, per cui
decomprimetelo e compilatelo:
tar xvf wiringPi.tgz cd wiringPi/wiringPi
make
sudo make install
cd ../gpio
make
sudo make install
Bisognerà usare anche bc, quindi digitate
sudo apt-get install bc
Ora basta con il software, si passa
all’hardware. Una breve nota, però, prima
di iniziare: è possibile rompere la RP
collegando in modo errato i fili, quindi
controllate tutto due volte prima
di alimentare la RP. Il circuito che vi serveè molto semplice: è sufficiente collegare
ogni output al terminale positivo di un LED
(in genere quello più lungo), e poi il
terminale negativo (quello più corto) a una
resistenza da 10K Omh. Infine collegate
l’altro lato della resistenza a massa.
Guardate le figure 1, 2 e 3 per i dettagli.
Una volta preparata la basetta da
connettere alla RP, è il momento di dare
il via all’esperimento. Per iniziare si usa
il pin finale. Questo è il pin 7 (il layout dei
pin non segue un percorso ordinato). Aprite
il terminale e preparate un output con
gpio -g mode 7 out
“È possibile romperela RP collegando in modoerrato i fili elettrici”
Inviare output Usate i pin GPIO per illuminare alcuni LED
Legge di OhmCi sono due modi per misurare l’elettricità:
tensione e corrente. La tensione (misurata in Volt)
è la quantità d’energia posseduta da una certa
quantità di elettroni, mentre la corrente (misurata
in Ampere) è la quantità di carica elettrica che
attraversa una determinata superficie nell’unità
di tempo. Le due grandezze sono intimamente
legate dalla legge di Ohm che dice: Tensione= Corrente * Resistenza, o V=IR. Potete usare
questa legge per assicurarvi di non friggere
la vostra RP fornendole troppa corrente. Il setup
esatto della RP è un po’ complesso. Se volete
entrare nei dettagli, Gert van Loo (uno dei
progettisti) ha messo assieme delle spiegazioni
che potete trovare all’indirizzo Web http://bit.ly/Qp4PMl. A spanne, potete aspettarvi di avere
in uscita 3,3V da un pin GPIO e non dovreste
ottenere più di 16mA, oppure fornire più di questovalore a un pin di input. Questa è la corrente
massima, dovreste cercare di usarne meno.
Quindi, con la legge di Ohm V=IR, potete calcolare
R=V/I. Usando i dati forniti per la RP, e non
volendo danneggiare il piccolo computer,
si trova che R deve essere almeno di 3,3/0,016
Ohm, cioè 206,25 Ohm. Ricordate, questa è
la resistenza minima da usare in modo sicuro con
un output GPIO. Dovreste usare una resistenza
diverse volte maggiore per avere un margine disicurezza. Nei nostri circuiti abbiamo usato 1000
Ohm, con un fattore di sicurezza di circa 5.
1 Qui vedete come sono collegati la metà dei LED. Gli altri si collegano allo stesso modo
1 5 10 15 20 25 30
1 5 10 15 20 25 30
A
B
C
D
E
F
G
H
I
J
GND Pin 7 Pin 8 Pin 25 Pin 23
32 LINUX PRO 125
Raspberry Pi
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 35/100
Ora attivatelo con gpio -g write 7 1e spegnetelo con gpio -g write 7 0Fatto? Funziona tutto? Ok, ora procedetecon lo script che vi mostriamo ora.Esso contiene quattro parti. La prima
imposta i pin nella modalità correttae si assicura che siano spenti: pins=“7 8 25 24 23 18 15 14”
for x in $pins do gpio -g mode $x out gpio -g write $x 0 doneLa seconda parte recupera l’indirizzo IPda ifconfig, lo converte in binario e loprepara per l’output: ipaddress=`ifconfig eth0 | grep ‘inet ‘ | awk‘{print $2}’ | cut -f4 -d’.’`
binary=`echo“ibase=10;obase=2;$ipaddress” | bc`
paddedBinary=`printf %08d $binary`La parte successiva usa cut per estrarrela parte che ci serve dalla stringa binariae la invia ai pin corretti: bit=1 for x in $pins do out=`echo $paddedBinary | cut -b$bit` gpio -g write $x $out bit=$((bit+1)) doneInfine diciamo allo script di “addormentarsi”
per cinque minuti per poi spegnere i LED. sleep 5m for x in $pins do gpio -g write $x 0 doneTrovate questo script (assieme agli altri filedi cui abbiamo parlato nell’articolo) all’URLhttp://bit.ly/12zC9HU; recuperateloe rendetelo eseguibile con: chmod a+x showIP.sh
Poi digitate sudo ./showIP per visualizzare
il vostro IP. Per fare in modo che lo scriptparta automaticamente al boot vi bastaaggiungere la linea /home/pi/showIP.sh &al file rc.local. Nelle pagine precedentivi abbiamo spiegato come fare. Avete vistocome inviare un output tramite GPIOma, come suggerisce il nome, è anchepossibile inviare un input. Come prima,anche in questo caso bisogna fareattenzione ai fili che si collegano e a non
inviare troppa corrente alla scheda. Per
accettare l’input bisogna impostare questamodalità con gpio -g mode <numero_
pin> in e poi leggere il valore con gpio -g
read <numero_pin>. L’hardware puòvisualizzare ogni informazione a otto bit,quindi non siete limitati a mostrare indirizziIP. Ad esempio si potrebbe fare unaversione modificata dello script dellafotocamera per usare i LED in modoche indicano lo stato d’avanzamentodella copia. Potete trovare ulterioriinformazioni sui pin GPIO all’URLhttp://bit.ly/JTlFE3 . I pin che abbiamousato sono gli stessi sia che abbiate
la RP revisione 1 sia la revisione 2,ma altri sono cambiati tra le due versioni.Se progettate dei circuiti vostri, o usatequelli trovati sul Web, assicuratevidi collegarvi ai corretti pin sulla scheda.Non dovete limitarvi a spegneree accendere i pin. La RP supportaalcuni metodi per passare maggioriquantità di dati attraverso GPIO.I due metodi più comuni sono il busSerial Peripheral Interface (SPI)e Inter-Integrated Circuit (I2C).Esistono diversi dispositivi da usarecon questi strumenti, una ricerca sul Web
vi dirà tutto. Cosa aspettate?Tirate fuori il saldatore e preparatevia costruire la vostra armata robotica! LXP
Gertboard e ArduinoCollegandovi direttamente ai pin GPIOdella RP avete un controllo di base di inpute output, ma ci sono delle limitazioni.Ci sono due dispositivi che potete usare
per interagire in modo più preciso conil mondo circostante. La Gertboard è unascheda d’espansione piuttosto complessaper collegare la RP al mondo reale e includeun micro controllore e un set di opzionidi input e output. Viene venduta in un kit
da assemblare, quindi vi servirà un saldatoreper mettere tutto assieme. In alternativapotete usare la nostra amata Arduino,un micro controllore che potete collegare
alla RP (o a ogni altro computer) via USB.Potete acquistare Arduino da sola, oppurein vari kit. Nella sua forma base ha qualchefeature in meno rispetto alla Gertboard(che include un controller Arduino),ma potete espanderla con diversi shield.
2 Collegate la breadboard a questi pin. Noi abbiamo usato dei normali connettori a singolopin, ma potete anche ricorrere al saldatore o usare un vecchio cavo IDE
3 Il semplice circuito in tutta la sua gloria
Pin 7 Pin 8 Pin 25 Pin 24
GND
GND
Pin 23 Pin 18 Pin 15 Pin 14
Pin 7 Pin 8 Pin 25 Pin 24 Pin 23 Pin 18 Pin 15 Pin 14
LINUX PRO 125 33
Raspberry Pi
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 36/100
34 LINUX PRO 125
Sysadmin
Premiata Amministreria
Dottor BrownTecniche esoteriche per i sysadmin direttamente
dai recessi più impenetrabili della sala server
Già da qualche tempo la Linux Foundation
offre corsi di formazione (in inglese), ma finora
si trattava quasi esclusivamente di proposte
per autentici guru del kernel, con titoli come
“Linux Kernel Internals and Debugging”
oppure “Developing Linux Device Drivers”.
Recentemente, però, il portafoglio dei corsi
si è allargato fino a comprendere corsi
per utenti e amministratori, con titoli come
“Linux Administration” o “Cloud Architecture
and Deployment”. Vengono proposti anche
corsi più brevi, dalle due ore ai due giorni,
che trattano il delicato argomento della
conformità all’Open Source: una materiasu cui io sono così profondamente ignorante
da non sapere nemmeno con cosa si possa
desiderare di essere conformi o (più
appropriatamente) perché debba essere
più difficile essere conformi con l’Open Source
di quanto non lo sia esserlo con il closed source.
Ci sono poi corsi sullo sviluppo su Android
e Dominic Duval (che è a capo del dipartimento
di formazione aziendale della Linux Foundation)
mi ha detto il prossimo anno ne verranno lanciati
di nuovi. Le proposte della fondazione sono
rivolte principalmente al mercato dei corsi
aziendali on site, ma spesso vengono offerti corsiaperti a tutti durante lo svolgimento dei loro
eventi, come il recente LinuxConf di Barcellona
all’inizio di novembre. Cambiando completamente
discorso, ho appena sostituito il mio iPhone con
un telefono Android e ora posso collegarmi
al mio laptop e copiare i file musicali direttamente
dal prompt di comandi Linux. Evviva! Perché
sia rimasto così a lungo legato a iTunes rimane
un mistero. Apple rimane maestra nel progettare
interfacce, ma i suoi metodi per legare
a sé l’utente e la sua tendenza a scatenare
dispute legali milionarie mi stanno stancando.
Ho in mente un certo gesto, da fare con
due dita, ma non sono sicuro d i poterlo usare.
Probabilmente Apple l’ha brevettato.
Nuovi corsidi formazione
Dr Chris BrownIl Dottore si occupa di formazione, scritturadi articoli e consulenze su Linux.Trova che il suo PhD in fisica delle particellenon sia di alcun aiuto in questo tipo di lavoro.
Quando fu lanciato Amazon Web
Services le cose eranopiacevolmente semplici. Si creava
qualche istanza di macchina, gli siassegnava un po’ di memoria di massae si poteva calcolare in pochi istanti il costoorario. Le cose sono cambiate da allora.Attualmente, a meno che per caso abbiatediscusso una tesi di dottorato su,ad esempio, la completezza geodeticadelle varietà riemanniane infinitamentedifferenziabili, il calcolo del costo totale puòrisultare piuttosto complicato. Niente paura,c’è l’help. Amazon ha un Simple Monthly
Calculator ( semplice calco latore mensile)che si trova all’URL http://calculator.s3.
amazonaws.com/calc5.html . Bastaspecificare di quante istanze on-demand si ha bisogno, e di quante istanze riservate,e quale dei 12 tipi disponibili di istanze sivuole, e quanti riassegnamenti di IP elastici,e quanta memoria (e quanta parte di essapuò essere di tipo a “ridondanza ridotta”), equante richieste PUT e GET verranno fatte,e quante connessioni VPN servono, e... e...beh, la lista è davvero lunga,ma penso che abbiateafferrato l’idea. Nell’ipotesiche siate in grado di forniretutti questi dati,il calcolatore vi dice quantovi costerà. L’immagine quisotto mostro solo una delle17 linguette a sinistra, checorrispondono ai vari serviziofferti da Amazon. Si trattaovviamente di uno stranoutilizzo della parola semplice di cui non ero aconoscenza. AncheRackspace ha uncalcolatore dei costi(www.rackspace.co.uk/
Costi nebulosiScegliere un servizio cloud su AWS sta diventando complicato quanto
ordinare un caffè da Starbucks
cloud-hosting/learn-more/calculator/ )che è più semplice, anche se la principaleragione di questa semplicità sta nel piùridotto portafoglio di servizi offerti. Ora,io capisco i vantaggi di una veloce scalabilitàe dell’affitto a ore, e lo spostamento daCapex (spese per capitale) a Opex (spesaoperativa), ma mi chiedo quanto ci vorràperché qualcuno si convinca che è più facilecontrollare i costi creando un proprio datacenter. E per me? Credo che prenderòsemplicemente un vente split-shot skinny
mocha frappuccino, grazie.
È facile (e gratuito) iniziare con Amazon WebServices, specialmente se avete giàun account. Amazon offre il suo free usage tier gratuitamente per 12 mesi, per permettereagli utenti di sperimentare numerosi dei servizichiave di AWS. Attenzione però che si pagaquando si eccedono i limiti dell’offertae che comunque dopo 12 mesi è finita.
Free Usage Tier
Il Simple Monthly Calculator di Amazon
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 37/100
LINUX PRO 125 35
Sysadmin
Quindi volete fare l’amministratore di sistema?
Il mese scorso vi ho parlato delle opzioni a disposizioneper accedere ai server che state cercando di amministrare
dal desktop della macchina di fronte alla quale vi trovate.
Ho discusso di strumenti come ssh e VNC. Questo mese
ci occuperemo delle basi della configurazione della rete
su un server. Impareremo come:
∆ Assegnare l’indirizzo IP, la maschera di rete e gli altri
parametri delle interfacce di rete
∆ Definire un instradamento di default
∆ Definire instradamenti statici verso reti specifiche
∆ Specificare la posizione dei server DNS
∆ Configurare un sistema Linux come router
Tutti gli articoli della serie fanno riferimento a CentOS 6.2.
Se volete seguirli nei dettagli vi conviene installare questa
distro (magari all’interno di una macchina virtuale) comedescritto il mese scorso. Ok, cominciamo... I server (per
definizione) non sono isolati, ma connessi a una o più reti.
La figura qui sotto illustra un tipico scenario nel quale può
venirsi a trovare un server. I personaggi principali (mostrati
nella figura) della nostra storia sono:
∆ A Il personaggio principale della storia: la Linux boxche stiamo configurando. Sta sulla rete 10.1.3.0/24,
una delle reti interne dell’azienda.
∆ B Una macchina sulla rete interna 10.1.2.0/24.
∆ C Un router che collega la nostra rete interna al backbone
aziendale, la rete 10.1.1.0/24. Questo router, come gli altri
in figura, potrebbe essere un apparato specifico per questa
applicazione, come un router Cisco, oppure un’altra Linux
box. Vedremo più avanti come configurare un router Linux.
∆ D Un router che collega una rete interna al backbone.
∆ E Un router che collega le due reti interne.
∆ F Il server DNS dell’azienda (non tutte le aziende hanno
un server DNS interno, ma questa ce l’ha).
∆ G Altre macchine sul backbone aziendale.
∆ H Il router che collega tutto il resto a Internet. Il suoindirizzo verso l’esterno (80.244.178.150) è l’unico a essere
instradabile da Internet. Tutti gli altri sono all’interno del blocco
di indirizzi 10.0.0.0/8, che è riservato ad uso privato interno.
L’aspetto fondamentale della configurazione IP consiste
nell’assegnare un indirizzo e una maschera di rete
Seconda puntata della serie che vi trasformerà da utenti inesperti in navigati amministratori
di sistema. Questo mese esaminiamo la configurare della rete
L’architettura della rete che prendiamocome esempio in questo articolo.I cerchi con le frecce indicano un router
Server DNS
H
C
E
D
Il tuoserver
Backbone aziendale
10.1.3.0/24Rete10.1.2.0/24
Rete
10.1.1.0/24
Network
Internet
10.1.1.1
10.1.3.254
80.244.178.150
10.1.1.254
10.1.3.8
10.1.3.252
10.1.2.252
10.1.2.5
10.1.1.200
F
G
B A
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 38/100
36 LINUX PRO 125
Sysadmin
all’interfaccia del nostro server. La maggior parte delledistribuzioni Linux fornisce uno strumento grafico per farlo,ma la nostra ipotesi è che il server non abbia installatoun desktop grafico. Quindi vedremo invece come modificarei sottostanti file di configurazione. Si tratta di file di testonon particolarmente complicati. Il file /etc/sysconfig/network
definisce alcune impostazioni di base valide per tutto il sistema,nel senso che si applicano a tutte le interfacce di retedel nostro server, non solo a una. Il file è di solito molto brevee si presenta più o meno così: NETWORKING=yes HOSTNAME=centos62.example.comI file che definiscono invece le impostazioni per le singoleinterfacce di rete, nel nostro caso la sola interfaccia eth0,hanno nomi come /etc/sysconfig/network-scripts/
ifcfg-eth0. Il loro contenuto sul vostro sistema CentOS 6.2dipenderà da come è stata configurata la rete al momentodell’installazione, ma probabilmente al suo interno ci sarà NM_CONTROLLED=“yes”che indica che l’interfaccia è sotto il controllo del
NetworkManager, uno strumento creato da RedHat(ma che si può trovare in molte altre distribuzioni) che cercadi mantenere attive le connessioni di rete, con poco o nessunintervento da parte dell’utente, su macchine che si spostanodi frequente tra reti diverse. NetworkManager attiveràuna connessione Ethernet con filo se ne rileva una oppure, incaso di impossibilità, cercherà di connettersi a una rete Wi-Fise ne scopre una a cui vi siete già collegati in passato. Per iportatili è piuttosto comodo, ma non è adatto ai server. Quindine faremo a meno e imposteremo manualmente tutta laconfigurazione. Per prima cosa fermeremo NetworkManagere faremo in modo che non riparta al riavvio della macchina: # service NetworkManager stop # chkconfig NetworkManager off
Addio NetworkManager! Poi modificheremo il file ifcfg-etho e assegneremo i parametri IP desiderati. Se statesperimentando sul vostro sistema tenete presente chel’indirizzo IP che assegnerete dovrà corrispondere a quellodella vostra rete e probabilmente non sarà lo stesso di quellousato qui. Ecco un semplice esempio: DEVICE=“eth0” ONBOOT=yes BOOTPROTO=none IPADDR=10.1.3.8
NETMASK=255.255.255.0 IPV6INIT=noPrestate attenzione alla sintassi. Questo file vienesemplicemente letto da una shell, quindi le righeal suo interno devono avere una sintassi validaper la shell. In particolare non ci devono essere spazi
attorno al carattere =. La shell è piuttosto pignolaal riguardo. Dopo aver modificato il file dovrete far ripartirela rete per rendere effettive le modifiche: # system network restartQuesto comando fermerà e poi riavvierà tutte le interfaccedi rete della macchina (nel nostro caso sono due: l’interfaccialoopback ed eth0). Se avete più di un’interfaccia di rete,una maniera meno invasiva per rendere effettive le modificheconsiste nel riavviare solo una interfaccia, a questo modo: # ifdown eth0 # ifup eth0Qualsiasi metodo usiate, dovreste ora verificareche l’interfaccia è attiva: # ifconfig eth0
eth0 Link encap:Ethernet HWaddr 08:00:27:6D:55:56 inet addr:10.1.3.8 Bcast:10.1.3.255Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500Metric:1Per brevità ho eliminato numerose righe visualizzate dalcomando, ma la cosa più importante da verificare è l’indirizzoIPv4 assegnato alla scheda. Come potete vedere l’interfacciaè attiva con l’indirizzo IP che ci aspettavamo. Sì, lo so chela pagina di manuale di ifconfig dice che è obsoleto. Ma lousano tutti. Come scrisse Mark Twain dopo aver letto il suonecrologio sul New York Times: “La cronaca della mia morteera una vera e propria esagerazione”. Un’altra maniera peravere una rassicurante conferma del fatto che l’interfaccia
è attiva consiste nell’eseguire un ping da un’altra macchina.Se state sperimentando facendo girare il server Linuxin una macchina virtuale potete provare a eseguireil comando sulla macchina ospitante: # ping -c1 10.1.3.8 PING 10.1.3.8 (10.1.3.8) 56(84) bytes of data. 64 bytes from 10.1.3.8: icmp_req=1 ttl=64 time=11.6 ms --- 10.1.3.8 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 11.661/11.661/11.661/0.000 ms
Notazione IP
Un indirizzo IP consiste di network ID e host ID . Il suffisso /24indica la posizione del confine tra le due pa rti
Un indirizzo IPv4 è composto di 32 bit. Perscriverlo viene diviso in parti da 8 bit ciascuna,ognuna delle quali viene rappresentata comenumero decimale (compreso tra 0 e 255);sono poi aggiunti tre punti per separarei numeri, come visibile nella figura qui a fianco.È la cosiddetta dotted decimal notation (notazione decimale coi punti). La parte altadell’indirizzo è l’identificativo della rete,il cosiddetto network ID , che viene utilizzatoper prendere le decisioni sull’instradamento deipacchetti. La parte bassa invece è l’identificativodell’host o host ID , che caratterizza unamacchina specifica (o, più precisamente, unaspecifica connessione) all’interno di quella rete.Per una rete specifica la maschera di rete o
network mask è usata per specificare il confinetra identificativo della rete e identificativo
dell’host all’interno di un indirizzo IP. Gli unonella maschera di rete mostrano quale partedell’indirizzo costituisce il network ID, mentre gli
zeri indicano la parte relativa all’host ID. Quindi,ad esempio, la maschera 255.255.252.0,che in binario viene rappresentata con 22uno seguiti da 10 zero, significa che i 22 bitalti costituiscono il network ID. Vi capiterà divedere più spesso le maschere di rete scrittecome suffisso. Ad esempio, se parliamo dellarete 10.1.3.0/24 intendiamo che i 24 bit altisono il network ID. In questo caso la divisionetra identificativo di rete e identificativo dell’hostcade esattamente tra un byte e l’altro, ma puòanche non essere così. La più vecchianotazione decimale con i punti e la nuova
notazione con suffisso vengono entrambeusate a seconda del contesto.
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 1 0 1 0 0 0
subnet mask
Network ID
IP address
Host ID
Il numero di bit all’internodell’indirizzo IP che va interpretatocome identificativo di rete.
192.168.0.5/24
0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 1
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 39/100
LINUX PRO 125 37
Sysadmin
Tocchi finaliBisogna ora definire il gateway di default per la macchina.Si tratta del nodo della rete a cui invieremo i pacchettiquando cerchiamo di raggiungere una macchinache non si trova sulla nostra stessa rete e per la qualenon esiste un instradamento specifico. In sostanza il gateway
di default è l’extrema ratio. Esaminando il diagrammadi rete visto prima scopriamo che il gateway di defaultper il nostro server Linux è la connessione di retesul lato inferiore del router “C”. È possibile definirloin una riga di ifcfg-eth0: GATEWAY=10.1.3.254Dobbiamo infine dire al nostro server dove si trovano i suoiserver DNS. Per farlo dobbiamo inserire qualcosa di questogenere nel file /etc/resolv.conf: nameserver 10.1.1.200In questo caso stiamo usando un server DNS internoche si trova sul backbone aziendale. Molto probabilmentesi tratta di un server DNS di tipo caching-only ,che semplicemente inoltra le richieste a un server
più autorevole, ma è in grado di ricordare le risposte,in modo che le successive ricerche dello stesso nomepossano essere servite velocemente accedendo alla cachelocale. Se non avete un server DNS locale potete specificarneuno esterno. Ovunque si trovi il vostro server DNS primarioconviene specificarne uno secondario (cioè semplicementeaggiungere una seconda riga di definizione all’internodi resolv.conf), in modo che la risoluzione dei nomi continuia funzionare anche quando il server DNS primario è giù.È uno dei pochi casi in cui non è necessario inviareun segnale a un demone o riavviare qualcosa per rendereeffettive le modifiche. La versione modificata di resolv.confverrà consultata automaticamente a partire dalla prossimaricerca DNS. Abbiamo così completato la configurazione
di base del nostro server. Possiamo però migliorare un po’le cose. Con la configurazione attuale la nostra macchinaaccede alla rete 10.1.2.0/24 passando per il gatewaydi default “C” e poi per il router “D”. C’è naturalmenteuna strada più breve attraverso il router “E”. Per informareil nostro server di questa possibilità dobbiamo aggiungereuna riga al file /etc/sysconfig/network-scripts/route-eth0:qualcosa di questo genere: 10.1.2.0/24 via 10.1.3.252È possibile esaminare la tabella di instradamento (o tabelladi routing) del nostro server con il seguente comando: $ netstat -nr Kernel IP routing table Destination Gateway Genmask Iface
10.1.3.0 0.0.0.0 255.255.255.0 eth0 10.1.2.0 10.1.3.252 255.255.255.0 eth0 169.254.0. 0 0.0.0.0 255.255.0.0 eth0 0.0.0.0 10.1.3.254 0.0.0.0 eth0Per brevità ho eliminato qualche riga dall’output del comando.La tabella di routing è usata in questo modo: quando lo stratoIP del kernel riceve un pacchetto da spedire all’esternol’indirizzo di destinazione viene confrontato con ciascunariga della tabella. Il confronto viene eseguito per mezzodi un’operazione di AND bit a bit tra l’indirizzo di destinazionee il valore della colonna Genmask: se il risultato corrispondeal valore della colonna Destination al pacchetto vieneapplicata la regola descritta dalla riga e quindi viene speditoal gateway presente nella corrispondente colonna attraverso
l’interfaccia Iface. Viene applicato l’instradamento più specifico,cioè quello con il Genmask più lungo. La prima riga dellatabella descrive la rete a cui il server è collegato direttamente
(il gateway risulta essere0.0.0.0). La seconda rigadefinisce l’instradamentospecifico verso la rete10.1.2.0 (è il risultato dellariga che abbiamo aggiunto
in route-eth0). La terza rigaè stata aggiunta dal demoneAvahi, che implemental’architettura Zeroconfdi Apple; questa riga nonè molto importante peri nostri scopi. La quarta rigadefinisce invecel’instradamento di default:a qualsiasi pacchettoche non abbia trovatouna regola più specificanella tabella viene applicataquella descritta da questa
regola, perché l’AND bita bit di un qualsiasi indirizzocon una Genmaskdi 0.0.0.0 dà come risultato0.0.0.0, proprio il valore che compare nella colonnaDestination della regola.
Configurare un routerQuesto è tutto per il nostro server Linux con la sua unicainterfaccia di rete. Se vogliamo essere un po’ più ambiziosipossiamo provare a vedere come potremmo configurareun sistema Linux che abbia il ruolo del router “C” del nostrodiagramma. È abbastanza semplice. Questa macchinaha due interfacce di rete, eth0 e eth1. Facciamo l’ipotesi
che eth1 sia l’interfaccia superiore, con indirizzo IP 10.1.1.1 e eth0 quella inferiore, con indirizzo 10.1.3.254. Dovremocreare due file di configurazione, ifcfg-eth0 e ifcfg-eth1,ognuno dei quali dovrà specificare il corretto indirizzo IP.Non dimentichiamoci inoltre di modificare la riga DEVICE= in modo che corrisponda al nome dell’interfaccia. L’unicaaltra cosa che ci rimane da fare per trasformare la nostramacchina in un router consiste nell’abilitare l’IP forwarding,cioè l’inoltro sull’altra interfaccia dei pacchetti IP ricevutisu una di esse. Il kernel Linux non lo fa di default,ma è possibile abilitarlo facilmente, scrivendo 1 nel parametro appropriato del kernel: # echo 1 > /proc/sys/net/ipv4/ip_forwardÈ possibile ottenere lo stesso risultato con meno battute:
# sysctl -w net.ipv4.ip_forward=1Così abbiamo abilitato l’inoltro IP. Per rendere la modificapermanente basta aggiungere una riga a /etc/sysctl.conf: net.ipv4.ip_forward = 1È tutto! Abbiamo appena configurato la macchina comerouter! Se volete provare queste operazioni usando VMware,VirtualBox o qualche altra tecnologia di virtualizzazione poteteconfigurare una seconda interfaccia di rete per la vostra VMcon pochi click del mouse. Potete addirittura definire un’interainfrastruttura virtuale di rete se lo desiderate. Se voletesaperne di più vi suggerisco la terza edizione di LinuxNetwork Administrator’s Guide, tradotto in italiano daTecniche Nuove. Se davvero volete comprendere comefunziona una rete IP procuratevi una copia di TCP/IP
Illustrated, Volume 1: The Protocols. È la seconda edizione,a cura di Kevin Fall, del classico di Richard Stevens, a mioparere, il miglior libro sul TCP/IP. Ci vediamo! LXP
Questo programma di RedHat è un tipico esempiodi strumento grafico specifico di una distribuzione
per la configurazione delle interfacce di rete
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 40/100
38 LINUX PRO 125
L’angolo di
News, recensioni e guide sul sistema operativo libero per smartphone
AndroidGiocare in realtà aumentataIl primo gioco multiplayer in realtà aumentata di Google si preannuncia molto interessante
Ancora per qualche mesesarà necessario avereun invito, ma dai primi
mesi del 2013 l’accessosarà libero e gratuito per tutti,e allora ci sarà da divertirsi.Stiamo parlando di Ingress (www.ingress.com), il primoMMORPG (Massive MultiplayerOnline Role-Playing Game) inrealtà aumentata per smartphoneAndroid realizzato direttamenteda Google. Provate a immaginareun gioco come World of Warcraft,solo che invece che con lo schermodi un PC avrete a che fare consmartphone e mondo reale. Per
giocare vi basterà un dispositivoAndroid con GPS e collegamentodati, grazie al quale dovreteindividuare i Portali Energetici sparsi in tutto il mondo da Googlee che vengono contesi dai gruppidegli Illuminati e della Resistenza.Una volta arruolati in una delle duefazioni, sarete anche voi in guerraper il controllo dell’energia e quindidella razza umana, con l’obiettivodi collegare tra loro i Portalienergetici diffusi in tutto il mondo,in modo da realizzare Campi
di Controllo nelle varie areegeografiche. Il collegamentopotrà avvenire anche a distanzedi centinaia di chilometrie su questo si baseràla collaborazione tra giocatoridella stessa squadra che dovrannoriuscire a mantenere il loro Campodi Controllo libero dall’influenzadegli avversari. I portali sonostati inseriti in luoghi pubblicida Google, in modo da poteressere facilmente raggiungibili inqualsiasi momento, solo che è già
capitato che alcuni giocatori sianostati scambiati per malviventi dallasolerte polizia americana. È il caso
di un ragazzo di New York cheall’una del mattino è stato vistoarmeggiare proprio di fronte
a una stazione di polizia con il suosmartphone e immediatamentearrestato. Non è stato facileper il malcapitato spiegare chestava semplicemente partecipandoa un gioco in realtà aumentata.Nonostante i partecipanti sianoancora poche migliaia, ci sonogià delle community attivee molti gruppi di appassionati chesi aiutano e confrontano online.Le premesse per un grandesuccesso ci sono tutte, soprattuttoquando inizieranno a diffondersi
i Google Glasses, gli specialiocchiali a realtà aumentata diMountain View che permetterannodi fare a meno dello smartphonee di trasformarsi in veri cyborg.
Doppio schermoUna novità nel panorama degli smartphone
N
egli smartphone
la tecnologia a inchiostroelettronico non è maistata usata, eppure
presenterebbe indubbi vantaggi,come l’autonomia superiore alledue settimane e la possibilità divedere perfettamente lo schermoanche sotto la luce diretta del sole.Purtroppo però ci sono anche limitiimportanti, come il refresh delleimmagini estremamente lento e ilfatto che l’inchiostro elettronico siaancora in bianco e nero. Gli schermiLCD, al contrario, hanno il vantaggio
del colore e dell’alta definizionema scontano i maggiori consumie immagini imperfette sotto il sole.
Una possibile soluzione al problema
è quella proposta da Yota Devices,una giovane startup russa cheha realizzato lo YotaPhone,uno speciale smartphone dotatodi due schermi contrapposti, unoLCD e uno a inchiostro elettronico.Esteticamente YotaPhoneè identico a uno degli ultimismartphone a maxi schermo diultima generazione, tranne appuntoper la presenza del secondo displayda 4,3”. In pratica, se dobbiamosemplicemente rispondereal telefono oppure se l’autonomia
scende ai minimi, potremo usarelo schermo a inchiostro elettronico,mentre per la navigazione Web
o per i giochi continueremo a usareil classico LCD. YotaPhonedovrebbe essere disponibile nellaseconda metà del 2013 in Russiae successivamente anche in Europa.Contemporaneamente è previstoil rilascio di un SDK che permetterà
agli sviluppatori di realizzareapp specifiche per lo schermoa inchiostro elettronico, per esempiosoftware per la lettura di e-book.Il prezzo non è ancora ufficiale manon si dovrebbe discostare molto daquelli dei modellidi fascia alta. LXP
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 41/100
LINUX PRO 125 39
Coolpix S800c L’angolo di Android
Nikon Coolpix S800cAndroid arriva sulle fotocamere compatte di Nikon in una versione vecchia ma efficace
Caratteristiche 6
Prestazioni 7
Autonomia 6
Qualità/prezzo 7
Coolpix S800c
Ottima l’idea, meno la realizzazione. La qualitàdella fotocamera è buona
ma le componenti hardware per Android non sono all’altezza.
Il voto diLinux Pro
Giudizio
Produttore: Nikon
Web: www.nital.it
Prezzo: € 400,00
6.5
Le fotocamere integrate
negli smartphone hanno
ormai poco da invidiare
alle classiche “compatte”
e permettono di realizzare
immagini di ottima qualità,
con in più la possibilità di
condividerle immediatamente
online. I produttori di fotocamere
lo sanno bene e, non potendo
eliminare il problema alla radice,
hanno deciso di sfidare gli
smartphone sul loro stesso
terreno. La prima a scenderein campo è stata Nikon
con la S800c, che è
praticamente identica a una delle
sue classiche Coolpix con sensore
da 16 megapixel e zoom ottico
a 10 ingrandimenti. La differenza
la fa lo schermo da 3,5 pollici
e soprattutto il sistema operativo
Android 2.3 Gingerbread,
che avrà anche due anni di vita
ma che comunque permette
di installare senza problemi
una buona parte delle app
presenti nel Google Play Store.Fortunatamente la presenza dei
componenti hardware Android
non appesantisce la fotocamera,
che mantiene la sua linea filante
e contiene il peso in 180 grammi,
poco più di un maxi smartphone.
I comandi sono quelli di un
normale smartphone Android:
Home, Back e Menu, con in più
due pulsanti per lo zoom ottico.
Solo che, a differenza degli
smartphone che rimangono
sempre attivi, la Nikon di solito
viene spenta dopo avere scattato
Il vero vantaggio della S800c
è la possibilità di usare delle
applicazioni di modifica delle
immagini come Camera Zoom FX
o Pixlr-o-matic immediatamente
dopo avere scattato la foto,
oppure di inviarle al volo con
app come Whatsapp o Skype
che girano senza problemi.La risoluzione dello schermo
da 480x854 pixel non
è altissima e usando lo zoom
vi ritroverete immagini molto
pixellate, in compenso la
luminosità è buona anche sotto
la luce diretta del sole, aspetto
fondamentale visto che non
è presente un mirino ottico.
Trattandosi di una fotocamera
compatta è fondamentale la resa
delle fotografie, che rimane
superiore a quella ottenibile
con qualsiasi smartphone graziealle dimensioni dell’obiettivo,
alla presenza dello zoom ottico
da 10 ingrandimenti e anche
di un flash abbastanza potente.
Anche la qualità dei video ripresi
in Full HD a 30 fotogrammi
al secondo è decisamente buona,
in più potrete anche usare lo
zoom ottico durante la ripresa
senza problemi di stabilizzazione.
A causa delle dimensioni del file
dovrete però dimenticarvi di
condividere online filmati in Full
HD, per condividerli su Facebooko Twitter è consigliabile impostare
una risoluzione molto inferiore.
le foto, ma questo non significa
che per scattare dovrete
aspettare il boot del sistema
operativo, in quanto viene
immediatamente caricato
il software Nikon di gestione
della fotocamera che vi permette
di riprendere foto e video
in un paio di secondi. Per
accedere al sistema operativo
di Google occorrono invece circa
30 secondi, un tempo più lungo
del normale ma che dipende
dalla presenza di un processoreda soli 800 MHz con 512 MB
di RAM. In pratica è come avere
a disposizione uno smartphone
con un paio di anni di vita: nessun
problema per la navigazione Web
o per i programmi di ritocco delle
foto, ma non aspettatevi di farci
girare i giochi in 3D. La memoria
integrata è di 2 GB espandibili
con schede SD, mentre la
dotazione wireless è quella tipica
di uno smartphone: Wi-Fi,
Bluetooth, GPS, manca invece
il supporto per il 3G e quindiper condividere le foto e andare
online dovrete avere a
disposizione un hot spot Wi-Fi
oppure uno smartphone con
il tethering attivo. Occorre però
ricordare che il Wi-Fi nelle
fotocamere compatte era già
arrivato da tempo grazie alle
schede di memoria wireless
Eye-Fi che permettono
di condividere immediatamente
le foto appena scattate e hanno
un costo ormai inferiore ai 50
euro per i modelli da 4 GB.
L’autonomia di circa 150 scatti
è leggermente inferiore a quella
di una normale fotocamera
compatta, e scende ulteriormente
se manterrete attivi a lungo
GPS e Wi-Fi oppure se la usate
per navigare o per chattare,
in questi casi sarete costretti
a ricaricarla ogni giornoo quasi. In definitiva si tratta
di un esperimento originale ma
ancora acerbo: mentre la sezione
fotografica classica è di buon
livello, quella Android risente
dei componenti non aggiornati
che non offrono la stessa
esperienza Google a cui siete
abituati con le nuove versioni
del sistema operativo. LXP
La presenza di una batteria da soli 1050 mAh pregiudica
l’autonomia della fotocamera, usando al minimo la sezioneAndroid potrete effettuare circa 150 scatti ma usando spessoWi-Fi e GPS potreste essere costretti a ricaricarla ogni giorno
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 42/100
Diventa protagonistadel mondo Linux
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 43/100
39,90 € invece di 70,80 €
PREZZO BLOCCATO: per tutta la durata dell’abbonamento nonpagherai un euro in più, anche se il prezzo
di copertina dovesse subire aumenti.
TUTTI I NUMERI ASSICURATI: se per cause di forza maggiore qualche numero
della rivista non venisse stampato,l’abbonamento verrà prolungato fino
al raggiungimento dei numeri previsti.
RIMBORSO GARANTITO:potrai disdire il tuo abbonamento quando vorrai,con la sicurezza di avere il rimborso dei numeri
che non hai ancora ricevuto.
ABBONANDOTI AVRAIDIRITTO AI SEGUENTI
VANTAGGI
Informativa ex Art.13 LGS 196/2003.I suoi dati saranno trattati da Sprea Editori S.p.A. Socio Unico Medi & Son S.r.l., nonché dalle società conessa in rapporto di controllo e collegamento ai sensi dell’art. 2359 c.c. titolari del trattamento, per dare corso alla s ua richiesta di abbonamento.
A tale scopo, è indispensabile il conferimento dei dati anagrafici. Inoltre previo suo consenso i suoi dati potranno essere trattati dalle Titolari perle seguenti finalità: 1) Finalità di indagini di mercato e analisi di tipo statistico anche al fine di migliorare la qualità dei servizi erogati, marketing,attività promozionali, offerte commerciali anche nell’interesse di terzi. 2) Finalità connesse alla comunicazione dei suoi dati personali a soggettioperanti nei settori editoriale, largo consumo e distribuzione, vendita a distanza, arredamento, telecomunicazioni, farmaceutico, finanziario,assicurativo, automobilistico, e ad enti pubblici ed Onlus, per propri utilizzi aventi le medesime finalità di cui al suddetto punto 1) e 2 ). Per tutte lefinalità menzionate è necessario il suo esplicito consenso. Responsabile del trattamento è Press Di Srl – Via Cassanese 224 20090 Segrate (MI). I suoi dati saranno resi disponibili alle seguenti categorie di incaricati che li tratteranno per i suddetti fini: addetti al customer service, addettialle attività di marketing, addetti al confezionamento. L’elenco aggiornato delle società del gruppo Mondadori, delle altre aziende a cui sarannocomunicati i suoi dati e dei responsabili potrà in qualsiasi momento essere richiesto al numero 030.319.82.81 “Customer Service”. Lei può inogni momento e gratuitamente esercitare i diritti previsti dall’articolo 7 del D.Lgs.196/03 – e cioè conoscere quali dei suoi dati vengono trattati,farli integrare, modificare o cancellare per violazione di legge, o opporsi al loro trattamento – scrivendo a Press Di Srl - Ufficio Privacy- MilanoOltre – Via Cassanese, 224 –20090 Segrate (MI).
•TELEFONA al N. 199 111 999 Dal lunedì al venerdì dalle ore 9,00 alle ore 19,00. Costo massimo della chiamata da tutta Italia per telefoni
fissi: € 0,12 + iva al minuto senza scatto alla risposta. Per cellulari costo in funzione dell’operatore.
•POSTA Compila, ritaglia e spedisci il coupon in busta chiusa a: Press Di - Servizio Abbonamenti - Casella Postale 97 - 25126 Brescia BS
•FAX invia il coupon al N. 030 3198412 •ONLINE sul sito www.myabb.it/linuxpro
•SMS da inviare al N. 335 8331122 indicando nell’ordine: il codice dell’offerta 25916!Nome!Cognome!Indirizzo!Numerocivico!Località!CAP!Sigla provincia!S (oppure N)!S (oppure N)! per indicare rispettivamente il consenso (Si o No) alla privacy 1 e alla privacy 2 riportate sul la
cartolina. Non lasciare nessuno spazio dopo i punti esclamativi come nell’esempio:
25916!Paolo!Rossi!Via Verdi!1!Milano!20123!Mi!S!S!
Entro 24 ore riceverai un SMS di conferma dal Servizio Abbonati. Il costo del messaggio inviato è pari al normale costo di un SMS.Il pagamento dell’abbonamento è previsto in un’unica soluzione con il bollettino di conto corrente postale che ti invieremo.
ABBONATI SUBITO!SCEGLI IL METODO PIÙ COMODO PER ABBONARTI:
OFFERTA VALIDA SOLO PER L’ITALIA 389 11 006 389 01
Accetto che i miei dati vengano comunicatia soggetti terzi (come indicato al punto 2
dell’informativa privacy):☐ SI ☐ NO
Accetto di ricevere offerte promozionali e di contribuirecon i miei dati a migliorare i servizi offerti (come specificato
al punto 1 dell’informativa privacy):☐ SI ☐ NO
Compila, ritaglia e invia questo coupon in busta chiusa a:
PRESS-DI Servizio Abbonamenti - Casella Postale , Brescia
Tagliare lungo la linea tratteggiata
▷ Inviate Linux Pro al mio indirizzo:
Cognome e Nome
Località
Tel. email
CAP Prov.
Via N.
30 Con il bollettino postale che mi invierete
20 Con carta di credito: Visa American Express Diners Mastercard
▷ Scelgo di pagare, in un unico versamento:
Numero
Scad. (mm/aa) Firma
Sì! Mi abbono a Linux Pro
COUPON DI ABBONAMENTO
Riceverò numeri a soli , euro anziché , euro con lo sconto del %
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 44/100
Test >>ROSA Server 2012è nata una nuova stella
nel panorama delle distribuzioniserver. Arriva dalla Russia
e punta molto in alto, ce la farà?
Scopritelo con noi pag. 43
Faster Than LightUn’avventura che unisce le
tematiche classiche alle missioni
nello spazio profondo. I nemici
vi cercano: li affronterete faccia
a faccia o fuggirete alla velocità
della luce? pag. 44
Confronto >>I Social Network impazzano,
ma a noi piacciono solo quelli
che non ci costringono in catene
troppo strette. Scoprite
con noi quale network si può
usare senza timori pag. 48
∆ Diaspora
∆ Friendica
∆ Identi.ca∆ Qaiku
∆ Pidder
Da non
perdere >>Cinque programmi liberi
da provare subito!
∆ Gmsh pag. 54
∆ fbcmd pag. 55
∆ Nuvola pag. 55
∆ QXmlEdit pag. 56∆ Atop pag. 56
Faster Than Light
Diaspora
Gmsh
42 LINUX PRO 125
RecensioniTutte le novità in campo software e hardware testate e valutate ogni mese dai nostri laboratori
QUESTO MESE...
Ogni test di questa sezione
è accompagnato da un giudizio
che riassume con quattro indici numericile principali qualità dell’applicazione
o del prodotto hardware messo alla prova.
I laboratori di Linux Pro assegnano
un voto da 1 a 10 alle seguenti categorie:
Caratteristiche: fornisce tutte
le funzioni di cui abbiamo bisogno?
È innovativo?
Prestazioni: esegue in maniera
efficiente le sue funzioni?
È veloce e affidabile?
Facilità d’uso: dispone di un’interfaccia
grafica chiara e facilmente fruibile?La documentazione che lo accompagna
è sufficientemente completa ed esaustiva?
Qualità/prezzo: ha un prezzo
competitivo? Vale i soldi richiesti
per il suo acquisto?
Il nostro giudizio viene
poi riassunto da un voto finale,
espresso anche graficamente.
Ecco la legenda dei voti:
10 Nulla da eccepire. Un prodotto
praticamente perfetto.
8-9 Un buon prodotto. I pochidifetti presenti non sono gravi.
6-7 Compie il suo lavoro ma
necessita di ulteriori sviluppi.
5-4 Deve migliorare prima di
raggiungere un voto sufficiente.
1-3 Un completo disastro.
Gli sviluppatori devono tornare
alla fase di progettazione.
Ricordiamo infine che i software citati
nelle sezioni Confronto e Da non
perdere sono spesso presenti nel DVD
sotto la voce “Rivista” sotto formadi codice sorgente o binario.
Una brevelegenda
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 45/100
LINUX PRO 125 43
ROSA Server Test
ROSA Server 2012La redazione di Linux Pro ha esaminato a fondo questa nuova distribuzione server
per vedere se dalla Russia è arrivato un buon prodotto oppure no
Caratteristiche 6
Prestazioni 8
Facilità d’uso 8
Documentazione 6
ROSA Server 2012
Un buon primo rilascio, ma serve di più per arrivareal successo.
Il voto diLinux Pro
Giudizio
Sviluppatore: ROSA Labs
Web: Rosalab.com
Prezzo: gratuita
7
ROSA è relativamente
nuova nel panorama
delle distro GNU/Linux.
L’azienda russa
ha lanciato la sua distro desktop
– un fork di Mandriva – alla fine
del 2011. Aveva attratto
un po’ d’attenzione grazie alla sua
personalizzazione del desktop KDE,
tanto da spingerci a includerla
qualche tempo fa nel nostro DVD.
Un anno dopo l’azienda
ha rilasciato la versione server
della sua distro. Non si tratta
di un rimaneggiamento della
versione desktop con una diversa
scelta di pacchetti installati
di default, ma un sistema
completamente ricostruito basato
sul codice sorgente di Red Hat
Enterprise Linux. Basare la propria
distro desktop e quella server
su due codici di base differenti
è una scelta audace, ma non folle.
Dimostra che l’azienda ha capito
che le due basi di utenti hanno
necessità diverse, che vanno oltre
i cambiamenti superficiali. L’installer
è il classico Anaconda di casa
Red Hat, quindi l’installazione
procede in modo indolore.
C’è un’opzione per scegliere il tipo
di server da installare, ma per
il resto è tutto quasi automatico.
La prima cosa che si nota avviando
la distro è che la versione
modificata di KDE che ci aveva
impressionato nel desktop non
c’è – sarebbe un inutile spreco
garantire la qualità delle poche
opzioni disponibili; pensiamo che
non sia un’idea del tutto sbagliata,
ma dovete sapere che alcune cose
che potreste cercare non ci sono.
Buona partenzaIl front-end Web si avvia di default,
il che vuol dire che, una volta che
avete installato il sistema, dovreste
essere in grado di fare tutto da
remoto, anche se nelle nostre
prove abbiamo visto che ROSA
Server ha fallito nell’attivazione
delle connessioni di rete.
L’interfaccia Web non è affiancata
da altri tool di gestione altrettanto
semplici. Per esempio, con Apache
installato, dovete tornare alla riga
di comando per avviarlo. Questonon è un compito difficile per chi
è abituato a lavorare con i server,
ma è abbastanza da imbarazzare
gli utenti non esperti. Noi
apprezziamo molto i tool per
l’installazione dei software.
Se l’interfaccia Server Setup fosse
stata estesa per includere almeno
i compiti d’amministrazione di base,
come avviare e fermare i servizi,
questa distro sarebbe una scelta
ottimale per gli utenti meno
esigenti che volessero un server
da impostare con facilità. Certo, sitratta del primo rilascio della distro,
quindi forse siamo un po’ troppo
di cicli di CPU su un
server. Al suo posto
troviamo LXDE,
con un tema
azzurro e grigio
simile a quello della
versione desktop,
ma nessuno sceglie
una distro server
in base alla
scrivania. Il vero
punto di forza
di ROSA è il suo
ROSA Server
Setup. Si tratta
di una Web App
“servita in locale”
che guida l’utente
attraverso
l’installazione
di diversi servizi.
Al momento ci sono opzioni per un
numero limitato di servizi, ma essi
coprono la maggior parte delle
aree, incluso Web, database, file
server, LDAP e altri. A meno che
non abbiate esigenze particolari,
dovreste trovare un servizio che
soddisfa i vostri scopi; se invece
vi serve qualcosa di molto specifico,
almeno per il momento non
lo troverete. Questo non accade
solo nel front-end Web. Quando
abbiamo provato a guardare
nel gestore di pacchetti, abbiamo
trovato meno software di quel che
ci aspettavamo. Sospettiamo che
gli sviluppatori abbiamo limitato
il parco software in modo da poter
esigenti. Ma quello che abbiamo
visto è abbastanza da convincerci
a seguire gli sviluppi futuri di ROSA
Server. Il fatto che sia basata
su RHEL vuol dire che è molto
robusta, e compatibile con la
maggior parte del software server.
Nonostante ciò, se state cercando
una distro server di questo tipo,
per il momento vi consigliamo
di guardare a un altro clone più
maturo di RHEL, come Scientific
Linux o CentOS, in base al loro
pedigree. Questo nostro giudizio
cambierà se le prossime release
di ROSA Server si dimostreranno
pronte a superare le sfide
del mondo reale. LXP
Dalla Russia con amore… e un intuitivo front-end Web
ConfigurazioneROSA Server Setup può crescere
e diventare un tool molto utile,ma al momento è limitato.
In evidenza
DesktopLXDE rappresenta una scelta
dal bell’aspetto per un serverche deve risultare leggero.
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 46/100
44 LINUX PRO 125
Test Faster Than Light
Faster Than LightCosa succede quando si incrocia la classica avventura fantasy con i laser e il vuoto
asfissiante? LXP è andata nello spazio per scoprirlo
Siamo un po’ in difficoltànel definire il generea cui appartiene questogioco. Faster Than Light
(FTL) viene definito un giocoin stile Rogue; anche se questaavventura spaziale, finanziatada Kickstarter (www.
kickstarter.com), mostrale caratteristiche classichedel genere – morte permanente,vista top-down e una ripidacurva d’apprendimento, giustoper citarne tre – non è propriocome Rogue. FTL ha molti puntiin comune con alcuni giochida tavolo, come Space Alert ,o giochi che si ispirano ai giochida tavolo, come X-Com: Enemy
Unknown, miscelando unastruttura vagamente organizzataa turni con il panico assolutoin aree ben precise. È un intrugliodelizioso. Il cuore del giocovi vede attraversare i confinipiù remoti di uno spazio esternorandomizzato. La vostraastronave, con il carburantelimitato, salta di incontroin incontro, a volte incappandoin qualcosa di buono ma moltopiù spesso in qualcosa di moltocattivo. Le navi nemiche devonoessere sconfitte (oppure bisognariuscire a sfuggirgli) sfruttandol’equipaggio che siete riuscitiad assemblare, il tutto mentredovete gestire con precisionei livelli di energia della nave
se fate la scelta sbagliata. Il mondodi FTL da esplorare offre diversescelte, ma nessuna di esse è cosìcoinvolgente o varia come quelledel suo cugino fantasy. Saltatedi stella in stella e qualche voltavi viene dato qualcosa da fare.Gli scenari testuali a scelta multiplariflettono in gran parte la strutturadei librogame. Succede qualcosa.Volete intervenire? Servonoun po’ di capacità o di giudizioper scegliere la risposta giusta.All’inizio del gioco vi prenderetetutti i rischi al fine di rafforzarela vostra nave o la vostra squadra.Proseguendo, li eviterete. Molto dirado otterrete un’opzione bonusbasato su un upgrade che aveteapplicato alla vostra nave,
e rimediare aglieffetti di lasere missili che sischiantano controil vostro fragilescafo e il sistemadi supporto vitale.A volte si trattadi sistemi organici,tipo il vostro fidatopilota che verràucciso, oppureuna canagliaaliena chesi trasferiràa bordo creandoun putiferio.Altre volte saràqualcosa di fisicoche sfinirà i vostri motori o faràpiombare l’intera nave nel buio.Potrebbe essere necessariocombattere il fuoco che sidiffonde nella nave facendofuoriuscire l’ossigeno dai corridoi,oppure ordinare alla vostraciurma di sistemare unapparecchio mentre soffocanoa morte. La vita in una navestellare non è delle più facili.
Rischi e ricompenseGiochi come questo vivonoo muoiono a seconda della loroeconomia di gioco. Nethack,l’esempio più classico di giocoin stile Rogue, copre ogni passodel vostro viaggio con il rischiodi farvi perdere la ricompensa
e la accetterete perché saràla scelta più ovvia. Anchese non incapperete molto spessonella stessa situazione, nonvi sembrerà una cosa speciale.L’uso della moneta all’internodel gioco funziona molto bene.Dovete sempre trovare il giustobilancio tra il riparare lo scafodella nave in uno degli splendentinegozi oppure lo scegliereun nuovo membro o una nuovaarma. Raramente vi ritroveretecon abbastanza denari da fareentrambe le cose. Il caso la fa dapadrone: se attraversate le primecinque galassie senza trovarele armi o gli aggiornamenti chevi servono, siete fregati. Se unmissile riesce a superare le vostre
1 Oh, si ballaMettetevi a fare un giro per la galassia e presto
vi ritroverete in mezzo a uno scontro. Potetesempre decidere di scappare a gambe levate,ma dove sarebbe il divertimento?
3 BoomAbbattete i vostri nemici ed essi andranno a pezzi
facendo cadere un prezioso bottino che doveteraccogliere e che vi aiuterà nel viaggio finoal prossimo sistema stellare.
2 Scegli un puntoOra decidete come abbattere al meglio i vostri
avversari. Abbiamo iniziato lanciando un missile controi loro scudi, poi abbiamo vapo rizzato l’area con le loroarmi in modo che non potessero contrattaccare.
Passo passo Lottare per spasso e profitto
Idealmente vorreste evitare quelle situazioni post combattimento in cui la vostranave è affamata d’ossigeno, rotta e piena di sistemi da riparare. Idealmente
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 47/100
LINUX PRO 125 45
Faster Than Light Test
Gameplay 6
Grafica 7
Longevità 6
Qualità/prezzo 7
Faster Than Light
FTL è esplosivo, almeno fino aquando la sua struttura casuale
non peggiora e l’ossigeno finisce.
Il voto diLinux Pro
GiudizioSviluppatori: Matthew Davise Justin MaWeb: www.ftlgame.comPrezzo: $ 10
6Prima di iniziare la vostra missione, potete personalizzare la vostra nave
“FTL è un gioco che vi raccontadelle storie, quindi è difficile
non affezionarsi ad esso”
Scelte, scelte.Non c’è un modo
sicuro perindovinare
il risultato dellescelte possibili,
tutto sarà
in mano al fato
difese nello spazio profondo,siete fregati. Se inavvertitamentepiombate in un campodi asteroidi con la naveun po’ ammaccata… beh avetecapito cosa vi succede.
Buona fortunaFTL è allo stesso tempo un giocodi fortuna e uno d’abilità.Non conta solo la fortuna.Riuscire a gestire in modocorretto la ciurma è una speciedi arte oscura, questoè probabilmente il motivo per cuiabbiamo passato gran parte deltempo in FTL con l’interfacciain pausa, in modo da valutare concura ogni mossa. Ogni membrodella squadra deve trovarsi al
posto giusto al momento giusto,perché alcune locazioni nellavostra nave vi doneranno deibonus, e un membro esperto nelpilotaggio, ad esempio, spingeràulteriormente questi bonus.Motori che si ricaricano piùvelocemente vi permetterannodi fuggire più rapidamente daicombattimenti che non vi offronopossibilità di vittoria, e avereuna postazione d’armi dotatadi equipaggio fa aumentarela velocità di ricarica delle armi,
il che vi fornisce qualche chancein più di avere successo neicombattimenti. Poi c’è la gestionedella potenza, un gioco didestrezza: se non avete spesoabbastanza soldi per aggiornarei sistemi della nave, prima o poivi ritroverete a dover spegnerequalche sottosistema per poter
dar potenza ad altri. Progredendonel gioco, i nemici diventanopiù forti e potenti. Il passaggioattraverso le ultime due galassie,
soprattutto a causa delle semprepiù invadenti flotte nemiche chesi muovono verso di voi, nonè semplicissimo. È difficile,anche al livello più semplice. Latentazione è quella di girovagare,visitare ogni nodo e raccoglieretutto quello che si può prima diproseguire. Questa sembrerebbe
la miglior strategia per FTL, mail fatto che i nemici vi inseguonola rende spesso impossibile. Anchese abbiamo cercato di venirea patti con i capricci crudeli delgeneratore di numeri casuali
mentre giocavamo a FTL, èl’aspetto che lo rende veramenteun gioco in stile Rogue. Nontutte le partite avranno successo.
Alcune termineranno al primoincontro con il nemico, altrevi vedranno arrivare quasi finoalla fine, e non saprete mai cosastate per trovare nella prossimagalassia generata casualmente.Ci sono abbastanza incontri esituazioni da non far mai apparireripetitiva la perlustrazione,
e abbastanza scenari legati allemeccaniche di gioco di FTL danon farvi annoiare rapidamente.Attenti però. Quando la vostraciurma curata, nutrita e bengestita verrà maciullata in nome
del caso, vi sentirete scoraggiati.FTL è un gioco che vi raccontadelle storie, quindi è difficile nonaffezionarsi ad esso. Sul lungo
termine, però, difficilmenteritornerete a giocarlo. C’è undettaglio in molti giochi in stileRogue che vi porta a giocarlipiù e più volte e non è qualcosache gli incontri causali in FTLo le ricompense per i successivi può dare: l’apprendimento.Ogni morte del personaggioin Nethack vi insegna qualcosasull’intricato funzionamentodel gioco e grazie a ciò poteteprogredire. La vostra ricompensaè la conoscenza. Saltando
di galassia in galassia in FTP, unavolta acquisiti i meccanismi dibase del gioco e di gestione dellasquadra, vi ritroverete a non averappreso nulla di nuovo in realtàe alla fine vi annoierete. La sfidache il gioco vi pone è crudele,soprattutto con l’approssimarsidella fine, e i vari obiettivi vi fannoandare avanti. Ma padroneggiareFTL non vi lascia la soddisfazioneche dovrebbe. LXP
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 48/100
C A V A L L I
C A L E N D A R I O
20 13
_c ov ercaval.indd 2
29/ 0 / 2 .
www.lisagoodmancalendar. it
CALENDARIO 2013
PASTORETEDESCO
15x42_covPASTED cogis.indd 3 29/02/12 16.36
w w w. li sa go
od ma n ca l e nda r
. i t
CA L E N DA R I O
2 0 1 3 CA N I
1 x 4 2_ c v CA I_ 2.i 1
7/ /1 2 1 2:1 2
€5,90solo28x30 centimetri
15x42 centimetri
w w w .l is a g o o d ma nc a le nd a r .i t
C ALE N D AR I O 2 0 1 3
C O N I G LI E T T I
5 x4 2_c o v R ab bi t.ind d 1
06 /0 3/ 12 14 .4 2
Gli originali e inimitabili calendari
Il GRANDE
FORMATO
Il FORMATOpiù di MODA
solo
€6,00
CANI
C A L E N D A R I O
2013
1_ _ 8 30 .indd 3 9 03 1 15.0
C A L E N D A R I O
P A S T O R E T EDESCO
C A L E N D A R I O
2013
8x 30orA LT Aoi . i n 1
/03/ 1 1 . 0
2013C A L E N D A R I O
G A T T I
2 0COVok.indd 2
29/0 /2 . 9
R O T T W E I L E R
C A L E N D A R I O
2013
1_I_ x0COV.indd 1
/0 /1 17:0
L A B R A D O R R E T R I E V E R
C A L E N D A R I O
2 0 13
_I_28 x 30 C O V .ind d
0 9 / 0 / 2 :2
GOLDENRETRIEVER
C A L E N D A R I O
2013
_ I _ 0 C OV .i n d d 0 / 0 7 / : 0
w w w.lisagoodmancalendar.i
t
ALENDARIO 2013
GA T TI
o KIT TI2.indd
0 03 2 .22
w w w. l is a
g o o d m a n
c a l e n d a r
. i t
CA L E N DA R
I O 2 0 1 3 C H I H UA H UA
1 5 x 4 2_ c o v C H
I H UA H UA.i n d
d 1
2 8/ 0 6/1 2 1 5: 1 4
•Cani•Gatti•Cavalli
•Pastore Tedesco•Golden Retriever•Labrador Retriever•Rottweiler
CaniGatti
ConigliettiPastore TedescoChihuahua
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 49/100
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 50/100
48 LINUX PRO 125
Di certo su Facebook,Google+ o Twitternon troverete maiRichard Stallman
o Eben Moglen. Questi campionidel Software Libero, però,non rifuggono da quei socialnetwork solo perché costruitisu software proprietarioe con codice chiuso; quello
che a loro preme di piùè qualcosa di più serio:la privacy o, meglio ancora,la sua quasi totale assenza.Quei social network cosìpopolari sono stati spessocriticati a causa delle loropolitiche in materia di privacy.Queste autorizzerebberole compagnie che sinascondono dietro a questigrandi sistemi di usareliberamente i dati personali
dei loro iscritti. I sostenitori dellaprivacy da tempo non fannoche auspicarsi social networkdecentralizzati e distribuitiche trattino con rispetto i datidei loro utenti. Fortunatamente,social network di questo tipostanno cominciando pocoa poco a emergere. Costruiticon software Open Source,
aderiscono a vari standardaperti per la portabilitàdei dati, con particolareriguardo all’interoperabilitàe con sempre maggioreintegrazione tra loro. In questoconfronto, sono stati esaminaticinque social network di questogenere, ossia progettaticon componenti Open Source.Alcuni, addirittura, permettonoai propri utenti di usare gli stessicomponenti per creare e gestire
un proprio social network,dando loro, in questo maniera,il controllo totale e completodei dati personali. Da tenerea mente, tuttavia, è cheper questi social networksi parla ancora di primi passie che nessuno di loropuò contare un numerodi utenti che solo si avvicinia quelli dei loro popolarissimiconcorrenti proprietari. Alcunidi questi servizi, come Diaspora,sono ancora a un livello inizialedi sviluppo e quindi coniscrizioni limitate, nell’attesadi perfezionare la piattaformaper il lancio al pubblico.
“I campioni del SoftwareLibero rifuggono i socialnetwork a causa della privacy”
Test
Confronto
Social network apertiLe preoccupazioni sulla privacy vi tengono lontani dai social
network più popolari? Ecco allora alcuni servizi alternativi,aperti e non solo per modo di dire
∆ Diaspora
∆ Friendica
∆ Identi.ca
∆ Qaiku
∆ Pidder
LA NOSTRA SELEZIONE
MODALITÀ DEL TEST
Mettere a confronto questi socialnetwork non è stata cosa semplice,soprattutto perché non tuttipresentano caratteristiche simili.Alcuni dispongono di maggiorifunzionalità e consentono,quindi, di fare molto più chepostare messaggi lunghi 140caratteri. Si è preferito, dunque,focalizzare attenzione e sforzinel valutare quelle caratteristicheche li rendono diversi dagli altrisocial network. È stata esaminatala flessibilità nelle impostazionidella privacy, la facilità di portabilitàdei dati e in che maniera vengonoimpiegati gli open standard comeOpenID, OStatus e altri. Alla fine,è stata sottoposta a verifical’usabilità generale di questi servizi,
comparandoli ai social networkproprietari come Facebook,Google+ e Twitter. Sono statepoi valutate le interfacce utentee la personalizzazione delleimpostazioni, così come la loroversione mobile e le relative app.Quaiku, uno dei social networkprovati in queste pagine, è statochiuso il 15 Ottobre 2012:viste le interessanti caratteristichedi tale social network, si è decisodi includerlo comunquein questo confronto.
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 51/100
LINUX PRO 125 49
Diaspora è uno dei socialnetwork alternativi
più conosciuti. Nonostante
sia ancora in fase di sviluppo,
offre già molte delle funzionalità
che ci si aspetta da un servizio
di reti sociali. Vi consente, ad esempio,
di pubblicare testo e immagini
e di fare l’embedding di video
da YouTube e Vimeo. Non è possibile,
tuttavia, avere la preview dei link,
nonostante questi vengano convertiti
nei post. Gli utenti hanno la possibilità
di impostare i loro messaggi come
pubblici, o limitarne la visionesolamente ad alcuni gruppi di altri
utenti, chiamati Aspetti. Potrete
anche filtrare e visionare lo stream
degli aggiornamenti tramite gli Aspetti,
così come potrete seguire un altro
utente senza includerlo tra i vostri
amici, in maniera molto simile
a Google+ e Facebook. Quello
che distingue Diaspora dagli altri
social network è che è un network
distribuito. Ciò significa che non esiste
un unico sito Internet per Diaspora.
Avrete, al suo posto, una serie di
server chiamati pod . L’utente finale,naturalmente, non si accorgerà della
differenza: potrete registrarvi su un
I
social network proprietari tradizionali
possono essere paragonati
a contenitori isolati di informazioni.
Se volete connettervi e condividere
qualcosa, ad esempio delle foto con
i vostri amici su un altro social network,
l’unica maniera per farlo è registrare
Funzionalità
Collegamento dei dati
Cosa hanno da offrire?
Come si comportano con gli altri servizi?
pod qualsiasi e interagire in manieratrasparente con utenti registrati
su pod differenti. Come Diaspora,
Friendica è un altro network
decentralizzato, che però si è spinto
addirittura oltre. Oltre a connettere
utenti che si trovano su server
diversi, Friendica può anche
importare contenuti e contatti
da Facebook, Twitter, Identi.ca,
da feed RSS e altri siti Web. Meglio
di tutto, potrete commentare, mettere
i like o condividere i post dei vostri
amici di Facebook direttamente
da Friendica. Questo servizio, inoltre,non impone un numero di caratteri
prestabilito per gli aggiornamenti
dello stato che, come succede
per gli articoli dei blog, possono avere
anche un titolo ed essere archiviati
sotto diverso categorie. Accanto
alla solita possibilità di caricare foto
e condividere link da YouTube
e Vimeo, i messaggi supportano
il Rich Test Format. Friendica, inoltre,
dispone di un player incorporato per
la riproduzione di file audio e video.
Potrete poi condividere e modificare
i vostri post e, oltre alla possibilitàmettere il like, avrete anche quella
del dis-like. Il servizio di microblogging
un account sul loro social network
e duplicare i vostri dati anche lì.
Un buon social network aperto dovrebbe
avere la capacità di collegare i dati
tra i vari servizi. Diaspora risolve parte
di questo problema permettendo agli
utenti sui diversi pod di connettersi
e condividere i contenuti tra loro. Inoltre,
quando ci si connette per la prima volta
a Diaspora, questo vi dà la possibilità
di importare le informazioni relative
al profilo direttamente dal vostro account
di Facebook. Il collegamento dei dati,
invece, è uno dei punti forti di Friendica.
Questo è stato disegnato affinché
i diversi social network vengano
visualizzati come e-mail e per
permettere agli utenti di scegliere quale
network preferiscono usare. Friendica
Identi.ca si basa su un server Open
Source StatusNet. Supporta gli
hashtag e può automaticamente
abbreviare gli URL troppo lunghi.
Potrete allegare immagini, video
e file audio ai vostri messaggi,
così come fare l’embeddingdi contenuti da YouTube, Flickr
e altri siti Web. Il vantaggio maggiore
di Identi.ca rispetto a Twitter è che,
oltre a condividere gli aggiornamenti
dello stato, potrete anche usarlo
per condividere bookmark, eventi
programmati, fare domande
o organizzare sondaggi. Dall’altro
lato, l’interesse principale di Qaiku,
un altro servizio per il microblogging,
è quello di essere multilingue.
La piattaforma ospita decine di canali,
che è un bel modo per scoprire utenti
con interessi simili ai vostri. Infinec’è Pidder, diverso sia dai social
network proprietari più popolari,
sia dagli altri “colleghi” di questo
confronto. Non possiede le solite
funzionalità che si possono trovare
negli altri social network ma è stato
progettato per proteggere la vostra
privacy, cosa che viene presa molto
seriamente. Qualunque cosa voi
condividiate, infatti, verrà cifrata
e in più dispone di impostazioni
della privacy piuttosto accurate.
Rappresenta anche l’unico servizio,
tra quelli selezionati per questoconfronto, a offrire sia account free
che account premium a pagamento.
può collegare i dati non solo con gli altri
social network come Facebook,
Twitter e Diaspora, ma anche da pagine
Web e blog. Anche Identi.ca include
una integrazione con Facebook e in più
può replicare i messaggi da Twitter.
Può anche importare gli aggiornamenti
dai feed RSS e Atom direttamente nella
vostra timeline. Viceversa, tramite questo
servizio potrete condividere i vostri post
anche su Twitter. Con Qaiku potrete
connettervi utilizzando il vostro account
di Facebook, così non avrete bisogno di
crearne uno specifico per questo servizio.
Potrete poi importare tutti i vostri contatti
da Facebook, Twitter e Gmail, così come
aggiungere il vostro account di Flickr
e il vostro blog sul profilo Qaiku, ai quali
questo invierà tutti i vostri aggiornamenti.
Friendica ha maggiori funzionalità
rispetto agli altriconcorrenti.
Verdetto
Friendica
Diaspora
Qaiku
Identi.ca
Pidder
Friendica puòcondividere i datitra molti network.
Verdetto
Diaspora
Friendica
Identi.ca
Qaiku
Pidder
Confronto Test
Il plug-in per Drupal di Diasporaconsente al CMS di connettersia Diaspora come ogni altro pod
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 52/100
UsabilitàLa libertà d’uso è cosa buona e giusta, ma questi network sono
davvero pronti per il mainstream?
Per un social network avere successo catturando il meglio della
comunità dell’Open Source non è abbastanza. Tutti i network
presentati in questo confronto dovrebbero allettare non solo
chi si preoccupa della riservatezza dei propri dati, ma anche una base molto
più ampia di utenti non esperti. La superiorità tecnologica di questi social
network attirerà utenti che hanno le capacità e le giuste conoscenze
per apprezzare le innovazioni da essi introdotte ma, per una maggiore diffusione,
anche la loro usabilità gioca un ruolo molto importante. Per testarne l’usabilità,
questi social network sono stati sottoposti al “test della nonna”. Totalmente
in modo non scientifico, sono stati presentati a una nonna, con la richiesta
di provarli per un po’. Se una nonna può usarli, sicuramente chiunque
può fare altrettanto! Al contrario, tuttavia, se la nonna non dovesse riuscirci,
nessun richiamo ai vari vantaggi tecnologici potrà mai farle rinunciare
ai suoi account sui suoi social network proprietari preferiti.
DiasporaDiaspora sembra proprio Google+, ma con una differente terminologia: ad esempio
i gruppi di utenti si chiamano Aspetti anziché Circoli. Prevede anche gli hashtag,
divenuti popolari grazie ai servizi di microblogging come Twitter, che sono molto utili
per stabilire una comunicazione iniziale. Quando ci si connette per la prima volta,
Diaspora vi chiederà di elencare cinque vostri interessi sotto forma di hashtag,che verranno poi usati per riempire il vostro primo stream. Ci sono hashtag per dare
il benvenuto ai nuovi utenti e aiutarli nelle domande su come usare il network, così
come per riportare bug e per richiedere ulteriori nuove funzionalità. Cercare altri
utenti e aggiungerli agli Aspetti è cosa immediata. O, se vi sentite particolarmente soli,
potrete inviare e-mail di invito ai vostro amici. Nel postare gli aggiornamenti di stato,
avrete la possibilità di allegare un’immagine e limitare il post solo a certi Aspetti.
Tutte le impostazioni di sistema sono altrettanto accessibili e semplici da usare.
FriendicaCosì come per Diaspora, l’interfaccia di Friendica non dovrebbe apparirvi così estranea
se avete già usato uno dei social network più famosi. Friendica vi offre una sezione
“Serve aiuto? Sei nuovo?”, che vi condurrà a varie pagine di documentazione
particolarmente utili per prendere confidenza con la piattaforma e con la terminologia
del network. Vi saranno anche spiegati i vari elementi mettendoli a confronto
con i loro equivalenti di Facebook e Diaspora. Se connetterete Facebooka Friendica, questo potrà importare le informazioni relative al vostro profilo
da Facebook. Sempre da Facebook, avrete la possibilità di importare anche i vostri
contatti e le vostre conversazioni. Così come accade in Diaspora, potrete elencare
i vostri interessi tramite parole chiave che Friendica userà per suggerirvi degli amici
da aggiungere ai contatti. Organizzare gli amici in gruppi di conversazioni privata,
per il massimo della riservatezza, è piuttosto immediato, così come personalizzare
il vostro account agendo sui vari comandi nelle impostazioni.
50 LINUX PRO 125
Identi.ca è senza
alcun dubbio il vincitore diquesto round.
Verdetto
Diaspora
Friendica
Identi.ca
Qaiku
Pidder
Test
Confronto
Isocial network più diffusi possono
contare su moltissime applicazioni
da utilizzare per interagire
e condividere contenuti con i vostri
amici. Anche i social network aperti
hanno applicazioni simili, sia per
le piattaforme desktop che per
quelle mobili. Considerata la sua
versione pre-beta e il fatto che
le sue API non sono ancora pronte,
è abbastanza sorprendente che
Diaspora disponga già di un paio
di applicazioni di questo tipo. Il client
Dianara, come il servizio che supporta,
è ancora sotto intenso sviluppo e può,
I client desktopI client offline che interagiscono con i servizi
quindi, mostrare solo una dozzina circa
di post. Esiste anche un client Web
di Diaspora per i dispositivi Android
che al momento, tuttavia, sembra
non funzionare su tutti. Il network
che possiede un gran numero di
applicazioni è Identi.ca. Oltre a diverse
applicazioni multi piattaforma dedicate,
per esempio il client StatusNet
Desktop, potrete anche usare
le applicazioni più diffuse funzionanti
con Twitter, come Adium, Choqok e
Gwibber per postare i vostri messaggi
su Identi.ca. Per postare messaggi
su Friendica, potrete anche utilizzare
alcune applicazioni disegnate per
Identi.ca, come Fren Tcl, e il client
della multipiattaforma Xpostulate
(ma non le troverete nei repository
della vostra distribuzione). Esiste
anche un semplice programma
desktop che visualizzerà sul vostro
desktop gli aggiornamenti da Friendica.
Qaiku dispone dell’applicazione mobile
Mauku per il Nokia N900, mentre
gli utenti di altri dispositivi mobili
dovranno farsi bastare l’interfaccia
ottimizzata che si trova su m.qaiku.
com. Per il desktop, potrete invece
usare il popolare Gwibber e Ping.fm.
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 53/100
Non c’è davvero bisogno di toccare le impostazioni.
Verdetto
Diaspora
Friendica
Identi.ca
Qaiku
Pidder
QaikuQaiku, un ulteriore servizio per microblogging, dispone di interfaccia
sia per l’uso desktop che per i dispositivi mobili. Il suo punto più forte
è il multilinguismo. Tramite le sue impostazioni, potrete cambiare la lingua
dell’interfaccia e specificare quali lingue siete in grado di capire. Purtroppo,
però, questo non viene reso evidente nella sua pagina iniziale. Il servizio,
inoltre, non dispone di alcun t ipo di documentazione. Non che sia particolarmente
necessaria però, in quanto la maggior parte delle sue funzionalità si spiega
da sola. Qaiku, inoltre, rende più agevole la visualizzazione delle discussioni a cui
si è preso parte. Potrete anche filtrare i messaggi pubblici sulla base delle lingue
parlate, così come caricare facilmente foto, aggiungere tag ai vari messaggi e fare
l’embedding di link da siti come YouTube, Slideshare e altri. Anche ricercare
e connettersi ad altri utenti o canali sarà un’operazione piuttosto semplice.
Identi.caDifferentemente dai due servizi visti fin qui, Identi.ca è una piattaforma
di microblogging e, a una p rima occhiata, non sembra diversa da Twitter.
Ci potrete fare le solite cose: visualizzare i messaggi su un determinato
argomento, rispondere, condividerli e marcarli come favoriti. Vi permetterà anche
di impostare i vostri post come privati, trasmetterli a chiunque in Internet, o solo
agli utenti di Identi.ca. L’interfaccia, inoltre, rende semplice cercare gruppi a cui
unirsi o creare un vostro gruppo personale. Questo servizio, tuttavia, vi consentedi fare molto più che scrivere messaggi lunghi 140 caratteri. Dispone di finestre
molto intuitive per la creazione e la condivisione con i vostri amici di eventi
e bookmark. Vi offre, in più, la possibilità di raccogliere opinioni attraverso strumenti
come il semplice sistema di poll, che presenta fino a cinque opzioni di votazione.
PidderCome potrete vedere dal resto di questo articolo, Pidder non è un social network
per tutti e per tutti i giorni. A rischio di sembrare ripetitivi, con Pidder si possono
organizzare e cifrare dati sensibili, che potranno poi essere condivisi con altri
servizi online. Archivia, inoltre, nell’account cifrato di un utente tutte
le informazioni condivise con terze parti. Il prezzo pagato per un controllo
così avanzato della privacy, tuttavia, è la sua scarsa usabilità. Pidder disponedell’interfaccia più complessa tra quelle esaminate in questo confronto.
L’unica ancora di salvezza è rappresentata dalla grande quantità
di documentazione e dal wizard utile al punto di minimizzare i difetti
dell’interfaccia. Non si potrà, letteralmente, usare questo servizio senza
aver studiato prima la sua vasta documentazione o aver visionato prima i relativi
video su come utilizzare le funzioni di base, come condividere i dati, aggiungere
contatti, creare login veloci (quicklogin), ecc.
LINUX PRO 125 51
Confronto Test
Se è vero che tutti questi servizi
possono essere utilizzati così come
sono, è anche vero che è possibile
personalizzarli affinché rispondano il più
possibile alle vostre esigenze d’uso.
Diaspora vi consente di modificare la lista
delle azioni delle quali vorrete ricevere
le notifiche e connettervi o disconnettervi
a servizi di terze parti come Facebook,
Twitter e Tumblr. Considerato che il team
sta ancora lavorando agli elementi
principali del servizio, non è presente
alcuna opzione per la personalizzazione
dell’interfaccia. Dall’altro lato, Friendica
dispone di 13 temi tra i quali scegliere
Impostazioni e personalizzazioneModificare le modalità di visualizzazione
e fa personalizzare vari elementi, come
la dimensione del font per post
e commenti. Potrete anche nascondere
certe aree, come le pagine della
community, ed elementi quali gli ultimi
like o altri. Oltre a questo, Friendica
possiede impostazioni complete per
quanto concerne la sicurezza e la privacy
e, per diminuire lo spam, potrete anche
impostare un limite al numero di
messaggi privati da parte di utenti
sconosciuti che potrete ricevere al giorno.
La riservatezza è il pezzo forte di Pidder.
Questo servizio vi consentirà di cambiare
la vostra passphrase e quindi cifrare
nuovamente tutti i vostri dati. Identi.ca
usa il suo servizio proprietario ur1.ca
per abbreviare gli URL, ma potrete
modificare questa opzione agendo
su Settings. Essendo il multilinguismo
la specialità di Qaiku, potrete scegliere
la lingua dell’interfaccia e una lingua
primaria, che sarà taggata con gli
aggiornamenti dello stato. Inoltre,
con Qaiku potrete creare un tema
personalizzato, con un’immagine
di vostra scelta per lo sfondo e i vostri
colori preferiti. Tramite le impostazione
della privacy potrete disabilitare
la localizzazione geografica.
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 54/100
52 LINUX PRO 125
di esportare i propri dati da un pod per
importarli su un altro. Anche Friendica
vi fa scaricare i vostri dati personali e dirimuovere facilmente il vostro account.
Con Identi.ca, potrete scaricare i vostri
messaggi e i vostri file in formati che
possono essere utilizzati anche da altri
servizi, insieme alle informazioni
riguardanti il vostro profilo. Qaiku non
includeva alcun strumento per effettuare
lo scaricamento dei dati o per cancellare
un account. Dato che Pidder può essere
usato anche come gestore online di
password, vi permette di importare ed
esportare i vostri dati di autenticazione in
diversi formati, come pidder-XML, CSV,
KeePassX, ecc. In caso di cancellazionedell’account, il servizio eliminerà in modo
permanente tutti i dati dopo 2 settimane.
Aprescindere delle impostazioni
della privacy, farvi avere il totale
controllo dei vostri dati e delvostro account è uno degli obiettivi di
business fondamentali per questi social
network. In considerazione di ciò,
Diaspora permette ai suoi utenti
La portabilità dei datidi scaricare tutti i loro contenuti testuali
e le foto. Anche il link per chiudere
l’account è piuttosto accessibile. Tenetea mente che, grazie al design di Diaspora,
ogni post che deciderete di condividere
con qualcuno situato su un altro pod
rimarrà archiviato anche su questo,
insieme a una copia del vostro profilo.
Siccome questi dati saranno accessibili
all’amministratore del database di quel
determinato pod, scegliere con
attenzione il vostro pod di Diaspora
è quanto meno opportuno. Detto questo,
ogni volta che cancellerete un post
o i dati del vostro profilo, questi verranno
eliminati anche da ogni altro pod
in cui erano conservati. In più, il teamdi Diaspora sta lavorando su una
funzionalità che permetterà all’utente
A chi appartengono i vostri dati?
La privacyè fondamentale
per Pidder.
Verdetto
Diaspora
Friendica
Qaiku
Identi.ca
Pidder
In Qaiku, incredibilmente, la
portabilità dei datiè completamenteassente.
Verdetto
Diaspora
Friendica
Identi.ca
Qaiku
Pidder
Test
Confronto
Questi speciali social network
sono stati studiati affinché
i vostri dati siano protetti dagli
occhi voraci di chi vorrebbe utilizzarli
per gli scopi più dannosi. Grazie
al design distribuito di Diaspora,
non esiste alcuna autorità centrale
che possa tracciare il vostro account
o determinare cosa possiate
condividere o meno. Friendica
protegge i suoi utenti con una cifratura
dei messaggi server-a-server di tipo
militare. Tutti gli elementi presenti sulla
sua rete vengono controllati tramite
una lista di accessi per consentirne olimitarne l’accesso a particolari individui
o a certi gruppi di utenti. La maggior
parte dei social network esaminati
prevede gruppi di discussione privati
che limitano le comunicazioni ai loro
soli membri. Friendica si spinge ancora
più in là e dà ai suoi iscritti la possibilità
di impostare un “tempo di scadenza”
ai loro contenuti, così che, trascorso
un certo periodo, questi vengano
cancellati da qualsiasi server di
Friendica che ne detenga una copia.
La maggior parte di questi social
network possiede anche un sistemadi messaggistica interno, per lo
scambio di messaggi privati tra gli
utenti. Con Friendica, gli iscritti possono
Il controllo della privacyIl Grande Fratello può mettersi all’ascolto?
inviare messaggi sia agli altri utenti
di Friendica che a quelli di Diaspora,
incluso chi si trova su altri server.
Molti potrebbero trovare insolito il fatto
che Identi.ca non possieda un sistema
di comunicazione privato, ma il network
non è stato pensato per una
condivisione ristretta dei contenuti. Viene
chiaramente specificato, infatti, che tutti
i post condivisi sono pubblicati con una
licenza Creative Commons Attribuzione.
Se siete impensieriti dalle questioni
di riservatezza, fate riferimento alle
norme sulla privacy di Identi.ca, dove
viene spiegato in maniera trasparenteche alcuni vostri dati potranno essere
utilizzati per la pubblicazione
di statistiche, come ad esempio “il 30%
degli utenti sono registrati con un
indirizzo Hotmail” e per soddisfare le
eventuali richieste dell’autorità giudiziaria.
Dall’altro lato, Qaiku offre impostazioni
della privacy semplici e facili da
comprendere, che vi permetteranno
di scegliere chi potrà visualizzare i vostri
post e chi no. Vi darà, in aggiunta, due
opzioni per gestire ulteriormente la
vostra riservatezza: la prima per rendere
pubbliche o nascondere le informazioniinerenti la vostro localizzazione,
la seconda per permettervi di decidere
se mostrare i vostri messaggi all’intero
Internet, solo agli utenti di Qaiku o
unicamente ai vostri contatti. E ancora,
questo servizio vi consente un controllo
completo sui vostri contatti di Qaiku,
ma anche su quelli di altri social
network quali Twitter e Facebook.
I controlli sulla privacy in conversazioni
che qualcun altro ha iniziato sono resi
ben visibili nella barra laterale accanto
al thread. Potrete avere tutte le
informazioni per scoprire chi è in grado
di leggere i vostri commenti e decidere,
quindi, se partecipare o meno a una
discussione. La massima cura per la
privacy è il marchio di Pidder. Questoservizio usa una propria libreria Open
Source scritta in JavaScript, chiamata
pidCrypt , per cifrare i vostri dati che
vengono inviati ai server via HTTPS.
A differenza di altri network, anche
la gestione dell’identità è un punto
centrale per Pidder, tanto da
consentirvi di creare identità diverse
e diversi pseudonimi per gestire come
volete i vostri dati. Potrete anche
impostare sei diversi livelli di
autorizzazioni per i vostri contatti sul
network. Questo, combinato alle sue
caratteristiche di gestione dell’identità,vi darà un controllo estremamente
raffinato per stabilire quale identità
condivida cosa con quali contatti.
Identi.ca sta ancora sperimentandole sue funzionalità di backup e nonconserva le informazioni private
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 55/100
LINUX PRO 125 53
Confronto Test
Social network aperti
Il verdettoAlla resa dei conti, il vincitoredi questa competizione è Friendica.È, probabilmente, il miglior social networkfederato e Open Source di cui si siamai sentito parlare. Non ha mai generatolo stesso rumore di Diaspora,ma è piuttosto popolare e sembraessere anche più popolato di Diaspora,nonostante non ci sia ancora un metrodi misura oggettivo per poterloscientificamente affermare. Friendicadispone di tutte le funzionalità dei social
network proprietari più famosi e, nellostesso tempo, di una interfaccia utentemolto intuitiva. Il software di Friendicasupporta una chat integrata nel browsersimile a quella di Facebook, che avvienevia XMPP tramite un apposito plug-inche deve essere attivato, però,dall’amministratore del vostro sitodi Friendica. Sfortunatamente non
Diaspora è di sicuro il socialnetwork di cui si è parlatodi più, in quanto alternativaOpen Source a Facebook
con il valore aggiunto del rispetto dellaprivacy. Il network è oggettivamenteimpressionante, anche se ancora nellasua versione alfa. Non merita peròil primo posto. Il servizio, infatti, mancadi alcune caratteristiche cruciali, comeuna chat integrata nel browser da usarecon gli amici. Gli sviluppatori stanno
continuando ad aggiungere nuovefunzionalità alla piattaforma così,probabilmente, anche questa farà partedi una versione futura. C’è poi il fatto chela registrazione sul pod principale ospitatodagli sviluppatori è attualmente ristretta.Detto questo, rimane sempre la possibilitàdi iscriversi su altri pod o, addirittura,di metter su un proprio pod personale.
lo è ancora su frndc.com. NonostanteFriendica possa tranquillamenterimpiazzare ogni social network che stiateeventualmente usando, può risultaresovradimensionato per alcuni altripropositi. Se tutto quello di cui avete
necessità è un servizio di microblogging,allora rivolgetevi senza esitazione aIdenti.ca. È il sostituto naturale di Twittere vi consente anche di ospitare un vostroservizio personale per un determinatoambiente circoscritto, ad esempioun’impresa commerciale o un istitutoscolastico. Anche se Identi.ca non è tantofanatico per il multilinguismo quanto loera Qaiku, supporta le notifiche in altrelingue oltre all’inglese. I suoi strumenti,inoltre, risultano piuttosto pratici percambiare il passo delle conversazioni.Pidder fa categoria a sé. Non è certo
consigliabile per un uso standarde quotidiano del social networkingsemplicemente perché non è statoprogettato a quello scopo. È stato, invece,concepito per utenti che ritengonopreziosa la loro privacy, e risulta essereil migliore per la condivisione diinformazioni veramente sensibili che nonsi vorrebbero mai di dominio pubblico.
Sorprendentemente, ci sono molti altri software Open Source checonsentono di ospitare il vostro social network personale, comeElgg, Lovd By Less e altri. Troverete tanti social network di nicchiabasati su questi software e su quelli che fanno funzionare i networkpresentati in questo confronto. A questo proposito, uno è Bentio,che si basa sul software StatusNet, lo stesso di Identi.ca. Ci sono,inoltre, diversi plug-in che trasformano alcuni popolari servizidi gestione di contenuti online in veri e propri social network, comel’estensione Yogurt per Xoops. Potrete crearvi anche un socialnetwork privato usando software Open Source come RetroShare
Considerate anche...e Newebe. Potrete condividere contenuti e collaborare con i vostriamici senza coinvolgere terze parti. Newebe, attualmente nellasua versione beta, possiede anche un client di microblogging checonsente la condivisione di immagini e note, mentre RetroShareè multipiattaforma e impiega GPG e OpenSSL per cifrare tuttele comunicazioni tra i suoi utenti. Per ultimo, esistono iniziativecome AppleSeed Project , OneSocialWeb e Anahita che stannolavorando sulla creazione di standard e sulla costruzione di strumentiper la generazione di nuovi social network aperti. Inoltre, teneted’occhio il progetto supportato da FSF FreedomBox. LXP
Avete mai usato uno di questi network? Pensate siano pronti per uso diffuso?Scrivete la vostra opinione a [email protected] .
A voi la parola
Friendica 1°
Diaspora 2°
Web: www.joindiaspora.com
Non proprio un rimpiazzo del vostro social network preferito, ma quasi.
Pidder4°
Web: www.pidder.com
Servizio ideale per quelli veramente paranoici. Oltre misura per il resto degli utenti.
Web: www.frndc.com
Il vostro nuovo social network preferito.
Identi.ca 3°
Web: www.identi.ca
Il miglior servizio aperto per il microblogging. Punto.
Qaiku 5°
Web: www.qaiku.com
Buon servizio per il microblogging, ma ormai è chiuso.
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 56/100
54 LINUX PRO 125
Test
Da non perdere
Gmsh
Esistono strumenti
di modellazione 3D
e strumenti “notevoli”
di modellazione 3D.
Proprio per questo non
si deve confondere Gmsh
(pronunciato “G-mesh”) con
altri strumenti di grafica. Certo,
si possono creare, importare
ed esportare le classiche
forme basilari ma il vero punto
di forza di questo software
sta nell’applicazione
dell’analisi agli elementi finiti.
Questa tecnica viene
utilizzata in campo
ingegneristico, solitamente
assieme ad altro materiale
scientifico, per il calcolo
semplificato di situazioni fisiche
dinamiche, come lo stress
applicato alle ruote di un
ingranaggio oppure le forze
di collisione di un veicolocontro un ostacolo.
Già da qui si può intuire
che il campo di applicazione
di simili software è vastissimo
dato che ovunque ci sono
forze che agiscono
contemporaneamente
su uno o più elementi,
anche in campo sonoro
o elettromagnetico, per
esempio. Gmsh supporta
molti modelli di simulazione
e offre un’ampia gamma
di compatibilità per importareprogetti da altri software
oppure direttamente dai dati
grezzi. L’interfaccia offre
una finestra principale
accompagnati da altri pannelli
indipendenti. La schermata
principale mostra anche
un terminale in cui leggere
i messaggi di output
del software. A tutti gli effetti
Gmsh è più un’applicazione
in ambito scientifico
che un programma
adatto all’utente comune
ma è una buona cosa sapere
che esistono progetti simili
rilasciati sotto licenza
Open Source ed è un
argomento complesso
e interessante per stimolare
le menti più curiose.
La parte di renderingviene fatta in OpenGL,
quindi non dovrebbero esserci
particolari problemi
di compatibilità; un problema
riscontrato riguarda però
il Double Buffering che
a volte fa i capricci, portando
a fastidiosi sfarfallii oppure
a modelli non disegnati
correttamente. Se così dovesse
succedere avviate il programma
con l’opzione -nodb. A parte
la presenza delle librerie
OpenGL l’unico altro requisito è
FLTK, disponibile praticamente
in tutti i gestori di pacchetti.
Strumento di modellazione 3D
In questa rubrica recensiamoi programmi più interessantiche si possono trovare in Rete.Ogni mese navighiamotra le migliaia di progettiOpen Source che nasconoo si aggiornano e selezioniamoi più nuovi, i più innovativie quelli che possono tornarepiù utili per l’uso quotidianodi una Linux box. La maggiorparte delle applicazioniprovate si trovano nel nostroDVD, ma ne forniamo anchegli indirizzi Internet cosìche ogni lettore possascaricare le versioni future.Se volete segnalare un vostroprogetto o un programma
Open Source che avete trovatoin Rete e ritenete interessanteper la maggior parte dei lettori,inviate una mail all’[email protected]
FREE SOFTWARE
∆ VERSIONE 2.6.1 ∆ WEB http://geuz.org/gmsh
QUESTO MESE...Gmsh 54fbcmd 55Nuvola 55QXmlEdit 56Atop 56
“È un tool di modellazione
usato in campo ingegneristico”
L’interfaccia di Gmsh
ModelloI modelli vengono creati
grazie all’uso di mesh
e possono essere renderizzati
in vari modi.
Pannello principaleIl pannello principale
mostra la maggior parte
delle informazioni
sul modello in uso.
StatisticheI dati vengono aggiornati
in tempo reale rendendo
più comodo capire cosa
sta succedendo.ConsoleQui vengono stampati
i messaggi che il softwarevuole comunicarvi.
Plug-inEsistono numerosi plug-in
atti a manipolare le meshche avete creato o facilitarvi
nel compito stesso.
Menu e strumentiIl menu è costituito da una
finestra a scomparsa con unaserie di sottomenu a cascata.
Non è una sfera... è un struttura di mesh perfettamentemodellata e normalizzata… o qualcosa di simile!
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 57/100
LINUX PRO 125 55
Da non perdere Test
Èimpossibile evitare di amare
un strumento a riga
di comando ben scritto,
se non altro per
i meravigliosi screenshot che regala.
E questo discorso è ancor più vero
se lo strumento in questione
permette di velocizzare e rendere
automatizzabili operazioni
che altrimenti richiederebbero
molto più tempo tramite la comune
interfaccia grafica. In tal sensofbcmd è semplicemente geniale
dato che è riuscito a portare sulla
riga di comando quel che non
vi sareste mai aspettati, ovvero
quel covo di coltivatori terrieri virtuali
e impilatori di gioiellini seriali che
è diventato Facebook ultimamente.
Il software è scritto in PHP, infatti
avrete bisogno di php-cli per farlo
funzionare, e vi consentirà
di usufruire di molte funzionalità
del social network più diffuso senza
dover aprire mai un browser
ed essere seppelliti dalle richieste
di unirvi ai giochini più assurdi del
momento. Ovviamente le feature
base sono semplicissime da trovare
e usare, ad esempio aggiornare
il proprio status, ma rimarrete stupiti
dal livello di complessità delle
opzioni disponibili. Nonostante
il setup sia un pochino complicato,
seguendo le istruzioni sul sitodovreste arrivare senza problemi
ad avere il software pronto all’uso.
A questo punto basterà digitare
i seguenti comandi
fbcmd go access
fbcmd go auth
fbcmd auth XXXXXX
fbcmd addperm
fbcmd test
Questi passi vi guideranno
nell’autenticazione e impostazione
∆ VERSIONE 2.0-beta ∆ WEB http://fbcmd.dtompkins.com
fbcmd
Client Facebook
Certo non è la prima
volta che un lettore
musicale viene
recensito su queste
pagine come una rivoluzione
da non perdere. Eppure questa
volta il software in questione
è davvero differente dai soliti
prodotti mostrati in precedenza.
Talmente diverso da essere un
browser che si finge un lettore
musicale. Il punto di forza di
Nuvola è che gli autori hanno
capito che scaricare, riordinare
e sistemare i tag della propria
libreria musicale è un’abitudine
del passato. Molti utenti hanno
scelto da tempo di affidarsi
a vari servizi online, sfruttando
così le possibilità offerte
da alcuni siti che consentono
di fruire di un parco musicale
sconfinato e già pronto all’uso.
In particolare ci si sta riferendo
a Grooveshark , 8tracks,
Google Music e per i fortunati
residenti all’estero anche,
Amazon Music Player,
Pandora e Rdio, tutti servizi
già supportati da Nuvola.
Tra questi alcuni consentono
addirittura di memorizzare
la propria musica offrendo,
spesso gratuitamente, uno
spazio a disposizione dell’utente
per memorizzare i propri brani
e aggiungerli a quelli già
presenti. Dopo essersi connessi
e autenticati al proprio fornitore
musicale di riferimento,
sostanzialmente come
si farebbe con un comune
browser, il passo che
avvantaggia Nuvola
∆ VERSIONE 2.0.1 ∆ WEB www.launchpad.net/nuvola-player
Nuvola
Riproduttore musicale
è l’integrazione con i controlli
e i feedback tipici di un
riproduttore musicale completo,
ad esempio l’utilizzo dei tasti
multimediali o il volume
di sistema. Inoltre, come
se ciò non bastasse, il fatto
di poter impostare diversi
servizi in maniera totalmente
indipendente per poi utilizzare
quello scelto a seconda del
bisogno, risulta una feature
molto comoda e veloce. L’unica
pecca che potreste incontrare
è la mancanza di integrazione
con il vostro servizio preferito ma,
essendo il codice rilasciato sotto
licenza GPL, scrivere un plug-in
che vi consenta di colmare
la lacuna è solo questione
di buona volontà e un pizzico
di competenze in ambito Python.
dei permessi di fbcmd nel vostro
profilo FB e a questo puntoquel che dovrete fare sarà
usare comandi simili a
fbcmd status ‘Haha.. alla facciaccia
vostra.. FB da riga di comando!’
fbcmd status @dada post
‘Ci vediamo presto fratellino!’
fbcmd status @ale post ‘Basta
giocare a Dwarf Fortress.. studia!’
Come già anticipato la lista
di comandi è lunghissima e offre
strumenti per gestire gli album
di foto, inviare nuovi contenuti,
creare e gestire gli eventi,sostanzialmente tutto tranne
giocare a Farmville. Soprattutto,
fbcmd fa quel che viene
richiesto a uno strumento
per la riga di comando: prende
un compito complesso e tedioso
trasformandolo in qualcosa
di immediato e relativamente
semplice. Non è semplicemente
un hack, è davvero un utile
strumento produttivo.
Ora non avrete più bisogno di portarvi dietro i vostri albumpreferiti... finché avrete una connessione sempre a disposizione
Con un po’ di impegno si potrebbe fare un script generatoredi auguri automatizzati per la lista dei vostri amici
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 58/100
56 LINUX PRO 125
Test
Da non perdere
Sebbene alcuni task possano
essere svolti con strumenti
comuni, ciò non implica che
usando strumenti dedicati
e specifici si ottenga lo stesso
risultato. Leggere e modificare
un file XML può diventare un
compito arduo, soprattutto quando
la mole di dati contenuta è ampia
e molto strutturata. QxmlEdit
non è un semplice plug-in attaccato
a un editor preesistente, invece
si tratta di un software creato ad-hoc
per l’elaborazione di file XML.Proprio grazie al fatto di essere nato
per lavorare su questo tipo di file,
il set di feature a disposizione
e le funzionalità offerte rendono
particolarmente agevole lavorare
con questo tipo di file. La mappa
di colori permette di muoversi
QXmlEdit
agevolmente anche all’interno
di strutture dati complesse.
Nonostante ci siano diverse
funzionalità ben pensate, ne
mancato altre indispensabili, come
una visualizzazione precisa
e completa dei contenuti navigati.
Se ciò non bastasse, la compilazione
da sorgenti di questo software
è ancora abbastanza complessa,
soprattutto date le richieste
abbastanza singolari necessarie come
dipendenze per arrivare al prodotto
compilato. Il miglior suggerimentoche si può dare in questi casi
è di cercare di compilare il tutto
in una sottodirectory (esempio
/opt/qxmledit ) per poi spostare solo
il necessario nella posizione desiderata.
In ogni caso lo sviluppatore è già
al corrente dell’esistenza di questi
La “vista ad albero” non è solo un sempliceabbellimento grafico, bensì risulta fondamentaledurante la navigazione della struttura XML
Editor XML
problemi, quindi sta già cercando
di porre rimedio nel migliore dei
modi e di rilasciare un miglioramento
a tutti i problemi esposti poche
righe fa nelle prossime release.
∆ VERSIONE 0.8.2 ∆ WEB http://code.google.com/p/qxmledit
Come alcuni di voi sapranno
già, top è uno dei classici
strumenti UNIX approdati
poi in Linux per il
monitoraggio dei processi. Quando
lo eseguite in un terminale, questo
strumento mostra tutta una serie
di utili informazioni come l’uptime,
il carico della CPU e una lista dei
processi al momento in esecuzione,
ordinati in base alle risorse che
consumano. Questo strumento
è tra i più utili e insostituibili per
la diagnosi dei problemi ed è
installato di default in praticamente
ogni sistema UNIX e Linux. Top
può identificare i processi in stato
di zombie e quelli eseguiti
normalmente, e di ogni processo
mostra il PID e l’utente che lo sta
facendo girare. Nel tempo sono
sorti altri tool simili, che cercano
di mostrare aspetti differenti
del sistema con un output simile
a quello di top. Iotop, per esempio,
compie un lavoro simile ma guarda
all’utilizzo dell’I/O, quindi
Atop
vi permette di scoprire quali
processi stanno facendo scempio
del vostro hard disk o stanno
accorciando la vita del vostro SSD.
I programmatori di Atop hanno
cercato di creare una versione
di top che fosse superiore a tutte
quelle esistenti. Certo, questo tool
elenca sempre i processi e i loro
PID, ma lo fa in una maniera
più chiara e carina. Pur essendo
Tool di sistema sempre basato sui caratteri
ASCII, si adatta alla larghezza
del terminale per mostrare
al meglio le informazioni.
Se questo non bastasse,i suoi sviluppatori lo hanno
programmato in modo che sia
adatto ai tempi moderni: il tool
sa, per esempio, che molto
probabilmente starete usando
un processore multicore, di
conseguenza elenca le statistiche
per ogni core nella parte alta della
finestra, fino ad arrivarvi a dire la
frequenza di lavoro dei singoli core.
Per venire incontro all’utente, atop
evidenzia i livelli critici per diversi
aspetti usando colori differenti.
Con una barra di stato che mostra
la capacità di storage e l’attività di
rete, non manca proprio nulla tra le
informazioni fornite. Rispetto a top
alcune colonne risultano cambiante,
e alcuni valori di stato richiedono un
attimo di tempo per essere decifrati,
ma per ora ci sembra proprio
il migliore tra i programmi *top.
∆ VERSIONE 2.0.2 ∆ WEB www.atoptool.nl
Abbandonatetop e passatead atop, non ve ne pentirete
“I programmatori di atop hannocreato una versione di topsuperiore a tutte quelle esistenti”
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 59/100
LINUX PRO 125 57
TutorialI nostri esperti offrono ogni mese i loro consigli di programmazione e di amministrazione del sistema
TUTORIAL
InkscapeVi mostriamo come realizzare
un’illustrazione piena di dettagli usando
i potenti effetti di Inkscape così da arrivare
a un risultato impressionante pag. 58
Sistemi multipostazioneSe avete un PC molto potente perché non
collegargli più di una tastiera, mouse e monitor
e ottenere così un sistema multipostazione
utilizzabile da più persone? pag. 62
TrashwareNon buttate via i vecchi PC: ridategli vita
con i nostri consigli pag. 66
Sicurezza
PacketFence è un potente tool percontrollare gli accessi in LAN pag. 74
Hardcore Linux
Il nuovo ZFS è la punta di diamante deifilesystem per GNU/Linux pag. 78
ACCADEMIA DEL CODICE
Concetti di baseSiete stanchi di ricevete tonnellate
di errori quando compilate un programma?
Vi mostriamo le cose da evitare
e come farlo pag. 82
Reti neuraliAddestreremo per l’ultima volta la nostrarete neurale pag. 84
PythonImparate a sfruttare la vostra CPU multicore
negli script Python, così da liberare tutta
la potenza dei processori moderni
e ottenere prestazioni maxi pag. 88
LA VOSTRA GUIDA
DI RIFERIMENTO
Esiste sempre qualcosa di nuovoda imparare in campo informatico,
soprattutto in un mondodinamico come quello di Linux
e dell’Open Source. Ogni numerodi Linux Pro presenta una
corposa sezione dedicataa tutorial realizzati da esperti
in moltissimi settori:programmazione, sicurezza,
amministrazione di sistema,
networking. Trovereteinformazioni utili sia che siate dei
veterani di Linux sia degli utentialle prime armi. Studieremo con
cura anche le applicazioni piùdiffuse sia in ambito lavorativo
che desktop. Il nostro scopoè quello di fornire in ogni numero
il giusto mix di argomenti,ma se avete suggerimenti su temi
particolari che vorreste vedere
trattati, scriveteci via e-mailall’indirizzo
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/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 60/100
58 LINUX PRO 125
Inkscape
Create un’illustrazione vettoriale d’effetto con questo tool
Se dovete disegnare qualcosa, usare
Inkscape è quasi una sciocchezza. Non solo
ha una vasta gamma di strumenti utili
e generalmente facili da capire, ma lavora anche
tramite SVG, un formato immagine vettoriale standard.
Se siete un artista di talento, potete fare cose
meravigliose con Inkscape, ma anche un maldestro
maneggiatore di pastelli può tirare fuori una bella
immagine con un po’ di impegno. Questa guida
spiegherà alcune funzioni di disegno “nascoste”
di Inkscape mentre mettiamo insieme un’immagine
cianografica. Queste funzioni non sono veramente“nascoste”, è solo che sono spesso tralasciate
o sembrano troppo complicate per occuparsene.
Sveleremo alcuni dei misteri che circondano
l’uso degli effetti, estensioni e filtri per arrivare
a un’immagine in stile cianografico che non sembri
troppo perfetta, l’imperfezione è intenzionale in questo
caso. Probabilmente avete già usato i filtri, quasi
sicuramente se avete usato un’immagine bitmap
nel vostro lavoro di Inkscape. Le bitmap sono quello
a cui le persone normalmente si rivolgono quando
necessitano di una trama in un’immagine, e per essere
onesti, creare lo stesso effetto con qualche immagine
di trama decente probabilmente richiederebbe
un decimo dello sforzo. Quindi, perché non usiamoquelle? Le immagini bitmap non solo sono grandi, ma
non sono nemmeno scalabili. L’arte vettoriale sta tutta
nell’essere in grado di ridimensionare un’immagine
senza preoccuparsi se il risultato sarà leggibile. Poiché
tratta solamente le forme, queste sono comprensibili
a qualunque dimensione le usiate. Perciò vale la pena
sapere come creare effetti tipo bitmap usando
nient’altro che comuni forme e un po’ di trucchi
procedurali di Inkscape. Lo svantaggio di usare
questi metodi procedurali è che alcuni di questi,
a seconda dei parametri che usate, possono richiedere
una considerevole quantità di potenza di calcolo
per la rappresentazione. Se scoprite che il vostro
computer fatica a ridisegnare la schermata,vi consigliamo di attenuare un po’ gli effetti.
FACILE
Questa immaginein stile
cianograficosembra qualcosa
che normalmentemettereste
insiemein un programma
per dipingere,ma è disegnata
al 100% con
forme vettorialiridimensionabili
ed efficaci
Se combinate insieme alcuni degli effettiche abbiamo usato, potete riuscire a fareogni sorta di disegno in stile abbozzato!
Realizzate una cianografiaCreate un’illustrazione dettagliata senza sforzo. Linux Pro vi mostra come alcuni semplici
effetti di Inkscape possono dare un risultato impressionante
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 61/100
LINUX PRO 125 59
Inkscape Tutorial
œ
1 Fare un riquadro bluPer prima cosa, andremo a creare un riquadro blu di sfondo alla
nostra immagine. Scegliete il colore Navy dalla tavolozza in fondo
alla finestra di Inkscape. Poi, scegliete lo strumento rettangolo
dalla barra degli strumenti sul lato e fate un rettangolo che sia
più o meno della larghezza della pagina. Potete ridimensionale
la pagina per adattarsi in seguito, non preoccupatevi di andare
alla modalità Orizzontale. Alcuni degli effetti che applicheremo
dipendono dalla grandezza iniziale del riquadro, perciò i vostri
risultati potrebbero essere diversi se decidete di fare una versione
A0, o almeno dovrete regolare alcuni dei parametri..
3 Creare un nuovo livelloNon vogliamo pasticciare accidentalmente con lo sfondo, perciò
il modo migliore di sistemare le cose è creare un nuovo livello
sopra di esso, per contenere la nostra illustrazione. Per iniziare,
dovremmo bloccare il livello attuale (facendo click sull’icona del
lucchetto nella barra di stato sul fondo della schermo). Poi
selezionate Livello D Aggiungi livello... dal menu. Inserite
un nuovo nome e assicuratevi che la disposizione sia impostata
a Sopra l’attuale. Potete cambiare livello facilmente scegliendo
quello che volete dal menu a comparsa nella barra di stato.
2 Aggiungere un po’ di formaggioProprio così, stiamo per aggiungere un effetto formaggio.
Aggiungere un po’ di trama allo sfondo dà un aspetto tipo
cianografico più autentico. Non vogliamo eccedere, perché
vorremmo poter vedere ancora l’immagine quando avremo
finito. L’effetto che troverete in Filtri D Sovrapposizione
D Gorgonzola dà allo sfondo una sorta di aspetto spiegazzato,
logorato. Non aggiunge troppo disturbo, così l’illustrazione resterà
chiara e non è oneroso in termini di calcolo, perciò non dovrete
aspettare anni per l’aggiornamento della schermata.
4 Disegnare qualcosaBene, vorremo avere alcune forme sulla nostra cianografia.
Potete iniziare trascinando una forma rettangolare appena
all’interno dell’area riempita dal nostro sfondo gorgonzola.
Questo è il tipo di forma che trovate sui disegni tecnici e sulle
cianografie. Effettivamente, potete anche aggiungere una pila
di riquadri più piccoli nell’angolo basso a destra, come mostrato.
Aprite le proprietà Riempimento e contorni (Ctrl+Shift +F)
e assicuratevi che siano impostate a Nessun colore e colore
uniforme del contorno, diciamo grigio 10%. Potete regolare
lo spessore per adattarlo.
Passo passo Realizzate la vostra immagine in stile cianografico
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 62/100
60 LINUX PRO 125
Tutorial
Inkscape
5 Aggiungere più coseOra che avete un modulo per la vostra illustrazione (e sarebbeun buon momento per salvarlo per usi futuri), potete iniziarea disegnarci su alcune cose. Se già avete alcuni disegni schematiciche vorreste aggiungere, vi conviene farlo ora, ma se non aveteniente di adatto di aspetto tecnico ci sono alcune scorciatoieche potete provare per creare qualcosa. Usando lo strumentopenna (Shift +F6) disegnate un triangolo. È molto più facile farlose mantenete premuto il tasto CTRL, che vincola la forma a lineedritte e angoli regolari.
7 Importare qualcos’altroSe non sapete disegnare e le estensioni non possono disegnareniente di appropriato, allora c’è sempre il ripiego di prenderein prestito i disegni di qualcun altro. Se selezionate File D Importa
Open Clip Art , otterrete una finestra di ricerca che potete usareper trovare ogni tipo di immagine distribuita sotto CreativeCommons. Abbiamo pensato che una raffigurazione dell’uomodi Vitruvio di Leonardo sarebbe stata carina e difatti ce n’eranotre tra cui scegliere. Questa è dell’utente YDL e sembraadeguatamente scarna per quello che abbiamo in mente, farlasembrare un po’ confusa! Quando importate l’immagine potrestedoverla ridimensionare e posizionare in maniera appropriata.
6 Trasformare con i RenderCon il triangolo selezionato, scegliete Estensioni D Render D Disegna dal triangolo...: otterrete una finestra che vi dà ognisorta di opzione per il disegno geometrico che può essere generatodal vostro triangolo. Potete sperimentare con questi a piacere,cliccate su Anteprima diretta per vedere cosa fa ognuno.Questo dimostra chiaramente la potenza di alcune delle estensioni,che possono disegnare le cose per voi o espandere le coseche avete già disegnato. Esaminate bene il menu Render,poiché ci sono altre cose che potrebbero piacervi!
8 Fare il bozzettoUna delle funzioni più trascurate di Inkscape è Effetti su tracciato.È un po’ come i filtri o le estensioni, ma diversamente da quellimodifica un tracciato. Ce ne sono parecchi tra cui scegliere,ma quello che vogliamo usare ora è Bozzetto. Con l’oggettoselezionato, premete Shift +Ctrl+7 per richiamare la finestraEditor effetti sul tracciato. Selezionate Bozzetto dal menua discesa e poi cliccate sul pulsante Aggiungi. Questo modificheràil tracciato sostituendo ogni curva con numerose linee che sonouna sorta di approssimazione dell’originale. Potete giocherellarecon le impostazioni finché sembra corretto; non aggiungete troppo“tremore” o troppe linee o sembrerà soltanto un pasticcio.
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 63/100
LINUX PRO 125 61
Inkscape Tutorial
9 Aggiungere del testoQuello di cui il documento ha bisogno ora è del testo, ma nonsemplicemente un vecchio testo qualsiasi. Potreste passareore a cercare un carattere adatto da usare per dare un effettotipo inchiostrato a mano, ma in realtà qualsiasi carattere andràbene; lo farete sembrare tremolante e disegnato a mano congli effetti. Scegliete un carattere e aggiungete del testo.Vi consigliamo qualcosa di abbastanza massiccio, come OpenSans,o almeno qualche tipo di carattere senza grazie. Aggiungetelousando lo strumento Testo e assicuratevi di aver selezionatol’opzione Grassetto nella barra degli strumenti, più è massiccio,meglio è per questo effetto.
11 Effetto scarabocchiatoQuesta volta selezionate Scarabocchi (grezzo) e aggiungetelo.La sagoma si riempirà probabilmente in modo informe. Dal pannelloRiempimento e contorni, assicuratevi che il riempimento sia disattivatoe riducete la larghezza del contorno fino a vedere le linee. Poteteregolare gli scarabocchi con la lunga lista di opzioni, ma è più facileottenere l’effetto che volete facendolo “direttamente”. Passate allostrumento Nodi (quello sotto il puntatore normale) e ora nella formadovreste vedere due rombi gialli e alcuni altri punti. Muovete quellosuperiore per modificare la frequenza e la direzione degli scarabocchicosì da ottenere un buon effetto (spostarlo verso il centro dell’oggettoaumenta la frequenza).
10 Modificare il vostro testoNon potete applicare Effetti sul tracciato al testo, perché il testonon è un tracciato, tuttavia potete trasformarlo. Selezionatelo e poiscegliete Tracciato D Da oggetto a tracciato. Il vostro testo nonè più modificabile come testo, è ora semplicemente una serie ditracciati raggruppati. Mentre sono ancora raggruppati insieme, usatele proprietà di Riempimento e contorni per dare un contorno grigioe nessun riempimento. Ora scegliete Modifica D Duplica per creareuna copia identica. La copia sarà quella che convertirete in scarabocchie l’originale servirà da sagoma delimitante per rendere il testo ancoraleggibile quando lo avrete colorato all’interno. Separate i tracciatie selezionatene uno semplice per iniziare, poi premete Shift + Ctrl+ 7 per aprire l’Editor di effetti sul tracciato.
12 Trattare le forme difficiliIl problema con alcune forme è che hanno dei vuoti all’interno.L’effetto Scarabocchi non le gestisce molto bene e sembrariempirle due volte. Il modo un po’ scomodo ma efficace di gestirleè duplicare ancora la forma. Usando il modificatore di Nodi,rimuovete il tracciato esterno così da avere solo la parte interna,poi riempitela e applicate ogni effetto per renderla simileallo sfondo. È un po’ scomodo, ma è abbastanza efficacee certamente molto più facile che dover disegnare tutti quegliscarabocchi a mano! LXF
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 64/100
62 LINUX PRO 125
Sistemi multipostazione
Trasformate la vostra Linux box in una potente centrale multitasking
schede video PCIe. Sono poi disponibili anche schedevideo USB. Teoricamente un processore multi-coreoppure uno dotato di hyperthreading dovrebbe esserein grado di offrire un core o un thread per ciascunutente; con un po’ di memoria in più dovrebbe esserepossibile far girare anche giochi 3D o un programmaper l’editing video. Una singola scheda Ethernet
da 100 Mbit è poi più che adeguata per le connessionia Internet di più utenti.
Preparazione del sistemaÈ piuttosto facile arrivare a un’installazione inutilizzabilequando le cose vanno storte. Se dovete usare il vostroPC principale assicuratevi per prima cosa di aver fattouna copia di sicurezza dei vostri dati. Prima di partiredovete avere almeno due account utente con directoryhome separate. È importante perché due istanzedello stesso utente che accedono ai file in una singolahome possono causare dei problemi portando ancheall’instabilità del sistema e alla perdita dei dati.Solo uno dei due utenti dovrebbe avere i permessi
di amministrazione, principalmente per garantire chel’arresto del PC non sia eseguito in maniera scorrettae che non vengano fatte modifiche senza criterioalla configurazione del sistema. Un’attenta sceltadell’hardware renderà le cose più facili. Far funzionaredue monitor con Linux non è difficile. Se entrambisono collegati al momento dell’installazione, con buonaprobabilità saranno riconosciuti e configurati per voi;in caso contrario dovrete assicurarvi che siano in gradodi funzionare in due sessioni X separate primadi tentare di configurare il sistema per due utenti.Quella che segue è una descrizione dei passi richiestiper creare un sistema multiposto con sessioni Xparallele attraverso la modifica dei file di configurazione.
Sessioni utente distinteSostanzialmente cercheremo di eseguire in parallelodue server X distinti. Occorrerà modificare il file /etc/X11/xorg.conf per creare due layout, ognunodei quali dotato di schermo, mouse e tastiera propri.X11 è in grado di gestire sessioni multiple da un po’di tempo, ma il server X di base è limitato a una solaper ciascuna scheda video. In questo tutorial useremoschede Nvidia e i loro driver proprietari. Vista la grandevarietà di configurazioni possibili, un articolo comequesto può solo dare qualche consiglio generaleper far funzionare le cose, ma i metodi usati possonorisultare utili in molte situazioni anche differenti da
quella descritta qui. Conviene creare un copia di backupdella versione esistente di /etc/X11/xorg.conf in modoche, in caso di disastro, sia possibile eseguire il login
INTERMEDIO
I vostri figli litigano in soggiorno per usareil computer? La bolletta dell’elettricitàvi fa venire il mal di testa e mette a rischio
il vostro conto in banca? La soluzione potrebbe essereun computer multiposto. Esistono sistemi dotati di piùdi un monitor, ma un sistema multiposto ha anche dueo più tastiere, mouse, altoparlanti e utenti simultanei.
Tra le ragioni che spingono a usare sistemi del generetroviamo problemi di spazio, di budget o di risparmioenergetico. In alcuni paesi, tra cui il Sudafricae il Brasile, vengono installati migliaia di PC multipostonelle scuole e nei centri di ritrovo per offrire al maggiornumero di studenti e di cittadini la possibilitàdi accedere a Internet. Anche un PC di scarsa potenzaè in grado di supportare più utenti. Un computermoderno offre una capacità di calcolo molto superiorea quella richiesta da molte delle attività per cui vieneimpiegato, come la navigazione in Rete, l’elaborazionedi testi o la lettura della posta elettronica. Molti sistemidesktop, specialmente quelli dotati di processoremulti-core, non fanno nulla per la maggior parte
del tempo. Un PC usato da due persone consumeràun po’ più di elettricità rispetto a un singolo utente,ma considerevolmente meno di quella di due computerdiversi. A casa un semplice sistema a due posti puòessere utile quando serve un PC in più per i compitidei figli o per un ospite. Per questo articolo abbiamousato Ubuntu 12.04 su un sistema AMD64X2 4200+con 4 GB di RAM, dotato di una scheda grafica Nvidiasulla motherboard e di una seconda scheda PCIesempre di Nvidia. Non si tratta di certo di una macchinapotente secondo gli standard attuali, ma si è rivelataperfettamente in grado di svolgere il suo compito.Abbiamo scelto di proposito dell’hardware datatoper rendere maggiormente evidenti tutti gli eventuali
problemi. Per garantire un test approfondito abbiamopersuaso un paio di volontari a usarecontemporaneamente il sistema. Siamo rimastipiacevolmente sorpresi dal fatto che non si sonopresentati problemi di prestazioni. I due utentinavigavano allegramente sul Web, guardavano i videodi YouTube, giocavano e svolgevano le loro attivitàquotidiane come la preparazione di testi e di foglielettronici senza nessun problema evidente. Questoarticolo tratta solo di sistemi a due posti, ma il numerodei possibili utenti contemporanei è limitato unicamenteda quello delle schede video che possono essereinserite nel PC usato, dato che è sempre possibileaggiungere porte USB collegando degli hub.
Normalmente una motherboard moderna è dotatadi uno slot PCIe e uno o più slot PCI, ma ce ne sonoalcune che sono in grado di supportare fino a cinque
Perché due teste
sono meglio di unaLinux Pro vi mostra come collegare più monitor, mouse e tastiere a un singolo PC
per condividere la potenza di un calcolatore e fare la felicità di più utenti
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 65/100
LINUX PRO 125 63
Sistemi multipostazione Tutorial
dalla console o via SSH da un altro PC oppure usareun Live CD per ripristinare la versione funzionante.Una volta configurate le due sessioni bisogna usareil display manager per lanciare i terminali video (o VT) edeseguirli in parallelo. Abbiamo inizialmente configurato unserver per volta, commentando l’altra metà della sezione
ServerLayout del file di configurazione, in mododa essere sicuri di avere due sessioni funzionanti.Un problema con le distro desktop attuali è il gradodi automazione raggiunto. Bisogna impedire che HALe Udev aggiungano automaticamente i dispositivi,altrimenti tutti funzionerebbero con un unico schermo,cosa come minimo leggermente fastidiosa.
Identificare i dispositiviLe schede video possono essere identificate per mezzodel comando lspci | grep VGA. I driver proprietariNvidia permettono di usare il programma nvidia-settings per configurare i monitor a proprio piacimento.Questo tool è anche in grado di creare una versione
di base di xorg.conf che contiene le informazionirelative a scheda video e monitor e che può esserepersonalizzato in seguito. Anche con i driver AMDdovrebbe essere possibile fare una cosa del genere.Per quanto riguarda invece tastiera e mouse, useremoil driver evdev, che usa eventi del tipo xxx-event-kbd o xxx-event-mouse. Si trovano nella directory /dev/input . Questa directory contiene file del tipomice, mouse0, mouse1 ecc. Sono legati al driverdel mouse e non vanno bene per il nostro scopo perchépossono cambiare oppure essere usurpati da altriprogrammi. La directory contiene anche alcuni eventinumerati che sono collegati a eventi presenti nellesottodirectory by-id e by-path. Dato che si tratta
di link dinamici, i dispositivi a cui sono collegati possonocambiare se questi vengono scollegati o se vieneaggiunto un altro dispositivo prima dell’avvio dellamacchina. Per aumentare la confusione, inoltre, a volteesiste più di un file per il medesimo evento, datoche le tastiere possono avere eventi di tipo mousee viceversa. Noi abbiamo invece ovviamente bisognodi un unico identificatore per ciascun dispositivo.I seguenti comandi: ls -R /dev/input ls -R /dev/input | grep mouse ls -R /dev/input | grep kbddanno una lista di tutti gli eventi. Gli elementiin /dev/input/by-id sono utili nel caso stiate usando
modelli differenti di tastiera e mouse, dato cherimangono statici. Se invece usate due tastiere o duemouse identici potreste scoprire che alcuni elementinella directory by-id sono condivisi e vi toccherà usarequelli nella directory by-path (i cui elementi cambianosolo se i dispositivo sono collegati a una porta USBdiversa). Qui sotto vedete un esempio dell’outputprodotto dai comandi, con i dati che ci interessanoin grassetto. Il primo proviene dalla directory /dev/input/by-id, mentre il secondo proviene dalla directory /dev/input/by-path. Ci interessano gli elementi del tipo-event-mouse oppure -event-keyboard : $ ls -R /dev/input |grep mouse mouse1
usb-Logitech_USB_Receiver-event-mouse usb-Logitech_USB_Receiver-if01-event-mouse usb-Logitech_USB_Receiver-if01-mouse
usb-Logitech_USB_Receiver-mouse pci-0000:00:10.0-usb-0:2:1.1-event-mouse pci-0000:00:10.0-usb-0:2:1.1-mouseUna volta identificati i dispositivi occorrerà aggiungerlial file /etc/X11/xorg.conf, di cui nel seguitoesamineremo un esempio. Ovviamente dovretemodificare i dettagli dei dispositivi per adattarli allavostra configurazione hardware. La prima sezione
è ServerFlags, che imposta le opzioni comuni a tuttii server. Le righe più importanti sono quelle chedisabilitano l’aggiunta automatica dei dispositivi: # X configuration file
Section “ServerFlags” Option “Xinerama” “off” Option “AutoAddDevices” “off” Option “AllowEmptyInput” “on” Option “AllowMouseOpenFail” “on” Option “DisableModinDev” “on” Option “DRI” “on”EndSectionPer ogni server occorre poi una sezione ServerLayout
per elencare i dispositivi relativi allo schermo
Un PC, due sessioni.In questo casoabbiamo duemonitor, duecombinazionidi tastierae mouse senza filie due gruppidi altoparlanti USB
Hardware multiposto
Vale la pena di sottolineare che piùsemplice e più standard è l’hardware, p iùfacile risulterà farlo funzionare. Le specificheelencate qui sotto sono un minimo assoluto,ma potreste stupirvi delle buone prestazioniche può offrire un sistema di fascia bassa.∆ Processore Come minimo un PentiumP4 2,4 GHz. L’ideale è un processoremulti-core, con un core per ciascun utente,ma non è essenziale.∆ Memoria 512 MB. 1 GB è ampiamente
sufficiente per due utenti nonparticolarmente esigenti, ma più cen’è meglio è. È raccomandabile un minimodi 256 MB extra per ciascun utente.∆ Spazio su disco Come minimo 20 GBper due utenti, ma se ce n’è di più è meglio.∆ Schede video Minimo 16-32 MBdi memoria video. Una scheda per utente,preferibilmente schede simili dello stessoproduttore che usino lo stesso driver.Non è essenziale, ma semplifica di moltola ricerca di eventuali problemi. Possonoessere usate anche schede PCI.∆ Monitor Preferibilmente identici, oppuredue diversi che permettano di usarela stessa risoluzione.
∆ Hub USB Conviene usare un hubseparato per ciascuna sessione. Dato
che alcuni dispositivi USB hanno bisognodi una certa potenza si raccomandanohub con alimentazione esterna.∆ Tastiere e mouse Un modello qualsiasidi tastiera e mouse USB dovrebbe andarebene, compresi i set senza fili. Questi ultimiaiutano a ridurre il numero dei cavi,ma occorre fare att enzione alle interferenzereciproche.∆ Suono Vanno bene sia le schede audioUSB che gli altoparlanti USB, che al loro
interno hanno una scheda audio.Collegandoli al medesimo hub a cui sonoconnessi tastiera e mouse si mantiene unacerta pulizia nel sistema. Bisogna peròtenere conto delle interferenze acustiche.Se intendete usarla come configurazionepermanente vi conviene dotarvi di cavilunghi oppure di cuffie per uno o più ut enti.∆ Chiavette USB, macchine fotografiche
ecc. L’ hotplug di dispositivi USB e Bluetoothfunziona per default solo per l’utenteche ha eseguito per primo il login.Se è un problema potete provarea modificare la configurazione di policyk it .∆ Stampanti, scanner ecc. Dovrebberoessere collegati alle porte USB della
motherboard o connessi via rete, in mododa essere accessibili da tutte le sessioni.
œ
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 66/100
64 LINUX PRO 125
Tutorial
Sistemi multipostazione
EndSection
Section “InputDevice”
Identifier “Mouse1”
Driver “evdev”
Option “Device” “/dev/input/by-id/usb-MOSART_
Semi._Wireless_Keyboard___Mouse-event-mouse”
Option “GrabDevice” “on” EndSection
Section “InputDevice”
Identifier “Keyboard0”
Driver “evdev”
Option “Device” “/dev/input/by-id/usb-Logitech_USB_
Receiver-event-kbd”
Option “Xkb_Rules” “evdev”
Option “Xkb_Model” “evdev”
Option “GrabDevice” “on”
EndSection
Section “InputDevice”
Identifier “Keyboard1”
Driver “evdev”
Option “Device” “/dev/input/by-id/usb-MOSART_ Semi._Wireless_Keyboard___Mouse-event-kbd”
Option “Xkb_Rules” “evdev”
Option “Xkb_Model” “evdev”
Option “GrabDevice” “on”
EndSection
Infine dobbiamo specificare i dati dei monitor, delle
schede grafiche e gli schermi a cui sono collegati.
Abbiamo usato due monitor da 19 pollici con
una risoluzione di 1440x900. L’opzione DPMS
abilita il risparmio energetico:
Section “Monitor”
Identifier “Monitor0”
VendorName “Unknown”
ModelName “Bit 3 Vw19B2” HorizSync 31.0 - 83.0
VertRefresh 56.0 - 76.0
Option “DPMS”
EndSection
Section “Monitor”
Identifier “Monitor1”
VendorName “Unknown”
ModelName “Acer AL1916W”
HorizSync 31.0 - 84.0
VertRefresh 56.0 - 76.0
Option “DPMS”
EndSection
I nostri dispositivi sono entrambi delle schede grafiche
Nvidia, una sulla motherboard e una in uno slot PCIe: Section “Device”
Identifier “Device0”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BoardName “GeForce 8100 / nForce 720a”
BusID “PCI:2:0:0”
EndSection
Section “Device”
Identifier “Device1”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BoardName “GeForce 8400 GS”
BusID “PCI:3:0:0”
EndSectionGli schermi sono coppie di schede video e monitor:
Section “Screen”
e all’ingresso dei dati. L’opzione SingleCard limita
i reset a un singolo dispositivo:
Section “ServerLayout”
Identifier “Layout0”
Screen 0 “Screen0” 0 0
InputDevice “Keyboard0”
InputDevice “Mouse0”
Option “SingleCard” “on”
EndSection
Section “ServerLayout”
Identifier “Layout1”
Screen 0 “Screen1” 0 0
InputDevice “Keyboard1”
InputDevice “Mouse1”
Option “SingleCard” “on”
EndSection
Ora ci vuole una sezione per ciascun dispositivo
di ingresso. Si tratta di solito di mouse e tastiere,
ma possono essere specificati anche altri dispositivi,
come tavolette grafiche o schermi sensibili al tocco.
Noi abbiamo usato due diversi kit tastiera/mouse senza
fili. L’opzione GrabDevice impedisce agli altri driver diaccedere al dispositivo. Il locale delle tastiere conviene
invece configurarlo usando le impostazioni di sistema
di Ubuntu, che sono specifiche di ciascun utente.
Section “InputDevice”
Identifier “Mouse0”
Driver “evdev”
Option “Device” “/dev/input/by-id/usb-Logitech_USB_
Receiver-event-mouse”
Option “GrabDevice” “on”
A proposito del file xorg.conf
Posizionato nella directory /etc/X11, xorg.
conf ha ossessionato molti hacker Linux.
Viene letto all’avvio del server X
e ha una sintassi abbastanza oscura.
Al giorno d’oggi la maggior parte delle
distro configura automaticamente X
per voi e il file può addirittura non esistere.
Questo può dare luogo a problemi piuttosto
difficili da sistemare, ma la configurazione
manuale è ormai necessaria raramente.
Casi come il nostro, in cui cerchiamo
di fare qualcosa al di fuori dell’ordinario,
sono l’eccezione. Il formato di xorg.conf
può confondere un po’, ma questo è dovuto
alla sua estrema flessibilità. Molti degli
esempi su Internet rivelano chiaramente
di essere stati ottenuti per mezzo di copia
e incolla. Spesso la gente tende a usareesempi vecchi e poi si dimentica di ripulire
le cose. Ad esempio, ServerFlags imposta
i valori di default, che però possono essere
modificati in una qualsiasi delle altre sezioni.
All’interno del file non c’è distinzione
tra maiuscolo e minuscolo, le sezioni
non devono seguire un particolare ordine
e i valori booleani possono essere espressi
con 0 o 1, on o off, true o false, yes o no.
C’è anche una serie apparentemente infinita
di opzioni, alcune non ben documentate.
Un errore di battitura insignificante
può impedire al server di partire,
ma ci sono dei buoni file di log per
scoprirlo. Nei nostri esempi abbiamo cercato
di essere consistenti e di eliminare quante
più righe inutili potessi, ma la directory
/var/log rimane il vostro punto
di riferimento quando le cose nonfunzionano come vi aspettereste.
Writer di LibreOfficein stereo! Anchela stampa hafunzionato bene
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 67/100
LINUX PRO 125 65
Sistemi multipostazione Tutorial
Se avete dei problemi
nell’identificare
i dispositivi potetescollegarli e ricollegarli
uno per uno,
verificando ogni volta
l’output dei comandi
lsusb e dmesg.
Tip Identifier “Screen0” Device “Device0” Monitor “Monitor0” DefaultDepth 24 Option “metamodes” “nvidia-auto-select
+0+0;1440x900_75 +0+0” SubSection “Display” Depth 24 EndSubSection EndSection Section “Screen” Identifier “Screen1” Device “Device1” Monitor “Monitor1” DefaultDepth 24 Option “metamodes” “nvidia-auto-select+0+0;1440x900_75 +0+0”
SubSection “Display” Depth 24
EndSubSection EndSectionUna volta preparato un xorg.conf funzionante (cioèche permette di avviare il sistema operativo senza errorie di usare entrambi i monitor, i mouse e le tastiere)occorre configurare il display manager. Il displaymanager vi permetterà di collegarvi a due sessionidistinte di VT (terminali video) e ripartire tra di essei dispositivi disponibili.
LightDMPer questo tutorial abbiamo scelto il display managerdi default di Ubuntu, principalmente perché offrela possibilità di definire più sessioni utente con monitor
diversi e usa una sintassi abbastanza chiara perla configurazione. Inoltre può essere usato conqualsiasi ambiente desktop, sia KDE che GNOME.Anche KDM (il DM di KDE) è in grado di gestire sessionimultiple, mentre invece GDM (quello di GNOME)no. Il file di configurazione di default, /etc/lightdm/
lightdm.conf, è piuttosto essenziale, malo cambieremo in breve tempo! Dobbiamo creare unelemento per ciascuna postazione utente, specificandoi comandi per il server X e il rispettivo layout. [LightDM] seats=Seat:0 Seat:1 [SeatDefaults] user-session=ubuntu
greeter-session=unity-greeter [Seat:0] xserver-layout=Layout0
xserver-command=/usr/bin/X :0 -layout Layout0 -auth /var/run/l ightdm/root/:0 -nolisten tcp vt7 -novtswi tch [Seat:1] xserver-layout=Layout1 xserver-command=/usr/bin/X :1 -layout Layout1 -auth
/var/run/l ightdm/root/:1 -nolisten tcp vt8 -novtswi tch-sharevtsL’opzione noswitch impedisce lo scambio di sessioni,mentre sharevts permette di mantenere apertipiù VT. Quest’ultima opzione non deve essere abilitataper la prima sessione perché potrebbe causareproblemi con lo schermo. Se desiderate il loginautomatico aggiungete queste righe (con nomi utentediversi) a ciascuna sezione: autologin-user=nomeutente autologin-timeout=0Questo evita anche il problema riferito da alcuniutenti che non vedevano il campo della passwordall’interno del greeter .
SuoniLa configurazione del suono risulta più semplice quandoviene fatta per ciascun utente usando schede sonoreseparate. Per prima cosa occorre aggiungere entrambigli utenti al gruppo audio. Ciascun utente puòpoi eseguire il login e configurare le impostazioniper il dispositivo a lui riservato. Se usate PulseAudio queste impostazioni sono salvate automaticamentenel corrispondente file in /home/nomeutente/.pulse.Questo ovviamente implica che, a meno che usinola stessa postazione, al prossimo collegamentodovranno eseguire di nuovo la configurazione.La situazione del desktop su Linux è molto fluida.
Una sempre maggiore automazione tende a ridurrela flessibilità; le sessioni multiple, poi, possono avereimplicazioni sulla sicurezza. Il nostro approccio puòapparire un po’ verboso, ma in compenso dovrebbefunzionare con la maggior parte delle distro. LXP
Altri metodi
Come succede sempre nel mondo Linux, ci sonomolti altri modi per creare un ambiente multiposto.Potreste usare una configurazione con duemonitor, un gestore di macchine virtuali comeVMware o VirtualBox e lanciare due sessionidi macchina virtuale. Le schede videocon due uscite possono essere usate con server Xannidati che girano su Xephyr. Per Ubuntuc’è anche uno script Python che può essererecuperato da http://code.google.com/p/
multiseat-wizard-bicefalo/ ed è in grado
di eseguire tutta la configurazione. Dipendedal pacchetto xserver-xephyr e funzionasolo con i driver Open Source distribuitidi default. Entrambe queste opzioni sono moltopiù voraci in termini di risorse della nostraconfigurazione. C’è poi una proposta commercialedi un’azienda canadese di nome Userful.È in grado di supportare fino a 10 utentiper PC attraverso sessioni X parallele e ha avutoparecchio successo in Brasile e in altri paesi.Si può ottenere una chiave gratuita
per due utenti per uso domestico registrandosisul sito www.userful.com. È disponibileper parecchie distro Linux, ma sono tuttepiuttosto vecchie. Al momento la più recenteversione di Ubuntu è la 10.04 LTS. Fedora 17sembra supportare gli Zero-cl ient attraversosystemd. Si tratta di hub con a l loro internoadattatori VGA e schede audio che possonoessere collegati a un PC via USB o Ethernet.Ne esistono di diversi produttori, tra cui HP,Acer, Viewsonic e Plugable.
Un confronto traOctopus e GuruTV.YouTube a tuttoschermo in entrambele sessionie nemmenoun rallentamento.L’unico conflittoè stato trai gusti musicali
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 68/100
66 LINUX PRO 125
Hardware
Recuperare hardware obsoleto con GNU/Linux
L’esasperante corsa al “riarmo informatico”genera annualmente milioni di computerportatili che vengono accantonati in favore
di nuovi modelli: qualcuno viene regalato ad amicio parenti, altri amorevolmente riposti in un cassetto“perché non si sa mai”, altri un po’ più rudemente ingarage o cantina, mentre i più sfortunati sono avviatialla piattaforma ecologica per una fine ingloriosa.In questo articolo vedremo come recuperare a nuovavita un hardware manifestamente obsoleto, con unpo’ di “magia pinguina”, competenza e voglia di fare.Lasciamo da parte un candidato troppo facile come
potrebbe essere un Pentium III @700MHz, con 256MB di RAM e 10 GB di disco. Forse un Pentium II@400MHz 128 MB di RAM e 4GB di disco? Giàmeglio, ma non abbastanza: noi cerchiamo il brividodella sfida! Per questo motivo decidiamo di usarequalcosa di palesemente obsoleto, cioè un ThinkPad380D, Pentium @ 150 MHz con 2 GB di disco:impossibile? Vedremo! Ci aiuta il fatto che il sistemaha integrati i lettori di floppy e CD ed è dotato di unascheda di rete PCMCIA da ben 10 Mbit/s. Ci sono16 MB di RAM saldati a bordo, ai quali abbiamoaggiunto un banco di espansione da 64 MB chea scopo “memorabilia” giaceva da anni – ripostoma non dimenticato – in un cassetto dal qualeè stato recuperato e prontamente riciclato.
Storia di un salvataggioIl ThinkPad 380D oggetto dell’articolo giaceva– letteralmente! – in un cestino dei rifiuti in garagedato che presentava il difetto di non avviarsi: in fasedi boot il BIOS mostrava a video due codici di errore,rispettivamente 00161 e 00163, per poi entrarein un ciclo infinito di richiesta di inserimentodi ora/data e successivo riavvio. Indagando in Rete,abbiamo scoperto che tali codici indicavanoun problema alla batteria tampone, che dopopiù di un decennio era completamente esaurita
e non manteneva aggiornate data e ora. Rimpiazzatala batteria con una nuova al prezzo di due euro,il portatile ha ripreso a funzionare correttamente.Nel corso dell’articolo ci muoveremo su più unitàdi lavoro: il portatile “bersaglio” TP380D e un PCdi servizio, che a sua volta conterrà una macchinavirtuale emulata tramite KVM. Per esplicitare qualicomandi andranno lanciati su quale computer,useremo tre lettere: “K” per indicare la macchinavirtuale emulata con KVM, “R” per indicare il PCdi servizio che ospita la macchina virtuale e “P”per il portatile. Inoltre, specificheremo caso per casole attività che dovranno essere svolte con dirittidi utente comune ($) o da amministratore (#).
La scelta della distroPrima di iniziare l’attività vera e propria diinstallazione, occorre decidere cosa installare: un PC“moderno” che faccia “girare” una macchina virtualetramite KVM settata con soli 80 MB di memoria
FACILE
Roberto Premoli
Comincia nel 1999
a usare GNU/Linux
e il software Open
Source, con particolare
attenzione
all’ottimizzazione
di sistemi e ai cluster
di calcolo. Occupa
attualmente la
posizione di IT Senior
Specialist presso
una multinazionale
farmaceutica. Chi
volesse contattarlo può
scrivergli all’indirizzo
roberto.premoli@
tiscali.it .
L’autore
L’hardware nel dettaglio
∆ CPU Pentium @150
MHz
∆ RAM 16 MB saldati
+ un modulo di espansione
da 64 MB
∆ Disco rigido 2 GB
∆ Lettore floppy Sì
∆ Lettore CD-ROM Sì
∆ Porta USB No
∆ Altre porte 1 parallela,
1 seriale, PS/2 per mouse
esterno, porta infrarossi
∆ Espansione 2 slot
PCMCIA a 16 bit
∆ Scheda di rete Ethernet
10 Mbit/s su PCMCIA
TP380D, il top di gamma... nel 1995
Di baci, somari, mogli e buoi
L’acronimo inglese K.I.S.S. (bacio) sta a indicare “Keep
It Simple, Stupid” (“Mantienilo facile, stupido!”), cioè
rappresenta un invito – un po’ rude – nei confronti degli
sviluppatori per realizzare i propri prodotti software in modo
che siano facilmente manutenibili dal punto di vista della
programmazione e leggeri nell’uso da parte dell’utentefinale. Purtroppo, sembra che attualmente gli scrittori
di software facciano a gara nel riprodurre l’equivalente
informatico di un “somaro morto”, cioè qu alcosa
di ingombrante e che ha bisogno di un t rattore per essere
spostato, esplicitando questa filosofia nella frase “Il tuo
software è lento? Non perdere tempo a ottimizzarlo,
dì al tuo cliente di comprare hardware più potente”.
Siamo quindi giunti alla conclusione di far nostro il proverbio
“moglie e buoi dei paesi tuoi”, che in informatica si declina
semplicemente con il cercare di installare su un PC
del software che gli è il più possibile contemporaneo,
cioè ideato e realizzato per sfruttare quelle risorse
di calcolo e non di più. Il rovescio della medaglia è che tale
software non è più manutenuto e se il sistema è “ affacciato
alla Rete” la sua violazione sarà solo q uestione di tempo.
Consci di questo problema, vedremo come mediaretra le varie esigenze di sicurezza e di prestazioni.
Obsoleto sì, inutile no!In tempi di crisi è un peccato non sfruttare quel vecchio computer che avete dimenticato
in cantina. Con la nostra guida lo potrete togliere dal pensionamento forzato
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 69/100
LINUX PRO 125 67
Hardware Tutorial
(parametro -m 80 di KVM) è un ottimo ambienteper fare le prove. Anche se non possiamo limitarela velocità della CPU per simulare in toto un Pentiuma 150 MHz, quanto meno abbiamo la possibilitàdi impostare la quantità di RAM che può essere vistacome un indicatore delle prestazioni raggiungibili
sull’hardware reale. Potremmo orientarci su distrominimali, come Puppy Linux o DSL (Damn SmallLinux) ma Puppy vuole almeno 48 MB di RAM liberi,mentre DSL non è più aggiornata da parecchiotempo e propone software obsoleto (Firefox 2.0)che mal si sposa con la nostra decisione di usaresolo applicativi mantenuti aggiornati sotto l’aspettodella sicurezza e del “bug fixing”. Non va inoltredimenticato il fatto che le distro fatte da altricome-sono-te-le-prendi con nessuna o pochepossibilità di modifiche, mentre noi desideriamo poterinstallare quello che vogliamo senza dover subirescelte prese da altri. Abbiamo perciò decisodi orientarci su una distro comune, che provvederemo
a ottimizzare per i nostri scopi, puntando su un“cavallo di razza” quale è Debian. Va detto cheil ThinkPad 380D non permette il boot da CD, per cuiè necessario partire da floppy. Purtroppo, qui arrivala prima delusione: Debian 6.0, oltre a richiederecome minimo 43 MB di memoria in fasedi installazione, è altresì troppo recente e ha esclusoil boot da floppy in quanto il kernel scelto è troppograsso per stare nei soli 1440 KB messi a disposizioneda un dischetto. Ci siamo orientati quindi su Debian“etch” 4.0, dotata di un kernel 2.6 e che giudichiamoun buon compromesso tra leggerezza eaggiornamento dei programmi. Grazie a un motoredi ricerca abbiamo scelto questi due link: http://iso.
linuxquestions.org/debian/debian-gnulinux-4.0r1-etch/ e http://ftp.ch.debian.org/debian-cd/4.0_r7/i386/iso-cd/ tra i numerosi che mettono adisposizione Debian 4.0. Qualora il sito sorgente sceltoabbia poca banda e lo scaricamento del file si dovesseprotrarre per delle ore, suggeriamo di scaricarlocon wget da una riga di comando come segue: R$ wget -c http://ftp.ch.debian.org/debian-cd/4.0_r7/ i386/iso-cd/debian-40r7-i386-CD-1.isoIl parametro -c eviterà di far perdere il lavoro fattonel caso di un’interruzione forzata del download,per il cui completamento basterà rilanciareil comando. Provvedete quindi a masterizzare la ISOcon il vostro “bruciatore di CD” preferito. Si dà
per scontato che il portatile sia connesso a Internet:l’installazione vera e propria esula dallo scopo diquesto articolo, vi rimandiamo alla Rete e soprattuttoalla pagina www.debian.org/releases/stable/i386/
index.html.it , dove troverete tutte le informazioniper una corretta installazione. Ad ogni modo,ci sentiamo di consigliare quanto segue:
∆ scegliere l’installazione “expert” nel casosi desideri un controllo più fine sulle opzionidi installazione;∆ impostare 160 MB di swap (il doppio della RAM);∆ formattare la root (/) con il filesystem ext3,con 0% di blocchi riservati;∆ si scelga il kernel 2.6.18-6-486 (la versione“686” può dare problemi ai Pentium);∆ non si attivi nessun repository in Rete (nessuntimore per il mancato accesso al repositorydegli aggiornamenti);∆ nella pagina “selezione del software” (“softwareselection”) si scelga solo “software standard”(“standard system utility”).
Al reboot dopo l’installazione ci troviamo nel promptdei comandi di una versione di Debian nonpiù manutenuta: dove trovare tutto il softwarenecessario, ma assente dal CD? Ecco che, dal puntodi vista di “servizio all’utente”, Debian dimostradi essere una spanna sopra le altre distro: all’indirizzohttp://archive.debian.org/debian/ sono disponibilile versioni di Debian, dalla 3.0 fino all’attuale 6.0;è sufficiente configurare in gestore di pacchettied e fatta! Apriamo quindi il file di configurazionein un editor di testo con:P# nano /etc/apt/source.conf
aggiungiamo la riga deb http://archive.debian.org/debian etch main
contrib non-freee disabilitiamo l’uso del CD-ROM di installazioneanteponendo il simbolo di cancelletto # alla paroladeb nella riga deb cdrom.... Una volta fatto
1 Il kernelottimizzato è prontoall’uso
In caso di minori risorse hardware
Il portatile ha 80 MB di memoria, ma nell’articolo abbiamo
agito come se ne avesse solo 40, situazione tipica per molti
portatili dell’epoca che avevano 8 MB salda ti più un banco
di espansione da 32 MB. Ad ogni modo, chi dispone
di hardware più datato no n si deve sentire tagliato fuori,
in quanto è possibile ricorrere a versioni più vecchie di Debian:
“sarge” 3.1 e “woody” 3.0 richiedono rispettivamente 24 e 14
MB di RAM per essere installate, contro i 32 MB di “etch” 4.0.Spingendoci ancora più indietro nel tempo, troviamo la “Potato”
2.2 che presenta due vantaggi: il primo è che sono richiesti
solo 12 MB, mentre il secondo è la possibilità di installare
unicamente tramite floppy, eliminando così la necessità
del lettore CD-ROM e della rete. Per chi dispone di computer
senza scheda di rete, segnaliamo che è possibile emularla
tramite la porta parallela. Questa estrema leggerezza
e flessibilità di Debian “abbassano l’a sticella” dei requisiti
minimi, permettendo l’installazione su praticamente qualunquePC abbiate a disposizione.
œ
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 70/100
68 LINUX PRO 125
Tutorial
Hardware
premiamo Ctrl+X, poi s (y se avete installato Debianin inglese) per salvare e infine Invio. Aggiorniamo con P# apt-get update ; apt-get installdebian-archive-keyring
P# apt-get upgrade ; apt-get dist-upgrade P# apt-get install dosfstools netcat
Ora il sistema è aggiornato all’ultima versionedi Debian “etch” 4.0r9 e dichiariamo questo puntocome “appena installato”. Abbiamo così raggiuntola prima pietra miliare nel nostro viaggio, cioè avereun sistema base installato e funzionante: sopradi esso costruiremo tutto il resto.
KVM ci dà una manoValutata la situazione e considerando il lavoroche ci aspetta, abbiamo deciso di “giocare sporco”:la ricompilazione del kernel la faremo fare da un PCmoderno tramite una macchina virtuale. Dopotutto,lavorare su un PC da 2 GHz con KVM sarà semprepiù veloce che non lavorare direttamente
sull’hardware nativo da 150 MHz con altresìil vantaggio di non dover installare sul portatilei programmi necessari (compilatore, sorgenti, librerie,ecc.). Sul PC di lavoro dotato di una connessionea Internet, attiviamo il nostro Window/DesktopManager preferito (KDE, GNOME, Xfce4, ecc.),apriamo una console, installiamo i software necessari,creiamo il file che emulerà il disco rigido del PCemulato (più un file di appoggio per scambio dati)e facciamo partire l’installazione digitando R# apt-get install kvm dosfstools netcat R$ dd if=/dev/zero of=file-immagine.imgbs=1M count=3072
R$ dd if=/dev/zero of=hdb-immagine.img
bs=1M count=20 R$ kvm -hda file-immagine.img -cdromdebian-40r7-i386-CD-1.iso -net user–net nic,model=ne2k_pci -boot d
Ripetiamo l’installazione tale e quale a quella fattasul portatile, con relativo aggiornamento.
Ricompilare il kernel2 GB sono uno spazio disco ancora accettabile,il problema del portatile è la quantità di RAM:considerando quello che vogliamo installare,
80 MB di memoria possono andarci stretti,per cui dovremo fare di tutto per ridurrel’occupazione di memoria; la prima cosa da fare è fardimagrire Linux. Cominciamo con l’accertarci di qualetipo di hardware dispone il portatile. Il comando P# lspcici rivela i seguenti modelli di circuiteria:∆ Neomagic MagicGraph 128ZV (video)∆ Cirrus Logic CL 6729 (PCMCIA)
∆ INTEL 430MX 82371MX mobile (PCI I/O IDE)∆ INTEL 430MX 82437MX mobile (Host Bridge)∆ Cirrus Logic CS423x (audio)Stranamente, marca e modello del chipset audio nonli abbiamo avuti da lspci, per cui li abbiamo cercatiin Rete e trovati all’indirizzo www.ertyu.org/
steven_nikkel/thinkpadspecs.html. Abbiamoora la possibilità di ottimizzare il kernel, compilandosolo i moduli dell’hardware in nostro possesso.Cominciamo con lo spegnere la macchina virtualee creiamone una copia in modo da evitaredi rifare tutto in caso di errori: R$ cp file-immagine.imgfile-immagine.img.originale-A
Rientriamo nella macchina virtuale e installiamoi pacchetti necessari alla ricompilazione del kernel: R$ kvm -hda file-immagine.img -hdb hdb-immagine. img -net user -net nic,model=ne2k_pci -boot c
K# apt-get install module-init-tools kernel-packagelibncurses5-dev linux-source-2.6.18 fakeroot
Formattiamo il file appoggio che ci servirà comepiattaforma di scambio dati tra la macchinavirtuale e il PC fisico: K# mkfs.msdos -I /dev/hdbOra decomprimiamo i sorgenti e creiamo un linksimbolico, poi spostiamoci nella directory di lavoroe lanciamo il tool di parametrizzazione:
K# cd /usr/src/ K# tar jxvf linux-source-2.6.18.tar.gz K# ln -s linux-source-2.6.18 linux
Il disco fisso non
è enorme e potremmo
correre il rischio
di saturarlo. Quindidopo ogni installazione
di qualche pacchetto
con apt-get install,
è consigliato pulire
la cache del gestore
di pacchetti con
apt-get clean.
Tip
2 Se la batteriatampone è scarica,il BIOS impazziscee non fa partireil portatile
Problemi con il kernel ricompilato?
Ottenere un kernel ottimizzato non è complicato, ma tutt o
ciò presuppone una discreta dose di esperienza pregressa:
riuscire a fare le cose bene “al primo colpo” è molto spesso
frutto di precedenti “lacrime e sangue”, cioè varie
ricompilazioni andate male e che hanno affina to le nostrecompetenze. Con “andate male” ci si riferisce al fatto che,
nonostante la compilazione abbia correttamente generato
il pacchetto .deb, una volta installato e scelto il nuovo
kernel al boot, questo non si comporti come ci si a spettava.
Il problema più fastidioso è trovarsi di fronte a un “kernel
panic”, cioè a un errore talmente grave che impedisce
al computer di lavorare. Solitamente si tratta di errori
banali, come l’essersi dimenticati di configurare
staticamente (opzione [*] in menuconfig) il supporto
al chipset che controlla il disco fisso oppure il supporto
al filesystem di root. L’altro tipico problema è il dimenticarsi
di attivare qualcosa che serve: per esempio il supporto
alle schede di rete PCMCIA o il modulo della scheda audio.
In entrambi i casi, la cosa migliore da fare è riavviare
con il kernel originale, disinstallare quello nuovo con
K# apt-get remove linux-image-2.6.18-magroe rivedere con più attenzione la sequenza di
parametrizzazione e pacchettizzazione del kernel.
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 71/100
LINUX PRO 125 69
Hardware Tutorial
K# cd linux
K# make menuconfig
E ora scateniamo l’inferno! Disabilitiamo tutto quello
che non serve: per esempio, eliminiamo tutti
i filesystem con l’eccezione di ext2, ext3, fat12
(per i floppy). Niente USB, via le schede di rete
eccetto quelle su PCMCIA, nessun supporto a RAIDe filesystem di rete... Insomma, limitiamoci allo stretto
necessario. Per comodità del lettore, all’URL
http://bit.ly/Z2os68 trovate il file config
(da rinominare in .config prima di usarlo) contenente
la configurazione adottata in questo articolo per
la ricompilazione del kernel 2.6.18: sarà sufficiente
ricopiarlo in /usr/src/linux prima di dare il comando
make menuconfig. Completata l a parametrizzazione,
salviamo la configurazione e usciamo dal tool
e poi creiamo il pacchetto .deb con
K# fakeroot make-kpkg --append-to-version
-magro --revision=1 kernel_image
Il tempo necessario al precedente comando
è in funzione delle capacità di calcolo del PC dalavoro, ma non dovrebbe comunque eccedere i 20
minuti. Il pacchetto viene automaticamente piazzato
un livello di directory sopra quello in cui ci troviamo,
per cui spostiamoci lì per installare il nostro kernel
ricompilato, dopodiché riavviamo il sistema per usare
la macchina virtuale come cavia per i nuovo kernel.
K# cd /usr/src
K# dpkg -i linux-image-2.6.18-magro_1_i386.deb
K# reboot
Come si nota in Fig.1, ora GRUB presenta come
default il nuovo kernel, premiamo Invio e facciamolo
partire. Ovviamente il vecchio kernel è tuttora
presente e può continuare a essere selezionato
per “tornare indietro” in caso di problemi. Verificateeventuali messaggi di errore in dmesg: se tutto
va bene allora potete copiare il file .deb sul file
di appoggio:
K# mount /dev/hdb /mnt
K# cp /usr/src/linux-image-2.6.18-magro_1_i386.
deb /mnt/
K# halt
Siamo ora sul PC di servizio
e dobbiamo trasferire il file
sul portatile: se i due
computer sono sulla
stessa rete e si “vedono”
l’un l’altro, passiamo subito
alla parte “travaso”,altrimenti procuriamoci
un cavo di rete incrociato
per connettere i due
sistemi. Impostiamo
un indirizzo di rete fisso
su entrambi con
R# ifconfig eth0
10.10.10.10 up
P# ifconfig eth0
10.10.10.20 up
Accertiamoci che si vedano
eseguendo un ping:
R# ping -c 8 10.10.10.20
E ora il “travaso”,come segue:
P# nc -l -p 7000 | dd
of=hdb-appoggio.img
R# dd if=hdb-appoggio.img | nc 10.10.10.20
7000 -q 5
La copia avviene in circa 40 secondi. Ora montiamo
l’immagine, installiamo il kernel e riavviamo:
P# mount -o loop hdb-appoggio.img /mnt/
P# dpkg -i /mnt/linux-image-2.6.18-magro_1_i386. deb
P# reboot
Al riavvio è selezionato automaticamente il nuovo
kernel, attiviamolo e verifichiamo che funzioni tutto
(grafica, rete, mouse, ecc.): se così è, possiamo
considerare per il momento esaurita l’utilità della
macchina virtuale su file file-immagine.img. In ogni
caso, teniamola da parte nel caso volessimo fare
ulteriori prove di affinamento del kernel. Da ora
in poi lavoreremo solo sul portatile.
Ottimizzare il sistemaPossiamo tranquillamente eliminare programmi
e demoni inutili come segue: P# apt-get remove --purge at portmap exim4
exim4-base exim4-config exim4-daemon-light
mutt procmail
Questa operazione riduce l’occupazione di memoria
e il carico computazionale per la CPU e libera
circa 9 MB di disco. Occupiamoci ora di una
ottimizzazione che di solito si t ralascia: Linux offre
sei console testuali (da Ctrl+Alt+F1 a Ctrl+Alt+F6),
che sono molto comode per attività concorrenti a riga
di comando ma che in un ambiente grafico sono poco
o punto usate. Possiamo eliminarne quattro,
risparmiando memoria. Editiamo il file
di configurazione con
P# nano /etc/inittabper poi disabilitare le quattro righe da
“3:23:respawn:/sbin/getty 38400 tty4”
a “6:23:respawn:/sbin/getty 38400 tty6”
anteponendo un “#” come segue:
#3:23:respawn:/sbin/getty 38400 tty4
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
3 Il TP380D gestisce tranquillamente Abiword e X-Chat œ
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 72/100
70 LINUX PRO 125
Tutorial
Hardware
#6:23:respawn:/sbin/getty 38400 tty6Al prossimo riavvio saranno usabili solo le primedue console, sufficienti per un moderato usodella riga di comando.
Lavoriamo sul discoMinori accessi al disco significa meno lavoroper la CPU e maggior velocità del sistema.Il filesystem da noi scelto, ext3, tiene tracciadi tutti gli accessi che si fanno ai file presenti,
provvedendo ad aggiornare la data di ultimo accesso.Questa attività, pur apprezzabile, è controproducenteper le nostre necessità di leggerezza e velocità,quindi disabilitiamola. Apriamo il file fstab con P# nano /etc/fstabLa riga di nostro interesse è qualcosa del tipo: /dev/hda1 / ext3defaults,errors=remount-ro 0 1
Provvediamo a modificarla come segue: /dev/hda1 / ext3defaults,errors=remount-ro,noatime,nodiratime0 1
Concludiamo salvando il file: premiamo Ctrl+ x, s e infine Invio. Si noti che per attivare questa modifica
è necessario far ripartire il sistema. Questi vecchidischi per portatili sono molto lenti se paragonatiai loro successori, vediamo come intervenire.Installiamo l’utility apposita con P# apt-get install hdparmEseguiamo un test:P# hdparm -t /dev/hda
Otteniamo uno sconfortante valore di 3,94 MB/s.L’utility hdparm presenta molti parametri pervelocizzare i dischi fissi, purtroppo le unità piùvecchie non riconoscono la maggior parte delleottimizzazioni che si possono usare attualmente.Fatte le dovute prove, vediamo che la miglior
sequenza di parametri per questo disco è: P# hdparm -A 1 -c 1 -m 16 /dev/hdache porta il valore a 4,86 MB/s. Ancora poco,d’accordo, ma è sempre un miglioramentodel 23%. Per rendere permanenti questeimpostazioni, editiamo il file /etc/hdparm.conf
e, in fondo al file, scriviamo: command_line { hdparm -A 1 -c 1 -m 16 /dev/hda }Attenzione a rispettare maiuscole e minuscole:C e c sono parametri diversi! Salviamo il filee riavviamo il computer. Resta comunque evidenteche il portatile è fortemente penalizzato da un discotroppo lento e per chi ne ha la possibilità, se neconsiglia l’immediata sostituzione con un modellopiù prestante: dopotutto per pochi euro si trovanoai mercatini di elettronica dischi PATA da 10/20 GBe un “trapianto” di hard disk non potrebbe far altroche giovare al nostro piccoletto.
Ottimizzazione: i numeriDopo tutto il lavoro svolto, ci si potrebbe chiederequanto stato sia il guadagno in termini di occupazionedi RAM e velocità di boot. Curiosità legittima allaquale è giusto dare una risposta e consultando laTabella 1 possiamo farci un’idea dei miglioramenti.Si noti che la colonna NORMALE fa riferimentoalla voce “appena installato” nel corpo dell’articolo.Il tempo di boot è il tempo che il portatile impiegaa presentare la richiesta di login a partire dallapressione del tasto di accensione: si noti cheil tempo di boot prevede una frazione inizialenon “comprimibile” di 15 secondi, durante i quali
c’è una inizializzazione a livello hardware. Poi ci sonoaltri cinque secondi di attesa al prompt di GRUB,che volendo, potrebbero essere ridotti agendosul file /boot/grub/grub.cfg impostandoopportunamente il parametro timeout . Per ottenereil valore “ram occupata” ci dobbiamo connetterecome amministratore e dare i due comandi seguenti: P# echo 3 > /proc/sys/vm/drop_caches ; free -hIl dato che ci interessa è sotto la parola free.Notiamo che il tempo di boot è sensibilmentemigliorato e anche l’uso della RAM è calatosignificativamente, mentre il tempo di shutdownbeneficia dei miglioramenti introdotti dall’usodi hdparm: non abbiamo fatto miracoli ma ci
possiamo ritenere soddisfatti del lavoro svolto.
Installiamo il softwareA questo punto abbiamo fatto dimagrire il kernel,eliminato demoni inutili, velocizzato il disco: passiamoquindi all’installazione dell’ambiente graficoe degli applicativi. Certo non sceglieremo software“consuma risorse” ma staremo sul leggero:installiamo i driver del nostro chipset, il servergrafico, il meta-pacchetto xorg e infineun gestore di finestre leggero quale è icewm: P# apt-get install xserver-xorg-video-neomagicxorg icewm menu
Ora, se ci si volesse limitare a un sistema isolato,
ci si potrebbe dichiarare soddisfatti: potremmocompletare l’installazione con i programmiche ci servono e considerare conclusa l’attività.
Kernel 2.4: perché no?
Per completezza espositiva, segnaliamo che potrebbe
essere preso in considerazione anche l’utilizzo di un kernel
della serie 2.4: anche se più vecchio dal punto di vista
dell’architettura e dichiarato abbandonato a favore
delle versioni successive, il 2.4 è più scattante e snello
del 2.6 e ben si adatta a questo hardware “vissuto”.
Un kernel monolitico della serie 2.4 può stare
tranquillamente sotto gli 800 KB, accelerando la fase
di boot e diminuendo l’impatto sulla RAM. Lasciamo
l’attività come “compito a casa” per quei lettori che,
stimolati dalla ricerca delle migliori prestazioni, si vorranno
dedicare a questa ulteriore ottimizzazione. Ricordiamo
comunque che Linux 2.4.x richiede un compilatore GCC
della serie 3.x, quindi non potrete beneficiare delleottimizzazioni introdotte nella serie 4.0 o superiore.
Tabella 1
VUOTO NORMALE OTTIMIZZATO MIGLIORAMENTO (%)
TEMPO DI BOOT (s) 15+5+183 15+5+50 72%
TEMPO DI SHUTDOWN (s) 16 13 19%
RAM OCCUPATA (K) 10172 6736 33%
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 73/100
LINUX PRO 125 71
Hardware Tutorial
Però ci eravamo ripromessi di impostare un sistema
che potesse affacciarsi alla Rete, ne consegue
che necessitiamo di un browser Web, di un gestore
di chat, ICQ, ecc. La limitata quantità di RAM
ma sopratutto la CPU datata non permettono l’uso
di “grossi calibri” come Iceweasel, per cui occorre
scegliere tra programmi meno esosi di risorse.A rendere più complicato – ma anche più
interessante – lo scenario, interviene ora uno
dei punti fermi che ci eravamo imposti, cioè l’utilizzo
di software moderno, correntemente manutenuto
con gli aggiornamenti di sicurezza. Ma la distro
è una vecchia Debian 4.0, mentre quello
che ci interessa ora è nella versione 6.0. Dovremo
quindi attingere da vari repository: un metodo
artigianale è quello di cambiare manualmente
nel file /etc/apt/source.conf i riferimenti ai repository
in linea dalla Debian 4.0 alla 6.0, aggiornare
con apt-get update, eseguire l’installazione
di ciò che ci interessa e poi rimettere i riferimenti
alla 4.0. Metodo fattibile, ma pericoloso in quantosi può rischiare di fare confusione: molto più elegante
e pratica la tecnica del pinning.
Il pinning dei repositoryDebian lascia parecchia libertà ai suoi utilizzatori,
ma non per questo impedisce di compartimentare
con rigoroso scrupolo la gestione dei repository
dei pacchetti. La granularità è tale da permettere,
oltre alla classica suddivisione tra programmi main,
contrib e non-free, sussiste anche la possibilità
di mischiare software appartenenti a versioni distinte.
Il vantaggio di questa livello di controllo è evidente:
potrebbe capitare la necessità di installare una
versione più aggiornata di un applicativo chesi appoggia a un firmware che però ha introdotto
un baco nella versione corrente che blocca
il funzionamento della nostra scheda wireless.
Con il pinning possiamo forzare apt-get a mantenere
la vecchia versione di firmware, permettendo
al contempo l’aggiornamento del programma
che lo utilizza. Come inizio, sistemiamo un piccolo
problema che affligge
questa versione di apt, cioè
la limitata dimensione
del buffer, una seccatura
che si risolve modificando
il file /etc/apt/apt.conf
e popolandolo con le righe APT::Default-Release
“etch”;
APT::Cache-Limit
“80000000”;
Creiamo ora il file /etc /apt/
preferences e popoliamolo
con le righe seguenti:
Package: *
Pin: release a=etch
Pin-Priority: 950
Package: *
Pin: release a=lenny
Pin-Priority: 210
Package: *
Pin: release a=stable
Pin-Priority: 200
Infine aggiorniamo /etc/apt/source.list aggiungendo
le righe:
deb http://archive.debian.org/debian lenny main
deb http://ftp.it.debian.org/debian stable main
Dopo aver sistemato i t re file, concludiamo
con il classico apt-get update per aggiornare
l’archivio di Debian. D’ora in poi il comportamento
4 Gnumeric e Kopete funzionano senza problemi
Per i più volonterosi
Eravamo un po’ sconfortati dalle carenti prestazioni
del portatile in ambito navigazione Web e indagando un po’
abbiamo trovato xxxterm, un “ultraleggero” disponibile solo
– al momento in cui scriviamo – in Debian testing. Xxxterm
è talmente nuovo che usa delle librerie all’ultimo grido cherichiedono un kernel più recente della versione da noi
ricompilata, minimo il 2.6.26. Insomma, dobbiamo aggiornare!
Al file /etc/apt/source/conf abbiamo aggiunto
deb http://ftp.it.debian.org/debian testing main contrib
non-free
Integrato il file /etc/apt/preferences con
Package: *
Pin: release a=testing
Pin-Priority: 150
e abbiamo installato al solito modo ma con l’accortezza
di dover prima passare per un kernel più recente a causa
delle nuove librerie da cui dipende xxxterm:
P# apt-get update
P# apt-get install linux-image-2.6.26-2-486
P# reboot
P# apt-get -t testing install xxxtermLa fatica è valsa la pena: xxxterm, pur essendo grafico
e gestibile tramite mouse, riconosce una serie di combinazioni
di tasti ispirate allo storico editore di testi Vim e ha
effettivamente dimostrato di essere veloce quasi come
un navigatore Web testuale, a dimostrazione che un
programma scritto ponendo l’accento su leggerezza e velocità
può ancora essere implementato. Mandiamo quindi i nostri
complimenti ai realizzatori ed eleggiamo xxxterm a navigatore
ufficiale del TP380D. Per completare la nuova configurazione
andrebbe rifatta l’ottimizzazione del nuovo kernel installato,
ma ormai sapete come farlo.
œ
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 74/100
72 LINUX PRO 125
Tutorial
Hardware
di apt-get sarà quello di prediligere la versione dei
programmi presenti in etch, mentre se vogliamo
installare specificando da dove il pacchetto deve
essere preso, occorre aggiungere il parametro -t
<release>: per esempio, apt-get -t stable privoxy
forzerà l’installazione di privoxy 3.0.16-1 al posto
di quella di default 3.0.6-2 presente in etch.
Evitiamo i passi lunghiSe passare da una versione all’altra può dare problemi,
saltare due versioni (dalla 4.0 alla 6.0) ne può dare
ancora di più ed ecco perché è sempre meglio andare
per gradi: prima si installa la versione base di un
programma e poi lo si aggiorna. Per esempio, le libreriebase e il gestore di pacchetti hanno subito delle
modifiche strutturali e se non venissero aggiornati
non si potrebbe gestire correttamente tutto il resto.
Già che ci siamo aggiorniamo anche i programmi
che gestiscono la grafica:
P# apt-get clean
P# apt-get install debian-archive-keyring
P# apt-get -t lenny install apt dpkgP# apt-get -t lenny install zx-utils
P# apt-get -t stable install libc6 apt dpkg
debian-archive-keyring
P# apt-get -t stable install icewm menu
Programmi per la reteNon ci preoccupiamo dei programmi “minori”
per messaggistica e ICQ, che assumiamo non diano
nessuna difficoltà di scelta e focalizziamoci invece
su altro punto “core” dell’articolo, cioè la scelt a
del navigatore Internet: abbiamo optato per Midori,
in quanto è leggero e impatta poco sulla limitata
memoria del portatile. Ovviamente non installeremo
Flash, visto che è troppo esoso in termini di risorseper il nostro hardware, quindi niente YouTube
e altri siti con video. Per addolcire un po’ la
situazione faremo ricorso a Privoxy, che si occuperà
del filtraggio sui contenuti eliminando banner,
pubblicità indesiderata, cookie ficcanaso e la maggior
parte del ciarpame che molti webmaster poco
rispettosi dell’altrui privacy non si fanno scrupolo
dal cercare di infilare nei PC di chi visita i loro siti.
P# apt-get -t stable install midori
P# apt-get -t stable install privoxy
Procediamo ora ad agganciare a Privoxy in nostro
navigatore Internet: in Midori, selezioniamo l’ultima
icona in alto a destra, poi selezioniamo Preferenze
D Rete e impostiamo i dati come in Fig.5. Abbiamocosì ottenuto tre vantaggi: una navigazione più
protetta, minor banda consumata, minor carico
elaborativo per la parte grafica del portatile. Si noti
che Privoxy emula vari plug-in come il noto Adblok
per Iceweasel, offrendo però il vantaggio di non
dover ricorrere a un plug-in specificatamente
realizzato per il browser in quanto il filtraggio viene
eseguito a più basso livello da una applicazione
comune a tutto il PC: è quindi sufficiente configurare
i nostri programmi di Rete in modo che si appoggino
a Privoxy, il quale si occuperà de ll’accesso vero
e proprio a Internet. Privoxy ha una sua lista standard
di contenuti da filtrare, che potrebbe non
corrispondere alle preferenze dell’utente, ma losi può tranquillamente parametrizzare tramite la sua
pagina Web, raggiungibile
digitando l’indirizzo
http://p.p nel browser.
Le attività di taratura
di Privoxy esulano dallo
scopo di questo articolo,
si rimanda il lettore
all’ampia documentazione
presente in Rete e al sito
www.privoxy.org.
Web avanti tutta!
Il protocollo TCP/IPè pensato per essere
“robusto”, allo scopo
I rifiuti tecnologici
Quello che tre anni fa era un avanzatissimo e super
tecnologico modem, cellulare, computer, videoregistratore,
scheda video, o-quello-che-è, che continua a essere
funzionante e usabile, viene visto oggi come “vecchio”
e sostituito da un nuovo modello - che a volte non è altroche una mera “rimarchiatura” di qualcosa già esistente,
(gli utenti Nvidia sanno di cosa stiamo parlando): il vecchio
modello viene nel migliore dei casi rivenduto/regalato
o alla peggio accantonato in un cassetto per poi essere
avviato alla distruzione. Se guardiamo unicamente alla
circuiteria che dà vita agli apparati elettronici, essa contiene
oro, piombo, rame, cromo e altri metalli recuperabili – ma
ahinoi – tramite processi costosi e volte antieconomici.
Il costo di smaltimento di un container di rifiuti elettronici
è di circa 60.000 Euro, ma smaltirlo in paesi meno attenti
alla salute dei propri cittadini (Cina, India, Paesi Africani, ecc.)
costa solo 5.000 Euro. Ecco che da anni esiste un mercato
semi sommerso dove “discreti” operatori spediscono altrove
i rifiuti tecnologici del cosiddetto “Primo Mondo”: in queste
vere e proprie città-discarica, decine di migliaia di persone
basano la loro economia sul recupero delle parti ancoravalide dei nostri vecchi apparati tecnologici, ma tali attività
vengono svolte senza alcuna attenzione per la salute
di chi esegue il lavoro. Come molte altre città costiere
cinesi, Guiyu (http://en.wikipedia.org/wiki/Guiyu_Town)
è la città che oltre ad avere il poco invidiabile primato
di essere la capitale mondiale del riciclo sporco , ha anche
quella di essere una delle città più inquinate del mondo
con un altissimo numero di aborti spontanei, conseguenza
di inquinamento da metalli pesanti nelle acque e nel suolo.
Si faccia riferimento a http://bit.ly/33Nfq0 e http://bit.
ly/mRPl9 per maggiori dettagli. Ora che sapete come
funziona la cosa, forse deciderete di tenervi il portatile
che avete ancora qualche anno, con il doppio vantaggio
di preservare l’ambiente e il vostro portafogli.
5 La configurazione di Midori
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 75/100
LINUX PRO 125 73
Hardware Tutorial
di garantire l’affidabilità della connessionee il successo della trasmissione dei dati. Questoperò si traduce in ulteriori calcoli che impattanosulla CPU. Ci possiamo permettere di eliminarei controlli di troppo in questo modo: editiamoil file /etc/sysctrl.conf e inserite le righe
net.ipv4.tcp_sack = 1 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_no_metric_save = 1 net.ipv4.tcp_max_backlog = 2000Abbiamo così disabilitato i s(elective) ack , cioèquei controlli sul pacchetti in ingresso che, essendopensati per le linee analogiche a bassa qualità,oggigiorno cominciano a essere superflui.L’azzeramento dei timestamps mostra tuttoil suo valore nel caso in cui ci siano molti pacchettiche transitano, per esempio quando metteteBitTorrent a scaricare tutte le ISO dei DVD dell’ultimaDebian. Poi ci siamo occupati della metrica:impedendone il salvataggio, riduciamo lo sforzo
della CPU. Infine abbiamo abbassato la quantitàdi backlog, valori più alti sono utili solo per retiad alta velocità di classe Gigabit.
Pulire il disco fissoÈ vero, Debian fa di tutto e di più per aiutare l’utentee ciò si traduce in mega e mega di spazio discooccupato per contenere istruzioni, testi di licenze,documentazione, esempi di configurazione e viadiscorrendo: tutto materiale che molto spesso l’utentefinale non sa nemmeno di avere sul proprio discofisso. Il “covo” di tutti questi dati è /usr/share/doc .Per ripulire il tutto potete usare il comando find PERCORSO -name “NOME.TIPO” -exec rm {} \;
È sufficiente rimpiazzare “NOME” e/o “TIPO” con ciòche si preferisce e lo script cancellerà dal disco fissotutti i file che corrispondono, a partire da “PERCORSO”in giù nelle sue sottodirectory. Per esempio,P# find /usr/share/doc/ -name “*.gz” -exec rm {} \;
cancellerà tutti i fili con estensione .gz: è un sistemapratico e veloce, ma anche senza misericordia, quindipensateci bene prima di premere il tasto Invio.Proseguendo con le pulizie,ricordiamo di aver lasciatoil kernel di default, ma datoche il nuovo kernel leggerosoddisfa tutte le nostrenecessità, provvediamo
alla rimozione di quellovecchio con P# apt-get removelinux-image-2.6.18-6-486
Abbiamo così liberato altri50 MB di spazio, che suun disco di soli 2 GB fannosempre comodo. Già checi siamo, rimuoviamo il filehdb-appoggio.img cheavevamo usato per veicolareil nuovo kernel dal PCal portatile.
Impressioni d’usoVa ricordato che questoportatile nasce nel 1997
ed è pensato per Windows 3.11/95/2000, quandosi navigava a 56 Kbit/s e in Rete si trovavanoin massima parte solo pagine HTML statichecon quale “fronzolo” estetico dal peso di pochiKilobyte. Nonostante si siano mitigati i dannicon un navigatore leggero e filtrati i contenuti superflui
tramite un proxy, la fruizione dell’attuale Web “2.0”– pieno di “fuffa multimediale” – è un’attività pesanteper il nostro portatilino. Avremmo potuto faredi più per aumentare le prestazioni? La risposta è “Ni”.Certo, possiamo ulteriormente limare la configurazionedi Linux e rimuovere qualche servizio che occupa RAMe che pesa sul processore, ma non possiamomagicamente raddoppiarne la velocità:apparentemente i 150 MHz della CPU non sonoabbastanza per il moderno Web 2.0. Se vogliamouna responsività superiore, dobbiamo accontentarcidi software meno pesanti ma anche meno “belli”a vedersi e meno intuitivi a usarsi, come w3m-img o links2. Se accettiamo questo handicap sul fronte
Web, il portatile è ancora usabile per programmidi chat e messaggistica, videoscrittura, postaelettronica, visualizzazione PDF e altre attività leggere.
ConclusioniIn questo articolo ci siamo dedicati a un utilizzodel ThinkPad a “scopo utente”, cioè una fruizionediretta con applicativi desktop e accesso a Internet:quest’ultima è una attività che, richiedendoRAM e CPU in modalità intensiva, mostra i limitidi un hardware così datato, nonostante si sia agitoper “limitare i danni” ottimizzando il sistemae scegliendo software adatto. Viceversa,un utilizzo “da server” potrebbe richiedere un minor
carico elaborativo (ad esempio non è necessarial’interfaccia grafica), con conseguente allungamentodella vita lavorativa a tempo indeterminato.Con due schede di rete PCMCIA, interpostotra la Intranet casalinga e il router ADSL, il TP380Dpotrebbe ancora dire la sua servendoci come serverDHCP, cache proxy, firewall, controllo parentaleo altre attività “di Rete” utili in casa o ufficio. LXP
6 Xxxterm in azione, un navigatore Internet minimalista ma sofisticato
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 76/100
74 LINUX PRO 125
PacketFence
Gestire in sicurezza tutti i dispositivi della vostra rete
Le reti moderne, se paragonate anche
solo a quelle di un decennio fa’, costituite
solo da Personal Computer, portatili
e workstation, sembrano uscite da un filmdi fantascienza. Avete a vostra disposizione
smartphone, tablet, router, stampanti,
plug-computer e ogni altro aggeggio che supporti
una qualche forma di connettività, e tutti questi
dispositivi richiedono il loro spazio in rete. E con reti
di questo tipo, in continua espansione, i soli firewall
non offrono una protezione sufficiente: è necessario
impostare una politica di utilizzo della rete, se la
si vuole rendere veramente sicura. Il NAC (Network
Access Control – Controllo Accessi Rete) è uno
strumento software che risponde automaticamente
alle violazioni della politica d’uso decisa per la LAN.
Un sistema NAC, tipicamente, offre supporto per
la registrazione e la concessione di diritti d’accesso
a un qualsiasi dispositivo, per la verifica di violazioni
della politica impostata, per la notifica via e-mail
di qualsiasi evento di questo tipo, per l’isolamentodi ogni dispositivo responsabile, per porre rimedio
al problema e infine per reintegrare i diritti al
dispositivo “colpevole” una volta risolto il problema.
PacketFence è un sistema di questo tipo, basato
su Perl, che permette di fare tutto questo e molto
altro tramite un’interfaccia Web comoda e facile
da usare. Con NAC di questo tipo opportunamente
configurati, è possibile tracciare anche l’attività
di tutti i dispositivi nella vostra rete tramite i loro
indirizzi fisici e inibirne completamente qualcuna,
ad esempio i servizi P2P. Se associato a una politica
degli accessi ben definita e a pochi altri strumenti
software esterni, PacketFence può rendere la vostra
rete sicura dagli assalti di qualsiasi spywaree malware, riservando l’accesso a utenti e dispositivi
autorizzati in modo da prevenire ogni attacco.
Le dipendenze di PacketFenceLa disponibilità dei pacchetti software della maggior
parte delle distribuzioni tramite archivi Web gestiti
dalle stesse ha fatto dimenticare una locuzione
che identificava l’enorme problema di tutte
le installazioni software su Linux nei tardi anni 90:
l’inferno delle dipendenze. Se vi è capitato di sentir
parlare di questo problema, ma non avete avuto
l’esperienza diretta delle gioie che la ricerca
affannosa di pacchetti per completare
un’installazione dà, PacketFence può farvi provareanche questa esperienza. Non lo troverete quindi
negli archivi della maggior parte delle distribuzioni,
anche se potete trovare facilmente i relativi
pacchetti .rpm e .deb sul sito Web del progetto,
insieme con l’immancabile archivio compresso
dei codici sorgente. Gli ambienti Linux dove è più
semplice installare PacketFence sono quelli basati
su RHEL o CentOS, perché queste distribuzioni
permettono l’installazione di molti archivi diversi
soddisfacendo collettivamente le molte dipendenze.
Se però state usando Ubuntu Server, Slackware
o ogni altra distribuzione, preparatevi a dover
frugare manualmente gli archivi. Comunque, questa
introduzione un po’ melodrammatica non devespaventarvi – non è così difficile come sembra.
Semplicemente, a causa del fatto che distribuzioni
DIFFICILE
Non fate eccessivamente caso ai più di trecento pacchetti installati comedipendenze. Il loro numero varierà in funzione delle vostre impostazionie della vostra scelta della distribuzione Linux...
Un NAC per tuttiLinux Pro vi mostra come usare PacketFence, un potente sistema NAC per mettere
in sicurezza la vostra rete e respingere fieramente gli attacchi
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 77/100
LINUX PRO 125 75
PacketFence Tutorial
diverse forniscono le stesse applicazioni in pacchettidifferenti, non siamo in grado di offrirvi un elencocompleto e affidabile di tutti i pacchetti chevi servono per poter installare PacketFence.A parte il pacchetto del tool, è necessarioche abbiate già installato e che siano pronti all’uso
sul vostro sistema i pacchetti Apache, DHCPServer , DNS Server, MySQL e Snort . Si trattadi cose disponibili negli archivi Web della maggiorparte delle distribuzioni, tanto che è probabileche li abbiate già installati e configurati sul vostrosistema. Per le distribuzioni RHEL e CentOS,si possono semplicemente installare e abilitaregli archivi Repforge, EPEL e OpenFusion: la guidaall’amministrazione, disponibile in formato PDFsul sito del progetto descrive dettagliatamentecosa è necessario fare per questa installazione.Noi abbiamo scelto di provare PacketFencesu una CentOS, quindi l’installazione iniziacon i comandi che seguono:
# rpm -ivh http://packages.sw.be/rpmforge-release/ rpmforge-release-0.5.2-2.el6.rf.i686.rpm # rpm -ivh http://download.fedoraproject.org/pub/ epel/6/i386/epel-release-6-7.noarch.rpm # rpm -ivh http://www.openfusion.com.au/mrepo/ centos6-x86_64/RPMS.of/openfusion- release-0.5-1.of.el6.noarch.rpmQuesti comandi, che devono essere eseguiticon diritti di amministratore, installerannoe abiliteranno detti archivi, che potrete cosìtrovare tutti elencati nella cartella /etc/yum.repos.d/.La cosa immediatamente successiva da fareè scaricare il pacchetto PacketFence 3.5 rpm per la distribuzione CentOS dal sito Web
e installarlo con il seguente comando su -c “yum installpacketfence-3.5.0-1.el6.noarch.rpm”
Una volta installato il pacchetto, un messaggiosul terminale vi avviserà di puntare il vostronavigatore all’indirizzo http://@ip_ packetfence:3000/configurator per procederecon la sua configurazione: tuttavia non andateall’indirizzo indicatovi, ma piuttosto all’indirizzohttp://vostro_indirizzo_ip:3000/configurator per accedere al wizard di configurazione.
Approntare il sistemaPrima di procedere alla configurazione, ci sono
alcune altre cose che devono essere in ordine.Prima di tutto assicuratevi di avere un’installazionedi MySQL funzionante. Siccome MySQL non associa
di default alcuna password al super utente, è ilmomento di definirne una, nel caso non lo abbiategià fatto. Allo scopo potete usare il comando
mysqladmin -u root password “vostra_password”Rimarchiamo che fare questo è importantee che dovete ricordare questa password, siccomePacketFence ve la richiederà durante l’esecuzionedei passi di configurazione successivi. A questopunto occorre avviare il server MySQL, nel casonon fosse già operativo, con il solito comandoservice mysqld start
Una delle caratteristiche più utili di PacketFenceè che può essere usato per bloccare efficacementecerte attività sulla rete che gestisce, comeil già citato traffico P2P. Allo scopo è comunquenecessario usare un sistema IDS (IntrusionDetection System – Sistema Rivelazione Intrusioni),
ed è qui che si rende necessario l’uso di Snort :è questo il sistema IDS a cui PacketFence si affidaper far rispettare le politiche d’uso. Precisamente,la sua funzione è allertare PacketFence riguardoa eventuali violazioni, in modo che questo possamettere in atto una risposta correttiva. Perinstallare il pacchetto Snort a partire dagli archividella distribuzione, basta eseguire il comandoyum install snort
ma, siccome l’installazione di default di Snort noninclude un insieme di regole predefinito, questoè solo l’inizio del lavoro. È necessario creare dettoinsieme, per definire cosa lo strumento deveintendere per “intrusione”, è questo richiede tempo:
l’alternativa più rapida è scaricare un insieme diregole tra quelli disponibili nella lista offerta dal sitoWeb del programma. Ma anche in questo caso
Dovete conoscerebene il setupdella vostra reteper poter configurarecorrettamente
PacketFence
Dispositivi di rete gestibili e non gestibili
Una rete tipicamente consiste in diversi nodi, routere connessioni, che possono essere di tipo wireless o cablate.Ciascun nodo può essere pensato come un computerappartenente alla rete – indifferentemente di tipo desktopo portatile. Nelle reti più complesse si usano anche gli switch,che hanno la funzione di eseguire trasferimenti dati direttitra un qualsiasi dispositivo mittente e un preciso destinata rio:essenzialmente, la loro funzione è quella di abilitaretrasferimenti diretti tra nodi della rete. Gli switch esistono
in due tipi diversi: managed e unmanaged. Mentre questiultimi non sono configurabili dall’utente e sono essenzialmente
dispositivi di tipo plug and play, gli switch managed sonoconfigurabili tramite interfaccia a linea di comando accessibilevia telnet o tramite un wizard di configurazione raggiungibilevia browser. PacketFence offre sul suo sito Web, oltrealla guida alla sua amministrazione, anche una guidaalla configurazione dei dispositivi di rete, che contieneun elenco dei dispositivi supportati e di come configurarli.Potete scaricarla dalla sezione sulla documentazione:fate attenzione che non è comunque omnicomprensiva.
Esistono infatti dispositivi che non figurano nell’elencoma funzionano perfettamente con PacketFence.
Potete usare Ifconfig
per determinare
l’indirizzo IP della
vostra macchina locale.
Tip
œ
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 78/100
76 LINUX PRO 125
Tutorial
PacketFence
la procedura non è direttissima: dovete registrarvi
come utenti, poi controllare quale versione di Snort
è installata sul sistema con il semplice comando
snort --version
A questo punto andate al link http://snort.org/snort-rules/#registered e scaricate il file rules
della versione: ad esempio, se la versione installataè Snort 2.9.1.2, il file da scaricare è snortrules-snapshot-2912.tar.gz . A questo punto si deve
usare il solito comando
tar -zxvf snortrules-snapshot-2912.tar.gz
per decomprimere l’archivio, con la conseguente
creazione delle cartelle rules/ , so_rules/,
etc/ e preproc_rules/ . I file di configurazione
di Snort cercati si trovano nella cartella /etc/snort ,mentre le regole sono nella cartella /etc/snort/rules. Ed è in quest’ultima cartella che dovete
andare e usare il comando
cp */etc/snort/rules
per copiare dette regole nella cartella
di configurazione. A questo punto il procedimentoè quasi finito. Occorre creare la cartella /usr/ local/lib/snort_dynamicrules , se già non esiste,
e copiare in questa tutti i file della cartella
so_rules View. Alla prima esecuzione del tool,
potrete notare che tutti i dispositivi sono elencati
come non registrati. PacketFence vi informerà
anche di quale sistema operativo sia presente
su ciascuno di essi, sia esso Windows, Linux,
Android, ecc. Per avere ulteriori informazioni,
come quando il dispositivo è stato rilevato
per la prima volta, tipo di user agent installato,
numero di violazioni alla politica di rete registrate
e molto di più, vi basterà cliccare sul pulsante
Show Info in alto a sinistra nella schermata,appena sotto alla barra superiore. Come potrete
vedere, per ogni dispositivo della rete, PacketFence
elenca solo l’indirizzo MAC (Media Access Control)
e non l’IP, e questo può far sorgere qualche piccolo
problema di identificazione. Per risolverlo, si deve
determinare l’indirizzo MAC di un dato dispositivo:
questo si può fare usando i comandi ifconfig
o ipconfig , nel caso che il suo sistema operativo
sia rispettivamente Linux o Windows, o dando
un’occhiata nella voce Impostazioni D Wireless
e rete D Impostazioni Wi-Fi D Avanzate
del menu nel caso sia un telefonino su cui gira
Android. Una volta capito di quale nodo si tratta,
se volete associare un identificativo più semplice,
fate scorrere il cursore del mouse sopra il relativo
MAC (senza cliccare!): vedrete apparire tre pulsanti
alla sua sinistra. Si tratta di Edit This Record, AddViolation e Delete This Record, nomi piuttosto
autoesplicativi. Cliccate su Edit e, nella finestra
PF::Node::Edit che si aprirà, digitate un nome
nel campo Identifier . In questo modo il nome
digitato sostituisce il numero univoco (a partire
da 1) di identificazione, attribuito a ogni nodo dalprogramma: questo nome può ad esempio essere
Samsung Galaxy S III, consentendo una semplice
identificazione del dispositivo associato. Il testo
digitato si salva con un click sul pulsante Edit Node
in fondo alla finestra.
Gestione degli ospitiNonostante PacketFence veda già al primo accesso
tutti i dispositivi presenti in rete, è necessario
registrarli. Lo strumento preposto allo scopo
è il Captive Portal che, una
volta abilitato, redirige gli
utenti in rete a una pagina
di registrazione doveè possibile fornire i dettagli
necessari, come nome
e cognome, e un indirizzo
valido di posta elettronica
dove verrà inviato il codice
di attivazione dell’account.
Usando questo codice,
permetterete a
PacketFence di autenticare
il dispositivo associato. Di
default, gli utenti possono
registrarsi autonomamente
via e-mail, SMS o Sponsor:
è comunque possibiledisabilitare completamente
questa opzione,
Il vantaggio di usare
yum per installare
i pacchetti .rpm
è che così facendosi risolveranno
automaticamente tutti
i problemi di dipendenza
usando gli archivi
software installati.
Tip
Andando nella pagina
Enforcement del wizard
di configurazione
potete scegliere
le opzioni Inline eVLAN congiuntamente,
in modo da creare
un sistema ibrido.
Tip
In caso abbiate bisogno di aiuto, il tasto Helpè sempre disponibile in basso a sinistra
nell’interfaccia di amministrazione
Per ognuno dei passiche dovrete eseguire
tramite il wizard
di configurazione, vi verranno fornite
utili informazionicirca quello
che il passo stessocomporta
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 79/100
LINUX PRO 125 77
PacketFence Tutorial
o consentirla solo tramite un sottoinsieme propriodei tre possibili metodi. Per cambiarela configurazione di auto-registrazione bastaandare alla voce Configuration D Guests_self _
registration del menu. È possibile anche gestiregli ospiti per mezzo dell’interfaccia di
amministrazione, scegliendo la voce Person D
Manage Guests del menu: tra i dettagli dell’ospiteinseribili ci sono la data (e l’ora) di primo accessoalla rete e il tempo massimo di permanenza,durante il quale al dispositivo è concesso l’accesso.Un codice di accesso viene sempre inviato all’ospitevia posta elettronica, affinché sia possibileautenticare il suo dispositivo. Assunto che sia statascelta una permanenza massima di tre giorni,trascorso questo periodo il dispositivo ospiterisulterà di nuovo non registrato, non potendo quindipiù accedere alla vostra rete con quelle credenziali.
Caratteristiche avanzate
Con tutto quello che è stato descritto fino a questopunto in questo articolo, si potrebbe essere indottia pensare che siano terminati gli argomentidi discussione, ma questo non è assolutamenteil caso in esame. All’atto pratico, PacketFenceoffre così tante impressionanti caratteristicheche è impossibile per noi presentarvele in dettaglioin questa sede. Basti pensare che, nel caso checonosciate già quello che un NAC può fare e abbiatein mente un progetto specifico, quasi certamentePacketFence può realizzarlo. A parte la possibilitàdi stabilire un tempo massimo di permanenzae di vincolare dispositivi diversi a diverse VLANper implementare politiche di sicurezza, ci sono
ancora molte altre proprietà che PacketFencepuò sfruttare per rendere ancora più sicura la vostrarete. Con la sempre crescente diffusione deglismartphone e di altri dispositivi intelligenti,la maggior parte delle imprese e delle organizzazionideve essere in grado di offrire modalità di accessoBYOD (Bring Your Own Devices – letteralmente“Portate i Vostri DispositiviPersonali”). PacketFencepuò farlo usando lametodologia di gestionedei dispositivi ospite (GuestManagement) già descritta,che oltre alla possibilità
di registrare ospiti cone-mail o SMS permettedi definire una passworda validità giornaliera inmodo tale da obbligare dettidispositivi ad autenticarsisempre prima di poteraccedere alla rete. Oltrea tutto questo, in aggiuntaal vasto numero di v iolazionirilevabili elencate nellasezione Configurations D Violation , PacketFencepuò rilevarne qualcuna in
più: si tratta delle violazioniUser Agent, MAC Addresse DHCP Fingerprint. Ognuna
di queste è specifica per un determinato sistemaoperativo o dispositivo, e al suo insorgere poteteimmediatamente bloccare il responsabile, isolandolo.Per esempio, potete impedire a tutte le piattaformeper i videogiochi, come la PlayStation Sony,di accedere alla vostra rete. In maniera analoga,
potete usare lo User Agent, che identifica il browserWeb di default per un dato dispositivo, in mododa rifiutare l’accesso a dispositivi diversi chemostrino le stesse credenziali. E se nella vostra reteè già implementato un qualche tipo di protocollodi autenticazione, non è necessariamenteun problema per PacketFence: infatti questostrumento supporta molti protocolli, comeOpenLDAP, FreeRadius, Active Directory, NovelleDirectory e altri ancora. L’ovvio vantaggio di unascelta di questo tipo è che installare PacketFencesu una rete preesistente non obbliga i membriattuali a cambiare le loro credenziali di accesso.
ZEN PacketFenceSe non vi entusiasma l’idea di buttarvi a capofittonella complessa installazione di PacketFence e nellasua ancor più elaborata configurazione, sietecomunque fortunati! L’edizione Zero Effort NAC (NAC a Sforzo Zero) di PacketFence è una versionecompletamente installata e preconfigurata. Poteteusarla in formato Live USB per provare PacketFencee/o familiarizzare con le sue sottigliezze. Il pacchettocompresso da 500 MB scaricabile necessitadi una chiavetta da almeno 4 GB ed è eseguibilein ambiente Debian. In alternativa potete scaricare unasua immagine VMware, disponibile sia per VMWareESX che per VMWare Player basata su CentOS 6.3.
Come abbiamo già detto, non è possibile descriverein questa sede tutte le notevoli possibilità offerteda un progetto in così grande espansione comePacketFence. Possiamo solo aggiungere che si trattadi uno strumento estremamente stabile che, unavolta configurato opportunamente, vi terrà informatisu ogni singolo byte che transita sulla vostra rete. LXP
La pagina Remediation informa l’utente del perché al momentonon gli è possibile accedere alla rete
Il modo di identificare
i dispositivi associati
a un dato indirizzo IP
o MAC cambiain funzione del sistema
operativo del
dispositivo e, nel caso
di Android, anche
della sua versione.
Tip
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 80/100
78 LINUX PRO 125
Hardcore Linux
Sfi de per i veri power user
L’invenzione più interessante di Solaris è stata
ZFS, che Sun e Oracle adesso chiamano
“l’ultima parola nei filesystem”. In effetti,
la lista delle funzionalità di ZFS è impressionante,
a differenza di Btrfs che, su Linux, è ancora anni
indietro. Caratteristiche interessanti di ZFS sono
le istantanee (snapshot) e i cloni, la correzione
e la verifica automatica dell’integrità dei dati,la deduplicazione e la compressione trasparente,
oltre a vari tipi di RAID (Redundant Array
of Independent Disks). Concettualmente, ZFS
è semplice: i dischi sono assegnati ai pool e i filesystem
sono composti da pool. Assegnando in un certo modo
i dischi a un pool, ZFS implementa vari tipi di RAID.
Per la gestione dei pool si utilizza il comando zpool
e, per la gestione dei filesystem, c’è il comando zfs .
ZFS è l’elemento che ci ha atti rato nel mondo di
Solaris, infatti, anni fa, abbiamo iniziato a sperimentare
con OpenSolaris, OpenIndiana e derivate come,
ad esempio, la combinazione GNU/Solaris Nexenta.
Tuttavia, nessuno di questi sistemi operativi erano
veramente adatti per l’utenza desktop. Qualcheanno fa, abbiamo provato FreeBSD, proprio perché
utilizzava ZFS, e ci è piaciuto molto della filosofia
che c’era dietro. Per alcuni anni, abbiamo utilizzato
FreeBSD (versioni 8 e 9) come nostro desktop
principale con tutti i nostri file su filesystem ZFS
ma, alla fine, abbiamo dovuto ammettere che FreeBSD
non era all’altezza del compito di fornire un decente
e moderno sistema operativo orientato all’utenza
desktop. Tuttavia, in quegli anni eravamo troppo
affezionati a ZFS per abbandonarlo e ritornare
a utilizzare il vecchio Ext4 oppure l’ancora sperimentale
Btrfs. Per mesi, abbiamo vissuto un doloroso dilemma.
Sapevamo che era possibile utilizzare ZFS su Linuxcon ZFS FUSE, ma solo in userspace e, quindi, in modo
non del tutto ottimale. Avevamo già utilizzato
un NAS con FreeBSD e ZFS per il backup dei dati,
ma volevamo ZFS anche sui nostri desktop.
SabayonMentre stavamo provando questa derivata di Gentoo
Linux, abbiamo notato qualcosa di eccitante
nell’annuncio del rilascio: ZFS era supportato come
“tech-preview”. Non c’erano altre informazioni
aggiuntive ma, quando abbiamo utilizzato
la distribuzione, abbiamo notato che alcuni moduli
ZFS del kernel erano stati caricati e che erano
disponibili i comandi zpool e zfs . Quindi,apparentemente, Sabayon 9 utilizzava ZFS on Linux
(http://zfsonlinux.org), implementando un port
nativo del kernel Linux del filesystem ZFS sotto forma
di moduli del kernel. Dopo alcuni test, abbiamo deciso
di installare Sabayon 9 sul disco di sistema del nostro
DIFFICILE
A causadell’incompatibilitàtra le licenze CDDL
e GPL, i modulidel kernel ZFS
su Linux devonoessere sempre
compilati
La punta di diamante
dei filesystemLinux Pro ha scoperto che l’ultimo e ottimo filesystem di Sun, ZFS, sta finalmente
facendosi strada in alcune distribuzioni
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 81/100
LINUX PRO 125 79
Hardcore Linux Tutorial
computer desktop. Prima dell’installazione, abbiamoesportato il nostro pool di dati (chiamato serbatoioe composto da un mirror di due dischi) su FreeBSD: $ sudo zpool export serbatoioDopo l’installazione di Sabayon, abbiamo installatoi pacchetti necessari:
$ sudo equo install zfs zfs-userspaceA questo punto siamo stati in grado di importare i datidai nostri dischi con il seguente semplice comando: $ sudo zpool import serbatoioIl comando zpool import monta automaticamenteanche tutti i filesystem nel pool importato. In questocaso, ha montato il filesystem principale serbatoiosu /serbatoio . Ha anche tentato di montareil filesystem serbatoio/home su /home , perché quelloera il percorso dove avevamo montato in precedenzala nostra home directory su FreeBSD, fallendo perché /home era già esistente sul nostro sistema Sabayon.Così ci siamo loggati come utente root, abbiamospostato l’esistente /home in /home-vecchia
e abbiamo riavviato la macchina. Provandoad accedere da utente normale abbiamo ricevutoun messaggio di errore, perché Sabayon non riuscivaa trovare la home directory. A quanto pare, nonmontava automaticamente i filesystem ZFS. Quindi,abbiamo creato il file /etc/ local .d/zfsmount.start con il seguente contenuto: zfs mount -ae l’abbiamo reso eseguibile con il comando $ chmod +x /etc/local.d/zfsmount.startQuesto file ha consentito a Sabayon di montareall’avvio tutti i filesystem ZFS. Solo adesso eravamoin grado di autenticarci e di avere a disposizione tuttii nostri file su Linux dal nostro sistema FreeBSD/ZFS.
Altre distribuzioniAnche se Sabayon e la sua distribuzione madre,Gentoo, sono in prima linea per ciò che concerne ZFSsu Linux, non sono affatto le uniche distribuzionia fornire questo filesystem. Il progetto ZFS on Linux(http://zfsonlinux.org) offre anche i file DEB e RPMsul suo sito Web, utilizzabili su Fedora, Red HatEnterprise Linux, openSUSE e Debian. I pacchettisono disponibili anche nei repository di Arch Linuxe di Gentoo. C’è un problema, però, se si desiderautilizzare ZFS su Fedora: la policy di SELinux per ZFSnon è stata ancora implementata. Quindi, se aveteimpostato SELinux su Enforce (cosa che si dovrebbe
fare), potrete incontrare alcuni problemi come,ad esempio, lo script di ini t che fallisce duranteil montaggio automatico dei filesystem. Al momento,l’unica soluzione è quella di impostare SELinuxin modalità permissiva (Permissive) o disabilitarla(altamente sconsigliato). Ciò può essere fattoimpostando la seguente riga nel file di configurazione /etc/selinux/config: SELINUX=disabledSe state utilizzando Ubuntu, il progetto ZFS on Linuxmette a disposizione un archivio personale di pacchettiper installare i componenti necessari: $ sudo add-apt-repository ppa: zfs-native/stable $ sudo apt-get update
$ sudo apt-get install ubuntu-zfsQuando installate il pacchetto ubuntu-zfs , vengonoscaricati e compilati i sorgenti di ZFS. Quando sarà
disponibile una nuova versione nel PPA o quandosi aggiorna il kernel, i sorgenti verrannoautomaticamente ricompilati, grazie al frameworkdkms (supporto dinamico per i moduli del kernel).Adesso, caricate il modulo ZFS del kernel: sudo modprobe zfs
Fatto ciò, sarete in grado di importare i vostri dischidati ZFS esistenti, come prima! Fino ad ora, abbiamoparlato dell’uso di ZFS solo per i vostri dischi di dati.Ma cosa accadrebbe qualora voleste installare anchela vostra root filesystem su ZFS? Purtroppo, nonè semplice in questo momento, in quanto nessuninstaller di Linux supporta l’installazione direttadi un filesystem root ZFS. Quindi, è necessarioutilizzare un Live CD con supporto ZFS e preparareda soli il filesystem di root. Vi mostreremo come farlocon Ubuntu 12.04 e il PPA di ZFS on Linux. Avviateil vostro computer con un Live CD e aprite la finestradi un terminale. Installate il pacchetto ZFS on Linux dal PPA (vedete sopra) e caricate il modulo ZFS.
Partizionate il discoOra partizionate il disco rigido dove desiderateinstallare Ubuntu, nel nostro caso si tratta di /dev/sda .Create una piccola partizione di 8 MB, assegnate l’IDdi sistema ‘be’ (boot di So laris) e rendetela avviabile:questa è la vostra partizione di boot sda1. La secondapartizione, sda2, occupa il restante spazio su disco.Assegnatele l’ID di sistema ‘bf’ (Solaris). Formattatela partizione di boot come ext3: $ sudo mke2fs -m 0 -L BOOT -j /dev/sda1e poi create il pool di root sulla seconda partizione,nonché due filesystem addizionali: $ sudo zpool create rpool /dev/sda2
$ sudo zfs create rpool/ROOT $ sudo zfs create rpool/ROOT/ubuntu-1Ora smontate tutti i filesystem ZFS e impostatela proprietà di mountpoint sul filesystem di roote la proprietà bootfs sul pool di root: $ sudo zfs umount-a $ sudo zfs set mountpoint=/rpool/ROOT/ubuntu-1 $ sudo zpool set bootfs=rpool/ROOT/ubuntu-1 rpoolTerminate la preparazione esportando il pool: $ sudo zpool export rpoolOra importate il pool ZFS, montatelo su /mnt e montate pure il filesystem di boot: $ sudo zpool import -R /mnt rpool
Se si utilizza un disco
Advanced Format (AF)
con settori da 4K che
emula una dimensione
di settore di 512 byte,
a causa della
compatibilità con
i sistemi legacy, ZFS
rileva la dimensione
errata del settore
con conseguente
peggioramento
delle prestazioni.
Tip
Requisiti di sistema per ZFS ZFS è un filesystem avanzato che non è adatto
ai computer vecchi. Anche se in teoria
dovrebbe funzionare in un ambiente
a 32 bit, non verrà eseguito in modo
stabile. Gli sviluppatori di ZFS on Linux
stanno lavorando su un adeguato supporto
per i sistemi a 32 bit ma, per il momento,
se desiderate utilizzare ZFS, dovete
assolutamente installare una distribuzione
Linux a 64 bit. Inoltre, ZFS memorizza
i dati nella RAM, quindi maggiore sarà
la quantità di RAM messa a disposizione
e maggiore sarà il suo rendimento
complessivo. Se il vostro computer disponessedi 2 GB di RAM o meno, le prestazioni di ZFS
risulterebbero ridotte poiché, idealmente,
avreste bisogno di almeno 4 GB di RAM
o poco più. Se desiderate utilizzare la
deduplicazione, i requisiti di sistema saranno
ancora più esigenti: per ogni TB di storage
sopra i 6 TB, il sistema avrà bisogno
da 1 a 2 GB di RAM. L’ultima versione
di ZFS on Linux supporta kernel a partire
dalla versione 2.6.26. Questo requisito ricopre
la maggior parte dei kernel utilizzati nelle
principali distribuzioni Linux, tra cui Ubuntu
10.04, Debian 5.0, openSUSE 11.4, Fedora
13 e successive. Se desiderate utilizzare
il codice più aggiornato, usate il PPA zfs-native/daily anziché zfs-native/stable.
Per impostazionepredefinita,
le istantanee
(snapshot) si applicano
solo al filesystem e non
ai suoi figli. Se volete
uno snapshot della
gerarchia del filesystem
completo, aggiungete
l’opzione -r, ad
esempio zfs snapshot
sudo-r data@backup.
Tip
œ
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 82/100
80 LINUX PRO 125
Tutorial
Hardcore Linux
$ sudo mkdir -p /mnt/boot/grub $ sudo mount /dev/sda1 /mnt/boot/grubAdesso, installate un sistema Ubuntu minimalecon debootstrap: $ sudo apt-get install debootstrap $ sudo debootstrap precise /mntFatto ciò (il processo può durare alcuni minuti), doveteconfigurare ancora il sistema, altrimenti non si avvierà.Copiate alcuni file presenti in /etc , dall’ambienteLive del CD al vostro nuovo sistema: $ sudo cp /etc/hostname /etc/hosts /mnt/etce digitate la seguente riga nel file /mnt/etc/ fstab :
/dev/sda1 /boot/grub auto defaults 1 1Adesso configurate la connessione di rete in /mnt/etc/
network/interfaces . Se state usando solouna connessione di rete via cavo, con DHCP, questofile deve contenere le seguenti righe: auto lo iface lo inet loopback
auto eth0 iface eth0 inet dhcpInfine, usando chroot , entrate nel vostro nuovofilesystem: $ sudo mount --bind /dev /mnt/dev $ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /sys /mnt/sys $ sudo chroot /mnt /bin/bash --loginInstallate ora il pacchetto ubuntu-minimal , alcuni
componenti necessari, ZFS on Linux e una versionemodificata di GRUB : # locale-gen en_US.UTF-8 # apt-get update # apt-get install ubuntu-minimalpython-software-properties
# apt-add-repository --yes ppa:zfs-native/stable # apt-add-repository --yes ppa:zfs-native/grub # apt-get update # apt-get install --no-install-recommendslinux-image linux-image-generic linux-headers-generic
# apt-get install ubuntu-zfs
# apt-get install grub-pc zfs-initramfsDurante l’installazione di grub-pc, Ubuntu vi chiederàdi selezionare quale dispositivo volete avviareautomaticamente, utilizzando il comando grub-install .Selezionate l’intero disco ( /dev/sda). Ora impostateuna password di root, aggiornate initramfs ,il file di configurazione di GRUB e installateil bootloader nel MBR: # passwd root # update-initramfs -c -k all # update-grub # grub-install /dev/sdaPer ultimo, ma non meno importante, uscitedall’ambiente di chroot e riavviate:
# exit $ sudo umount /mnt/boot/grub $ sudo umount /mnt/dev
È possibile rinominareun filesystem ZFScon il comando sudo
zfs rename
<nomeoriginale>
<nuovonome>.Allo stesso modo, è anchepossibile modificarela gerarchia, ad esempiocon il comando sudo zfs
sudo rename data/media/music data/music.
Tip
Una delle caratteristiche interessanti di ZFS consistenel fatto che ogni filesystem può avere delle proprietàche possono essere lette con il comando zfs get all
<filesystem>. Molte di queste proprietà hanno un impattodiretto sul comportamento del filesystem. Per esempio,
ZFS off re le proprietà del fi lesystem sharesmb e sharenfs,per rendere più semplice la condivisione di un filesystemin rete. Purtroppo, la proprietà sharesmb non è stataancora implementata nel server Samba di Linux
mentre la sua controparte NFS funziona egregiamente.Così, invece del metodo tradizionale di NFS, la condivisione
di un particolare filesystem risulta ancor più facile,con il seguente comando: $ sudo zfs set sharenfs=on serbatoio/homeLa home directory sarà quindi condivisa con le opzioni di defaultdi NFS, che sono quelle di tutte le reti. È, inoltre, possibilecreare un filesystem e, con lo stesso comando, condividerlotramite NFS, nel seguente modo: $ sudo zfs create -o sharenfs=on serbatoio/musicaÈ possibile controllare quali filesystem vengono condivisi
via NFS, con il seguente comando: $ exportfs
Condividete i vostri filesystem ZFS
Le istantanee(snapshot)
rappresentanola miglior
caratteristica di ZFS
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 83/100
LINUX PRO 125 81
Hardcore Linux Tutorial
$ sudo umount /mnt/proc $ sudo umount /mnt/sys $ sudo zfs umount -a $ sudo zpool export rpool $ sudo rebootTogliete il Live CD e, se tutto è andato per il versogiusto, il vostro sistema Ubuntu con un filesystemdi root ZFS si riavvierà. Adesso, per completarel’installazione di Ubuntu, potete installare il pacchettoubuntu-desktop .
Divertitevi
Adesso che avete un’installazione di Linux funzionantesu un filesystem ZFS, cosa potete farci? Senza ombradi dubbio, dovreste leggere le eccellenti pagineman dei comandi zpool e zfs . Intanto, vi spiegheremoalcuni dei comandi di cui, probabilmente, avretebisogno. Innanzitutto, date uno sguardo a zpool .In precedenza, avete già usato questo comandoper creare un pool ZFS, per importarlo, esportarloe per cambiare le sue proprietà. Potete usarloanche per elencare tutti i pool ZFS disponibilinel vostro sistema: $ sudo zpool listQuesto comando visualizza il nome del pool,la dimensione totale allocata e lo spazio libero,
la percentuale della capacità utilizzata e il suo statodi salute. Con il seguente comando potete otteneremaggiori informazioni circa lo ‘stato di salute’del vostro pool rpool: $ sudo zpool status rpoolLo stato visualizzato dovrebbe essere ONLINE:qualsiasi altro stato indicherebbe la presenzadi problemi. Inoltre, vedrete quali dispositivi hannoletto, scritto o gli errori di checksum. Potete ancheaggiungere un dispositivo addizionale e creareun secondo pool ZFS. Per esempio, se volete creareun pool mirrorato, composto da due dischi (comein RAID 1), potete farlo semplicemente lanciandoil seguente comando:
$ sudo zpool create mirror data /dev/sdb /dev/sdcOgni volta che create un pool, ZFS crea ancheun filesystem di default con lo stesso nome del pool
e lo monta. Per esempio, dopo aver creato il pooldi dati (come sopra), vedrete una cartella /data , cheè il filesystem montato con il nome data, creato nelpool data. Con il comando zfs , potete sempre creareun filesystem addizionale sul pool, creato come figliodel filesystem di default: $ sudo zfs create data/musicPotete creare quanti filesystem volete, in quantola creazione di un filesystem in ZFS è un’operazionemolto leggera. Per esempio, sarebbe una buona ideacreare un filesystem ZFS per /home e anche uno perogni home directory appartenente a ciascun utente
presente nel vostro sistema. Il seguente comandomostra tutti i filesystem presenti in un pool: $ sudo zfs list -r data
Snapshot Una delle caratteristiche più interessanti di ZFSconsiste negli snapshot. Uno snapshot è una copiadi un filesystem completo nello stato in cui si trova almomento. Grazie alla progettazione del copy-on-writedi ZFS, gli snapshot vengono creati istantaneamente.Potete creare uno snapshot con il comando zfs
snapshot , il nome del filesystem seguito dal carattere@ e il nome dello snapshot. Ad esempio: $ sudo zfs snapshot rpool/ROOT/ubuntu-1@salvami
Come suggerisce il nome del vostro snapshot,le istantanee sono un ottimo strumento per evitareche il sistema diventi inutilizzabile come, ad esempio,quando si esegue un aggiornamento del sistema.Basta creare uno snapshot prima dell’aggiornamento,eseguire l’aggiornamento e, se qualcosa andassestorto, ripristinare lo stato del filesystem al momentodella creazione dello snapshot: $ sudo zfs rollback rpool/ROOT/ubuntu-1@salvamiSe desiderate avere degli snapshot creatiautomaticamente con una pianificazione oraria,giornaliera, settimanale e mensile, installateil pacchetto zfs-auto-snapshot e configuratela frequenza degli snapshot automatici nel vostro
crontab. Una volta che avrete avuto un assaggiodi ZFS e dei suoi snapshot, non avrete mai più vogliadi ritornare a utilizzare gli altri filesystem! LXP
Se usate screen per
lanciare un contenitore
sarete in grado
di staccarvi dalla
sua console quando
lo desiderate (basta
premere Ctrl+a e poi d).
Tip
Per ottenerespiegazionipiù approfonditeed esempi, leggetele pagine mandegli eccellenticomandi zpool e zfs
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 84/100
82 LINUX PRO 125
Concetti
Non importa quanta attenzione mettete nel vostrocodice. Anche se avete bevuto quattro caffèe avete ricontrollato tre volte ogni riga, prima
o poi commetterete un errore. Può essere un banale erroredi scrittura, una parentesi mancante o un numero errato,o può essere un errore di logica, problemi di memoriao semplicemente del codice inefficiente. In tutti i casiil risultato sarà il medesimo, a un certo punto il vostroprogramma non farà quello che voi volete che faccia.Questo può significare un crash, un dump dell’errorecon conseguente ritorno alla linea di comando. Ma puòsignificare anche un piccolo errore di arrotondamentonel calcolo dell’IVA che avvisa l’Agenzia delle Entrateche dovete pagare due milioni di euro, costringendovia vendere casa e dichiarare bancarotta.
Trovare i problemiQuanto velocemente un vostro errore viene trovatoe corretto dipende dalla complessità del problema, e dallavostra abilità nella delicata arte del troubleshooting. Anchese gli esempi di codice dei mesi precedenti erano al massimodi 10 righe, probabilmente avrete dovuto debuggare il codiceper far sì che quello che avete scritto nel vostro interpretePython fosse uguale a quello della rivista. Quando la vostraapplicazione cresce di complessità e non si limita più a poche
righe di codice o a una manciata di funzioni, potresteritrovarvi a spendere più tempo a scovare errori di quantone avete speso per scrivere il codice. Ecco perché primadi preoccuparvi del debugging, dovreste seguire qualchesemplice regola mentre scrivete il vostro codice. La primaè questa: dato che non potete sempre pianificare ciò chestate per scrivere o come andrete a risolvere uno specificoproblema, dovete sempre ritornare sui vostri passi e dareuna ripulita al codice già scritto. Questo perché ci sonobuone probabilità che alcune delle variabili che avete usatodiventino ridondanti e vi siano pezzi di codice che hannoperso la loro logica. Ritornare indietro e ripulire queste areerende il codice più facile da mantenere e da capire. Rendereil vostro codice il più semplice possibile da capire diventa
fondamentale quando cresce il numero di linee, e raramenteandrete a riguardare il codice vecchio. Quando scrivete unblocco decente di funzionalità, la seconda cosa che dovrestefare è aggiungere un po’ di commenti per descrivere cosa
fa e come lo fa. I commenti sono delle semplici descrizioniche spiegano come funziona il codice, solitamente includonotutti gli input e gli output di una funzione. Non vengonointerpretati dal linguaggio o dal compilatore, non influisconosul funzionamento del vostro codice, sono lì soltantoper aiutare gli altri sviluppatori a capire cosa fa quella partedel codice. Ma, ancora più importante, sono lì per ricordarea voi cosa fa il vostro codice. Può sembrare strano, ma nonimporta quanto chiaro era il processo mentre scrivevateil programma, aspettate qualche giorno, settimana o mesee vedrete che vi sembrerà che quel codice sia stato scrittoda altri per quanto ve ne ricorderete. Da programmatori,una delle cose più frustranti è dover risolvere lo stessoproblema due volte, la prima volta quando create il codice,e la seconda quando lo volete modificare ma non capitecome funziona. Una linea o due di descrizione potrebbe farvirisparmiare interi giorni spesi a cercare di comprendere cosafa una funzione e come lavora, o può risparmiarvi la faticadi capire a cosa serve una funzione quando a voi interessasoltanto sapere che input chiede e quale output ritorna.
L’importanza della documentazioneVediamo ora come funzionano le API e le librerie esterne.Quando installate Qt , ad esempio, non è necessarioche sappiate esattamente come lavora una funzione.
È sufficiente che studiate la documentazione dell’interfacciae come utilizzarla contestualizzandola al vostro codice. Tuttociò che un programmatore deve sapere dovrebbe trovarsinella documentazione. Se volete utilizzare un algoritmodi sorting di Qt, ad esempio, non avete bisogno di saperecome fa ad essere così efficiente, vi basta conoscere qualidati dovete mandargli e come ottenere il risultato. Dovrestemodellare i vostri commenti sulle stesse basi, sia perchérende la documentazione più semplice, sia perchéle funzionalità autoconclusive sono più facili da testareper poi dimenticarle. Non significa che dovete scrivere unlibro. Scrivete soltanto lo stretto necessario, spesso questosi traduce in una sola riga. La sintassi per i commenti cambiain base al linguaggio; per quanto riguarda Python, ad
esempio, i commenti sono solitamente anticipati dal simbolo# all’inizio della riga. Tutto ciò che si trova aldilà di questosimbolo sarà ignorato dall’interprete, e se state utilizzandoun editor dotato di evidenziazione della sintassi, il commentoverrà colorato con un colore differente. Più dettagli mettetein un commento e meglio è, ma non scrivete un papiro.Aggiungere i commenti al codice può essere noioso quandovolete semplicemente continuare a programmare, quindirendeteli il più snelli possibile per non interrompere il vostroflusso di programmazione. Se necessario, potete sempretornare indietro e aggiungere i vostri pensieri quando non visentite in frenesia da codice (di solito questo accade il giornoprima del rilascio al pubblico). Quando si inizia a scriverecodice, si introducono molti errori senza rendersene conto.
A cominciare dal fatto, ad esempio, che non si sa cosasia una keyword e cosa non lo sia; una keyword (o parolachiave) altro non è se non una parola utilizzata dal vostro
Praticamente tutti
i linguaggi considerano
lo zero come un valore
e come prima posizione
di un array. Può
sembrare poco logico
all’inizio, perché siamo
abituati a pensare allo
zero come a “niente”.
Ma basta soltantoabituarsi all’idea.
Tip
L’IDE Python IDLEha una modalità
di debug che vi permette di vedere
come le vostre variabili cambiano
durante l’esecuzione
Evitare gli erroriDopo aver ricevuto tonnellate di bug report sul proprio codice, lo staff di Linux Pro ha deciso
di condividere con voi l’elenco delle cose da evitare e come farlo
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 85/100
LINUX PRO 125 83
Concetti
linguaggio per fare qualcosa di importante. Ogni linguaggio
è differente, ma la lista delle keyword di Python
è abbastanza gestibile, e include parole inglesi di linguaggio
comune come ‘and’, ‘if’, ‘else’, ‘import’, ‘class’ e ‘break’,
così come parole con meno senso come ‘yield’, ‘lambda’,
‘raise’ e ‘assert’. Ecco perché è sempre una buona idea
creare le vostre variabili con nomi composti, piuttostoche con nomi semplici. Se state utilizzando un IDE,
ci sono buone possibilità che l’evidenziazione della sintassi
vi avvisi se state usando una keyword.
Valori non dichiaratiUn altro problema che fortunatamente non affligge Python
è l’uso di valori non dichiarati. Questo tipo di errori può
verificarsi, ad esempio, nel C o C++, se utilizzate una variabile
senza aver dichiarato prima di che tipo è, ad esempio int x
per dichiarare che x è un integer. Soltanto dopo averle
dichiarate potete utilizzare delle variabili nel vostro codice.
Questa è la grande differenza tra linguaggi compilati
e interpretati. Comunque, in entrambi i linguaggi, non potete
sapere che valore di default conterrà una variabile nondichiarata. Scrivendo print (x) in Python vi verrà restituito
un errore, cosa che non succederà se anteponete l’istruzione
x = 1. Questo perché l’interprete conosce il tipo di una
variabile soltanto dopo che le avete assegnato un valore.
Il C/C++ può essere anche meno preciso, non è detto
che generi per forza un errore, ma il valore che conterrà
la variabile sarà imprevedibile, a meno che ovviamente
non ne assegnate uno voi. Gli errori chiamati in gergo typo
(errori di battitura) sono molto comuni, specialmente negli
statement condizionali dove possono passare inosservati,
perché potrebbero essere sintatticamente corretti.
Ad esempio, controllate sempre di non aver messo
un uguale solo nei vostri if, anche se Python è molto bravo
nel rilevare questi problemi. Un altro tipo di problemache Python gestisce molto bene è l’indentazione imprecisa.
L’indentazione è utilizzata da Python per distinguere le varie
parti delle funzioni e delle condizioni. Python interrompe
l’esecuzione se non indentate correttamente, ma molti altri
linguaggi tentano di interpretare la gerarchia del vostro
codice comunque, e a volte una parentesi in un posto
sbagliato è tutto ciò che serve per ottenere dei risultati
imprevedibili. Comunque, questo può rendere Python
più difficile da imparare. All’inizio, se non conoscete comelavorano i suoi requisiti di indentazione, o che necessita
dei due punti alla fine della dichiarazione di una funzione,
l’errore che vi ritornerà avrà poco senso per voi. Dovete
inoltre prestare attenzione alle maiuscole e minuscole,
specialmente con le keyword e con i nomi delle vostre
variabili. Quando avete scritto qualcosa, dovete testarlo
non soltanto con i valori per cui lo avete pensato, ma con
qualsiasi valore possa accettare in input. Il vostro codice
potrebbe fallire con eleganza e metodicità, oppure in modo
del tutto casuale. Quando avete qualcosa di pronto per
essere rilasciato, datelo ad altre persone perché lo testino.
Utilizzeranno approcci diversi dal vostro, e saranno felici
di rompere il vostro codice in modi che voi non potete
neanche immaginare. Soltanto allora il vostro codice saràpronto per il selvaggio mondo di Internet, e indossate
il vostro giubbotto antiproiettile il giorno del rilascio. LXP
Programmandoin Python doveteprestare attenzioneche i due puntie le indentazionisiano disposticorrettamente,
altrimenti il vostrocodice non funzioneràma si stopperàmostrando parecchierrori di runtime
Sintassi per i commenti
Differenti linguaggi utilizzano differenti sintassi per i commenti, anche
se sembra che ci siano delle linee comuni su come un commento
dovrebbe essere scritto in ciascun linguaggio. Comunque, esistono
un paio di regole generali. Molti programmi offrono sia i commenti inline,
sia la possibilità di commentare a blocchi, ad esempio. I commenti inline
sono solitamente su una singola riga, o dopo una parte di codice sulla stessa
riga, e sono inizializzati utilizzando un paio di caratteri prima del commento.
I commenti a blocchi contengono pezzi di testo (o di codice che non
volete venga interpretato/compilato), e di norma hanno dei caratteri
di inizio e dei caratteri di fine.
Bash# il cancelletto (detto anche hash) è utilizzato in molti linguaggi di scripting. Quando # è seguito da ! il discorso cambia e diventa
un comando che dice al sistema quale interprete utilizzare, ad esempio #!/usr/bin/bash
BASIC REM Per molti di noi, questa è la prima sintassi per commenti che abbiamo imparato.
C /* Questo tipo di commento in C può essere utilizzato per un blocco di testo di più righe */
C++ // questa sintassi può essere utilizzata per inserire un commento dopo del codice oppure per commentare una singola riga.
HTML<!-- Anche se non si tratta di un linguaggio di programmazione, lo abbiamo incluso perché è probabile che abbiate già visto questa
sintassi -->
Java /** Simile al C, perché può contenere un intero blocco, ma con un * in più nell’apertura */
Perl = heading Overview oltre al cancelletto, in Perl potete utilizzare anche una cosa chiamata Plain Old Documentation.
Ha un formato specifico, ma vi costringe a spiegare il vostro codice in modo più accurato. =cut
Python “”” Oltre al cancelletto, gli utenti Python possono commentare un intero blocco di righe racchiudendole tra tre serie di virgolettein questo modo “””
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 86/100
84 LINUX PRO 125
Reti neurali
Eccoci arrivati alla terza – e ultima – puntata
di questa serie di articoli dedicata alla
programmazione delle Reti Neurali Artificiali. Nel
precedente articolo abbiamo visto come una RNA possa
dividere degli elementi in base a delle caratteristiche che
li accomunano: terminato l’addestramento la rete sarà in
grado di “esprimere un parere” anche su elementi del
gruppo che non hanno concorso all’addestramento della
rete. Ora vediamo il concetto opposto, cioè determinarela caratteristica che unisca in un insieme degli elementi
che apparentemente nulla hanno in comune.
Scegliamo di allenare una rete per approssimare
qualcosa che tutti noi dovremmo ricordare: il Teorema
di Pitagora. La famosa frase “Il quadrato costruito
sull’ipotenusa è equivalente alla somma dei quadrati
costruiti sui cateti” si esprime matematicamente con
nel nostro caso,
Per affrontare questo problema, decidiamo di creare
una rete un po’ più carrozzata, nello specifico una
2-16-16-1 che addestreremo con 81 esempi
(vedi listato su DVD). Approfittiamo della situazioneper introdurre qualche trucchetto di programmazione
per accelerare la velocità del programma e un paio di
concetti nuovi inerenti le Reti: finora ci siamo accontentati
di uscite comprese tra -1 e +1, ma questo non deve
essere visto come un vincolo in quanto, con dei semplici
rimaneggiamenti aritmetici, saremo in grado di “stirare”
questi valori fino a coprire gli intervalli numerici di nostro
interesse. Infatti nel programma 2-16-16-1 vediamo
la presenza di un “moltiplicatore” che porta il fondo scala
a 20: questo si rende necessario perché le uscite attese
variano tra 0 e poco meno di 13, mentre la funzione
di uscita copre unicamente l’intervallo (-1, +1). Inoltre
abbiamo eliminato l’errore fisso, sostituendolo con un
vettore contenente valori di errore personalizzati sulle
uscite. Avrebbe poco senso impostare un errore fisso(per esempio 0,01) su uscite non omogenee, come
1,41 e 12,72: infatti per la rete sarebbe facile
raggiungere l’obiettivo su un certo tipo di valori piuttosto
che su altri. Viceversa, impostando un errore percentuale
proporzionale all’uscita facilitiamo l’allenamento della
rete, garantendo al contempo un errore accettabile pari
all’1% dell’uscita attesa. Per quanto riguarda i trucchetti
di programmazione, abbiamo creato due vettori (passa[] e tangip[]) che contengono pre-calcolate alcune parti
dell’algoritmo di retro propagazione allo scopo di
eseguire quella parte di elaborazione un numero minimo
di volte. Notate che per tenere contenuto il numero
di linee del listato abbiamo sostituito le istruzioni simili
con dei cicli for: questo è un bene per la compattezzadel sorgente ma è controproducente per la velocità
del programma, per cui ove possibile si consiglia sempre
di rimpiazzare i cicli for con le relative istruzioni singole.
Raccomandiamo inoltre di compilare il programma
attivando le ottimizzazioni spinte tramite il parametro
-O3 come segue:
gcc rete-2-16-16-1.c -lm -O3; ./a.out
Per presentare i risultati abbiamo dovuto
necessariamente addestrare la rete. Purtroppo i pesi
sono parecchi e per mantenere contenute le dimensioni
del listato abbiamo preferito fornire il programma
“in bianco” cioè senza l’elenco dei pesi configurati.
Chi desiderasse ricevere una copia del programma
“allenato” può contattare l’autore dell’articolo.
Capacità previsionaliAbbiamo più volte detto che le RNA sono in grado di
fornire risposte accettabili anche oltre l’insieme dei valori
che contiene il set di allenamento: è il momento di
dimostrare tali affermazioni. Al posto di noiose tabelle
di risultati abbiamo preferito presentare un’immagine
che si analizza molto più facilmente. La rete è stata
allenata con 81 esempi di addestramento le cui
coordinate generiche (a,b) vanno da 1 a 9 compresi.
Terminato l’allenamento, abbiamo modificato
il programma per testare lo “spazio del problema”
con una densità dieci volte maggiore per ogni coordinata
e abbiamo anche provveduto ad allargare lo spazio dianalisi, per verificare il comportamento della rete oltre
i propri confini di allenamento: il grafico rappresenta tutti
P R O
e
n
t
r
o
i
l d e n t r o i l
C o d i c e d ’ e s e m p i o
Roberto Premoli
Comincia nel 1999
a usare GNU/Linux
e il software Open
Source, con particolare
attenzione
all’ottimizzazione
di sistemi e ai cluster
di calcolo. Occupa
attualmente la posizione
di IT Senior Specialist
presso una
multinazionale
farmaceutica. Chi volesse
contattarlo può scrivergli
all’indirizzo roberto.
L’autore
Ringraziamo il Dott.
Crotti Stefano per
la rilettura “matematica”
del testo.
Ringraziamenti
Abbiamo visto reti multistrato semplici, cioè
reti in cui ogni neurone riceve input da tutti
quelli dello stato precedente e dà la prop ria
uscita in ingresso a tutti i neuroni dello strato
successivo. Questo tipo di rete è “regolare”
e facilita la programmazione, ma nulla vieta
di sperimentare, creando connessioni
aggiuntive tra strati distanti tra loro (per
esempio, qualche input potrebbe essere
fatto entrare a tutti i neuroni, non solo
in quelli del primo strato): sperimentate
e fateci sapere cosa avete ottenuto!
Reti più che regolari
Reti neurali artificiali:
teoria e praticaLa rete come “approssimatore” di funzione
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 87/100
LINUX PRO 125 85
Reti neurali
i punti da 0,0 a 14,1 a passo 0,1. All’interno dell’idealeperimetro che contorna i punti neri, tutti i punti (bianchi)soddisfano il vincolo di avere un errore inferiore all’1%.Il verde indica errore tra 1% e 2% il rosso l’erroretra 2% e 3% e così via (vedi Fig.1). Siamo un pocoindispettiti da quella macchia di errore in alto a sinistra
e abbiamo “zoomato” per analizzare meglio la situazione(Fig.2). Vediamo come essa sia “incastrata” tra 4 puntidi addestramento ma è interessante il fatto che si trovimolto vicino all’origine: questo indica che tale areasia “delicata” e necessitante di un insieme di punti diaddestramento più fitto per garantire il risultato cercato.Ora che sappiamo dove intervenire, sarà sufficientemodificare il set di addestramento includendo anche unodei punti all’interno della macchia in modo da addestrarenuovamente i pesi quel tanto che basta per avere unsuccesso completo. Per quantificare la precisione dellarete, abbiamo “contato” i punti: quelli buoni avrebberodovuto essere 81*81=6.561 (rappresentati il 100%dell’area in cui ci aspetterebbe un successo pieno da
parte della rete), ai quali però vanno sottratti i 70 punticostituenti la macchia. Per cui la Rete, all’interno delperimetro di allenamento, ha un successo del (6.561-70)/6.561=98.9%. Però la rete riesce a dare una buonarisposta anche oltre il perimetro. Abbiamo contato tuttii punti buoni (bianchi) che assommano a 12.159, cioèun +85% rispetto ai 6.561. Se poi “chiudessimo unocchio” e accettassimo per buoni anche i 1.886 puntiverdi, la percentuale di successo diventerebbeun ottimo +113%. In conclusione ci possiamo dichiararesoddisfatti dalle prestazioni di questa rete “Pitagora”che consideriamo un buon inizio, nonostante l’errorevicino all’origine. È di particolare rilevanza il fattoche la rete riesca a gestire input diversi ma che generano
risultati identici: intendiamo dire che la rete generagiustamente risultati simili per le coppie di esempicome (12 +92) e (92 +12) oppure (32 +62) e (62+32), ecc. Quindi, oltre alle funzioni di somma, moltiplicaed estrazione di radice (operazioni implicite nel Teoremadi Pitagora), la Rete ha anche scoperto la proprietàcommutativa delle addizioni, indicata genericamentecon a+b = b+a. Tutto questo è stato ottenuto– lo ricordiamo – con solo 81 esempi: un’effettivadimostrazione delle capacità di astrazione,generalizzazione e preveggenza da parte delle RNA.
Un compito per voiOra che padroneggiate – ci auguriamo – le basi del
mestiere, potreste pensare a piccoli problemi quotidiania cui dare una risposta tramite rete neurale. Per esempio,scrivere una RNA che preveda in tempo necessarioper il tragitto casa-lavoro. I dati di input potrebberoessere l’ora di partenza (sotto forma di minuti dallamezzanotte, da 1 a 1.440) e la data (sotto forma digiorno dell’anno, da 1 a 365), mentre l’uscita potrebbeessere un numero indicante i minuti necessari al viaggio.L’orario di partenza influisce su problemi a breve termine(per esempio, immettersi in tangenziale 10 minuti primadell’orario di punta può portare a significativi guadagnidi tempo) mentre la data influisce su problemi a “basestagionale” (ad esempio, nel periodo invernale è damettere in conto un rallentamento del flusso veicolare
a causa di condizioni climatiche avverse, come pioggiae neve). Il problema? Avere la pazienza e la metodicitàdi raccogliere dati sperimentali per un anno.
E se la rete non si addestra?Succede più spesso di quanto si desidererebbe,purtroppo. Capita che la fase di addestramento duriper giorni e giorni ma la rete non mostri nessuna vogliadi convergere verso una soluzione accettabile: che fare?
Per nostra esperienza, sappiamo che la fasedi allenamento può essere altalenante, cioè i pesiondeggiano qua e là in un modo apparentementeillogico, ma poi, a un certo punto, la rete comincia aconvergere verso una soluzione accettabile. Il problemafondamentale è che non si può calcolare analiticamentequel “a un certo punto” e nemmeno si può essere sicuriche quel “a un certo punto” esista! Altre volte capita chel’allenamento si blocchi in punti assolutamente lontani
Sappiamo che il percettrone 3D genera un piano che separa
linearmente uno spazio tridimensionale: quindi un volumepuò essere racchiuso tramite l’intersezione di quattro piani(immaginate una piramide a base triangolare). Abbiamo poi vistoche con abbastanza strati e/o nodi è possibile racchiuderequalunque area o volume. Domanda: quale potrebbe esserela RNA che separa linearmente i punti azzurri dai punti verdi– una croce a tre braccia – nella figura A? E per farla ancorapiù difficile, quella – un ottaedro – di Figura B? Forza conla tastiera, aspettiamo le vostre risposte!
Per solutori più che abili
1 Il grafico cherappresenta il nostroproblema
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 88/100
86 LINUX PRO 125
Reti neurali
dai valori a noi necessari: vediamo quali possono essere
le motivazioni e le relative soluzioni di questo
comportamento. Qua e là in questa serie di articoli
abbiamo dato qualche suggerimento, ora ne
aggiungeremo altri, schematizzandoli per punti.
A Abbiamo detto che la Rete può compensarei propri errori, ma ovviamente è sempre meglio
che il software non ne abbia! Frequentemente accade
che dopo il copia e incolla di un pezzo di programma
ci si dimentichi di aggiornare l’indice di un vettore
o che non si cambi il nome di una variabile: il risultato
è una rete che faticherà ad allenarsi o non si allenerà
affatto. Il consiglio principe è sempre lo stesso:
controllate sempre il vostro sorgente una volta
in più di quello che pensiate sia il numero massimo
di controlli da fare! A volte è bene far passare
un giorno prima di rileggere il sorgente, così la mente
sarà riposata e ci si accorgerà di errori che il giorno
prima sarebbero stati invisibili.
B Niente virtuosismi in fase di scrittura del software:
non pensate immediatamente a un’unica matrice
N-dimensionale di pesi, a eleganti routine che
si auto-richiamano e altri sofismi. Anche se scrivete
un codice brutto e lento, l’unica cosa importante è che
funzioni e sia privo di errori concettuali o di digitazione.
Il tempo per le rifiniture estetiche e le ottimizzazioniprestazionali verrà in un secondo momento.
C Disegnate su carta la vostra rete: vedere i neuroni
(nodi) e i pesi (fili) che li connettono aiuta a pensare
con più facilità alla versione informatica che dovrete
realizzare. Disegnate anche, se possibile, un diagramma
del set di allenamento, perché vedere le corrispondenze
input-output di addestramento vi aiuterà a pensare
alla rete che sarà chiamata a generarle. Con il tempo
e l’esperienza, vi verrà naturale capire più o meno
la rete necessaria dopo aver dato una occhiata
allo spazio del problema.
D Impostate l’errore al massimo tollerabile.Se è accettabile un errore di 0,01, è inutile forzare
l’errore a 0,001 solo per uno sfizio personale: modifiche
di questo tipo possono comportare un allungamento
più che proporzionale dei tempi di addestramento
e una precisione 10 volte superiore potrebbe richiedere
un tempo di calcolo mille o centomila volte superiore.
E Adottate la PPP, Politica dei Piccoli Passi: dovete
raggiungere un errore massimo di 0,1? Molto bene,
cominciate a impostare l’errore a 0,8 e vedete se la rete
ce la fa a soddisfare tale vincolo. Poi aggiornate i pesi
e scegliete un vincolo più restrittivo, per esempio 0,6
e così via fino a raggiungere l’obiettivo iniziale. Lo stesso
ragionamento vale perl’insieme di allenamento:
in altre parole, se la rete
non riesce ad addestrarsi
con un set di training
da 20 elementi, abbassate
tale numero a 10. Poi, man
mano che la rete genera
pesi accettabili, aggiungete
elementi fino a raggiungere
il numero di 20.
F Se il problema che state
analizzando lo consente,
contemplate la possibilità diusare errori in percentuale
rispetto all’uscita attesa.
Impostare un errore
massimo uguale a 0,05
comune per tutte le uscite
può essere eccessivamente
restrittivo e impedire
alla rete di concludere
l’allenamento. Se avete
con valori molto variabili
(per esempio [100; 10000;
3]) l’errore 0,05 potrebbe
essere facilmente
raggiungibile per le primedue uscite, ma difficile
o impossibile per l’ultima.2 Uno zoom sull’errore che ci ha indispettito
Avete una rete addestrata, cioè i pesi rientrano
negli intervalli accettabili: tutto bene quindi?
Si, ma forse si può fare meglio! Se la vostra
rete è grossa e/o deve generare miliardidi risposte al giorno, anche un piccolo
miglioramento velocistico si fa sentire alla fine
della giornata e peserà meno sulla bolletta
energetica. I miglioramenti prestazionali sono
dati da minori elaborazioni numeriche: provate
a eliminare qua e là qualche peso o neurone
dalla vostra rete e verificate se genera ancora
risposte accettabili. Continuate a togliere
“potenza” finché sarà possibile, riaddestrando
mano a mano la rete se fosse necessario:considerate che meno togliete e più
velocemente la rete sarà riaddestrata,
quindi il consiglio è di togliere un peso
alla volta. Alla fine dell’ottimizzazione,
la percentuale di miglioramento ottenuta
potrebbe piacevolmente stupirvi!
Ottimizzare una rete già addestrata
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 89/100
LINUX PRO 125 87
Reti neurali
Potreste optare dunque per un errore del 5% e quindicreare un vettore di errori impostato a [5; 500; 0,15] daassociare al vettore delle uscite attese in fase di controllo.
G Attenti a “mu”. Attenti a “mu”. Attenti a “mu”. Non losi dirà mai abbastanza: attenti a “mu”! Come già detto,
mu è responsabile della velocità di allenamento: taleparametro è critico. Se troppo grande, farà “rimbalzare”i pesi esternamente all’intervallo accettabile, per cui la retecontinuerà a fare “avanti e indietro” senza mai fermarsi: ècome se una pallina avesse troppa energia e continuasse agirare sulla parete interna di una buca senza però rallentareper poter fermasi sul fondo. Se il valore è piccolo, la retesarà lenta nell’allenamento, a volte di una lentezza tale dadimostrarsi inaccettabile. Infine, se mu sarà troppo piccolo,i pesi non ce la faranno a sorpassare gli ostacoli: sempre conl’esempio della pallina, è come se essa fosse caduta in unapiccola buca senza avere abbastanza energia per saltare fuori.
H
La rete è addestrata, tranne che per un solo, ultimo,
maledetto esempio, fatto meglio noto comeil problema del picco. In altre parole, tutti i valori rispettanoil massimo errore consentito, con l’eccezione del maledettoche sta o troppo alto o troppo basso. Intendiamoci, l’uscitasi sta effettivamente avvicinando al valore richiesto,ma lo fa con una lentezza esasperante. Come fare?La prima cosa è salvare i pesi generati fino a quel momentoe reinserirli nel sorgente quali nuovi pesi di partenza (avetefatto in modo che il programma li salvi periodicamente daqualche parte o che almeno li stampi a video? No? Moltomale!). Ammesso che abbiate aggiornato il programmacon i nuovi pesi, si può procedere in due modi:1 provare a incrementare mu sperando che velocizzila convergenza dell’ultimo valore;
2 verificare quali sono i pesi che generano il valore fuoriscala e tentare di modificarli manualmente per farlorientrare nell’intervallo accettabile.
I Avete rispettato tutti i punti precedenti, ma proprionon c’è niente da fare? Può semplicemente significare
che la rete non è quella giusta, che essa è inadattaa risolvere il problema. La soluzione potrebbe esserequella di “potenziarla”, aggiungendo neuroni agli stratiesistenti o aggiungendo un ulteriore strato.
Purtroppo non è ancora stato trovato un metodo rigoroso,qualora esista, per determinare la rete adatta allarisoluzione di un determinato problema. Abbiamo visto che
“errore” e “mu” sono parametri sensibili (“mu” è addiritturacritico) che, se non ben impostati, possono essere causadi un addestramento lento o addirittura di un mancatoaddestramento. Le diverse equazioni di trasferimento
richiedono più o meno lavoro da parte della CPU peressere elaborate e questo influisce sul tempo necessarioper l’addestramento, che può essere molto lungo.La soluzione? Manco a dirlo, la soluzione è neurale, maneurale naturale! Intendiamo dire che solo l’esperienza delprogrammatore, solo il “fiuto” sviluppato in anni di lavoropossono permettergli di creare, se non la miglior rete,quanto meno una rete accettabile per un problema dato.
Tirando le sommeAbbiamo visto come, mutuando i meccanismi elaboratividel cervello umano, le Reti Neurali Artificiali siano in gradodi processare input e dare risultati attendibili là dove unalgoritmo “classico” può fornire solo risultati deludenti
o peggio ancora non è in grado di affrontare il problema.Abbiamo fatto una carrellata dagli esordi allo stato attuale,risparmiando al lettore tutta la parte matematica“indigesta” e limitandoci alla pratica, partendo dalle basie aumentando la difficoltà con il procedere della serie.Non abbiamo approfondito alcune tematiche“specialistiche” per non mettere troppa carne la fuoco, mala speranza di chi scrive è comunque quella di aver accesonel lettore la curiosità per un argomento di nicchia mainteressante dal punto di vista concettuale e potente nelleprestazioni. Imparare una cosa in più e usarla al megliodelle proprie capacità dovrebbe essere l’obbiettivo di tuttinoi, e ci piace pensare di aver dato un suggerimentoche speriamo sarà seguito da molti... si, anche da te! LXP
Per quanto sia una pallida ombra del cervello, una rete neuraleartificiale nel emula i meccanismi, per cui si può dire che la qualità(dei ragionamenti) si basa sulla quantità (dei neuroni in gioco).Diecimila neuroni sono poca cosa, ma tali reti già “pilotano” creatureartificiali che vivono nella realtà virtuale, dove eseguono azionisemplici ma sempre più complesse man mano che evolvono.Cosa succederà quando si avranno reti da un miliardo di neuroni?E da dieci miliardi? E da cento miliardi? Nei laboratori di tuttoil mondo si studiano queste tematiche e già si prevedeche i supercomputer di prossima generazione saranno in gradodi far “girare” reti neurali con la “potenza” cerebrale di un gatto.
Considerando che le prestazioni raddoppiano ogni 18-24 mesi,si può estrapolare che tra una 15-20 di anni disporremo
della potenza bruta per emulare in toto un cervello umano.Si aprirebbero allora scenari inattesi e un po’ inquietanti: sarebbemoralmente accettabile spegnere il sistema che fa girareun’intelligenza artificiale di livello umano o sarebbe comecommettere un omicidio? Dopotutto se guadiamo all’azione svolta,oggi uccelli e aerei volano, gambe e ruote corrono: forse domanicervelli e computer penseranno. Cambierà il mezzo, ma il fine resteràlo stesso. Ancora più avvincente sarà la possibilità di creare copiedi cervelli esistenti, avendo così una specie di immortalità ciberneticaquando la versione biologica dell’individuo backuppato cesserà difunzionare: non sappiamo cosa intendiate fare voi, ma noi pensiamo
di prenotarci un posto. Chi volesse leggere di più vada a questo link:http://it.wikipedia.org/wiki/Trasferimento_della_mente .
Reti neurali e immortalità
È matematicamente dimostrato (Hornik,Stinchcombe, White - 1989) che non serveavere una rete con N strati nascosti, ne basta
uno solo: inoltre tale rete può – parimenti allereti multi strato – approssimare qualunquerisultato con qualunque livello di precisione.Purtroppo ciò che è dimostratomatematicamente vero non è detto chesia facilmente implementabile: in questocaso il problema sta nell’elevato numerodi percettroni che devono comporre lo stratonascosto. Questo si rivela essere un vantaggio
nel caso di hardware massicciamente paralleloche può calcolare tutti i neuroni dello stratoin un colpo solo, ma questo tipo di soluzione
può essere controproducente se la reteè implementata “in software” su una classicaCPU che, come noto, processa i calcoliserialmente un neurone alla volta.Per dimostrare questo teorema, abbiamoridisegnato la rete 2-4-4-1 sotto formadi 2-16-1: avevamo provato con una rete2-8-1 ma non riusciva a raggiungereil livello di precisione richiesto.
Basta uno strato solo
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 90/100
88 LINUX PRO 125
Python
I computer sono grandiosi. Sono veloci e fanno
le somme, e possono elaborare un’enormità di dati
in breve tempo. Comunque, possono fare solo
ciò per cui sono programmati e i programmatori tendono
a pensare in modo lineare: AD BD C e magari ancheD D
se serve. Di solito, i task hanno una natura lineare – ad
esempio per trovare la posizione della Stazione Spaziale
Internazionale bisogna capire in che punto si trova della sua
orbita. Poi potete calcolare le sue coordinate geocentriche
e da queste (e dalla posizione dell’osservatore) potete
calcolare dove si trova. Come molti problemi, è lineare
e non potete calcolare in anticipo il passo successivo perché
dipende dai risultati del passo precedente. D’altra parte
ci sono molti compiti che possono essere svolti in parallelo
quando si parla di software desktop – di solito nulla
che abbia a che fare con input e output da dispositivi di
storage o locazioni di rete. Ad esempio, quando il voglio foglio
di calcolo salva in modo automatico ogni cinque minuti, lo fa
come compito in parallelo e in background, quindi voi potete
continuare a inserire i vostri dati della banca, o qualunque
altra cosa. Nessuno, nell’epoca moderna, vuole fermare
ciò che sta facendo per portare avanti lavori noiosi.
La risposta per fare due cose alla volta sono i thread.
Prima serata
Per la verità non è sempre così. Dipende da cosa volete faree dall’hardware che state usando. Prima di diventare matti
cercando di capire cosa intendiamo, provate un semplice
test. Vi mostreremo un piccolo brano di codice che
fa qualcosa di utile, come determinare se un certo numero
è primo o no. Questo si può fare con una semplice funzione
che è ideale per il nostro test.
def isprime(n):
n*=1.0
if n%2==0 and n!=2 or n%3==0 and n!=3:
return False
for test in range(1,int((n**0.5+1)/6.0+1)):
if n%(6*test-1)==0:
return False
if n %(6*test+1)==0:
return False
return True
Ora, prima di iniziare a scriverci (possiamo sentire alcune
centinaia di nuovi account Gmail aprirsi mentre stiamo
digitando), sì, siamo sicuri che ci sono modi molto più efficienti,
o codici dall’aspetto migliore, per verificare se un numero
è primo o meno. Non vogliamo perdere troppo tempo
allontanandoci dallo scopo di questo articolo. Comunque
spiegheremo alcuni elementi di questo codice. Moltiplicando
l’input per 1.0 (un float) trasforma l’input in un numero
a virgola mobile, che è necessario – dividendo un intero per
un intero si ha sempre un risultato intero senza il resto (non ci
credete? Provate questo dalla Bash: python -c ‘print 3/2’),
ma il resto è proprio quello che ci serve per verificare i numeri
primi. Per velocizzare la ricerca, eliminiamo subito i numeri
che sono multipli di 2 o 3 (ma non il 2 e il 3 stessi), visto
che in questo modo riduciamo notevolmente la prospettiva.
Poi creiamo un ciclo di potenziali divisori. Anche qui ci sono
alcuni trucchi. Per esempio, non c’è motivo di verificare
il numero 13 per vedere se è divisibile per 11. Ovviamente
non lo è. Ma dove si può tirare questa linea ovvia?
Se un numero ha dei fattori primi, almeno uno di essi sarà
più piccolo della radice quadrata del numero stesso, quindiquesto può accorciare notevolmente la ricerca (oh, però
dovete aggiungere 1 perché il range della funzione parte
da 0). Un altro trucco è che tutti i numeri primi sopra il 3 sono
nella forma 6n+1 o 6n -1 dove n è un intero – per esempio
se n è 1, allora questo trucco ci dice che 5 e 7 potrebbero
essere primi. Anche se tutti i numeri primi appartengono
a questo insieme, non tutti i numeri di questo insieme sono
primi. In tutti i casi, basta far girare le rotelline del cervello,
questa funzione va bene! Avendo realizzato una buona
funzione, procederemo facendo una cosa stupida: creeremo
un enorme ciclo e ripeteremo la funzione per verificare
tutti i numeri all’interno di un vasto range (dovremmo
verificare solo i numeri 6n+1 e 6n-1, ma vogliamo arrivare a
un calcolo molto lungo per arrivare al punto). Aggiungeremoun po’ di codice extra, un’altra funzione per verificare tutti
i numeri di un certo range, e un blocco principale:
def primes_in_range(x, y):
global l
l=[]
for i in range(x, y):
if(isprime(i)):
l.append(i)
if __name__ == ‘__main__’:
primes_in_range(1,1000000)
print l
Come potete vedere, è molto semplice. Il codice main
richiama la funzione primes_in_range che, a sua volta,
scorre ogni numero e controlla se è primo. I numeri primivalidi vengono aggiunti a una lista, che viene stampata
a schermo quando il programma termina. Nessun trucco
P R O
e
n
t
r
o
i
l d e n t r o i l
F i l e d ’ e s e m p i o
Non dovete generarequesti grafici, ci pensail monitor di sistemaa dirvi cosa stannofacendo i vostriprocessi
Elaborazione multiprocessoLinux Pro vi mostra perché due processori (o più) sono meglio di uno ed esamina alcuni
modi per liberare la potenza delle CPU multicore
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 91/100
LINUX PRO 125 89
Python
in questo caso. A questo punto le cose possono variare. Nelnostro esempio (prime_normal_1.py) abbiamo codificatola ricerca su 1.000.000 di numeri, che nel nostro computerimpiega circa 8 secondi per essere eseguita, voi potrestevoler iniziare con un numero più piccolo o più grande. L’ideaè quella di avere un tempo di ricerca sufficientemente lungo
da notare la differenza di velocità dopo aver applicato qualchealtro trucco. Come misurare questa velocità? Potete usareil comando time della Bash per avviare lo script: time python prime_normal_1.py 78499
real 0m8.019s user 0m6.772s sys 0m0.032sI numeri restituiti indicano il tempo reale impiegato per ilcalcolo, il tempo di userspace occupato e poi il kernel timedello stesso processo. Il carico del processore si può calcolarefacendo user+sys/real. Questa è una misura accurata delleprestazioni dello script senza ricorrere ad altri tool.
La verità dei threadBene, come si può trasformare il nostro piccolo programmalineare in una applicazione threaded? Il modulo Pythonthreading offre un modo pratico e veloce per creare thread.I thread sono basati su una funzione target, quindi doveteavere qualcosa a cui farli puntare. Fortunatamente avetela funzione primes_in_range – dovete solo fornirgligli argomenti. Potete semplicemente dividere il rangedi numeri in tre gruppi ed eseguire un thread per ognigruppo. Quindi ora dovete adattare il codice precedentein modo che sfrutti i thread, dovrebbe apparirepiù o meno come il codice seguente. import threading
l=[] def isprime(n): n*=1.0 ... def primes_in_range(x, y): global l for i in range(x, y): if(isprime(i)): l.append(i) if __name__ == ‘__main__’: p = threading.Thread(target=primes_in_range,args=(1,333000)) p.start() q = threading.Thread(target=primes_in_range,
args=(333001, 666000)) q.start() r = threading.Thread(target=primes_in_range,args=(666001, 1000000)) r.start() p.join() q.join() r.join() print lNella funzione main del programma vengono creati trethread. La creazione di ogni thread richiede una funzionea cui puntare e accetta un set di argomenti. La classe threadcrea un oggetto con diversi metodi, i più importanti sonostart() e join(). Il primo fa partire il thread. È costruito
per chiamare semplicemente la funzione fornita con i relativiargomenti, comunque se volete creare una vostra classepotete fare un override su questo metodo per fare qualcosa
d’altro. Per i nostri scopi ci va bene così com’è. Il metodo join()blocca l’esecuzione fino a quando il thread ha completatoi suoi task, e viene usato per riunire i thread separati nellasequenza d’esecuzione principale. Quindi i join bloccanol’esecuzione del main fino a quando i thread non finiscono.Provate il nuovo codice (prime_threaded_1.py) sempre
con time per vedere quanto tempo impiega a trovarei numeri primi. Noi abbiamo ottenuto un tempo d’esecuzionedi circa 11 secondi. È vero, in questa particolare occasionel’aver introdotto i thread nel programma ci è costatocirca il 30% in più del tempo. Ah, per la cronaca, stiamousando un processore quad core a 3 GHz. Difatti la velocitàdel processore e il numero di core, fa solo peggiorarele cose! Ma cosa sta succedendo? Quello che abbiamovissuto è la cosa più esasperante del linguaggio Python:i thread possono funzionare solo uno alla volta. Se usatedei moduli per fare delle cose con Internet, i dispositivihardware, l’I/O su file o altre cose non puramente Python,o non puramente di calcolo, i thread vengono eseguitiin simultanea; questo capita perché quando non
è in esecuzione il bytecode di Python il processorepuò operare in modo indipendente dal Global InterpreterLock. Quindi, in realtà, i thread vanno in competizionetra loro per l’accesso all’interprete e l’overhead di tuttala segnalazione si va ad aggiungere al tempo necessarioall’esecuzione del task. Spesso questa differenza si notadi più con i processori più veloci perché c’è una finestrapiù stretta tra il rilascio del lock da parte di un threade il tentativo di riprenderlo da parte dello stesso thread.Un altro punto su cui potreste farvi delle domane – nel nostrocodice d’esempio l’ultimo thread ha più lavoro da fare– è che valutare se sono primi i numeri più grandiè più oneroso. Trovare un modo per equilibrare il lavoroper i thread potrebbe far pensare che tutti i thread
potrebbero finire in contemporanea, ma questo avrebbeun effetto negativo sulle prestazioni perché, poichéi thread competono uno con l’altro, l’ultimo dovrebbeavere maggior possibilità di esecuzione: quando tuttigli altri hanno finito il thread con un’elaborazionepiù lunga si ritrova la CPU tutta per sé. Quindi i threadsono un male? Non sempre. I thread vanno bene quandola vostra applicazione deve fare due cose alla volta– come nell’esempio del foglio di calcolo nel qualesi salva il documento mentre l’utente continua a scrivere.Attendere l’input dell’utente lascia all’applicazione moltotempo libero per continuare a fare altre cose in background.Sono solo i compiti che richiedono molti calcoli a soffrirein questa situazione. Eppure c’è un altro modo per sfruttare
il vostro processore multicore.
Array e value
Ci sono modi più efficienti per condivideresemplici oggetti dati – array e value. Questisono a loro volta molto restrittivi, però,e non si comportano come normali oggettiPython. Questo semplice codice trattodalla documentazione vi spiega tutto quelloche dovete sapere. from multiprocessing import Process,Value, Array
def f(n, a): n.value = 3.1415927
for i in range(len(a)): a[i] = -a[i]
if __name__ == ‘__main__’: num = Value(‘d’, 0.0) arr = Array(‘i’, range(10)) p = Process(target=f, args=(num, arr)) p.start() p.join() print num.value print arr[:]Entrambi i tipi vengono dichiarati come tuple,il cui primo elemento è un tipo di dato(i è un intero, d un double). Per semplici
processi che devono guardare un singolovalore, quindi, sono l’ideale.
I thread si aspettano
sempre una sequenza
di argomenti
– se ne avete uno,rappresentatelo
come una tupla
con un valore nullo,
ad esempio
t1=threading
Thread(target=
f,args=(12,))
Tip
œ
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 92/100
90 LINUX PRO 125
Python
Occhio al coreAssieme al modulo threading, Python ha anche il modulomultiprocessing. Questo modulo è stato scritto per essereil più simile possibile, per quel che riguarda le API, ai thread,così da rendere più semplice ai programmatori la suaimplementazione nel codice. Lo scopo del modulo
multiprocessing è di eseguire, ovviamente, processi multipli,invece di thread multipli. Qual è la differenza? Un threadviene eseguito dallo stesso processo e ha accesso agli stessidati del suo processo padre. Eseguire un processo differenteè come avere un’altra istanza completamente separatadel software. Questi processi probabilmente verranno“spalmati” su core differenti, se disponibili, quindi poteteessere sicuri del fatto che si faccia un uso corretto dellapotenza di calcolo della CPU. Se provate a riscrivere il codicedi prima, mettendo il supporto multiprocessore al postodei thread, dovreste ottenere qualcosa di simile a questo: from multiprocessing import Process
l=[]
def isprime(n): n*=1.0 if n%2==0 and n!=2 or n%3==0 and n!=3: return False for b in range(1,int((n**0.5+1)/6.0+1)): if n%(6*b-1)==0: return False if n %(6*b+1)==0: return False return True def primes_in_range(x, y): global l for i in range(x, y): if(isprime(i)):
l.append(i) if __name__ == ‘__main__’: p = Process(target=primes_in_range, args=(1, 333000)) p.start() q = Process(target=primes_in_range,args=(333001,666000)) q.start() r = Process(target=primes_in_range,args=(666001,1000000)) r.start() p.join() q.join() r.join() print l
Come potete vedere, la struttura del codice è identica: l’unicadifferenza è che abbiamo importato il modulo multiprocessinge creato oggetti Process al posto dei thread. Se provatea eseguire questo codice, dovreste notare un visibile
incremento di velocità (c’è un overhead per l’avvio deiprocessi, ma comunque il nuovo programma dovrebbeessere circa tre volte più veloce dell’originale). Qui si sonousati tre processi. Il numero ottimale di processi dipende dalvostro processore e da cos’altro esso deve fare. Ovviamentese avete una CPU con quattro core, quattro processi sarebbel’ottimo, ma se avete altri task importanti da portare avantiquesti processi dovranno condividere le risorse della CPU.Per il nostro esperimento noi ci siamo bloccati a tre. Notate
che, anche se c’è un piccolo overhead a causa dei processimultipli, lo stesso codice funzionerà anche su un processorecon un singolo core allo stesso modo, e non più lentamente.In tutti i casi è meglio determinare a runtime quanti coresi hanno a disposizione e operare di conseguenza. Comefate a determinare ciò? C’è un’utile funzione che restituisceil numero di core disponibili nell’hardware in uso: multiprocessing.cpu_count()C’è qualcosa di errato nella nostra implementazione, però:lo script non restituisce alcun valore. Questo è un grossoproblema: è molto veloce, ma non funziona… In realtàfunziona bene. Quello che succede è che i risultati vengonoinseriti nelle liste proprio come ci si attende. Ma queste listefanno parte della memoria di processi differenti e quando essi
terminano, la sua memoria viene reindirizzata ad altri scopi.Non ottenete un messaggio d’errore perché ogni processopuò vedere la variabile l e aggiungervi valori. È solo che
Con un singoloprocesso che fa tuttoil lavoro, ci sono trecore che se ne stannoli a non fare nulla
Global Interpreter Lock
Il Global Interpreter Lock è necessario affinché Python possaimplementare i thread. L’interprete interpreta (scusateil gioco di parole) il codice Python e il GIL è un meccanismodi sicurezza per i thread: un thread deve acquisire il GIL prima
di essere eseguito. Questo è un po’ un collo di bottiglia,ma Python non cerca di gestire i thread esso stesso. A partetutto il resto, gran parte del codice C sottostante non ha tuttele sicurezze per i thread, per cui se non ci fosse GIL moltecose potrebbero andare storte. Greg Stein, un leggendarioprogrammatore di Google, ha provato a creare un Python privodi GIL, ma il risultato ha dimostrato prestazioni inaccettabilicon il software che non usa i thread. Guido Van Rossumha suggerito che sarebbe contento di rimuovere il GILse qualcuno riuscisse a programmarne un sostituto,ma per ora nessuna proposta ha visto la luce e GIL fa ancoraparte delle specifiche di Python 3.x. Potete eseguire codicePython con dei thread più “normali” su altre implementazionidel linguaggio, come Jython – la versione che viene eseguitain una macchina virtuale Java. Questa soluzione implementain maniera corretta i thread, ma il prezzo da pagare
è di non avere accesso a molti di quei moduli in C che sonocosì utili. Potete trovare un interessante presentazionesu GIL all’URL www.dabeaz.com/python/GIL.pdf.
Per avere altre informazioni su GI L, leggete
http://bit.ly/SXgmVS
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 93/100
LINUX PRO 125 91
Python
si tratta di una variabile diversa in ogni processo e quando
il processo termina, essa viene dereferenziata e ripulita.
CodeEsistono diverse strutture per aiutarvi a ottenere il massimo
da multiprocessing: pool, queue, manager, array e value.
I manager sono piuttosto semplici: sono un costruttoche consente la condivisione di tipi di dati semplici
tra i processi. Essi gestiscono i lock e le routine per assicurarsi
che gli oggetti non vengano corrotti a causa di una lettura
o di una scrittura contemporanea da processi diversi.
Il manager è un meccanismo basato su server, il che vuol
dire che potete usarlo anche per task di rete. Per creare
un oggetto manager, vi basta inizializzare un manager
e poi creare un oggetto con esso:
m = multiprocessing.Manager
mylist = m.list()
myqueue = m.Queue()
Con poche eccezioni, essi si comportano esattamente come
farebbe l’oggetto originale e anche se la lista di tipi generici
non è esattamente vasta, potete estenderla dilettandovicon la libreria ctypes. Il costo da pagare per l’uso dei manager
ricade sulle prestazioni: il vostro codice multiprocessore verrà
eseguito al doppio della velocità, ma non al triplo a causa
dell’overhead di tutte le chiamate di sistema all’oggetto server.
Un altro importante oggetto è il pool – una collezione di
processi disponibili per fare il lavoro. L’idea è che non interessi
quale processo esegua un particolare task, quindi invece di
assegnare un lavoro a uno specifico processo, lo si assegna
a un pool. Se uno dei processi del pool è occupato, il job viene
gestito da un altro. Non dovete controllare quanti core sono
disponibili nel vostro sistema, visto che ci pensa il pool
a scoprirlo per poi creare un equivalente numero di processi.
p=multiprocessing.Pool()
result1= p.apply_async(work, (arg1,arg2,arg3)) result2 = p.map_async(otherwork, range(1,1000))
p.close()
p.join()
I job possono essere distribuiti usando i metodi apply()
o map(), che si comportano più o meno come gli equivalenti
built-in. Il metodo apply_async() è una versione asincrona
di apply(), ed è il metodo che vi serve poiché il normale
apply() è bloccante finché non finisce. Il metodo
map_async(), se non avete familiarità con map(), prende una
funzione e una sequenza e applica la funzione a ogni membro
della sequenza. Nei termini del pool, questo è equivalente
a eseguire un processo per ognuno dei valori forniti
– in pratica il pool itera tra i valori man mano che un processo
finisce il suo lavoro e diventa disponibile per fare altro. I metodiclose() e join() bloccano l’esecuzione fino a quando
tutti i processi sono inattivi e vengono eliminati. Il processo
asincrono può restituire un oggetto come risultato.
Chiamando il metodo get() vengono rivelati i risultati ritornati
da tutti i processi, quindi per semplici task potete usare questo
metodo per comunicare con il processo host. La gestione
dei job passati a un pool in genere viene fatta da un oggetto
queue(). Lo caricate con gli argomenti, usando un metodo
put(), e li estraete usando get(). La queue (coda) usa tecniche
bloccanti e non bloccanti per assicurarvi di poter gestire
i job con un gruppo di processi concorrenti. Il metodo get()
può essere bloccante, quindi un processo attenderà
fino a quando la queue diverrà disponibile. Riscrivete il codice
multiprocessore per trarre vantaggio dagli oggetti manage:import multiprocessing
def isprime(n):
# same as before
def work(qq,l):
while qq.qsize()>0:
try:
x = qq.get() except multiprocessing.Queue.Empty:
break
else:
for i in range(x, x+10000):
if(isprime(i)):
l.append(i)
return
if __name__ == ‘__main__’:
m=multiprocessing.Manager()
q = m.Queue()
l= m.list()
for value in range(1, 1000000, 10000):
q.put(value)
p=multiprocessing.Pool() for i in range(p._processes):
p.apply_async(work, (q,l))
p.close()
p.join()
print “done”
print len(l)
Nella sezione principale del codice abbiamo creato un oggetto
manager e poi abbiamo generato una queue per tenere
il nostro lavoro e una lista per contenere i risultati. La queue
viene riempita con numeri fino a un milione con step
di 10.000. Questo viene fatto per rendere più efficiente
i processi – essi lavoreranno su blocchi di numeri piuttosto
che essere richiamati un milione di volte. Creiamo un pool
e poi cicliamo attraverso il numero di processi che essopossiede per far partire i lavori asincroni, passando loro
la queue e la lista come argomenti. Poi tutto quello che
ci rimane da fare è sederci e attendere la fine del lavoro.
Il processo al lavoro cerca di ottenere un numero dalla queue.
Se la coda è vuota (anche se il codice controlla ciò all’inizio
con il metodo q.size() ci può essere qualche altro job che
è intervenuto nel frattempo) il processo termina; altrimenti
elabora il lavoro e aggiunge il risultato alla fine della lista
condivisa. Nel DVD trovate un altro script, prime_
multiprocessor_3.py, che usa le callback per eliminare
la necessità di usare una lista condivisa, anche se questo
comporta una leggera differenza in termini di velocità. Fare
il debug di applicazioni multi processo può essere complesso.
Dovete pensare in modo diverso dal solito e capire chelo stesso codice viene eseguito diverse volte e ci si può trovare
in diversi punti di esecuzione nei vari processi. LXP
Il threading è anchepeggio! I corepassano il tempolitigandoo aspettandoche capiti qualcosa
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 94/100
I Lug
I LUG
rappresentano
da sempre il punto
di riferimento per
chiunque voglia
conoscere GNU/
Linux. Ogni mese
dedicheremo loro
questo spazio perla comunicazione
di nuovi progetti
e appuntamenti
92 LINUX PRO 125
L’eco dei LUG
ABRUZZO
AnxaLUG - Lanciano
www.anxalug.org
Il Pinguino - Teramo
Non disponibile
MarsicaLUG - Marsica
www.marsicalug.it
OpenLUG - L’Aquila
Non disponibile
Pescara LUG
www.pescaralug.org
Pineto LUG
www.pinetolug.org
Pollinux LUG - Pollutri Non disponibile
SSVLUG - San Salvo, Vasto, Termoli
www.ssvlug.org
SulmonaLUG
http://sulmonalug.it
TeateLUG - Chieti
Non disponibile
TeLUG - Teramo
www.telug.it
User Group Valle Roveto
http://linuxvalley-os4.blogspot.com/
BASILICATA
Basilicata LUG - Potenza e Matera
www.baslug.org
CALABRIA
3BYLug - Trebisacce
www.3bylug.tk
Bogomips - Bisignano
www.blug.it
CastroLUG
http://castrolug.altervista.org
Cosenza Hack Laboratory
http://hacklab.cosenzainrete.it/
CSLUG - Cosenza
http://cslug.linux.it
CzLug
Non disponibile
HackLab Catanzaro
http://hacklab.cz
Piana LUG - Piana di Gioia Tauro
Non disponibile
Reggio Calabria LUG
http://rclug.linux.it
Revolutionary Mind
www.revolutionarymind.org
SpixLug - Spezzano Albanese
Non disponibile
CAMPANIA
AFR@Linux LUG
www.afralinux.netsons.org
Afralug - Afragola
www.afralug.com
CasertaLUG
www.casertaglug.org
Hackaserta 81100
www.81100.eu.orgHackMeetNaples Napoli HackLab
www1.autistici.org/hmn
IGLUG - Napoli e provincia
www.iglug.org
IRLUG - Irpinia
www.irlug.it
LUG-Ischiawww.lug-ischia.org
NALUG - Napoliwww.nalug.net
Neapolis Hacklab
www.officina99.org/hacklab.html
Padulug - Paduli (BN)http://linux.paduli.com
SCALUG - Scafati (SA)
http://xoomer.alice.it/scalug/
Tuxway.org - Provincia di Napoliwww.tuxway.org
VaLug - Vallo Linux User Groupwww.valug.it
XALUG - Salernohttp://xalug.tuxlab.org
EMILIA ROMAGNA
ALFLUG - Alfonsine
www.alflug.it
Borgotaro LUG - Val Tarohttp://btlug.it/
ConoscereLinux - Modena
www.conoscerelinux.it
ERLUGhttp://erlug.linux.it
Ferrara LUGwww.ferrara.linux.it
FoLUG - Forlìhttp://folug.linux.it
ImoLUG - Imolawww.imolug.org
LUGPiacenza
www.lugpiacenza.org
PANLUG - Vignola Non disponibile
PLUG - Parma
http://parma.linux.it
RavennaLUGwww.ravennalug.org
RELug - Reggio Emilia e provinciahttp://relug.linux.it
RiminiLug
www.riminilug.it S.P.R.I.Tehttp://sprite.csr.unibo.it
UIELinux - Valle del Rubicone
www.uielinux.org
FRIULI VENEZIA GIULIAGOLUG - Gorizia
www.golug.it
IGLU - Udinehttp://iglu.cc.uniud.it
LUG Pordenonewww.pordenone.linux.it
LugTriestehttp://trieste.linux.it
LUG [A] [L] [P] - Aquileiawww.alproject.org
LAZIO
CiLUG - Frosinonewww.cilug.org
CLUG - Cassino
http://cassino.linux.it/
GioveLUG - Terracina
www.giovelug.org
La Sapienza LUG
www.lslug.org
Latina LUG
www.llg.it
LUG Privernum Volsca - Priverno (LT)
www.pvlug.org
LUG Rieti
www.lugrieti.net
LUGRoma
www.lugroma.orgLUGRoma 3
www.lugroma3.org
TorLUG - Università Tor Vergata - Roma
www.torlug.org
V.I.S.C.O.S.A. - Ciampino
www.viscosa.org
LIGURIA
Genuense Lug - Genova e d’intorni
http://genova.linux.it
LugGe - Genova e provincia
www.lugge.net
GinLug - Genova Sampierdarena
www.sennaweb.org
Govonis GNU/LUG - Provincia di Savona
www.govonis.orgSavonaLug - Savona
http://savona.linux.it/
TLug-TSL - Tigullio Ligure
http://tlug.linux.it/
LOMBARDIA
BGLug - Bergamo e provincia
www.bglug.it
BGLug Valle Seriana - Valle Seriana
http://bglugvs.web3king.com/
GL-Como - Como
www.gl-como.it
GLUX - Lecco e provincia
www.lecco.linux.it
GULLP - Gruppo Utenti Linux Lonate Pozzolo
www.gullp.it
IspraLUG - Isprahttp://ispralug.eu/
LIFO - Varese
www.lifolab.org
LIFOS - Cinisello Balsamo
www.lifos.org
Linux Var - Varese
www.linuxvar.it
LoLug - Lodi e provincia
www.lolug.org
Lug Bocconi - Milano
www.lug-bocconi.org
LugBS - Brescia e provincia
http://lugbs.linux.it/
Lug Castegnato - Castegnato
www.kenparker.eu/LugCastegnato
LugCR - Cremona e provinciawww.lugcr.it
Lug Crema - Crema
http://filibusta.crema.unimi.it/
L’eco dei LUG
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 95/100
LINUX PRO 125 93
L’eco dei LUG
LUGDucale - Vigevano
www.lugducale.it
LugMan - Mantova e provincia
www.lugman.org
LugOB - Cologne e ovest bresciano
www.lugob.org
MoBLUG - Monza e Brianza
www.bubblesfactory.it
OpenLabs - Milano
www.openlabs.it
POuL - Milano
www.poul.org
TiLug - Pavia
http://pavia.linux.it
ViGLug - Vignate
www.viglug.org
MARCHE
Ascolinux LUG/FSUG Ascoli
http://marche.linux.it/ascoli/
CameLUG - Camerino
www.camelug.it
CMlug
www.cmlug.org
Egloowww.egloo.org
FanoLUG
www.fanolug.org
Fermo LUG
www.linuxfm.org/fermolug/
GLM - Macerata
www.gruppolinuxmc.it/start/index.php
LUG Ancona
www.egloo.org
LUG Jesi
www.lugjesi.net
LUG Marche
http://marche.linux.it
PDP Free Software User Group
http://pdp.linux.it
Picenix - Piceno
http://picenix.altervista.org
SenaLug - Senigallia
www.lug.senigallia.biz
MOLISE
Campobasso LUG
http://cb.linux.it/
FrenterLUG - Larino
non disponibile
SmaLUG - San Martino
www.smalug.org
PIEMONTE
ABC Lug - Alba/Bra/Carmagnola
http://abc.linux.it/
AlLug - Alessandria e provincia
www.allug.it BiLUG - Provincia di Biella
www.bilug.linux.it
FASoLi - Alessandria e provincia
http://softwarelibero.al.it/
Gallug - Galliate
www.gallug.it
GlugTO - Torino e provincia
www.torino.linux.it
IvLug - Ivrea Linux User Groupwww.ivlug.it
SLIP - Pinerolo
http://pinerolo.linux.it/
ValSusinux - Val Susa e Val Sangonewww.valsusinux.it
PUGLIA
BriLUG - Brindisiwww.brilug.it
CapitanLUG - Capitanatawww.capitanlug.it
LATLUG - Latiano Linux User Group
www.latlug.org
LUGargano
www.lugargano.it
LUGBari - Bari e provincia
www.lugbari.org
SaLUG! - Salento
http://salug.it Talug - Taranto
www.talug.it
SARDEGNA
CeSar LUG
non disponibile
GNUraghe
www.gnuraghe.org
GULCh - Cagliari
www.gulch.crs4.it
Isolalug
non disponibile
PLUGS - Sassari
www.plugs.it
SICILIA
CefaLug - Cefalù
http://cefalug.linux.it
cLUG - Caltanissetta
www.clug.it
EnnaLUG
www.ennalug.org
FreakNet MediaLab - Catania
www.freaknet.org
Leonforte LUG
http://leonforte.linux.it
LUG Catania
www.catania.linux.it
LUGSR - Siracusa
www.siracusa.linux.it
MELUG - Messina non disponibile
Norp LUG - Noto, Pachino, Rosolini
non disponibile
PALUG - Palermo
http://palermo.linux.it
RgLUG - Ragusa e provincia
http://ragusa.linux.it
VPLUG Linux Planet - Provincia Caltanisetta
www.vplug.it
SputniX - Palermo
www.sputnix.it
TOSCANA
ACROS - Versilia, Lucca, Massa Carrara
www.lug-acros.org
Cancelliaperti
non disponibile
Elbalinux
non disponibile
ElsaGLUG - Val d’Elsa
www.elsaglug.org
FLUG - Firenze
www.firenze.linux.it
GOLEM - Empoli, Valdelsa
http://golem.linux.it
GroLUG - Grosseto
www.grolug.org
G.U.L.LI - Livorno
www.livorno.linux.it
GulP! Piombino
http://gulp.perlmonk.orgGULP Pisa
www.gulp.linux.it
GuruAtWork - Grosseto e provincia
www.guruatwork.com
Lucca LUG
http://luccalug.it
L.U.G.A.R - Arezzo
non disponibile
PLUG - Prato e provincia
www.prato.linux.it
PtLug - Pistoia e provinciawww.ptlug.org
SLUG - Siena e provincia
www.siena.linux.it
TRENTINO ALTO ADIGE
AltinumLUG - Rovereto
nondisponibile
LinuxTrent - Trento
http://linuxtrent.it
LugBz - Bolzano
www.lugbz.org
UMBRIA
OrvietoLUG
www.orvietolug.org
LUG Perugiawww.perugiagnulug.org
TerniLUG
www.ternignulug.org
VALLE D’AOSTA
SLAG - Aosta
www.slag.it
VENETO
0421ug - Provincia di Venezia
www.0421ug.org
BLUG - Belluno
http://belluno.linux.it
Faber Libertatis - Padova
http://faberlibertatis.org
GrappaLUG - Bassano del Grappahttp://grappalug.homelinux.net/
ILC - Informatica Libera Cittadellese - FSUG
http://ilc.pd.it
LegnagoLUG
non disponibile
Linux Ludus - Villafranca (VR)
www.linuxludus.it
LugAnegA
www.luganega.org
LUGSF - San Fidenzio
nondisponibile
LUG Vicenza
www.vicenza.linux.it
LugVR - Verona
www.verona.linux.it
MontelLUG - Montebellunawww.montellug.it
FSUG Padova
www.fsugpadova.org
RoLUG - Rovigo
http://rovigo.linux.it
TVLUG - Treviso
www.tvlug.it
VELug - Venezia
www.velug.it
NAZIONALI
FSUGitalia
www.fsugitalia.org
Gentoo Channel Italia
www.gechi.it
MajaGLUGwww.majaglug.net
SkyLUG
http://tech.groups.yahoo.com/group/skylug/
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 96/100
94 LINUX PRO 125
SoftwareOgni mese Linux Pro vi offre i programmi e le distribuzioni più recenti su DVD
PoliArch 12.12
Distro per il disaster recovery
A
vete letto l’articolo sull’apocalisse dei dati di
pagina 10? In quell’articolo abbiamo accennato
a PoliArch, una distro pensata, tra le altre cose,
per il disaster recovery. Nel lato B del DVD diquesto numero ne trovate l’immagine ISO da masterizzare
su DVD (l’ISO è di circa 1,5 GB). Questa distro nasce da un
progetto di linux@studenti (http://linux.studenti.polito.
it/) nell’ambito delle attività del Centro di Competenza
per l’Open Source e il Software Libero del Politecnico
di Torino (http://open.polito.it ), con il forte contributo
da parte di Dennis Anfossi di ITfor S.r.l. (www.itfor.it ).
Fini e strumentiAvviate il PC con il DVD inserito e scegliete di avviare
la versione a 32 bit quella a 64 bit, in base al computer
che state usando. Dopo poco (il boot è davvero rapido,
meno di 30 secondi nella nostra macchina di prova; anche
lo spegnimento è quasi immediato) apparirà il prompt. Vistoil target della distro, un ambiente grafico non è sempre
necessario, se però volete operare in modalità grafica
è sufficiente digitare startxfce per avviare il leggero desktop
Xfce. Il banner iniziale vi avvisa anche che la password
di root è toor. Tra gli strumenti presenti trovate i classici sfdisk,
fdisk e dd, partimage e FSArchiver per copiare e ripristinare
tabelle delle partizioni e il contenuto delle partizioni stesse.
Trovate anche Photorec e TestDisk (per sapere come usarli
leggete il già citato articolo di pagina 10), Gparted per creare
e manipolare le partizioni e Samba per condividere file in rete
con macchine Windows. La distro, grazie al pieno supporto
ai filesystem Windows (NTFS/FAT/FAT32/exFAT), può
accedere a installazioni non più avviabili del sistema operativo
di Redmond; inoltre avete a disposizione il tool chntpw per resettare le password degli utenti di Windows in caso
di necessità. Se dovete
liberarvi di un disco
e volete cancellarne
il contenuto in maniera
sicura, in PoliArch
trovate due tool, shred
e wipe, che fanno al
caso vostro. I creatori di
PoliArch hanno incluso
moltissimi driver così da
supportare il maggior
numero di hardware
possibile. PoliArchè una distro Live: oltre
che su DVD è possibile
scriverla su chiave di memoria USB e anche, ovviamente,
su hard disk. Nel sito del progetto (www.poliarch.org)
trovate le istruzioni per la scrittura su chiave USB, assieme
ad altre informazioni sui possibili utilizzi della distro.
Per concludere citiamo alcune peculiarità interessanti:
∆ consente di testare applicativi Web (tramite
Apache/MySQL/PHP);
∆ abilita la gestione via Web anche di più computer avviati
contemporaneamente (tramite Webmin);
∆ permette la navigazione anonima tramite la rete TOR;∆ offre il supporto all’iPhone (ifuse + libimobiledevice + gvfs);
∆ è rimasterizzabile e modificabile in base
alle proprie esigenze.
Siduction 12.2.0
Distribuzione desktop
M
entre stavamo scrivendo l’articolo su Razor-qt
ci siamo chiesti quale fosse il modo più semplice
per consentirvi di toccare con mano questo
nuovo ambiente. Alla fine siamo incappatiin questa distro, Siduction: una distro Live orientata al
desktop e basata sul ramo “unstable” di Debian GNU/Linux.
Nata alla fine del 2011 con un fork da aptosid, questa
distro è disponibile in quattro “sapori”: con i desktop KDE,
LXDE, Xfce e, ultima versione nata, con Razor-qt. Nel DVD
trovate proprio quest’ultima versione nel lato A. La distro
a 32 bit è avviabile direttamente dal supporto, mentre
quella a 64 bit è presente come immagine ISO da
masterizzare su DVD (è grande circa 760 MB). Se avete
dubbi o domande sul funzionamento di questa distro vi
suggeriamo di visitare l’URL del progetto, http://siduction.
org/, o il suo canale IRC (#siduction sul server OFTC).
G u i d a
PRO
entro ildentro il
Ogni voltache troverete
questo simboloin un articolo,
vorrà direche i file citatisi trovano
nel DVD allegatoalla rivista.
Disaster recovery,navigazioneanonima, accessoa tutti i filesystem,controllo in remotodei PC: PoliArch
è una distro datenere semprea portata di mano
Razor-qt è un buon desktop, forse però è troppoacerbo per essere usato quotidianamente. Maessendo molto promettente, non perdetelo d’occhio!
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 97/100
La tua rivista SEMPRE con TE
su e
risparmi TEMPO e DENARO
la COMPRI OVUNQUE tu sia
la leggi UNA SETTIMANA
PRIMA che arrivi in EDICOLA
NON PERDI mai un NUMERO
hai L’ARCHIVIO SEMPRE
a portata di mano
puoi ACQUISTARE solo i NUMERI che VUOI e anche ABBONARTI
sia su ANDROID sia su iPAD
FACILE per tutti!
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 98/100
NEL PROSSIMO NUMERO
In edicola il 14 febbraio
LINUX MINTNata da una costola di Ubuntu questa distro è diventata
Nata da una costola di Ubuntu, questa distro è diventata
la più famosa del reame. Scoprite come ha fatto assieme a LXP!
Mensile - 5,90 euro
Direttore Responsabile:uca Sprea - [email protected]
Direttore Editoriale:tefano Spagnolo
Redazione: [email protected] Bosisio (coordinatore editoriale)Massimiliano Zagaglia (responsabile di redazione,ealizzazione DVD)
Brunetta Pieraccini (segreteria)
Digital media coordinator: Massimo Allievi
mpaginazione: Sara Benecino
Hanno collaborato:Alessandro Di Nicola, Aurelio Bignoli, Ben Everard, Biagioucini, Chris Brown, Ciro Mattia Gonano, Daniele Belletti,
Daniele Tampieri, David Hayward, Emanuele Calò, FrancescaBeatrice Cice, Francesco Micozzi, Giovanni Scafora, GrahamMorrison, Maria Vitiello, Matteo Chiarion, Matteo Mattei,Mayank Sharma, Mike Saunders, Nick Veitch, RobertoPremoli, Shashank Sharma, Tiziana Remondini
conografia e fotografie: Marco Coppola
Contenuti su licenza: Linux Format - Future P.ceLondon (UK)
Pubblicità: Luigi De Re - [email protected]. 339 4546500
Abbonamenti (disponibili solo in versione con DVD)Si sottoscrivono in 2 minuti con 2 click via Web.Trovi l’offerta speciale di questo mese all’indirizzowww.myabb.it/linuxpro oppure [email protected]; puoi anche abbonarti via fax 030 3198412,per telefono 199 111 999 dal lunedì al venerdì dalle ore9 alle ore 19. Costo massimo della chiamatada tutta Italia per telefoni fissi € 0,12 + iva al minutosenza scatto alla risposta. Per cellulari costo in funzionedell’operatore. Per chi volesse abbonarsi dall’estero+39 041.50.99.049.ArretratiSi sottoscrivono online all’indirizzo:www.spreastore.it Per informazioni: [email protected] fax al numero 02.70.05.37.67.2
Stampa: Grafica Veneta S.p.A. - Trebaseleghe (PD)Sprea Editori S.p.A. Socio unico Medi & Son S.r.l.Via Torino, 51 20063 CernuscoSul Naviglio (MI)Tel (+39) 02.92432.1Fax (+39) 02.92.43.22.36
www.sprea.it - [email protected]
Consiglio di amministrazione:Luca Sprea (Presidente),Stefano Spagnolo (Vice Presidente - AmministratoreDelegato), Mario Sprea (consigliere)
Collegio sindacale: Roberto Bosa (Presidente),Maria Luisa Capuzzoni, Ugo Besso
Amministrazione: Anna Nese - [email protected]
Foreign rights: Gabriella Re - [email protected]
Marketing: Walter [email protected]
Distributore per l’Italia e per l’Estero:Press-Di Distribuzione Stampa e Multimedia S.r.l.20090 Segrate (MI)
LINUX PROPubblicazione mensile registrata al Tribunale di Milanoil 08.02.2003 con il n. 74 - Tariffa R.O.C. - Poste ItalianeSpa - Sped. In Abb. Post. - D.L. 353/2003 (conv. In L.
27/02/2004 n. 46) art. 1, comma 1, DCB MilanoCopyright Sprea Editori S.p.A.La Sprea Editori è titolare esclusiva della testata Linux Proe di tutti i diritti di pubblicazione e diffusione in Italia. I contenutisono adattati e tradotti su licenza della pubblicazione: LinuxFormat – Future P.ce – London (UK). L’utilizzo da parte diterzi di testi, fotografie e disegni, anche parziale, è vietato.L’Editore si dichiara pienamente disponibile a valutare - e sedel caso regolare - le eventuali spettanze di terzi per la
pubblicazione di immagini di cui non sia stato eventualmentepossibile reperire la fonte. Informativa e Consenso in materiadi trattamento dei dati personali (Codice Privacy d.lgs.196/03). Nel vigore del D.Lgs 196/03 il Titolare deltrattamento dei dati personali, ex art. 28 D.Lgs. 196/03, èSprea Editori S.p.A. (di seguito anche “Sprea”), con sede inCernusco sul Naviglio (MI), via Torino, 51. La stessa La informache i Suoi dati, eventualmente da Lei trasmessi alla Sprea,verranno raccolti, trattati e conservati nel rispetto del decretolegislativo ora enunciato anche per attività connesseall’azienda. La avvisiamo, inoltre, che i Suoi dati potrannoessere comunicati e/o trattati (sempre nel rispetto della legge),anche all’estero, da società e/o persone che prestano servizi infavore della Sprea. In ogni momento Lei potrà chiedere lamodifica, la correzione e/o la cancellazione dei Suoi datiovvero esercitare tutti i diritti previsti dagli artt. 7 e ss. del D.Lgs. 196/03 mediante comunicazione scritta alla Sprea e/odirettamente al personale Incaricato preposto al trattamentodei dati. La lettura della presente informativa deve intendersiquale presa visione dell’Informativa ex art. 13 D.Lgs. 196/03e l’invio dei Suoi dati personali alla Sprea varrà quale consensoespresso al trattamento dei dati personali secondo quanto
sopra specificato. L’invio di materiale (testi, fotografie, disegni,etc.) alla Sprea Editori S.p.A. deve intendersi quale espressaautorizzazione alla loro libera utilizzazione da parte di SpreaEditori S.p.A. per qualsiasi fine e a titolo gratuito, e comunque,a titolo di esempio, alla pubblicazione gratuita su qualsiasisupporto cartaceo e non, su qualsiasi pubblicazione (anchenon della Sprea Editori S.p.A.), in qualsiasi canale di venditae Paese del mondo. Il materiale inviato alla redazionenon potrà essere restituito.
BitcoinIn Internet è nata una nuova monetadigitale che potete generare sfruttandola potenza dei vostri computer.Il mese prossimo vi guideremo lungola strada della ricchezza
E-learningScuole e università si stanno spostandoonline e su Internet sempre più spessoappaiono corsi di ogni genere.Vi mostreremo come usare Moodleper creare dei corsi tutti vostri
Framework Esistono molti framework Webma nel prossimo numero vi faremovedere come funziona quelloche si può considerare la Ferraridi questa categoria: Django
E inoltre:
LINUX RPRO
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 99/100
A RIVISTA CHE MANCAVA PER LA SODDISFAZIONE
DEL GRANDE PUBBLICO E DEGLI ESPERTI
IN EDICOLA DAL 30 NOVEMBRE
7/21/2019 Linuxpro 125 Gennaio 2013
http://slidepdf.com/reader/full/linuxpro-125-gennaio-2013 100/100
Processore
Intel CPU
1x 1,2+ GHz
64bit
RAM
mKS 2G
L’accesso Root
è la mia passioneL’accesso root al vostro server dedicato
/dedicated-server