next up previous
Next: Cinque buoni motivi per Up: pinguino-0.99-ol Previous: Come cambiare il mondo

Subsections

Cinque buoni motivi per non passare a GNU/Linux

GNU/Linux è un sistema amichevole...
solo che è molto selettivo nello scegliersi le amicizie!
Anonimo

La prima volta che sentii parlare di sistema amichevole (o ``user-friendly'') fu quando mi convinsi ad abbandonare l'Intel 486 che usavo per lavorare in favore di uno dei primi Apple PowerMac, modello 6100.
In effetti le operazioni che sotto Windows 3.11 (per non parlare del DOS) richiedevano la lettura di un paio di manuali e parecchia fortuna erano talmente intuitive, tramite il mouse e l'interfaccia grafica di Apple da rendere incredibile la fatica fatta fino a quel momento.
Certamente GNU/Linux ha delle interfacce grafiche bellissime da KDE a Gnome, passando per WindowMaker3.1, ma non sono certo nè altrettanto intuitive, nè altrettanto importanti che in un sistema Apple.
Infatti per GNU/Linux l'interfaccia grafica non è altro che una pelle superficiale che ricopre il vero canale di comunicazione con la macchina: la cosiddetta linea di comando o, più correttamente, shell.

Image shell.png

Mi rendo conto che questa cosa possa spaventare: una delle frasi più comuni che gli utenti alle prime armi sfoderano in queste occasioni è ``Ma io non voglio diventare esperto di computer! Voglio usare il computer, senza sapere assolutamente niente di come funziona''.
Per quanto riguarda la prima reazione, niente paura: questo cambio di filosofia non implica che per imparare a usare GNU/Linux sia strettamente indispensabile imparare a impartirgli tutti i comandi da tastiera, semmai che se volete essere in grado di riparare il vostro computer nel caso qualcosa vada storto sarà bene che consideriate la possibilità di darle almeno un'occhiata.
In pratica la shell è un poco come la sacca degli attrezzi che il protagonista de ``Lo Zen e l'arte della manutenzione della motocicletta'' si porta dietro per tutto il libro e che gli permette, al contrario dei suoi amici, di arrivare alla fine del suo viaggio attraverso mezzi Stati Uniti senza regalare un sacco di soldi a meccanici incompetenti. Ma torneremo sull'argomento in seguito, quando parleremo di filosofia Unix.
Per quanto riguarda la seconda obiezione, spiacente. Come ormai avrete capito, il computer non è e non potrà mai essere una macchina da scrivere. Attorno ai computer, oggi, si combatte una battaglia fondamentale per i nostri diritti: la battaglia per il controllo dell'accesso all'informazione, che contrappone le grandi multinazionali alla gente. In questo senso la tecnologia informatica ricopre oggi il ruolo ricoperto dalla scrittura nel medioevo e l'unico sistema che abbiamo a disposizione per limitare il potere di questi attori è prendere coscienza almeno delle nozioni di base del funzionamento di questa tecnologia.
Anche per questo le pubblicità dei sistemi proprietari cercano di instillare in noi la convinzione che il computer sia un oggetto complicato, misterioso e impossibile da dominare a meno che non si faccia ricorso alle miracolose interfacce grafiche proprietarie.
Ma se accettiamo questo patto, accettiamo implicitamente il fatto che qualcun altro decida per noi cosa possiamo fare con il computer e, come abbiamo visto, imponenti tentativi sono già in atto per allargare questo controllo fino a limitare drasticamente la nostra libertà personale.
Quindi se proprio vogliamo pagare per delegare questo potere a qualcuno, cerchiamo di delegarlo per lo meno a qualcuno di cui ci fidiamo e non alla multinazionale monopolista di turno. Come? Per esempio pagando qualcuno che prepari un computer GNU/Linux per rispondere alle nostre esigenze, invece di pagare per un sistema operativo preinstallato nel computer che acquistiamo, anche se magari ci viene spacciato per gratuito.

Computer troppo vecchi o troppo nuovi

