I sistemi operativi GNU Linux IL SOFTWARE E LE LICENZE D'USO Il software per computer è un prodotto tutelato dalle leggi sul diritto d'autore, come le opere letterarie e musicali. Il contratto che regola l'uso del software è la licenza d'uso; è importante conoscere i termini di questo accordo, in quanto il mancato rispetto delle condizioni in esso indicate e sottoscritte dall'utente può portare a serie conseguenze legali. In genere il software ha un proprietario che ne detiene i diritti d'autore, il cosiddetto copyright. L'utilizzo del software può essere concesso ad altri gratuitamente o a pagamento. Pur pagando, comunque, non si diventa proprietari dell'opera, ma si è solo autorizzati ad usarla. Tecnicamente, il software è caratterizzato da due elementi: il codice sorgente, il codice eseguibile (binario). Il primo è leggibile, modificabile ed eseguibile da chiunque abbia competenze come programmatore informatico, il secondo è invece solo eseguibile, per cui è rivolto a chi deve limitarsi ad usare il programma; non è infatti comprensibile né modificabile. Dal momento che, per l'utilizzo del software, non è necessario disporre del codice sorgente, le leggi che tutelano il diritto d'autore regolano la distribuzione del solo codice eseguibile, lasciando che chi detiene il copyright di un programma possa mantenerne nascosto il codice sorgente. Con l'avvento dell'Open Source, l'attenzione è invece rivolta in modo sostanziale proprio al codice sorgente, che viene reso disponibile a chiunque voglia accedervi. SOFTWARE LIBERO E SOFTWARE OPEN SOURCE Il software libero (free software) è software rilasciato con una licenza che permette a chiunque non solo di utilizzarlo, ma anche di accedere al codice sorgente, copiarlo, modificarlo e produrre una o più ridistribuzioni (anche a pagamento), purchè il sorgente accompagni sempre l'eseguibile. L'espressione free software può generare equivoci, in quanto in inglese "free" significa "libero" ma anche "gratis". Alcune aziende di software, per ragioni di marketing, spesso distribuiscono gratuitamente alcuni loro prodotti; ciò non significa che tale software sia libero. Un gruppo di sviluppatori di software ha allora introdotto l'espressione Open Source (OS) in alternativa a libero, ma con non pochi dissensi, al punto che ne sono derivati due movimenti distinti, con diversi punti di vista ed obiettivi. La differenza sostanziale è nei valori, nell'ottica con cui guardare le cose: per il Movimento OS, il fatto che il software non sia libero è un problema pratico, per il Movimento del Software Libero è invece un problema sociale, etico. A prescindere dalle motivazioni, la valenza, in termini di utilizzo da parte degli utenti, è identica. Va precisato comunque che la libertà del software libero non è incondizionata, bensì soggetta ai precisi vincoli della licenza d’uso, solo che in questo caso l’autore si “espropria” di alcuni diritti per cederli agli utenti, con l'obiettivo della condivisione del sapere. Si parla, in particolare, di copyleft (software con permesso d'autore), termine coniato in contrapposizione a copyright, per definire una licenza che difende, oltre al diritto d'autore, anche la libertà dell'opera; l'obiettivo è impedire che varianti successive possano essere non libere o imporre restrizioni ulteriori. IL PROGETTO GNU E LA FREE SOFTWARE FOUNDATION Agli albori dell'informatica, le società di computer spesso distribuivano software libero e i programmatori erano liberi di cooperare per lo sviluppo di nuovo software. Entro gli anni '80, quasi tutto il software divenne proprietario e questo impedì ogni forma di cooperazione. 1 Nel 1984 Richard M. Stallman, fisico e informatico del MIT (Massachusetts Institute of Technology), diede allora vita al Progetto GNU, per rendere possibile la libera cooperazione nella comunità informatica e rimuovere gli ostacoli imposti dall’uso del software proprietario. Obiettivo del progetto era lo sviluppo di un sistema completo di software libero compatibile con Unix. Il documento iniziale di Richard Stallman sul Progetto GNU è chiamato Manifesto GNU. L’acronimo GNU è un gioco di parole che significa Gnu's not Unix (Gnu non è Unix). Allo scopo di dare supporto logistico, legale ed economico al Progetto GNU, è stata creata la Free Software Foundation (FSF), che rilascia il suo software libero con una particolare licenza che si chiama GNU GPL (General Public License). IL SISTEMA OPERATIVO GNU/LINUX Linux è un progetto sviluppato, nei primi anni ’90, da Linus Torvalds, studente finlandese. Si tratta del nucleo (Kernel) di un sistema operativo compatibile con Unix ma completamente libero, rilasciato con licenza GPL. Mentre Torvalds lavorava su Linux, gli sviluppatori del Progetto GNU stavano realizzando varie applicazioni (compilatori, debugger, editor di testi, ambiente grafico) per quello che doveva essere un sistema operativo Unix non commerciale. Dall'unione dei due lavori, sviluppati senza alcun accordo, è nato il sistema operativo GNU/Linux. Linux è quindi solo il nucleo del sistema operativo, ma viene spesso usato (erroneamente) per indicare l'intero sistema operativo. Chiunque può prelevare, attraverso Internet, il software GNU/Linux e Fig. 4: Il logo di distribuirlo. Da ciò è nato il concetto di distribuzione. Le distribuzioni sono Linux è un pinguino costituite dal sistema operativo e da una raccolta scelta di free software TUX (pacchetti liberi e gratuiti); nella distribuzione stessa è incluso un programma di setup che installa velocemente tutto il software, al termine dell'installazione del sistema operativo. Attualmente vi sono molte distribuzioni di Linux; tra le più diffuse figurano RedHat, Debian, Ubuntu, Fedora e Suse, ma ne vengono create continuamente di nuove. OPEN SOURCE: VANTAGGI E SVANTAGGI L'adozione di software Open Source (OSS) porta inizialmente un risparmio in termini di costi, dal momento che la spesa per le licenze d'uso è nulla. Un confronto economico corretto con soluzioni a pagamento deve essere però compiuto valutando anche le spese dei servizi di supporto, di gestione, della formazione e i costi di migrazione da un sistema all'altro. Un elemento a favore dell'OSS è sicuramente l'indipendenza dai fornitori, laddove, nel mondo del software proprietario, solo il produttore (o un suo partner autorizzato) può supportare il proprio software. Non sono pochi i casi di software house che hanno chiuso, lasciando i loro clienti del tutto privi di assistenza. Disporre del codice sorgente dei programmi permette inoltre un grado maggiore di sicurezza; basti pensare che la potenza dell'Open Source è proprio rappresentata dal numero potenzialmente infinito di persone che possono operare sul software per migliorarlo, creare patch (correzioni) o semplicemente segnalare malfunzionamenti, "back door" o debolezze sfruttabili da attacchi esterni, che qualcuno prontamente cercherà di sistemare. Gli aggiornamenti ai programmi sono quindi continui e a costo zero. Una qualunque software house deve invece riservare le sue risorse umane per valutare le problematiche del software, correggerlo ed aggiornarlo. E non certo a costo zero. Il “modello collaborativo” promosso dal software libero si è esteso anche ad altri contesti. L’esempio più riuscito è oggi Wikipedia, che favorisce la condivisione della conoscenza con la formazione di una comunità a cui chiunque può aggiungersi al fine di accrescere il sapere. 2 Ubuntu è un sistema operativo open source basato sul kernel Linux. Ubuntu prende il nome da un'antica parola africana che significa umanità agli altri, oppure io sono ciò che sono per merito di ciò che siamo tutti. Il sistema operativo Ubuntu porta lo spirito di Ubuntu nel mondo del software. Lo schema di numerazione di Ubuntu è basato sulla data di rilascio della nuova versione. Il numero della versione deriva dall'anno e dal mese di rilascio, piuttosto che dal numero della versione del software. Il primo rilascio (Warty Warthog) è stato nell'ottobre 2004, da cui il numero di versione 4.10. Questa versione (Intrepid Ibex) è stata rilasciata a ottobre 2008, da cui il numero di versione 8.10. Perché passare da Windows a Ubuntu? Windows è il sistema operativo più diffuso nel pianeta, presente su oltre il 90% dei PC in circolazione. Questo risultato è il frutto di un prodotto relativamente semplice ed economico, di accordi commerciali intelligenti, di un marketing efficace. Se, però, vogliamo davvero usare il nostro PC per quello che è, ovvero un ottimo strumento informatico, è bene iniziare a valutare con onestà le alternative a Windows. Ecco i vantaggi per chi decide di passare a Ubuntu, abbandonando Windows oppure semplicemente affiancandolo a Ubuntu nello stesso PC. Ubuntu è molto stabile. Ciò significa che il computer si bloccherà meno spesso. Ubuntu è gratuito. Non ci sono costi di licenza per utilizzare Ubuntu e inoltre è già compresa nell’installazione di base la suite per ufficio OpenOffice.org, un’ottima alternativa a Microsoft Office. Tutto questo non costa un centesimo. Ubuntu si aggiorna facilmente. A differenza di Windows o di altri sistemi, l’aggiornamento di Ubuntu (per correggere falle di sicurezza o per installare nuove versioni dei programmi installati) avviene con una facilità e una stabilità impareggiabili. Inoltre Ubuntu rilascia una nuova versione del sistema ogni sei mesi. Ubuntu mette a disposizione molto software. Tramite uno strumento grafico facile e intuitivo (Synaptic), è possibile cercare tutti i software disponibili (e gratuiti) per Ubuntu per nome o per categoria. Ubuntu è "abbastanza" sicuro. Nessun PC, se non messo a punto in maniera particolare, può considerarsi sicuro. Ubuntu, tuttavia, già nella sua installazione di base, garantisce un livello di protezione sufficiente per la maggior parte degli utenti. Moltissimo malfare non riesce a penetrare il sistema di Ubuntu, mentre è un pericolo per altri sistemi. I motivi di questo elevato livello di sicurezza sono due: in primis Windows è molto più diffuso, quindi i malintenzionati si concentrano su di esso; in secondo luogo Ubuntu è impostato in maniera da dare grande importanza alla sicurezza. Ubuntu richiede meno risorse hardware. Questo permette di far funzionare Ubuntu senza dover aggiornare le componenti del PC o addirittura comprarne uno nuovo. Ubuntu è veloce. Per molte operazioni, Ubuntu è più veloce di altri sistemi operativi, sia per l’esecuzione dei programmi, sia per l’esecuzione delle procedure di sistema. Vanno, però, evidenziati anche alcuni svantaggi: Molti programmi non funzionano con Ubuntu, specialmente quelli aziendali e molto spesso non è sufficiente avere un programma alternativo. Non è semplice trovare supporto professionale per Ubuntu, qualora si avesse bisogno di risolvere un problema; va detto che comunque il web pullula di comunità di esperti e appassionati a cui far riferimento. 3 Varie operazioni si effettuano in maniera diversa da come si era abituati in ambiente Windows, quindi le nostre “competenze informatiche” avranno bisogno di essere integrate. Per configurare o installare alcune applicazioni talvolta bisogna ricorrere all’utilizzo del Terminale, che somiglia molto alla finestra DOS di qualche anno fa. Il LiveCD di Ubuntu Un LiveCD è un CD (o altro supporto rimovibile) che contiene un sistema operativo in grado di avviarsi senza bisogno di apportare modifiche all’hard disk, a meno che non venga richiesto dall’utente. In parole povere, un LiveCD permette di utilizzare un sistema operativo senza doverlo necessariamente installare. È possibile trovare un LiveCD per Ubuntu in allegato alle principali riviste informatiche, oppure scaricarlo dal seguente indirizzo e poi masterizzarlo: http://it.releases.ubuntu.com/7.10/ubuntu-7.10-desktop-i386.iso Il file da scaricare è un “ISO”, ovvero un file che può successivamente essere facilmente masterizzato in un CD o DVD. Usare un LiveCD permette di verificare che le periferiche vengano correttamente riconosciute da Ubuntu. Inoltre, con il LiveCD si possono creare file e provare l’utilizzo dei software già presenti in Ubuntu; una volta installato, se ne potranno aggiungere altri. Se l’hardware necessita di una configurazione speciale, si dovrà riconfigurare il sistema ogni volta che si accede con il LiveCD. Su alcuni computer, specialmente quelli meno recenti, sarà impossibile utilizzare il LiveCD standard. A soluzione di questo problema c’è la versione Alternate di Ubuntu, che offre un installatore a riga di comando, poco esoso in termini di risorse e molto facile da usare grazie alla procedura guidata. Se all’interno del LiveCD si crea un file che si vuole conservare, è bene accertarsi di salvarlo su un supporto esterno (hard disk, penna USB, ecc.). Vi sono altre modalità che un utente un po’ più esperto può scegliere per utilizzare il LiveCD. Recupero dei dati: il LiveCD si può utilizzare per recuperare i file da sistemi operativi che non si avviano. Diagnostica: si può utilizzare il LiveCD anche per controllare gli eventuali problemi dell’hardware. Suite da lavoro di emergenza: se si ha urgente bisogno di scrivere e stampare un documento e, per un motivo o per l’altro, il sistema operativo installato sul computer non si avvia o non è presente la suite office, si può avviare il sistema con il LiveCD e si ha a disposizione l’intera suite OpenOffice.org pronta per l’uso. Avviato il live CD, dopo aver impostato la lingua, è possibile accedere alle seguenti funzioni: 4 In particolare: Prova Ubuntu senza modificare il computer fa accedere a Ubuntu in modalità live. Installa Ubuntu permette di installare Ubuntu. Selezionando la seconda opzione, parte l’installazione, di cui si riportano le fasi: Inizia la procedura guidata. Confermare o modificare il fuso orario. Selezionare la lingua e la disposizione della tastiera. Per predisporre lo spazio su disco, si può far ricorso ad una procedura guidata, che però utilizzerà l’intero disco. La procedura manuale consentirà l’utilizzo di una parte dell’hard disk o di condividere il disco con altri sistemi operativi. 5 Scegliendo la procedura manuale, si deve partizionare il disco o lo spazio libero del disco (se è in parte già occupato) manualmente. Cliccare su Nuova tabella delle partizioni se si intende eliminare le partizioni eventualmente già presenti sul disco. Se si è scelto di creare una nuova tabella delle partizioni, compare un messaggio che tutte le partizioni già presenti saranno rimosse. Cliccare Continua per procedere. Selezionare spazio libero. Qui si devono creare almeno due partizioni: la partizione root (/), che conterrà tutti i file di sistema, e un’area di swap, per la memoria virtuale (è la parte di disco rigido usata per supportare la memoria centrale, se questa non è sufficiente). Si può anche creare la partizione /home, per i file dell’utente. Cliccare su Nuova partizione. 6 Compare la finestra Crea nuova partizione. Selezionare il tipo di partizione (primaria), la dimensione, il file system (Ext3), il punto di mount, che è / per creare la partizione Root. Cliccare su OK. Selezionare nuovamente Spazio libero – Nuova partizione. Creare ora la partizione /home. Se non la si crea, i file dell’utente troveranno spazio in /. La partizione è logica. Creare ora l’area di swap: Spazio libero – Nuova partizione. Questa volta si seleziona area di swap alla voce usato come: mentre la voce Punto di mount è disattivata. La dimensione dovrebbe essere il doppio della RAM. 7 Linux è composto da numerose directory (/etc, /boot, /var, ecc. ). Si ha la possibilità di creare una partizione separata per ogni singola directory che compone il sistema; in caso contrario, tutte finirebbero in /. Terminato il partizionamento, si devono inserire le informazioni personali dell’utente. Si inseriscono il nome dell’utente, il nome da usare per l’accesso, la password (come al solito, va scritta due volte) e il nome del computer. Si riepilogano le impostazioni date. Se si intende modificarle, si può tornare indietro o uscire, altrimenti si può procedere con l’installazione. Un indicatore ed una serie di messaggi segnalano le varie fasi dell’installazione. A installazione completata, si deve riavviare il sistema. 8 Avvio di Ubuntu Una volta terminato di installare Ubuntu, per poter usare il computer basta riavviare, dopo essersi assicurati di aver tolto il CD di installazione. Quando il caricamento sarà terminato, comparirà la “schermata di login”. Il login è l’inserimento del nome utente e della password, serve a Ubuntu per due motivi: capire chi sta usando il computer (chiedendo appunto il nome utente) e proteggerne i file e le impostazioni (chiedendo la password). Effettuato il login inizia la Sessione di lavoro. Ricordiamo che Ubuntu fa differenza tra lettere maiuscole e minuscole. Ubuntu è un sistema che può essere usato da più persone ed è quindi un sistema multiutente. Durante il login riconosce chi sta usando il computer e avvia la sessione di lavoro per quell’utente. I vantaggi di un sistema multiutente è di avere uno spazio personale e protetto dagli altri utenti per i propri file, con la possibilità di configurare e personalizzare il proprio ambiente operativo senza modificare le impostazioni degli altri utenti. In basso a sinistra nella schermata di login c’è il pulsante Opzioni. Da questo menu si possono scegliere le opzioni di login; si può per esempio scegliere la lingua con cui avviare la sessione oppure che tipo di sessione avviare; si può anche spegnere o riavviare il computer. La scrivania Come in Windows, la scrivania è un’area virtuale paragonabile a una vera e propria scrivania. Da qui si possono avviare i programmi e organizzare e sistemare i documenti. La scrivania di Ubuntu, che si può personalizzare a proprio piacimento, è caratterizzata da due pannelli: uno superiore e uno inferiore. Nel pannello superiore si trovano i menu a tendina, da cui avviare applicazioni, esplorare le risorse del computer o personalizzare il sistema. Subito dopo i menu, ci sono i pulsanti per lanciare le applicazioni più usate; di default ci sono i pulsanti per avviare un browser internet, un programma per gestire le e-mail e il pulsante per avviare la guida di Ubuntu. Sulla destra c’è il pulsante per spegnere il computer, un orologio e un calendario, la regolazione del volume dell’audio, un indicatore dell’utilizzo del collegamento alla rete, un pulsante per la ricerca veloce di documenti, e-mail, pagine web, o qualsiasi file in tutto il computer, e un pulsante per spostarsi rapidamente tra un utente e l’altro. In basso a sinistra compare l’elenco delle finestre aperte: viene mostrata l’icona e il titolo di ognuna per poterle riconoscere velocemente. 9 Sulla destra ci sono il cestino e il selettore delle aree di lavoro. Le aree di lavoro permettono di organizzare le finestre aperte. Se, ad esempio, si apre un programma nella prima area di lavoro, ci si può spostare in un’altra area e aprire altri programmi, senza avere troppe finestre aperte nello stesso spazio; nello spostamento da un’area a un’altra, la scrivania rimane la stessa, cambiano solo le finestre aperte. L'ambiente grafico di Ubuntu è gestito, per default, da una suite denominata GNOME. È anche possibile installare gli ambienti grafici KDE e Xfce, con il loro aspetto particolare. KDE e Xfce sono resi disponibili per Ubuntu attraverso le distribuzioni Kubuntu e Xubuntu. La cartella home È la cartella che contiene tutti i file personali dell’utente; è già organizzata con altre sottocartelle: una per la musica, una per le foto, una per i documenti, per i video, per i modelli e per i file pubblici; esiste anche una cartella che contiene degli esempi di alcuni tipi di file. Il logout Il logout è una procedura che permette di uscire da un’applicazione informatica. Inoltre è il modo più sicuro per chiudere una sessione che è stata aperta effettuando il login. Il pulsante di logout si trova in alto a destra. Cliccando su di esso, compare un menu con una serie di opzioni. Cliccando su Termina Sessione si ritorna alla schermata di login. Cliccando su Blocca Schermo si avvierà lo screen saver e il computer verrà bloccato. Per sbloccare il computer è sufficiente muovere il mouse e, alla richiesta, immettere la password . Cliccando su Cambia Utente si potrà iniziare una nuova sessione senza terminare quella precedente. Cliccando su Sospendi il computer si metterà in stand-by, ovvero rimarrà acceso, ma consumando meno energia; non tutti i servizi rimangono attivi quando il computer è sospeso. Cliccando su Iberna, invece, il computer non necessita di essere alimentato: sarà quindi come spento, ma al riavvio impiegherà pochi secondi ad avviarsi. Cliccando su Riavvia il computer si spegne e si riavvia da solo. Infine, per spegnere il computer basterà cliccare su Spegni. 10 Struttura delle cartelle Ogni sistema, appena installato, crea le sue directory di default: ovviamente, in un'installazione di linux, le directory sono di gran lunga differenti da quelle presenti in altri sistemi quali ad esempio windows. Di seguito sono elencate le directory principali presenti dopo l’installazione. Nella directory /bin sono contenuti tutti i programmi fondamentali del sistema, utilizzabili sia dall'utente root sia dagli utenti ordinari. Ad esempio, non possono mancare in questa directory i comandi per copiare e rimuovere file, per spostarsi fra le directory ma anche alcuni applicativi di rete. /boot contiene di norma i file essenziali per l'avvio del sistema. Le directories /cdrom /mnt e /media contengono informazioni relative a CD, floppy, penne usb e altri media che possono essere "montati" dal sistema. Nella directory /dev sono contenuti i file che identificano i device presenti nella nostra macchina, fungendo da tramite fra la macchina ed il device stesso. /etc è una directory "contenitore", visto che al suo interno trovano spazio i file di configurazione dei programmi installati nel sistema. Per chiarezza, solitamente, ogni programma crea una propria sottodirectory di /etc nella quale inserisce i propri file di configurazione (a meno che il file di configurazione sia solo uno). Per la configurazione del sistema, quindi, /etc è il primo punto di partenza. La directory /home è la "casa" degli utenti ordinari del sistema: al suo interno trovano infatti spazio diverse directory, una per ogni utente e con il nome dell'utente stesso (ad esempio, /home/pippo e /home/pluto). Ogni utente, dopo il login, verrà mandato proprio nella sua home directory dove potrà lavorare liberamente senza alcuna restrizione. /lib contiene le librerie del sistema. La directory /lost+found, creata in automatico dal sistema quando viene creato un filesystem, è una directory che contiene i "pezzi" del filesystem dopo operazioni di chiusura non pulite o dopo che alcune parti del disco risultino danneggiate. /proc è anche definita come un filesystem virtuale: essa infatti è un po' lo specchio del sistema, visto che contiene informazioni prese in real-time dal sistema stesso relativamente agli "eventi in mutamento". /root è la directory dell'utente principale del sistema, l’utente root. /sbin contiene invece una serie di eseguibili che di norma possono essere lanciati solamente dall'utente root: ad esempio, è presente il comando fdisk. /tmp è la directory che contiene i file temporanei. /usr è una directory con contenuti molto variegati; contiene, ad esempio, documentazioni, eseguibili, librerie, programmi installati dall’utente, etc. /var contiene i dati che vengono modificati quando il sistema lavora normalmente, i file di log, le directory per le mail di sistema, le code di stampa, i file temporanei, le cache dei programmi, i PID dei processi in esecuzione ed altre informazioni. 11