Una delle cose che si sentono spesso dire in giro è che GNU/Linux è in grado di funzionare su qualsiasi computer; il che è quasi sempre vero. L'ultima versione della distribuzione Debian, soprannominata ``Woody'', può funzionare su un numero impressionante di differenti apparecchi elettronici: dai PC che solitamente montano Windows, passando per i Macintosh per approdare alle workstation professionali della Digital. L'unico limite è dovuto alla stessa ragione che garantisce la vitalità di GNU/Linux: il fatto di essere sviluppato in rete da un gran numero di persone, la maggioranza delle quali lavora su base volontaria.
Quando un nuovo componente, come il nuovo processore Pentium 4, viene messo in commercio è necessario qualche mese prima che qualcuno scriva le necessarie modifiche al codice per farlo funzionare con GNU/Linux. Questo ritardo, in realtà, è spesso dovuto anche al fatto che le imprese trasnazionali che producono hardware spesso hanno accordi preferenziali per fornire le specifiche dei loro prodotti a una nota impresa di software. Altre volte, come fu nel caso di certi Modem della Lucent, le specifiche non vengono rese pubbliche con lo specifico proposito di impedire la scrittura di software libero in grado di far funzionare una data apparecchiatura. Questo trucchetto viene utilizzato per poter dare ``valore aggiunto'' con un software chiuso a un componente hardware magari scadente, ovvero per costringere gli utenti a usare il loro software se vogliono far uso dei loro componenti.
GNU/Linux ha poi la fama di ``riportare in vita'' vecchi calcolatori, portandoli al livello di usabilità dei computer odierni (magari di quelli più scadenti). Anche questo è quasi vero, ma non pensate di poter installare GNU/Linux su un vecchio Intel 486 con la stessa semplicità con cui lo installereste su uno degli ultimi Pentium III.
Se tutto va bene l'operazione richiederà pazienza, fortuna, tempo, l'aiuto di qualcuno più esperto di voi e.. una buona motivazione!
E questo senza tenere conto del fatto che, almeno nelle distribuzioni commerciali3.2, il codice necessario a far funzionare vecchi apparecchi in disuso spesso non viene incluso nei CD per ovvie considerazioni economiche, obbligando chi voglia installare GNU/Linux su vecchi computer a scaricare altro software da Internet.
Insomma: per farla breve non è sicuramente un'impresa da consigliare a utenti alle prime armi!

Difficoltà di installazione

Probabilmente avrete sentito dire che GNU/Linux è molto difficile da installare, motivo per cui molti zelanti venditori di PC si affrettano a consigliarvi di comperare un computer con Windows preinstallato che ``poi, se proprio ci tiene, può sempre provare a installare 'sto Linux ma, se qualcosa va male, almeno c' è Windows''.
Questo tipo di raccomandazioni fanno parte di una precisa politica commerciale dei concorrenti di GNU/Linux, detta FUD, che tende a ingigantire a regola d'arte ogni minimo difetto di GNU/Linux.
Per fare chiarezza bisogna specificare di quale distribuzione stiamo parlando. Ad oggi, al contrario di qualche anno fa, ne esistono di effettivamente molto semplici da installare, almeno per chi abbia già installato Windows precedentemente.
Infatti, una delle cose solitamente taciute è che nemmeno l'installazione di Windows è poi così facile come amano sostenere i suoi fans. Non solo: anche la manutenzione di Windows è molto pi ù complessa di quanto si ami credere. Semplicemente molte famiglie si abituano a sottoutilizzare il proprio calcolatore, accettando blocchi improvvisi, perdita di dati, strani comportamenti, piuttosto che perdere il tempo necessario a comprenderne minimamente il funzionamento.
L'esempio più eclatante è sicuramente quello dei virus: nonostante Windows sia naturalmente una calamita per questo tipo di problemi, pochi sanno che bastano pochi semplici accorgimenti (evitare l'uso di Microsoft Outlook o istruirlo a non aprire automaticamente gli allegati, per esempio) per evitare il peggio, e anche quei pochi che lo sanno solitamente non li mettono in atto per pigrizia.
Ma torniamo all'installazione di GNU/Linux. Come dicevamo poc'anzi, esistono ad oggi almeno un paio di distribuzioni veramente molto semplici da installare. Quindi questo problema non è più un motivo a favore di Windows. C'è però da tenere in considerazione il fatto che, mediamente, esiste un rapporto inverso tra la semplicità di installazione di un sistema operativo e altre caratteristiche altrettanto importanti come la stabilità oppure la semplicità di manutenzione. Questo vale sicuramente per GNU/Linux, almeno allo stato attuale. Infatti la distribuzione più stabile e semplice da manutenere, Debian, non è sicuramente la più semplice da installare.
Questo in linea di massima, anche perché la scelta di una certa distribuzione è in buona parte una questione di gusti (gli inglesi le chiamano, infatti, ``flavours''). Anche per questo probabilmente la scelta più saggia è quella di installare la medesima distribuzione che utilizza il vostro guru informatico del momento.
Ma perché possiate farvi un'idea indipendente vediamo in dettaglio quali sono le maggiori distribuzioni a disposizione su Internet.

Red Hat

È la maggiore distribuzione commerciale (ovvero di proprietà di una grossa impresa transnazionale: Red Hat Corporation). Questa caratteristica la rende la distribuzione più diffusa tra gli utenti professionali, che solitamente sono alla ricerca di certificazioni, piani di assistenza certi, manualistica completa e, soprattutto, qualcuno da incolpare nel caso in cui qualcosa vada storto!
Queste caratteristiche stanno rendendo Red Hat il punto di riferimento, soprattutto grazie ai suoi corsi e alla certificazione Red Hat, di una grossa fetta di utenti.
Ciononostante Red Hat non è sicuramente la distribuzione più stabile a disposizione sul mercato e il motivo è strettamente legato alla sua natura commerciale. Lo scopo di Red Hat Corp. è di fare concorrenza a Windows, cercando di tenere il passo con tutti i nuovi componenti hardware che vengono immessi quotidianamente sul mercato e con tutti i nuovi software che gli utenti richiedono. Questo porta il team di Red Hat a includere nell'ultima versione della sua distribuizione molti software ancora instabili o prototipali, che poi causano problemi di stabilità e sicurezza.
C'è poi da considerare la scarsa qualità del sistema di gestione dei pacchetti (il programma che serve ad installare nuovi programmi sulla vostra Red Hat), che costringe spesso a defatiganti cacce al tesoro per comprendere quali siano i prerequisiti necessari all'installazione di un certo software. Questo perché non implementa in maniera soddisfacente la gestione delle dipendenze.
Inoltre l'orientamento verso l'utenza professionale che non ha contribuito a una eccessiva semplificazione del processo di installazione cosa che, personalmente, mi porta a sconsigliarla ai neofiti (nonostante le ultime versioni siano effettivamente molto migliorate sotto questo punto di vista).
Per concludere, c'è un fattore che colpisce negativamente: recentemente si è diffusa la notizia che Red Hat ha registrato il proprio marchio in Italia con l'intento di ``monopolizzare'' la distribuzione in edicola dei CD del ``suo'' sistema operativo. Quest'idea mi sembra abbastanza in contraddizione con lo spirito del software libero, sebbene bisogna riconoscere che Red Hat è da sempre una delle aziende che maggiormente contribuisce, soprattutto economicamente, allo sviluppo di software libero (con licenza GPL).

SuSe

SuSe è la maggiore distribuzione commerciale europea, con base in Germania. Il suo innegabile punto di forza é il suo programma di configurazione (YaST), che in effetti permette di installare e configurare un sistema GNU/Linux in pochissimo tempo. Il punto debole principale, purtroppo, è proprio lo stesso YaST: infatti questo programma non è rilasciato con licenza GPL, bensì con una licenza proprietaria (simile a quella di Windows), che permette a quelli di SuSe di distribuire l'ultima versione di SuSe Linux con una licenza ``per postazione'' in tutto e per tutto analoga a quella di Microsoft Windows se non, forse, per il prezzo. A questo si aggiunge il fatto che la manualistica, almeno fino alla versione 7.3, era davvero povera anche se, per essere sinceri, non se ne sentiva granchè la mancanza.

Mandrake

Questa è la distribuzione preferita dai neofiti e per molti buoni motivi: Oltre a questo c'è da dire che, per il momento, è una delle distribuzioni commerciali che si conforma maggiormente alla filosofia del software libero: i suoi programmi sono quasi tutti distribuiti con licenza GPL. L'unico difetto serio è, al solito, il sistema di pacchettizzazione che Mandrake condivide con Red Hat, oltre al fatto che la necessità di processi di installazione semplici va a scapito dell'ottimizzazione.

Debian

Debian è la più libera delle distribuzioni di GNU/Linux. Nata direttamente come progetto finanziato dalla Free Software Foundation per produrre una distribuzione basata unicamente su software libero, è rimasta l'unica a essere manutenuta solamente grazie a uno sforzo volontario.
I punti di forza di Debian sono sicuramente la stabilità e la facilità di manutenzione, che fanno di Debian lo strumento di lavoro ideale per chi fa consulenze nel mondo del software libero. Ma queste caratteristiche possono essere molto utili anche per l'utente medio che faccia un grande uso di Internet: infatti con Debian è realmente possibile (e abbastanza semplice) automatizzare gli aggiornamenti del sistema operativo del vostro computer, minimizzando così il rischio di intrusioni od attacchi. In pratica la vostra Debian sarà sempre aggiornata le ultime patch di sicurezza.
Il punto debole, almeno per il momento, è il processo di installazione che, sebbene sia assai più logico di quello di altre distribuzioni, non è grafico e non prevede scelte automatizzate, spaventando parecchio l'utente alle prime armi. Molti programmatori sono all'azione per superare questo ostacolo e permettere a Debian di conquistare lo spazio che merita anche nel ``mercato'' delle distribuzioni per l'utente casalingo ed è stato recentemente annunciato che la prossima versione (soprannominata ``sid'') supererà definitivamente il problema.

Problemi nello scambio dei dati

Passare a GNU/Linux significa mettere in conto la possibilità di incorrere in problemi di incompatibilità, soprattutto nei confronti di quegli utenti che, ignari, inseriscono nei loro documenti qualsiasi extra gli sembri visivamente attraente (gif animate, suoni e altre stranezze). Quindi se la vostra necessità inderogabile è la compatibilità 100% con i prodotti della Microsoft la questione si fa problematica. Infatti spesso le varie versioni dello stesso programma non sono perfettamente compatibili.
Una buona soluzione, in questi casi, è quella di mantenere una copia di Windows sullo stesso disco, di modo che se si ha l'urgenza di accedere a un documento di qualsiasi tipo che non si riesce a interpretare sotto GNU/Linux, sia possibile riavviare il computer e accedere al vostro vecchio sistema operativo.
Se invece non volete installare due sistemi operativi sulla stessa macchina ci sono un paio di programmi che possono essere utili: Il primo serve a creare dei veri e propri ``PC virtuali'' dentro al vostro PC. In pratica potrete installare Windows ed eseguirne i programmi dall'interno di GNU/Linux, senza alcun bisogno di partizionare ulteriormente il disco (i dati vengono salvati in un grosso file dentro al disco Linux). Il vantaggio di questo sistema è che basta fare regolarmente un backup per mettersi al sicuro dai blocchi e dai ``brutti scherzi'' che il vostro Windows virtuale quasi sicuramente produrrà. Oltre a questo la compatibilità che potete raggiungere con i programmi Microsoft è realmente totale. L'ovvio difetto è che installare su un PC virtuale non vi esimerà dal pagare le licenze di Windows e di Office oltre, purtroppo, alla licenza proprietaria dello stesso WMWare.
Bochs risolve almeno quest'ultimo problema, visto che fornisce le stesse funzioni ed è rilasciato sotto licenza GPL.
Il terzo programma è invece un emulatore di Windows: esso tenta di ``ingannare'' i programmi che voi utilizzate, cercando di fargli credere di essere Windows. Nonostante Wine sia ancora a un livello prototipale, con i programmi più comuni i risultati sono accettabili. Al suo interno potete far girare Office di Microsoft. Il vantaggio è, chiaramente, la libertà e il fatto che non dovrete più pagare la licenza di Windows, nè quella di WMWare. L'ovvio svantaggio è l'insicurezza di riuscire a far funzionare altro che i programmi più diffusi.

Differente filosofia: lo Unix che sta dietro a GNU/Linux

Shell spells: gli incantesimi della shell

Abbiamo già accennato al fatto che, per utilizzare GNU/Linux, è molto utile familiarizzare con la shell. Il problema è che il terminale a linea di comando (o shell) è percepito dalla maggioranza degli utenti Windows, come uno strumento scomodo e antiquato per impartire comandi al proprio computer.
Questa sensazione è dovuta, a due fattori: il fatto che fino agli anni '80 era in effetti l'unico strumento a disposizione e l'esperienza (sicuramente frustrante) del terminale di MS-DOS. Infatti il terminale di MS-DOS deriva dalla shell di Unix, ma fu il risultato del compromesso tra un'idea che funzionava (la shell, appunto) e i 32k di memoria di cui disponevano i primi PC IBM.
Le cose andavano decisamente meglio con il linguaggio AppleScript presente sui Macintosh più recenti, che oggi è affiancato da una shell Unix nel nuovo MacOS X. Interessante notare cosa scrivono sul sito di Apple per per presentarlo:
Chiunque usi il computer sa quanto può essere noioso ripetere le stesse operazioni più e più volte.
Per esempio: provate ad aggiungere l'esternsione .tiff a 75 file in una cartella (...) la soluzione è AppleScript!
E se ancora non ci riuscite a credere, eccovi un esempio di un'operazione che è molto più semplice da eseguire attraverso la shell che non attraverso un'interfaccia grafica. Se volete cambiare nome a un file sicuramente il modo più rapido per farlo è cliccare sulla sua icona e poi scrivere il nuovo nome sulla tastiera, ma se avete bisogno di cambiare l'estensione di tutti i 1000 file contenuti in una certa directory da .doc a .txt potete passare il vostro pomeriggio a cliccare oppure impartire via shell il seguente comando (tutto sulla stessa linea):

$ lista= ` find -name "*.doc" `; for i in $lista; \
do j= ` echo $i | sed -e 's:doc:txt:g' ` ; mv $i $j; done

Di cosa si tratta? Stiamo parlando di ``programmazione della shell''. Infatti attraverso la linea di comando è possibile scrivere dei veri e propri ``miniprogrammi'' che compiono operazioni sui file, sulle directory, sul sistema operativo. In realtà era possibile farlo anche con MS-DOS, chi ha avuto la ``fortuna''di usarlo se lo ricorderà sicuramente, attraverso i file .bat. Il tipico esempio era il file autoexec.bat che conteneva l'elenco delle operazioni da compiere all'avvio del computer.
Ma torniamo al nostro esempio: vi sembra complicato? Lo è assai meno di quanto sembri: il primo comando assegna alla variabile $lista la lista dei file a cui vogliamo cambiare estensione, passandogli l'output del comando find (trova) che serve a trovare tutti i file che abbiano estensione .doc. La seconda riga è un semplice ciclo iterativo che non fa altro che prendere uno per uno i nomi contenuti nella lista e sostituire, grazie al comando sed, txt a doc, rinominando ciascun elemento attraverso il comando mv.
Gli scettici potrebbero rispondere che cose simili sono possibili anche sotto Windows utilizzando Visual Basic o altri linguaggi simili. Certo. Il punto è che questo tipo di ``giochetti'' stanno alla base dell'essenza del sistema operativo Unix: sono una delle ragioni della sua forza e della sua longevità e, soprattutto, per fare di queste piccole ``magie'' non avete bisogno di utilizzare nessun programma o ulteriore linguaggio che non sia compreso nel vostro sistema operativo. Non a caso il primo comandamento di ogni buon amministratore di sistema Unix è ``Non programmare!''.
Questo è solo un esempio della potenza e della differenza della filosofia Unix.
Un altro degli assiomi di base della filosofia Unix è quello degli strumenti o tool. In pratica l'idea di fondo è che siccome il sistema operativo possiede un sofisticatissimo ed efficiente sistema di comunicazione tra i vari processi (programmi) è meglio scrivere tool che si occupino di fare un solo compito, ma in maniera molto efficiente e poi utilizzarli in sequenza attraverso la shell. Questo avviene attraverso la cosiddetta pipe (simbolo: |): un canale di comunicazione gestito dal sistema operativo che permette di passare i dati in output da un certo tool a un altro. L'esempio l'abbiamo già visto con il comando precedente: echo $i | sed -e 's:doc:txt:g' passa il contenuto del comando echo al comando sed, che si occupa di sostituire l'espressione regolare doc con txt.
Questo modo di ``pensare'' è esattamente l'opposto del ``gigantismo'' che affligge praticamente tutti i programmi di Microsoft (in particolare la suite Office), e sotto GNU/Linux convive in modo abbastanza soddisfacente con i grossi programmi integrati come Mozilla o la stessa suite Open Office.


GNU/Linux e multiutenza

GNU/Linux, derivando da un sistema operativo che veniva utilizzato su grandi computer centrali con centinaia di utenti, è pensato per essere multiutente e lo spazio di ogni singolo utente risulta separato e protetto da quello degli altri. Questo significa che qualsiasi virus o attacco potrà danneggiare al massimo lo spazio dei dati di un utente e non distruggere completamente il vostro sistema. Infatti un'altra signature famosa dice:
Errare humanum est. Ma per fare veramente casino, bisogna avere la password di root.
Naturalmente questa divisione delle risorse ha molti altri effetti, che sono quelli che spesso rendono difficile da comprendere il comportamento di un sistema GNU/Linux a chi è abituato ai sistemi operativi monoutente come Windows 95 o MacOS (fino alla versione 9). Ad esempio il fatto che la possibilità di accedere ad ogni singolo file sul disco è legata al possesso di un ``permesso'' molto preciso: ogni utente ha il permesso di manipolare come desidera unicamente i file che stanno nella sua directory (\home\nomeutente), mentre non ha alcun diritto al di fuori di essa, a meno di non diventare superutente.
Se questo non sembra problematico bisogna pensare che per compiere operazioni abbastanza comuni come, ad esempio, installare un nuovo programma è necessario, il più delle volte, scrivere fuori della propria directory.
Il superutente (root) è l'utente che ha il permesso di compiere qualsiasi tipo di manipolazione sui file, per questo è necessario che il proprietario del computer ne conosca la password, che viene decisa durante l'installazione del sistema operativo.

Usare il cervello costa fatica!

Se il vostro obiettivo è ottenere il massimo dal vostro computer con il minimo sforzo, non si può dire che GNU/Linux sia l'ideale. Come già dicevamo all'inizio di questo capitolo, questo risultato di solito si ottiene ``nascondendo'' all'utente il reale funzionamento del suo computer, rendendolo quindi ignorante e incapace di risolvere qualsiasi problema.
In generale, come avrete capito, la filosofia alla base di GNU/Linux è quella della massima trasparenza: dal più semplice dei click alla più avanzata delle operazioni tutto è accessibile, documentato, studiabile e modificabile dall'utente. Per usare una metafora usare GNU/Linux è come mangiare in cucina: tutti gli ingredienti e gli strumenti per cucinarli sono sempre a vostra completa disposizione. Col vecchio Mac o con Windows eravate invece nella situazione del cliente del ristorante: servito e riverito, ma col divieto assoluto di mettere piede -o anche solo naso- in cucina.
Per proseguire nella metafora, però nulla vi vieta di farvi servire da mangiare in cucina, come si faceva una volta nelle trattorie di paese. I vantaggi, oltre alla qualità del cibo, avrete capito che sono il controllo di quello che vi viene ``servito'' e, entro certi limiti, anche la possibilità di personalizzarlo. Con questo intendo che se voi utilizzate il computer per lavoro potete anche decidere di farvi ``personalizzare'' una versione di GNU/Linux da un esperto, di modo che vi presenti sulla scrivania unicamente le applicazioni e gli strumenti di cui avete bisogno, con in più la certezza che il vostro computer non conterrà strani programmi che cercano di violare la vostra privacy o cancellare i vostri file. Se fate il conto del costo delle licenze e delle telefonate all'assistenza Microsoft vi costerà quasi sicuramente di meno.
Un'altra possibilità (che comunque mi sento di consigliare a tutti, anche a coloro che decidessero di restare sotto il monopolio della Microsoft) è quella di fare un corso di alfabetizzazione informatica al software libero. Ne esistono di ogni genere e costo, addirittura di gratuiti nella maggioranza delle grosse città italiane. In questo modo, al costo di qualche serata del vostro tempo, guadagnerete quel minimo di coscienza del mezzo che vi eviterà giornate di disperazione a causa di un backup non eseguito al momento giusto. Per maggiori informazioni su dove recarvi potete leggere il paragrafo 6.3.


next up previous
Next: Cinque buoni motivi per Up: pinguino-0.99-ol Previous: Come cambiare il mondo
Stefano Barale 2003-07-03