UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica CONFRONTO DELLE DISTRIBUZIONI LINUX: ANALISI DI CASI DI STUDIO Relatore: Chiar.mo Prof. Letizia Leonardi Elaborato di Laurea di: Daniele De Simone Correlatore: Ing. Luca Ferrari Anno Accademico 2004/2005 Indice Introduzione 1 Il sistema GNU/Linux................................................... 3 1.1 1.2 1.3 1.4 1.5 2 1 Unix......................................................................................................... 4 La nascita ed i principi della filosofia “free software” ........................... 5 L’ origine del movimento “open source”................................................ 9 Kernel Linux ......................................................................................... 11 Gnu/Linux ............................................................................................. 12 Le distribuzioni Linux................................................ 14 2.1 Come scegliere una distribuzione ......................................................... 15 2.2 Presentazione delle distribuzioni .......................................................... 16 2.2.1 Gentoo Linux ............................................................................ 17 2.2.2 Debian GNU/Linux................................................................... 19 2.2.3 Slackware Linux ....................................................................... 21 2.2.4 Red Hat Linux........................................................................... 23 2.2.5 Mandrake Linux........................................................................ 25 2.2.6 Suse Linux ................................................................................ 27 3 Analisi delle distribuzioni .......................................... 29 3.1 Ottenere la distribuzione ....................................................................... 31 3.2 Installazione .......................................................................................... 32 3.3 Aggiornamento ..................................................................................... 34 3.4 Pacchetti ................................................................................................ 36 3.5 Inizializzazione ..................................................................................... 38 3.6 Software ................................................................................................ 40 3.7 Assistenza ............................................................................................. 42 3.8 Sicurezza .............................................................................................. 43 3.9 Semplicità ............................................................................................. 44 3.10 Stabilità ................................................................................................. 45 3.11 Documentazione ................................................................................... 46 3.12 Costi delle versioni commerciali .......................................................... 47 3.13 Altre caratteristiche ............................................................................... 48 3.13.1 Sito internet ................................................................................ 48 3.13.2 Hardware.................................................................................... 49 3.13.3 Free Software ............................................................................. 49 3.13.4 Grafica........................................................................................ 50 3.13.5 Casa/Ufficio ............................................................................... 51 3.14 Confronto delle caratteristiche .............................................................. 51 i 4 Comparazione delle distribuzioni ............................. 54 4.1 4.2 4.3 4.4 4.5 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 Tipo di utente finale .............................................................................. 55 Tipo di utilizzo desiderato .................................................................... 57 Tipo di costi .......................................................................................... 58 Prestazioni volute.................................................................................. 60 Riassunto della comparazione............................................................... 61 Gentoo Linux ................................................................................ 61 Debian GNU/Linux....................................................................... 61 Slackware Linux ........................................................................... 62 Red Hat Linux............................................................................... 62 Mandrake Linux............................................................................ 63 Suse Linux .................................................................................... 63 5 Casi di studio ............................................................... 64 5.1 Perché utilizzare Linux ......................................................................... 65 5.2 Casi di studio......................................................................................... 68 5.2.1 Rete domestica .......................................................................... 68 5.2.2 Rete aziendale ........................................................................... 69 5.3.3 Rete universitaria ...................................................................... 71 Conclusioni 74 Bibliografia 76 ii Indice delle figure Figura 1: Logo GNU’s NOT Unix............................................................................ 6 Figura 2: Tux, la mascotte di Linux........................................................................ 11 Figura 3: Logo Gentoo............................................................................................ 17 Figura 4: Logo Debian GNU/Linux........................................................................ 19 Figura 5: Logo Slackware GNU/Linux................................................................... 21 Figura 6: Logo Red Hat Linux............................................................................... 23 Figura 7: Logo Mandrake Linux............................................................................ 25 Figura 8: Logo Suse Linux .................................................................................... 27 Figura 9: Rete domestica ........................................................................................ 68 Figura 10: Rete aziendale........................................................................................ 70 Figura 11: Rete di un’università ............................................................................. 72 Indice delle tabelle Tabella 1: Caratteristiche della distribuzione Gentoo Linux .................................. 18 Tabella 2: Caratteristiche della distribuzione Debian GNU/ Linux........................ 20 Tabella 3: Caratteristiche della distribuzione Slackware Linux ............................ 22 Tabella 4: Caratteristiche della distribuzione Red Hat Linux................................. 24 Tabella 5: Caratteristiche della distribuzione Mandrake Linux.............................. 26 Tabella 6: Caratteristiche della distribuzione Suse Linux ...................................... 28 Tabella 7: Confronto delle caratteristiche............................................................... 52 Tabella 8: Tipo di utente finale ............................................................................... 56 Tabella 9: Tipo di utilizzo....................................................................................... 58 Tabella 10: Tipo di costi ......................................................................................... 59 Tabella 11: Prestazioni............................................................................................ 60 Tabella 12: Funzionalità di rete dei principali sistemi operativi............................. 65 iii Introduzione uno, nessuno e centomila Luigi Pirandello Il titolo del romanzo pirandelliano è un’efficacissima chiave di lettura della tesi trattata e può spiegare un mondo così complesso come quello delle distribuzioni Linux. Il protagonista del romanzo vive la sua personalità nelle sue mille sfaccettature, ma nessuna di queste è completamente perfetta: "con lo spirito pieno di mondi, o di sassolini", ecco come spiega lo sbriciolamento del reale che da univoco (UNO) diventerà poliedrico (CENTOMILA) e sfocerà nel nulla (NESSUNO). Ecco, allora, l’analogia con il sistema operativo Linux che da unico diventa poliedrico (con le sue centinaia di distribuzioni) e sfocerà nel nulla (nessuna distribuzione si può dire la migliore). Questo elaborato tratta l’analisi di sei distribuzioni Linux e, specificatamente, dell’utilizzo che queste possono avere in un contesto reale. Le distribuzioni sono state scelte attraverso parametri definiti quali ad esempio il maggior numero di utilizzatori in Italia, caratteristiche tecniche e di supporto che riassumono la maggior parte delle distribuzioni esistenti ed infine un orientamento principalmente server. L’elaborato è suddiviso in quattro capitoli, seguiti da uno di conclusioni: nel primo capitolo viene spiegata la nascita e l’evoluzione del sistema operativo Linux e delle sue distribuzioni, prendendo in considerazione gli aspetti ideologici che sottendono 1 ai movimenti del Free software, dell’Open Source e della licenza GPL, sottolineandone le differenze più rilevanti. Nel secondo capitolo vengono prese in considerazione le principali distribuzioni, di ognuna vengono discusse da una parte la storia e le principali caratteristiche, dall’altra aspetti più strettamente tecnici legati alle distribuzioni, la cui presentazione è necessaria per spiegare al meglio le scelte proposte e soprattutto le principali differenze che queste possono avere nell’ individuazione di diverse soluzioni in campo applicativo. Nel terzo capitolo si analizzano in dettaglio le caratteristiche più importanti, che le distribuzioni Linux presentano agli utenti. Ogni caratteristica è presentata attraverso l’esame di ogni singola distribuzione, messa poi a confronto con le altre. I parametri di confronto sono stati scelti in modo da fornire un quadro generale dei principali aspetti delle distribuzioni con l’intento di dare al lettore una guida di base in termini di paragone tra le diverse proposte. Il quarto capitolo, attraverso l’uso di tabelle, permette un confronto diretto tra le caratteristiche che offrono le distribuzioni, con lo scopo di fornire uno strumento pratico e veloce per definire la distribuzione più adatta a tre particolari casi di studio nell’ambito delle reti locali; i casi sono stati scelti in modo da fornire diversi livelli di difficoltà nell’ amministrazione. Introduzione 2 1 Il sistema GNU/Linux Un sistema operativo è il componente responsabile del diretto controllo e gestione dell'hardware di un computer nonché delle operazioni di base che tale hardware può svolgere; il sistema operativo si occupa anche di controllare gli accessi degli utenti e dei processi che vengono eseguiti. Un generico sistema operativo moderno si compone di alcune parti ben definite: un gestore di file system, che si occupa di esaudire le richieste di accesso alle memorie di massa, un gestore di memoria virtuale, che alloca pagine di memoria a richiesta e si assicura che tale memoria sia presente nella memoria fisica al momento giusto, uno scheduler che assicura ai vari processi attivi una ben definita quantità di tempo di elaborazione, uno spooler che accumula i dati da stampare e li stampa in successione, una interfaccia utente (shell o GUI) che permette all’utente di interagire con la macchina ed un kernel, fulcro del sistema, che gestisce tutti i componenti di cui sopra. Un particolare sistema operativo può avere tutti questi componenti o solo alcuni di essi. I sistemi operativi trovano la loro origine verso la fine degli anni quaranta, quando fu sentita in modo pressante la necessità di avere a disposizione non solo un’interfaccia che sollevasse il programmatore dalla gestione diretta dei dispositivi di input/output, ma avesse anche supporti per velocizzare alcune operazioni di base a fronte dello sviluppo delle prestazioni hardware dei calcolatori. Da allora i sistemi operativi si sono evoluti, passando dalle strutture più semplici dei sistemi dedicati a quelle odierne che sovrintendono il colloquio tra più computer posti in rete tra loro. 3 1.1 UNIX Nella metà degli anni sessanta, i laboratori della Bell Telephone (Bell Labs, una divisione della AT&T) stavano lavorando con la General Electric e il Project MAC del MIT per scrivere un sistema operativo chiamato Multics. Nel 1945, però, i laboratori della Bell decisero che il progetto non sarebbe andato in porto e sciolsero il gruppo. Questo comunque lasciò i laboratori della Bell senza un buon sistema operativo. Ken Thompson e Dennis Ritchie decisero di abbozzare un sistema operativo che doveva soddisfare alle necessità dei Laboratori della Bell. Nel 1970, quando a Thompson servì un ambiente di sviluppo che funzionasse su un PDP-7, egli implementò le loro idee. Come gioco di parole su Multics, Brian Kernighan, un altro ricercatore della Bell Labs, diede al sistema il nome Unix. In seguito, Dennis Ritchie inventò il linguaggio di programmazione C. Nel 1973, UNIX fu riscritto in C, invece che nell'originale linguaggio assembly. Alla fine degli anni '70, alla AT&T fu vietato di competere nell'industria informatica, quindi essa fornì a prezzo molto basso le licenze di UNIX a svariati college ed università, per cui prese piede lentamente all'interno delle istituzioni accademiche, ma alla fine divenne popolare anche nell'ambiente commerciale. Lo UNIX di oggi è diverso dallo Unix del 1970: ha due grandi versioni: la SystemV, degli Unix System Laboratories (USL), dei consociati della Novell, e la Berkeley Software Distribution (BSD). Esistono comunque diverse versioni di UNIX oltre alle due citate, ma la maggior parte delle versioni commerciali di UNIX derivano da esse. Le versioni di UNIX attualmente utilizzate incorporano caratteristiche di entrambe. Le versioni attuali di UNIX per PC Intel costano tra i $500 e i $2000. A metà degli anni 90, Unix era usato da 5 milioni di computer in tutto il mondo ed ancora oggi continua ad affascinare una larghissima schiera di utenti. Il sistema GNU/Linux 4 1.2 La nascita ed i principi della filosofia “Free Software” Il fondatore del movimento ‘free software’ è l’americano Richard Stallman laureatosi in fisica ad Harvard, impara a programmare e, verso la metà degli anni Settanta, muove i primi passi nella comunità del Massachusetts Institute of Technology (M.I.T) dove gli sviluppatori lavorano condividendo i loro saperi e mettendo in comunione le loro creazioni. Una pratica di condivisione che è anche un solido modello di sviluppo per il software, opera di un ingegno collettivo e, soprattutto, di un approccio collaborativo fondato sulla condivisione delle competenze di ognuno. Questa filosofia folgora Stallman e lo convince che il metodo collaborativo è la strada migliore per lo sviluppo non solo del software ma della società intera. Di lì a poco, però, il vento sarebbe cambiato. Con l’affermazione del software proprietario lo sviluppo per accrescimento progressivo, che è alla base del lavoro delle prime comunità di programmatori, deve far posto ad un nuovo modello che estromette completamente gli utenti dal processo di produzione di un programma e vieta loro di modificare e ridistribuire il codice che, anzi, non viene più distribuito. Inizia così l’era del ‘Closed Source’ che Stallman sintetizza così: “Questo significa che il primo passo per usare un computer è promettere di negare aiuto al proprio vicino”. Una comunità cooperante è vietata. La regola creata dai proprietari di software proprietario è: se condividi il software con il tuo vicino sei un pirata, se vuoi modifiche, pregaci di farle. Stallman fa parte per più di dieci anni dei ricercatori del M.I.T, con i quali studia a fondo i sistemi operativi, ma nel 1984 si licenzia dall’istituto per fondare il suo ‘progetto GNU’ (vedi logo in figura 1) decidendo di intraprendere un’impresa pionieristica: costruire, partendo da zero, un intero sistema operativo libero, un free software appunto, solo in questo modo si sarebbe potuta ricostituire una comunità di programmatori aperta a tutti e fondata sul principio della collaborazione. GNU è un acronimo ricorsivo e significa GNU is Not Unix ovvero "GNU non è Unix", il nome simbolizza che il progetto ha l’obiettivo di creare un sistema operativo compatibile, ma non identico a Unix. Richard Stallman con il progetto GNU volle creare un Sistema Operativo Unix-like completo costituito da software libero, ma compatibile con Unix. Per arrivare a Il sistema GNU/Linux 5 questo risultato, all'interno del progetto vennero creati programmi per coprire ogni necessità informatica: compilatori, lettori multimediali, programmi di crittografia ed altro. Malgrado non si sia mai attuato il progetto a livello kernel, il software prodotto da GNU era di una tale qualità che gli amministratori di sistema spesso sostituirono i programmi originali delle loro distribuzioni Unix con le versioni GNU. Figura 1: Logo GNU’s NOT Unix. Il termine free software, utilizzato dai seguaci di questo movimento, non ha nulla a che vedere con il prezzo del programma, ma vuole esprimere il concetto di libertà: il termine ‘free’ significa sia ‘gratis’ che ‘libero’. Questo è il motivo per cui i sostenitori del ‘free software’ temono che possa essere frainteso il vero scopo del movimento, ossia quello di portare una ‘ventata di libertà’ nel mondo dell’informatica. Quattro sono le libertà fondamentali che un programma deve garantire all’utente per poter essere considerato software libero: ¾ libertà di eseguire il programma per qualsiasi scopo; ¾ libertà di modificare il programma secondo i propri bisogni (perché questa libertà abbia effetto in pratica, è necessario avere accesso al codice sorgente del programma); ¾ libertà di distribuire copie del programma gratuitamente o dietro compenso; ¾ libertà di distribuire versioni modificate del programma, così che la comunità possa usufruire dei miglioramenti apportati. Una volta inteso correttamente questo significato non sorprende scoprire che la vendita dei software non solo non contraddice lo spirito del software libero, ma è Il sistema GNU/Linux 6 anzi incoraggiata da Stallman quale metodo per reperire fondi da destinare allo sviluppo dei programmi. Per conseguire lo scopo del progetto GNU, cioè quello di garantire libertà agli utenti, vi è bisogno anche di termini di distribuzione che evitino che il software GNU sia trasformato in software proprietario. Per questo motivo Stallam inventa, con l’aiuto di esperti avvocati, un nuovo tipo di licenza, la ‘GNU Licenza Pubblica Generica’ o GNU GPL, la quale garantisce a tutti gli utenti le quattro libertà fondamentali, vietando a chiunque di imporre restrizioni. La GNU GPL è una licenza per software libero, è il punto di partenza per il free software. Il testo ufficiale della licenza in italiano è disponibile all’URL: htttp ://www.softwarelibero.it/gnudoc/gpl.it.txt. La licenza è stata scritta da Richard Stallman e Eben Moglen nel 1989, per distribuire i programmi creati dal Progetto GNU. GNU GPL si contrappone alle licenze per software proprietario e permette all'utente libertà di utilizzo, copia, modifica e distribuzione per cui è diventata una delle licenze per software libero più usate. Il testo della GNU GPL è disponibile per chiunque riceva la copia di un software coperto da questa licenza. I licenziatari che accettano le sue condizioni hanno la possibilità di modificare il software, di copiarlo e ridistribuirlo con o senza modifiche, sia gratuitamente sia a pagamento. La Free Software Foundation (FSF) detiene i diritti di copyright per il testo della GNU GPL, ma non detiene i diritti del software rilasciato con questa licenza. A meno che venga emessa una specifica nota di copyright da parte della FSF, l'autore del software detiene i diritti di copyright per il suo lavoro ed è responsabile di perseguire ogni violazione della licenza riguardante il suo software. A differenza dei software con essa distribuiti, la GNU GPL non è liberamente modificabile: copiarla e distribuirla è permesso, ma modificarla è vietato. La FSF permette di creare nuove licenze basate sulla GNU GPL, a patto che tali licenze non usino il suo preambolo senza permesso. Dato che, solitamente, la nuova licenza non è compatibile con la GNU GPL, la FSF sconsiglia di creare versioni modificate. Il sistema GNU/Linux 7 Stallman ritiene inoltre fondamentale che anche la documentazione annessa ai programmi sia libera: “La più grande carenza dei nostri sistemi operativi non è nel software, quanto nella carenza di buoni manuali liberi da includere nei nostri sistemi”. Il criterio per definire libero un manuale è sostanzialmente lo stesso usato per i programmi: deve essere permessa la ridistribuzione, compresa la vendita commerciale, e la modifica. Questa ultima è una libertà fondamentale per la documentazione di programmi liberi in quanto quando qualcuno esercita la sua facoltà di modificare un programma, se è coscienzioso, deve poter modificare anche il manuale, in modo da poter fornire una documentazione utile ed accurata insieme al programma modificato. Risulta quindi essenziale la possibilità di modificare tutto il contenuto tecnico del manuale e di poterlo distribuire in tutti i formati usuali, attraverso ogni normale canale di distribuzione. Nel 1985, per cercare nuovi finanziamenti, Stallman ed i numerosi partecipanti al suo progetto fondano la Free Software Foundation (FSF), un’organizzazione senza scopo di lucro per lo sviluppo di software libero. La FSF accetta donazioni ma gran parte delle sue entrate proviene dalle vendite: copie di software libero, manuali e servizi correlati. Oggi vende cd-rom di codice sorgente e di programmi compilati, manuali stampati professionalmente (tutti con libertà di ridistribuzione e modifica) e distribuzioni Deluxe (nelle quali è compilata l’intera scelta di software per una piattaforma a richiesta). All’inizio del progetto GNU si pensò di sviluppare un programma completo e di renderlo disponibile nel suo insieme, ma le cose non andarono così. Poiché gli elementi del sistema GNU sono implementati su di un sistema Unix, ognuno di essi può girare su tali sistemi molto prima che esista un sistema GNU completo. Così alcuni programmi iniziarono ad essere diffusi e gli utenti si divertirono ad estenderli e a renderli utilizzabili su nuovi sistemi. Tutto ciò rese i programmi molto più potenti ed attirò finanziamenti e collaboratori al progetto, anche se ritardò di alcuni anni la realizzazione di un sistema minimo funzionante, perché il tempo degli autori GNU venne impiegato a curare la compatibilità di questi programmi con altri sistemi, piuttosto che a proseguire nella scrittura di nuovi componenti. Il sistema GNU/Linux 8 Nel 1990 il sistema era quasi completo, l’unica parte non ancora disponibile era il kernel in quanto quello da loro creato, chiamato ‘Hurd’, non è ancora pronto per un uso non sperimentale. Ma, come dice Stallman, “Fortunatamente ne era disponibile un altro: Linux”. Così, nel 1992, la combinazione di Linux con il sistema GNU produce un sistema operativo libero completo. Nel 2005 il sistema non era ancora stato sviluppato completamente, ma grazie al lavoro di Linus Torvalds è possibile usare il Sistema GNU con il kernel Linux, ovvero il sistema GNU Linux (vedi paragrafo 1.5). 1.3 L’ origine del movimento Open Source Nella primavera del 1997, un gruppo di leader della comunità del ‘Free Software’ si dà appuntamento a Mountain View, in California. Del gruppo fanno parte, tra gli altri, Eric Raymond, Tim O’Reilly e Larry Augustin. Il loro obiettivo è trovare un modo per promuovere le idee legate alla distribuzione gratuita di software presso coloro che, finora, hanno rifiutato questo concetto. Sono convinti che il termine ‘free software’ abbia danneggiato notevolmente il loro movimento a causa dell’ambiguità della parola ‘free’ che, oltre all’esatto significato di libertà, viene spesso associata, specialmente nella stampa e nel mondo aziendale, a concetti quali la gratuità, la scarsa qualità. È del tutto inutile, pensano, spiegare che la Free Software Foundation è in realtà molto diversa da come viene rappresentata nel mondo economico, sanno che ciò che conta non è tanto la posizione ufficiale della FSF quanto, piuttosto, il mancato successo riscosso dalle sue intenzioni originarie e l’effettiva associazione tra il termine ‘free’ e gli stereotipi negativi diffusi dalla stampa commerciale. I comandamenti alla base di questo movimento sono: ¾ dimenticare la strategia ‘bottom-up’ e puntare su quella ‘top-down’. La strategia storica di diffondere i concetti dal basso verso l’alto, ovvero dai tecnici ai boss, si è rivelata un fallimento, per questo bisogna abbandonarla e passare ad imporre le decisioni dall’alto, cercando di coinvolgere subito i dirigenti delle alte sfere; ¾ considerare Linux come il loro caso più rappresentativo. Se Linux non riesce a consolidare l’innovazione non può riuscirci nessun altro sistema; Il sistema GNU/Linux 9 ¾ attirare l’attenzione dei mass media più prestigiosi, che influenzano le opinioni dei top manager e degli investitori; ¾ utilizzare il marchio ‘ Open Source ’ come garanzia di genuinità. Per scongiurare il rischio che il termine venga abbracciato ed esteso da Microsoft o da altri grandi produttori, stravolgendone il significato, Raymond decise di registrarlo come marchio di certificazione. La campagna Open Source, prende il via rapidamente e tramite Internet, raccoglie intorno a sé una rete di alleati, tra cui alcuni importanti personaggi del mondo dell’economia. Ben presto si delineano i primi successi: diversi produttori di hardware e di software conducono sondaggi nella comunità Open Source ed iniziano a formulare strategie mirate ad avvantaggiarsi del nuovo modello. Il successo è reso ancor più evidente dalla preoccupazione che affligge la più grande impresa ‘close source’ e che trapela dagli ormai famosi ‘Halloween Documents’, così denominati in quanto testimonianza della ‘paura’ che nutre Microsoft nei confronti del ‘Pinguino’. Non è difficile immaginare la preoccupazione da parte della più importante azienda di software esistente, nei confronti di questa nuova filosofia. Il movimento Open Source si configura, oggi, come un successo perché ha contribuito a sdoganare il concetto di software libero in campo aziendale dove, fino a pochi anni addietro, era guardato con sospetto o condiscendenza. La voluta neutralità del movimento di Raymond verso gli aspetti etici e politici non può, però, andare a genio a Stallman che, al contrario, pone l’accento sulle motivazioni ideali. L’assioma del movimento ‘Free Software è che l’utente merita la libertà, idea, questa, che il movimento ‘Open Source’ ha progettato di non far emergere. Il sistema GNU/Linux 10 1.4 Kernel Linux Il kernel Linux (vedi logo in figura 2) è un software libero distribuito con licenza GNU General Public License; è stato creato nel 1991 da Linus Torvalds. Integrato con il Sistema GNU ha dato vita a GNU/Linux. Il kernel è il "cuore" di un sistema operativo e fornisce tutte le funzioni essenziali per il sistema, in particolare la gestione della memoria, delle risorse del sistema e delle periferiche, assegnandole di volta in volta ai processi in esecuzione. La controparte del kernel è la shell, ovvero l'interfaccia utente del sistema, la parte più esterna. I programmi chiedono le risorse al kernel attraverso delle system call (chiamate) e non possono accedere direttamente all'hardware. Il kernel si occupa quindi di gestire il tempo processore, le comunicazioni e la memoria distribuendoli ai processi in corso a seconda delle priorità. Linux è un kernel che supporta il multitasking ed è multi utente, infatti, ciascun utente ha privilegi differenziati e può eseguire sullo stesso sistema diversi processi software in simultanea. L'architettura scelta da Torvalds per il kernel è una struttura monolitica, considerata da alcuni obsoleta a differenza della più moderna architettura a microkernel. Come ogni progetto che sia software libero, anche il kernel Linux è in continua evoluzione e le nuove release sono reperibili sul sito http://www.kernel.org . La dimensione del kernel Linux cresce in maniera esponenziale, aggiungendo nuovi moduli come ad esempio un nuovo hardware supportato. Attualmente Linux supporta gran parte dell'hardware disponibile per PC ed un numero enorme di architetture (tra cui SPARC, PowerPC e le più moderne CPU a 64 bit). Figura 2: Tux, la mascotte di Linux. Il sistema GNU/Linux 11 1.5 GNU/ LINUX Nel 1991 Linus Torvalds, studente del corso di Sistemi Operativi all'Università di Helsinky, aprì la strada allo sviluppo di LINUX, che ad oggi è forse il segno più tangibile della realizzazione del progetto GNU. Linus doveva studiare il nuovo processore Intel 80386, che aveva caratteristiche molto innovative rispetto ai suoi predecessori, come ad esempio la natura multitasking. Sulla macchina utilizzata da Linus girava il Sistema Operativo Minix, un piccolo UNIX commerciale a microkernel, che veniva offerto con notevoli agevolazioni per scopi didattici. Linus si pose il problema di migliorare Minix; non riuscendo nell'intento, iniziò lo sviluppo di un kernel che permettesse di scrivere una versione free di Unix. Alla fine dell'Agosto 1991, Linus arrivò a qualcosa di compiuto, a cui impose il numero di versione 0.01, che tuttavia rendeva ancora necessario l'utilizzo di una macchina con Minix. Da quel momento, secondo le sue stesse parole, Linus fu irrimediabilmente catturato da ciò che stava facendo, a tal punto da dover a tutti i costi realizzare qualcosa che gli permettesse di eliminare Minix dal suo computer arrivando a fondersi con il progetto GNU. GNU/Linux è una libera e distribuibile versione di UNIX, è un insieme di conoscenze ed esperienze che hanno trovato in quest’ultimo una piazza virtuale dove crescere rapidamente. All’interno del sistema operativo non viene utilizzato in nessun modo codice licenziato da enti commerciali e buona parte del software incluso segue questa corrente di pensiero abbracciata dal progetto GNU della Free Software Foundation. Tuttavia Linus Torvalds è più vicino, nel pensiero, al mondo ‘Open Source’ piuttosto che a quello ‘Free Software’: non è, infatti, mai stata sua intenzione appassionarsi all’aspetto politico del fenomeno ‘Free Software’, non stupisce, perciò, che, quando nel 1998 Eric Raymond propone di prendere Linux quale icona del nascente movimento ‘Open Source’ , Torvalds non esiti ad accettare. Non si può, tuttavia, fare a meno di notare che Linus sceglie, per proteggere il suo sistema, la ‘Licenza Pubblica Generica’, ossia la bandiera del popolo ‘Free Software’, certamente, fra le licenze compatibili con la ‘Open Source Definition’, la più restrittiva. Fino a poco tempo fa e in parte ancora oggi, chi utilizzava GNU/Linux doveva avere una cultura informatica di base molto solida ed essere in grado all'occorrenza Il sistema GNU/Linux 12 di installare, configurare e aggiornare autonomamente il proprio sistema. Con l'adozione del sistema da parte di molte aziende sono stati creati programmi di installazione e manutenzione che non richiedono conoscenze tecniche così approfondite per l'utilizzo di GNU/Linux; questi nuovi software di installazione, uniti alla possibilità di creare sistemi in dual boot, hanno aperto la strada all'ingresso di GNU/Linux all'interno del mercato desktop. Il sistema GNU/Linux 13 2 Le distribuzioni Linux GNU/Linux, essendo un sistema non proprietario, non è prodotto da un’azienda, ma esistono varie aziende che compilano i sorgenti del sistema operativo e personalizzano la configurazione del sistema producendo le cosiddette distribuzioni. Le distribuzioni sono packaging create per gestire la grande quantità di software che compone un sistema GNU/Linux, assemblate da società anche senza scopi di lucro, caratterizzate da un’istallazione guidata che ne rende semplice l’installazione e l’immediato utilizzo. Quello che distingue le varie distribuzioni di Linux sono: ¾ numero e versioni dei programmi installabili; ¾ versione e configurazione specifica del kernel utilizzata e modalità di preinstallazione; ¾ procedura di installazione (interfaccia utente e possibilità di definire opzioni e scegliere quale software installare) e manutenzione; ¾ organizzazione di file di configurazione, programmi, log nel file system; ¾ configurazioni predefinite del software installato; ¾ tipo di supporto tecnico e di manuali a disposizione. Ogni distribuzione configura il kernel in base alle proprie esigenze ed aggiunge un pacchetto di utilities specifiche: questo ne rende la scelta molto differenziata, alcune sono orientate all’utilizzo su server altre su desktop, alcune sono predisposte da società in base a compiti specifici e altre ancora sono general purpose1. 1 Create per un’utilizzo generico. 14 È possibile trovare una distribuzione presso una qualsiasi attività commerciale che distribuisca materiale informatico, attraverso una delle numerose riviste che allegano cd-rom con distribuzioni live2 linux, oppure attraverso commercio on-line, anche se buona parte possono essere scaricate liberamente da siti web specifici. 2.1 Come scegliere una distribuzione Linux può quindi essere modificato per adattarsi al meglio alle esigenze di ciascuno: partendo da questa base sono nate varie raccolte di software in modo da facilitare il lavoro a chi deve installare e manutenere un sistema. Se questa varietà ha sicuramente molti lati positivi (possibilità di scelta, in primis) può anche presentare difficoltà a chi per la prima volta si avvicina a questo sistema operativo, costringendolo a troppe scelte importanti e presentandogli troppi modi diversi di fare cose analoghe. Uno dei dilemmi maggiori che certamente tutti prima o poi si pongono è “Quale distribuzione scegliere?”. La scelta della distribuzione è una questione in gran parte soggettiva, quello che per alcuni può essere un grave difetto ad altri può sembrare un pregio. Di sicuro il modo migliore per fare una scelta corretta è provare; ricordandosi comunque che "è sempre Linux" e che allo stato attuale non esiste una distribuzione che possa essere considerata in assoluto migliore delle altre. Le varie distribuzioni differiscono fra di loro per le versioni e la quantità dei programmi installati, per i vari tool che assistono l'utente e l'amministratore nella manutenzione del sistema e per alcune differenze nella configurazione del sistema operativo. Non è praticamente possibile fare una classifica della qualità delle maggiori distribuzioni, in quanto ognuna di essa si focalizza su un particolare tipo di utilizzo, ma non esclude comunque gli altri. 2 Caricabili direttamente da cd-rom, senza la necessità di essere installate su disco fisso. Le distribuzioni Linux 15 2.2 Presentazione delle distribuzioni Le distribuzioni disponibili sono dell’ordine delle centinaia, sviluppate da team di ricercatori in tutto il mondo e quindi risulterebbe lunga e dispersiva una discussione completa di tutte le distribuzioni esistenti. Perciò l’analisi proposta si concentra su quelle più conosciute e di maggior utilizzo che presentano caratteristiche comuni quali il kernel, la gerarchia del file system, il software GNU e la logica Unix. L’elenco comprende: ¾ Gentoo ¾ Debian ¾ Slackware ¾ Red Hat ¾ Mandrake ¾ Suse Gentoo e Slackware sono state scelte in quanto sono le distribuzioni storiche di Linux, Debian e Red Hat perché raggruppano il maggior numero di utilizzatori, mentre Mandrake e Suse rappresentano le nuove distribuzioni. In questo capitolo saranno descritte le caratteristiche generali di queste distribuzioni di cui si fornirà per ognuna una scheda riassuntiva (vedi tabelle da 1 a 6), per poi procedere nel prossimo capitolo ad una loro analisi comparativa. Le distribuzioni Linux 16 2.2.1 Gentoo Linux Figura 3: Logo Gentoo. Gentoo (vedi logo in figura 3) non é una vera e propria compagnia ma un team di sviluppo non a fini di lucro ed una comunità di utenti volontari: nasce dall’idea di Daniel Robbins a capo del progetto Enoch nato per migliorare il sistema a pacchetti della distribuzione Stampede. Robbins ha un ente chiamato Gentoo Tecnologies, Inc. che detiene i diritti della maggioranza del codice sorgente con licenza GPL. Gentoo è sicuramente una delle maggiori sorprese degli ultimi tempi nel mondo del Free Software. La tipologia di questa distribuzione differisce enormemente da quella delle più classiche. Le novità introdotte da questa distribuzione sconvolgono il concetto classico di pacchetto precompilato. L'obiettivo prefissato di Gentoo è quello di dare in mano all'utente un sistema totalmente ottimizzato e personalizzato. Per far questo è stato studiato un nuovo tipo di installazione e un nuovo sistema di distribuzione dei pacchetti. In questo modo l'utente si troverà costretto a compilare quasi ogni singolo binario presente sul proprio PC. Quello che ne segue è un sistema operativo totalmente ottimizzato per il proprio processore. Il sistema su cui si basa Gentoo, chiamato Portage, interamente scritto nel linguaggio Python, è molto simile sia come concetto che come utilizzo ai ports3 di BSD: con pochi e semplici comandi sarà possibile aggiornare il database dei pacchetti esistenti, la risoluzione di tutte le eventuali dipendenze, e la compilazione di tutto quanto ciò che è necessario per far funzionare quel determinato programma. Tutto questo ha un costo non indifferente che incide sull'usabilità del sistema. 3 Sistema di gestione pacchetti. Le distribuzioni Linux 17 All'utente che vuole installare Gentoo è richiesta un'ottima conoscenza del proprio hardware e della configurazione di una distribuzione senza l'ausilio di interfacce grafiche. Inoltre i tempi di installazione e di aggiornamento non sono indifferenti. È certamente una distribuzione interessante che riscopre il sistema dei ports di BSD non sia maniaco dell'ottimizzazione. Gentoo Linux 2005.0 Data di rilascio 28/03/2005 Home Page http://www.gentoo.org/ Prezzo Free Numero CD 1 Free Download Si Installazione Text Mode Default Desktop KDE Package Management SRC ( portage) Office Suite KOffice, OpenOffice Processor Architecture x86, amd64, hppa, ppc, ppc64, sparc Journaled File Systems ext3, JFS, ReiserFS, XFS Browser Mozilla, Nestcape Multilingual Si Tabella 1: Caratteristiche della distribuzione Gentoo Linux. Le distribuzioni Linux 18 2.2.2 Debian GNU/Linux Figura 4 : Logo Debian GNU/Linux. Nasce dall’idea di un sistema operativo Unix-like libero, sviluppato da volontari sulla base del progetto GNU. É caratterizzato da un pacchetto di applicazioni per l’installazione e la gestione, di un alto livello di qualità, molte delle quali sono state sviluppate dal progetto GNU e che rendono Debian GNU/Linux (vedi logo in figura 4) particolarmente efficiente. Debian è una delle distribuzioni più vecchie e apprezzate da sviluppatori e amministratori di sistema. La filosofia che sta dietro a Debian è rigorosamente orientata al Free Software: Debian infatti è un'associazione senza scopo di lucro che raduna migliaia di sviluppatori e volontari che si occupano del suo mantenimento. Debian punta ad avere nella sua distribuzione solo software libero (non vi è per esempio il browser Opera e in passato l'ambiente grafico KDE è stato escluso da questa distribuzione) e tutti i programmi "non free" vengono rilasciati su un cd apposito in modo da mettere l'utente nella condizione di scegliere se installare o meno applicazioni non libere. In tutti i suoi anni di sviluppo, Debian ha sempre mostrato grande affidabilità e stabilità facendone i suoi punti di forza. Questo le ha permesso di guadagnarsi molto credito tra gli utenti Linux, rendendola una delle più usate sul lato server. Debian inoltre è la distribuzione che supporta il maggior numero di architetture. La sua affidabilità e stabilità è data soprattutto dalla lenta e minuziosa fase di testing che consente di rilasciare delle versioni “stable” (come viene indicata la versione finale di questo Sistema Operativo) che siano realmente tali. Questo porta a indubbi vantaggi, ma anche a una delle più grandi pecche di Debian: la mancanza Le distribuzioni Linux 19 di pacchetti aggiornati, che è comunque possibile reperire da altri mirror non ufficiali. É anche la distribuzione che può vantarsi di avere il miglior sistema di upgrade, apt, che consente di tenere aggiornata con pochi comandi (scaricando il necessario in automatico dalla rete) la propria distribuzione. Quello che non la rende appetibile a un utente alle prime armi è la mancanza di alcune utility grafiche per la configurazione e gestione del sistema, e l'interfaccia della sua installazione che richiede una buona conoscenza del proprio hardware. Non mancano comunque una serie di utility (da usare sotto console) per la configurazione di alcuni servizi. Debian GNU/Linux 3.1 Sarge Data di rilascio 06/06/2005 Home Page http://www.debian.org/ Prezzo Free Numero CD 14 Free Download Si Installazione Text Mode Default Desktop GNOME Package Management DEB Office Suite GNOME Office,KOffice, OpenOffice Processor Architecture Alpha, Arm, HPPA, i386, IA64, m68k, Mips, PPC, S390, Sparc Journaled File Systems ext3, JFS, ReiserFS, XFS Browser Mozilla, Nestcape Multilingual Si Tabella 2: Caratteristiche della distribuzione Debian GNU/Linux. Le distribuzioni Linux 20 2.2.3 Slackware Linux Figura 5 : Logo Slackware GNU/Linux. Nata nel 1992, resa disponibile a partire dal 2003 sul sito Slackware (vedi logo in figura 5), rappresenta la prima distribuzione ad ottenere largo successo. Tra le distribuzioni GNU/Linux è l’unica a seguire come modello costitutivo lo standard BSD. Lo sviluppatore principale della distribuzione è Patrick Volkerding che insieme ad altri tre sviluppatori ha fondato una compagnia propria, in seguito alla decisione della casa madre di decretare la fine del supporto al progetto, decisione dovuta all’acquisizione della BSD che inizialmente si occupava di fornire la struttura di vendita per il gruppo Slackware, da parte della Wind River. Volkerding è riuscito nel tempo ad avere un’utenza tra le più fidelizzate nel mondo GNU/Linux La Slackware Linux è interamente nelle mani di Volkerding che si occupa della maggior parte dei processi di sviluppo, dalla pacchetizzazione, alle scelte strategiche. Slackware è stata una delle primissime distribuzioni a comparire sulla scena del mondo Open Source (è presente fin dall'Aprile del 1993). Ancora oggi è apprezzata da un numero sostanzioso di utenti per la sua semplicità e sicurezza. Semplicità non intesa come facilità d'uso, ma come linearità e pulizia. Slackware infatti è la distribuzione per eccellenza per chi vuole conoscere nei minimi particolari questo sistema operativo, per chi vuole studiarlo, "smontarlo" ed analizzarlo. Risulta anche un'ottima scelta per i server, grazie alla fama di distribuzione sicura che ha saputo farsi col passare degli anni. Slackware non essendo una distribuzione commerciale, non vi girano dietro gli interessi economici che ci sono dietro ad altre distribuzioni, tutto quello che ha fatto è riuscita a farlo grazie ai suoi meriti. Le distribuzioni Linux 21 Non dispone di strumenti sofisticati per l'installazione (in controcorrente con la maggior parte delle distribuzioni non ha un'interfaccia grafica sotto X) nè altri per la configurazione dell'hardware, per cui è consigliata particolarmente a chi ha già una certa confidenza con questo Sistema Operativo. Anche il suo sistema di gestione dei pacchetti si discosta dalla massa: non adotta né l'rpm di Red Hat né il deb di Debian, preferendo il suo caro vecchio tgz (vedi paragrafo 3.4). Questo è anche uno dei suoi peggiori difetti: questo tipo di pacchetti non possono venir trattati alla stregua degli altri due, risulta più difficile l'aggiornamento del sistema e la configurazione "in serie" su più macchine. Nonostante questo, a detta di molti puristi rimane, assieme a Debian, forse una delle poche distribuzioni a rappresentare il vero spirito di Linux. Slackware 10.1 Data di rilascio 07/02/2005 Home Page http://www.slackware.com/ Prezzo Free Numero CD 2 Free Download ISO Installazione Text Mode Default Desktop KDE Package Management TGZ Office Suite GNOME Office, KOffice Processor Architecture i486 Journaled File Systems ext3,JFS, ReiserFS, XFS Browser Mozilla Multilingual No Tabella 3: Caratteristiche della distribuzione Slackware Linux. Le distribuzioni Linux 22 2.2.4 Red Hat Linux Figura 6 : Logo Red Hat Linux. Red Hat (vedi logo in figura 6) nasce nel 1994, sviluppata e commercializzata su supporto cd-rom da una società basata sul Free Software chiamata Red Hat,Inc. che inizialmente era un gruppo di programmazione con base nel North Carolina mentre ad oggi conta 500 impiegati in 15 nazioni compresa l’Italia. L’obbiettivo principale era quello di rendere facile GNU/Linux e come altri gruppi simili lo scopo era riunire tutto il software necessario in un’unica distribuzione completa semplificando gli aspetti che si incontrano nell’avvio di un nuovo sistema operativo. Red Hat è diventata la principale e più conosciuta società di produzione e commercializzazione di Linux e software open source. Red Hat è stata la prima società a intuire le potenzialità di un nuovo mercato dietro Linux. Fin dalla sua entrata nel mondo dell’Open Source Red Hat si è distinta da distribuzioni “più ostiche” come Debian o Slackware, cercando di fornire ai propri utenti dei tool semplificati (spesso accompagnati da interfacce grafiche “user friendly”) per la configurazione e la gestione di ogni parte del sistema (dal riconoscimento delle periferiche hardware alla configurazione della connessione dial-up). Con il passare del tempo ha avuto sempre più seguito tra le distribuzioni Linux, fino a diventarne lo standard de facto. Moltissime altre distribuzioni infatti si basano su Red Hat (come Mandrake e Trustix) e altre ancora adottano il suo tool per la gestione dei pacchetti, il RedHat Package Management (rpm). Purtroppo in passato ha sofferto di qualche problema di sicurezza e stabilità (risolto comunque molto tempestivamente). È probabilmente la distribuzione più diffusa al mondo sia per i server che per l’utenza domestica. Le distribuzioni Linux 23 Red Hat 9 shrike Data di rilascio 07/04/2003 Home Page http://www.redhat.com/ Prezzo Commerciale Numero CD 3 Free Download ISO Installazione Graphical Default Desktop GNOME Package Management RPM Office Suite OpenOffice, KOffice Processor Architecture i386 Journaled File Systems ext3 Browser Mozilla Multilingual Si Tabella 4: Caratteristiche della distribuzione Red Hat Linux. Le distribuzioni Linux 24 2.2.5 Mandrake Linux Figura 7 : Logo Mandrake Linux. Mandrake (vedi logo in figura 7) è una distribuzione GNU/Linux nata verso la fine 1998 orientata principalmente al desktop: inizialmente fu costituita su Internet e dopo qualche tempo ebbe una sede fisica in California, Stati Uniti e in Francia con sede a Parigi. Mandrake è caratterizzata dalla facilità di gestione ed installazione, particolarmente consigliata agli utenti meno esperti. Nel 2005 a causa di un contenzioso sul copyright del nome, è diventata Mandriva, nome derivato dalla fusione con la distribuzione Conectiva (MANDRake+conectIVA). Mandrake è, tra le distribuzioni più recenti, quella che ha saputo imporsi maggiormente sul mercato già dominato da Debian e Red Hat. Ed è proprio su quest’ultima che si basava integrando una distribuzione “al 99% compatibile con Red Hat” con l’ambiente grafico più usato, KDE4. La distribuzione Mandrake può essere considerata un fork della distribuzione RedHat, a partire circa dalla versione 5: a questo aggiungeva tutta una serie di applicativi per rendere l’installazione semplice e indolore a colpi di click. Mandrake si è oramai staccata da quella “dipendenza” con Red Hat che l’aveva fatta nascere, dalla quale però continua ad adottare gli standard come per esempio il sistema di gestione dei pacchetti. Rispetto alle release iniziali, ora è anche possibile scegliere quale ambiente grafico usare di default tra un’ampia scelta, Gnome compreso. É una distribuzione molto aggiornata e curata graficamente. Si è sempre distinta per il suo orientamento al mercato desktop, dato che grazie ai tool di configurazione fornisce i propri utenti di 4 Desktop manager, riferimenti nel sito www.kde.org. Le distribuzioni Linux 25 strumenti per aiutare passo passo a configurare al meglio il proprio PC per gustarsi a pieno questo Sistema Operativo. Mandrake 9.1 Data di rilascio 19/03/2005 Home Page http://www.mandrake.com/ Prezzo Commerciale Numero CD 3 Free Download ISO Installazione Graphical Default Desktop GNOME Package Management RPM Office Suite GNOME, OpenOffice Processor Architecture i386 Journaled File Systems ext3 Browser Konqueror, Mozilla, Galeon Multilingual Si Tabella 5: Caratteristiche della distribuzione Mandrake Linux. Le distribuzioni Linux 26 2.2.6 Suse Linux Figura 8 : Logo Suse Linux. Suse (vedi logo in figura 8) è una distribuzione GNU Linux nata nel 1998 che, in Italia, è tra le più diffuse in ambito aziendale. Ha origine in Germania, è molto apprezzata dal punto di vista della localizzazione e, più in generale, per non essere così legata alle impostazioni caratteristiche degli Stati Uniti d'America come la maggior parte delle concorrenti. Risulta molto semplice da utilizzare e mirato alla stessa utenza di Microsoft Windows, in quanto l’ambiente desktop è user friendly e molto simile al sistema operativo di casa Microsoft. Suse è una società tedesca che ha deciso di scendere in campo sviluppando una propria distribuzione. Come Red Hat, anche Suse rilascia delle distribuzioni “commerciali”. Caratteristica che colpisce subito chi inizia ad usarla è il suo potente tool per la messa a punto del sistema, YaST, che unifica tutte le utilità in uno strumento centralizzato. Questo dà il vantaggio all’utente che vuole per la prima volta “provare” questa distribuzione di avere subito un punto di riferimento a cui fare affidamento per la configurazione, lasciando agli utenti più smaliziati la possibilità di una configurazione “fine”. Usa come ambiente grafico KDE e una versione del kernel appositamente modificata per questa distribuzione. Purtroppo però non esiste una versione di Suse da scaricare liberamente e installare, è disponibile però una versione live da usare direttamente da cd oppure la possibilità di installarla utilizzando il server ftp della casa tedesca. Anche Suse come Red Hat e Mandrake usa per la gestione dei pacchetti l’rpm. Le distribuzioni Linux 27 Suse Linux 9.3 Data di rilascio 15/04/2005 Home Page http://www.suse.com/ Prezzo Commerciale Numero CD 5 Free Download ISO Installazione Graphical Default Desktop KDE Package Management RPM Office Suite GNOME Office, KOffice, OpenOffice Processor Architecture i586, x86_64 Journaled File Systems ext3, ReiserFS, XFS Multilingual Si Tabella 6: Caratteristiche della distribuzione Suse Linux. Le distribuzioni Linux 28 3 Analisi delle distribuzioni La distribuzione Debian GNU/Linux è la distribuzione più vicina alla Free Software Foundation e infatti dichiara già dal nome che è una distribuzione di software GNU, al contrario delle altre che sembrano dimenticare la quantità di software GNU che includono senza il quale il sistema sarebbe inutile. Debian GNU/Linux è più attenta alla filosofia ed agli standard che alla commercializzazione del proprio software e pone nel nome una serie di informazioni in più rispetto alle altre distribuzioni. Il numero di release, ad esempio dall'originaria Debian GNU/Linux 3.0 "woody", è un contatore in più rispetto alle altre distribuzioni che aggiungono un .1 al proprio numero di versione e il nome in codice della distribuzione, nei server ftp la Debian GNU/Linux 3.Or1 "woody" è caratterizzata dalla directory woody/r1/'a differenza delle altre che hanno numeroversione. Le altre distribuzioni Linux non inseriscono numero di versione ma il nome in codice della distribuzione lasciando intendere che probabilmente la prossima release sarà nuovamente un numero pieno. In definitiva, le informazioni fornite da Debian GNU/Linux informano anche l’utente meno esperto che leggendo il nome Debian GNU/Linux 3.Orl "woody" capirà subito che si tratta della distribuzione Debian GNU/Linux basata su woody alla seconda release, mentre il metodo adottato dalle altre distribuzioni è una semplificazione per l'utente meno esperto che capirà più velocemente quale è l'ultima distribuzione disponibile ma toglie informazione all'utente più esperto. 29 In questo capitolo si analizzano in dettaglio le caratteristiche più importanti, che le distribuzioni Linux presentano agli utenti. Ogni caratteristica è presentata attraverso l’esame di ogni singola distribuzione, messa poi a confronto con le altre. I parametri di confronto di seguito elencati sono stati scelti in modo da fornire un quadro generale dei principali aspetti delle distribuzioni: ¾ Ottenere la distribuzione ¾ Installazione ¾ Aggiornamento ¾ Pacchetti ¾ Inizializzazione ¾ Software ¾ Assistenza ¾ Sicurezza ¾ Semplicità ¾ Stabilità ¾ Documentazione ¾ Costi delle versioni commerciali ¾ Altre caratteristiche Analisi delle distribuzioni 30 3.1 Ottenere la distribuzione Gentoo Linux Gentoo Linux offre un set d’installazione composto da due cd-rom, che può essere liberamente scaricato dai mirror Gentoo. Debian GNU/Linux Debian GNU/Linux può essere installata o scaricata con diverse modalità: per la prima istallazione è consigliabile comprare una serie di CD da uno dei rivenditori di CD Debian, oppure per un utente più esperto scaricare tutti i file necessari da Internet creando una serie di CD con la possibilità di scaricare direttamente le immagini oppure assemblare le immagini usando l’applicazione jigdo5, inoltre è anche possibile scaricare il sistema d’installazione via rete e scaricare il resto dei pacchetti durante l’installazione oppure reperirlo allegato a qualche rivista di informatica. Red Hat Linux Red Hat Linux si può ottenere acquistando il set cd-rom di installazione e diversi manuali, oppure scaricare i file .iso della distribuzione dal server Red Hat o dai numerosi mirror disponibili. Slackware Linux La Slackware viene distribuita in un unico cd-rom avviabile contenente tutti i pacchetti necessari sia per l’uso server che desktop, inoltre è possibile ottenere liberamente la distribuzione dal sito ftp.slackware.com come file .iso oppure optare per un installazione via rete, Slackware, Inc. vende (il ricavato va allo Slackware Linux Project) “The official Slackware Linux CD” che comprende: cd-rom d’installazione, supporto all’installazione via email, manuale cartaceo. Mandrake Linux Per l'acquisizione si possono seguire diverse modalità. Nel caso si disponga di una connessione veloce è possibile scaricarla direttamente da Internet. Altrimenti, data la sua diffusione, non appena rilasciata una nuova versione, i CD sono allegati alle principali riviste dedicate al mondo Linux. 5 Il sistema jigdo permette di scegliere il mirror Debian più veloce per il download, tra i 300 disponibili in tutto il mondo. Permette una facile selezione del mirror e l'aggiornamento delle vecchie immagini all'ultima release disponibile. Inoltre, è l'unico modo per scaricare le immagini iso del DVD Debian. Analisi delle distribuzioni 31 Comunque Mandrake Linux si può ottenere acquistando i cd-rom d’installazione dal server Mandrake o dai mirror associati. Nei CD della distribuzione sono presenti anche software per realizzare servizi server, tuttavia tale aspetto in Mandrake è meno seguito rispetto ad altre distribuzioni, maggiormente apprezzate per le doti di stabilità e sicurezza. Suse Linux Suse Linux si ottiene acquistando il set cd-rom di installazione a cui è abbinata una fornitura di supporto telefonico, e-mail o form web, con caratteristiche (durata e tempi di risposta) variabili in funzione del prezzo, inoltre, è possibile ottenere la distribuzione come file .iso oppure tramite la rete locale utilizzando il protocollo NFS (Network File System). 3.2 Installazione Il metodo con meno probabilità d'errore anche per un’utente inesperto e completo per l'installazione sono le personalizzazioni fornite da Red Hat Linux, il pregio delle altre distribuzioni è il fatto che spingono l'utente ad installare solo il software veramente necessario mantenendo un sistema più pulito e leggero. L'installazione più veloce in assoluto e con abbastanza software per lavorare è l'installazione full di Slackware Linux che in pochissimo tempo installa più di 400 pacchetti. Gentoo Linux Gentoo Linux non ha un programma di installazione ma esiste una dettagliata guida che insegna la procedura basata su comandi che l'utente scrive nella console resa disponibile dal disco di boot. Un'installazione Gentoo non è facile, anche l'utente esperto dovrà leggere le procedure di installazione. Un'installazione completa Gentoo compilando il sistema da zero può durare anche più di 36 ore e sicuramente non è adatta ad un principiante, Gentoo segue l'esempio di Debian anche se è l'utente che installa pacchetto per pacchetto compreso il sistema minimale. Debian GNU/Linux La Debian avvia un programma di installazione, testuale e basato su menu,questo tipo di installazione, dopo un paio di esperimenti è abbastanza facile ed intuitiva, anche se l'utente meno esperto abituato a cliccare piuttosto che a scrivere comandi si troverà a proprio agio con un’installazione grafica come quella fornita da Red Analisi delle distribuzioni 32 Hat Linux. Debian GNU/Linux installa un sistema essenziale da poche centinaia di megabyte, sarà poi l'utente a dover installare in un secondo tempo pacchetto per pacchetto aiutato dai numerosi e potenti software di gestione pacchetti disponibili. Red Hat Linux Tra le distribuzioni considerate Red Hat è l'unica con Mandrake Linux e Suse Linux ad avere una procedura di installazione grafica che attraverso un wizard molto semplice guida l'utente attraverso le fasi dell' installazione, una caratteristica utile di Red Hat Linux è l'avere pronti per l'utente, al momento dell'installazione, diverse tipologie d'installazione possibili (Personal Desktop, Workstation, Server, Personalizzata, Aggiornamento) che oltre ad installare software differenti configurano il sistema in modo appropriato e questo è molto comodo per un principiante. Slackware Linux L'installazione Slackware è basata sulla console, infatti all'avvio del boot-disk non si presenta un programma di installazione ma una console GNU/Linux completa di numerosi programmi per la preparazione del computer all' installazione come ad esempio fdisk per il partizionamento dell'hard-disk: l'utente dovrà poi lanciare setup per entrare nel programma di installazione testuale vero e proprio basato su menu. A differenza di Red Hat Linux, nella Slackware è possibile scegliere fra un'installazione completa ed un'installazione personalizzata in cui si sceglie pacchetto per pacchetto. Però entrambe sono abbastanza scomode per l'utente: nel primo caso vengono installati anche pacchetti non necessari, nel secondo caso la procedura di installazione diventa notevolmente più lunga e con il rischio di dimenticare qualche pacchetto importante. Mandrake Linux La Mandrake si presenta molto user-friendly già dall'installazione grazie anche alla possibilità di scegliere tra circa 80 lingue, totalmente grafica e molto precisa nel riconoscere le periferiche e nel configurarle quasi perfettamente, riuscendo a riconoscere e configurare la maggior parte dell'hardware in modo automatico, quindi molto adatta ad utenti inesperti. La procedura è realmente molto semplice e richiede pochissime competenze tecniche, in relazione alla classe di installazione Analisi delle distribuzioni 33 scelta. Tuttavia, per un utente alle prime armi è disponibile la documentazione, in particolare la Guida rapida. La procedura di installazione, utilizza un tool grafico chiamato DrakX, esso consente diverse modalità di installazione: grafica ad alta risoluzione, grafica a risoluzione ridotta, testuale e grafica per esperti. In questa ultima modalità sono mostrate più opzioni durante i vari passi, comunque accessibili anche nelle altre modalità premendo dei pulsanti appositi. L'unica funzionalità presente solo in questa modalità è la fornitura di moduli particolari per il kernel, equivalente più o meno ai driver di Windows. Suse Linux La Suse Linux ha una procedura di installazione grafica e veloce che facilita anche l’utente più inesperto nell’istallazione della distribuzione: il prodotto dispone di diverse modalità di installazione tra le quali CDROM o DVDROM, hard disk oppure tramite la rete locale utilizzando il protocollo NFS. Il processo di installazione può anche essere eseguito tramite VNC (Virtual Network Computer) dalla console di un altro computer. 3.3 Aggiornamento Gentoo Linux Solitamente gli utenti Gentoo non aspettano il rilascio di una nuova release della distribuzione per l’aggiornamento, l’ultimissima versione è sempre disponibile sincronizzando il portage-tree6 ed aggiornando il sistema di conseguenza. In questo modo non vi è alcuna necessità di attendere mesi e Gentoo costantemente rifinita ed aggiornata, quindi tutte le migliorie sono direttamente disponibili all’utente finale il giorno stesso o quasi. Debian GNU/Linux La distribuzione è particolarmente orientata alle realizzazioni server, pertanto predilige la stabilità ad un aggiornamento molto frequente dei pacchetti, che sono inseriti nella distribuzione solo quando i manutentori ritengono siano sufficientemente maturi e stabili. 6 Contiene la libreria delle istruzioni di compilazione per i vari pachetti. Analisi delle distribuzioni 34 Debian GNU/Linux fornisce un processo sicuro e robusto di aggiornamento, poichè i circa 900 volontari Debian cercano sempre di rendere la nuova versione facilmente aggiornabile dalla precedente, contribuendo ad un codice sempre nuovo e migliorato; nel caso ci siano aggiornamenti importanti, i pacchetti avvertiranno gli utenti provvedendo loro stessi alla soluzione dei problemi inoltre le nuove release sono pianificate per essere preparate quasi ogni mese e gli archivi FTP sono aggiornati giornalmente. Red Hat Linux Al passo con la continua evoluzione dello sviluppo software nel mondo Linux, le nuove versioni di Red Hat Linux vengono rilasciate continuamente ma come le altre distribuzioni l’aggiornamento risulta spesso complicato. Infatti un aggiornamento completo richiede la maggior parte delle volte la formattazione di tutto l’hard disk. In Red Hat Linux ogni pacchetto fornisce una diversa parte del software, completamente testato, configurato e pronto all’esecuzione. Il processo di installazione di Red Hat Linux permette di aggiornare una precedente versione basata sulla tecnologia RPM, il processo di aggiornamento preserva i file di configurazione esistenti rinominandoli con l’estensione .rpmsave e genera un file log in /root/upgrate.log contenente le operazioni effettuate. Con l’evoluzione del software il formato dei file di configurazione può cambiare, quindi sarà compito dell’amministratore confrontare i file originali con i nuovi prima di interagire con i cambiamenti. Inoltre alcuni pacchetti aggiornati potrebbero richiedere l’installazione di altri pacchetti per un corretto funzionamento e l’amministratore può scegliere la configurazione manuale occupandosi delle dipendenze altrimenti la procedura di aggiornamento si occuperà delle dipendenze, installando se necessario pacchetti aggiuntivi non presenti nel sistema. Slackware Linux La Slackware mira a fornire una distribuzione aggiornatissima per quel che riguarda il software, ma non ha un metodo standard ed automatico per l’aggiornamento di tutto il sistema: questo è lasciato nelle mani dell’amministratore che sceglierà se aggiornare pacchetto per pacchetto o reinstallare l’intera distribuzione salvando eventualmente le configurazioni dei programmi installati. Analisi delle distribuzioni 35 Gli utenti possono seguire passo passo l’evoluzione della versione di sviluppo chiamata current, installarla e testarla. Mandrake Linux Il processo di installazione di Mandrake Linux permette di aggiornare una precedente versione basata sulla tecnologia RPM tramite un apposito strumento che permette di impostare le fonti (i siti web o cartelle locali) da cui prelevare i pacchetti. In tal modo, la procedura di installazione del pacchetto desiderato e la gestione di conflitti e dipendenze da altri pacchetti è gestita in maniera completamente automatica da RPMDrake che si incarica di scaricare i pacchetti necessari. Suse Linux Il supporto della versione è garantito per un ciclo di vita di circa cinque anni dal rilascio, durante i quali saranno rilasciate frequentemente patch per i bug scoperti degli aggiornamenti. Il processo di aggiornamento di Suse Linux permette di installare semplicemente una successiva versione della distribuzione basandosi su un sistema di packaging aperto fornito dall’applicazione RPM. 3.4 Pacchetti Per installare del software su un sistema GNU/Linux è sufficiente copiare i file necessari all’applicazione desiderata, mantenendone la relativa gerarchia all’interno dell’albero delle directory. Poiché è piuttosto scomodo reperire e trasportare tutti i file necessari ad un’applicazione, l’insieme di tali file è generalmente raccolto all’interno di un unico file che costituisce un pacchetto di installazione. Quindi, per ogni applicazione esisterà un pacchetto di installazione, ovvero un file, generalmente in formato compresso per ridurre al massimo le dimensioni del pacchetto stesso, che contiene l’insieme dei file che costituiscono l’applicazione stessa. Il sistema più intuitivo ed usato è sicuramente RPM visto anche il numero di programmi distribuiti in questo formato disponibili su Internet. I sistemi a pacchetti Debian GNU/Linux e Gentoo sono per un'utenza più esperta in grado di utilizzarne tutte le funzionalità. Analisi delle distribuzioni 36 Gentoo Linux I pacchetti Gentoo sono simili come funzionalità ai pacchetti Debian GNU/Linux ma richiedono molto tempo per l'installazione visto che ogni nuovo programma deve essere compilato. Una funzionalità unica ed interessante del sistema a pacchetti Gentoo è la possibilità di mantenere diverse versioni dello stesso programma sullo stesso sistema. I pacchetti Gentoo sono a parte e nessun software, oltre Portage, riesce a gestirli. I pacchetti non vengono "memorizzati" come entità indipendenti. Gentoo, invece, fornisce un set di script che possono risolvere dipendenze, scaricare codice sorgente e compilare una versione del pacchetto per soddisfare le necessità dell'utente. Debian GNU/Linux Debian GNU/Linux non è limitata alla definizione di sistema operativo in senso stretto, ed è sicuramente il gestore di pacchetti binari più complesso: infatti riesce gestire diversi stati di dipendenza, non tutti gli utenti però possono trovare utile questa complessità. In un sistema server dove il sistema deve sempre funzionare senza problemi, il sistemista può trovare utile la raffinatezza dei pacchetti Debian GNU/Linux, ma in un sistema domestico le funzionalità fornite da un pacchetto RPM sono più che sufficienti: gli 8250 pacchetti inclusi possono essere selezionati per l’installazione da uno strumento sviluppato da Debian. Tutti i pacchetti che sono fondamentalmente parte di Debian GNU/Linux sono liberamente ridistribuibili, di solito sotto i termini specificati dalla GNU General Public License. Red Hat Linux Red Hat Linux definisce uno standard che identifica i pacchetti realizzati chiamato RPM (Red Hat Package Manager): l’applicazione RPM è un sistema di Packaging aperto, disponibile per tutti, distribuito secondo i termini della General Public License. Per l’utente finale, RPM crea aggiornamenti di sistemi semplici, l’installazione, la disinstallazione e l’aggiornamento dei pacchetti sono effettuate con comandi brevi; RPM inoltre contiene un database dei pacchetti installati e dei rispettivi file in modo che l’utente possa effettuare ricerche e verifiche sul sistema Analisi delle distribuzioni 37 Slackware Linux I pacchetti Slackware sono ridotti a causa di una scelta di Volkerding di avere un solo software per ogni compito specifico, inoltre non offrono nessuna sicurezza di funzionamento del pacchetto una volta installato: questa caratteristica è utile per un’amministratore esperto che sa quali librerie vengono richieste dai programmi e non vuole perdersi in schemi prefissati di dipendenze delle altre distribuzioni, l'utente meno esperto si trova però presto ad avere un sistema poco funzionante. Mandrake Linux Mandrake ha ereditato da Red Hat l’utilizzo dei pacchetti RPM e le distribuzioni che li utilizzano solitamente forniscono tool grafici che semplificano l'interfaccia verso l'utente. RPMDrake è lo strumento che Mandrake fornisce per installare e rimuovere pacchetti RPM. Si può decidere quale gruppo di pacchetti installare e decidere se passare o meno ad una scelta ragionata pacchetto per pacchetto: in questo caso esiste anche una procedura automatica di controllo delle dipendenze per installare sempre tutti i pacchetti necessari ai vari programmi. Il tempo di installazione varia a seconda dello spazio occupato sul disco e della velocità del computer. Una volta finito viene riavviato il pc e si può cominciare da subito ad usare la distribuzione. Suse Linux Suse Linux utilizza il sistema di packaging aperto fornito dall’applicazione RPM attraverso il quale l’utente può effettuare controlli ed un semplice aggiornamento del sistema attraverso i comandi ed il database di pacchetti installati contenuti nell’ RPM. 3.5 Inizializzazione Tutte le distribuzioni installano un Boot Loader (meccanismo di avvio del sistema operativo) le uniche distribuzioni che di default installano un Boot Loader grafico sono Red Hat Linux, Mandrake Linux e Suse Linux, le altre tre installano un Boot Loader basato su menu testuali. Tutte le distribuzioni cercano nelle partizioni eventuali altri sistemi operativi e li inseriscono nelle possibili scelte all'avvio. Analisi delle distribuzioni 38 Gentoo Linux Gentoo usa, per gli script di avvio, uno stile creato ad hoc per la distribuzione molto potente, infatti riesce a gestire le dipendenze tra servizi ed un numero infinito di runlevel differenziati da un nome piuttosto che un numero; l'unica nota negativa è che si basa su un linguaggio di scripting non standard creato dalla Gentoo. Debian GNU/Linux Debian GNU/Linux esegue il boot eseguendo il programma init; il file di configurazione di init specifica che il primo script da eseguire deve essere /etc/init.d/rcS; questo script controlla e monta i filesystem, carica i moduli, lancia i servizi di rete , imposta l’orologio ed altre inizializzazioni e poi lancia tutti gli altri script tranne quelli localizzati in /etc/rc.boot che sono riservati all’amministratore di sistema. Red Hat Linux Red Hat Linux esegue l’avvio del sistema utilizzando il programma /sbin/init che usa un sistema SystemV scelto per la sua semplicità e flessibilità rispetto a BSD. Il sistema di runlevel SysV init fornisce un processo standard per controllare quale software viene avviato o interrotto per un runlevel particolare dal comando init. Gli script utilizzati dal comando /sbin/init sono contenuti nella directory init.d/, questa contiene sei runlevels predefiniti configurati per default da Red Hat Linux, attraverso il quale si possono utilizzare sistemi diversi in runlevels differenti. Slackware Linux Slackware usa degli script di init in stile BSD: ad ogni task o runlevel è associato il proprio file rc e ciò permette una struttura organizzativa facile da gestire. Ci sono varie categorie di files d’inizializzazione: avvio del sistema, runlevels, inizializzazione della rete, compatibilità SystemV ed altre personalizzate. La differenza principale è come sono strutturati: per Slackware, la facilità d'uso degli script in stile BSD controbilancia la grande potenza degli script in stile SystemV. Nella versione Slackware Linux 9.0 è possibile usare sia script in stile SystemV che BSD. Analisi delle distribuzioni 39 Mandrake Linux Mandrake utilizza il sistema SystemV per eseguire l’avvio del sistema, un aspetto delicato è l'installazione del Boot Loader. Se sul computer sono presenti altri sistemi operativi, li rileva e li inserisce nell'elenco da mostrare al boot. Normalmente si crea un dischetto di avvio che consente di avviare GNU/linux da floppy e cercare di correggere eventuali errori. Il tool di installazione permette di configurare a piacimento scheda grafica, monitor, scheda di rete, di partizionare l'hard disk a piacimento (anche se si consiglia di fare le partizioni prima, onde evitare problemi), di installare un boot loader (a scelta tra due, che riconoscono automaticamente Windows e si configurano da soli), insomma tutto con pochi click del mouse. Si può decidere se effettuare una nuova installazione oppure di aggiornare un sistema precedente, ha diversi tipi di installazione da quella per newbe (principianti) che non vogliono mettere mano in fase di configurazione a quelle per i più esperti che vogliono prendere ogni singola decisione. Suse Linux Suse utilizza un programma di installazione chiamato YaST2, lo strumento universale di installazione e amministrazione del sistema di Suse con il quale impostare il sistema diventa comodo e facile. Yast2 assiste durante ogni intervento sul sistema: l'installazione di software, l'amministrazione di hardware e utenti, la configurazione dell'accesso a Internet e della rete. L’hard-disk viene partizionato in modo automatico, un eventuale sistema Windows(9x/ME/XP) già installato viene ridimensionato e inoltre viene installato del software e configurato in modo automatico l’hardware. 3.6 Software Per un utilizzo desktop dove c'è la necessità di numerose periferiche (come macchine fotografiche usb, schede tv, laptop, ecc.) i kernel forniti da Red Hat e Gentoo sono la scelta migliore pagando però l'instabilità di un kernel non testato fino in fondo. Gentoo Linux La distribuzione Gentoo oltre al classico kernel Linux ne offre molti altri testati per soddisfare ogni scopo, dal kernel per giocatori al kernel per creare cluster, offre Analisi delle distribuzioni 40 anche il kernel incluso nella Red Hat. Gentoo non possiede kernel precompilati; esso offre però vari sorgenti del kernel, molti dei quali anche con patch per il miglioramento delle prestazioni. La configurazione può essere fatta o attraverso la tradizionale utility menuconfig inclusa in Linux o con genkernel, un programma di compilazione per kernel di ogni genere. Debian GNU/Linux Debian ha dei tempi di release molto lunghi ed il kernel incluso nella Debian GNU/Linux solitamente è ad una versione più vecchia rispetto a quello incluso nelle altre distribuzioni. La woody ha ancora come default kernel Linux della serie 2.2 che è l’unica ad utilizzare la glibc nella serie 2.2, le altre la usano nella serie 2.3 e successive. Red Hat Linux Red Hat Linux è disponibile con un kernel Linux testato dagli sviluppatori Red Hat che ha dimostrato durante gli anni di essere sempre al passo con i tempi, ma di non essere sempre all'altezza riguardo alla stabilità e sicurezza; in ogni modo Red Hat ha sempre corretto immediatamente eventuali bug scoperti dopo il rilascio. Il kernel Red Hat è aggiornato per supportare hardware anche molto recente, infatti è stata una delle prime distribuzioni a supportare le periferiche usb. Slackware Linux La distribuzione Slackware usa unicamente il kernel Linux standard senza personalizzazioni, eventuali patch sono rigorosamente segnalate nel ChangeLog.txt. Mandrake Linux Il kernel permette di sfruttare tutte le nuove caratteristiche introdotte più recentemente quali ad esempio la possibilità di usare periferiche USB o Firewire, sempre più diffuse, e non supportate a pieno dalle versioni precedenti. Suse Linux Come Mandrake Linux, la Suse Linux utilizza univocamente il kernel Linux standard senza significative personalizzazioni. Analisi delle distribuzioni 41 3.7 Assistenza Gentoo Linux Gentoo mette a disposizione vari documenti presenti sul canale irc #gentoo su irc.freenode.net. dove vengono trattati numerosi temi riguardo alla manutenzione e all’assistenza della distribuzione, oltre alle mailing list di Gentoo Linux delle quali c'è una lista su Google. Per ricercare all'interno delle Gentoo list basta digitare solo "lists.gentoo.org xxx" per ricercare "xxx" all'interno delle mailing list di Gentoo. Debian Linux Debian non è un'azienda, ma un'associazione di volontari. Quindi non fornisce un'assistenza di tipo commerciale. Esistono diversi strumenti di supporto per rimediare a situazioni di errore o problemi, tra cui ricordiamo le mailing list, i newsgroup, una chat, siti web e comunità di utenti on-line. Per un supporto online su problemi contingenti, esistono diverse chat ove è possibile incontrare utenti Debian disposti a fornire la propria competenza ad altri. Le chat sono soggette ad una ben precisa netiquette che tra l'altro richiede analoga disponibilità a chi utilizza il servizio. Tale supporto può non essere adeguato per un'azienda. Chi volesse un'assistenza specifica può trovare sul sito di Debian un elenco di professionisti sparsi in tutto il mondo che erogano tale servizio. Purtroppo l'elenco non riesce a coprire tutto il territorio puntualmente (in Italia sono presenti solo quindici nomi), quindi è facile pensare che nella maggior parte dei casi, tale supporto possa essere fornito solo telefonicamente o tramite un accesso remoto. Red Hat Linux Red Hat è un prodotto commerciale basato quasi esclusivamente di software OpenSource, il cui valore reale è in gran parte legato al servizio di assistenza. Il livello di assistenza fornito dipende dalla versione acquistata, garantendo servizi, fasce orarie ed i tempi massimi di risposta diversi, ma comunque sempre di buon livello. Sul sito italiano di Red Hat non esiste una sezione specifica per il supporto ed è quindi necessario raggiungere la sezione dedicata al supporto del sito americano. Il servizio di assistenza telefonico risponde anche in italiano: il servizio è stato utilizzato per cercare di risolvere qualche problema incontrato durante il test, Analisi delle distribuzioni 42 ricevendo suggerimenti adeguati. On-line sono anche disponibili delle FAQ e copia della documentazione presente nei CD, solo in inglese. Slackware Linux L’assistenza Slackware è basata unicamente sulla documentazione on-line, sul sito infatti è presente un unico manuale che spiega in modo sintetico le principali funzioni della distribuzione e il manuale è disponibile unicamente in inglese. Mandrake Linux Sul sito ufficiale sono disponibili numerose mailing-list, un portale ad accesso riservato, un archivio con informazioni relative al supporto. L'acquisto del prodotto è abbinato ad una fornitura di supporto denominata Maintenance Program dalle caratteristiche simili a quelle di software completamente commerciali. Tale servizio è erogato per telefono, e-mail o form web, con caratteristiche (durata e tempi di risposta) variabili in funzione del prezzo. Il supporto della versione è garantito per un ciclo di vita di circa cinque anni dal rilascio, durante i quali saranno rilasciate patch per i bug scoperti ed aggiornamenti. Suse Linux L'assistenza è fornita secondo i dettami del Suse Linux Maintenance Program che garantisce la qualità del servizio ed i limiti temporali del supporto al prodotto, anche in termini di aggiornamenti. 3.8 Sicurezza Gentoo Linux Gentoo utilizza software sempre relativo alle ultimissime versioni. Spesso vengono inseriti programmi in beta dei quali però non è possibile garantire l'assenza di bug di sicurezza. Grazie ad una tecnologia chiamata Portage, Gentoo Linux può diventare un server sicuro e ideale, una workstation di sviluppo, un desktop professionale, un computer dedicato al gioco, una soluzione embedded ed altro. Vista la sua illimitata adattabilità, Gentoo Linux viene definita una “metadistribuzione”. Debian GNU/Linux Debian si è sempre dimostrata un'ottima scelta per i server grazie al lungo test a cui vengono sottoposti i suoi pacchetti. Analisi delle distribuzioni 43 Red Hat Linux Alcuni problemi avuti in passato (come il caso della sostituzione delle iso per la versione 7.0) hanno purtroppo minato la reputazione di questa distribuzione. L’ottimo supporto e la possibilità di aggiornare facilmente i pacchetti contribuiscono a dare maggiore sicurezza a questa distribuzione. Slackware Linux Slackware rimane una delle distribuzioni in assoluto più sicure assieme a Debian, e sotto questo punto di vista la si può ritenere allo stesso livello di quest’ultima. Mandrake Linux Mandrake per il suo orientamento “desktop” non è probabilmente la migliore scelta per l’utilizzo su un server. Infatti molti dei server avviati di default, probabilmente messi nell’ottica di fornire un servizio in più all’utente, possono non essere richiesti da un server. Suse Linux Suse è riuscita a farsi una discreta reputazione nell'ambiente della sicurezza grazie a una buona fase di testing (esiste anche un pacchetto per il miglioramento delle impostazioni sulla sicurezza chiamato handuse). 3.9 Stabilità Gentoo Linux Come per la sicurezza, nonostante gli aggiornamenti siano costanti, la politica di inserire anche programmi in beta o in prerelase non sempre può essere conveniente. Debian GNU/Linux Rinunciando a tutti gli orpelli grafici adottati da tante altre distribuzioni, Debian ha puntato sulla leggerezza e su una grande stabilità. Red Hat Linux Anche per quel che riguarda la stabilità Red Hat, pur avendo avuto qualche problema in passato, si dimostra nel complesso a un ottimo livello. Slackware Linux Oltre che sicura, Slackware risulta essere anche una distribuzione decisamente solida, alleggerita com’è da tutti gli orpelli grafici presenti in altre distribuzioni. Analisi delle distribuzioni 44 Mandrake Linux Purtroppo le ultime release di Mandrake, in particolare la 8.0 e la 8.1 non hanno confermato il successo e l’affidabilità della versione 7.2. Per fortuna la 8.2 e la 9.0 sembrano aver riportato questa distribuzione agli standard di un tempo. Suse Linux Anche per quanto riguarda la stabilità Suse non ha molto da invidiare e i problemi di cui ha sofferto semmai sono da reputarsi alla "precocità" dei pacchetti. 3.10 Semplicità Gentoo Linux Installare Gentoo può essere un'impresa impossibile per il neofita e un calvario per l'utente che, già conoscendo GNU/Linux si ritrova a dover fare i conti con diverse decine di ore di installazione e la quasi totale assenza di tool di configurazione. Debian GNU/Linux L'utilizzo di questa distribuzione non è molto indicato a chi non ha almeno un minimo di esperienza con il mondo Linux a causa della totale assenza di utility per configurare tutto a colpi di click, anche se non mancano utility essenziali per la configurazione dei servizi. Red Hat Linux Red Hat ha sempre cercato di venire incontro all’esigenze degli utenti alle prime armi fornendo loro degli strumenti semplici per poter configurare il proprio sistema. Slackware Linux Slackware non è di certo indicata a un utente alle prime armi, l’assenza di tools grafici poi non dispone bene l’utente che ha poca voglia di andare a modificare manualmente dei file per configurare il proprio sistema. Mandrake Linux Il punto forte di Mandrake è sempre stato la semplicità ed è sempre stata fin dall’inizio riferimento per gli utenti meno esperti, cercando di metterli a proprio agio con i propri strumenti. Suse Linux Gli sforzi del team di Suse nelle ultime release ha puntato in particolar modo alla semplicità. Gli enormi passi avanti fatti con la versione 7.3 e le conferme avute con Analisi delle distribuzioni 45 le successive ne fanno certamente una delle distribuzioni più semplice da installare e da utilizzare. 3.11 Documentazione Gentoo Linux La documentazione ufficiale di Gentoo può essere trovata su http://docs.gentoo.org/. Gentoo anche se è l'ultima nata ha comunque molta documentazione ben scritta e tradotta in numerose lingue; vengono trattati temi come l'installazione, non banale, del sistema e vari aspetti specifici di Gentoo. Debian GNU/Linux La documentazione online più completa e chiara è quella disponibile per Debian GNU/Linux, con numerose localizzazioni. Interamente tradotta in almeno due o tre lingue. Red Hat Linux Red Hat Linux ha molta documentazione cartacea: esistono infatti libri che trattano ogni aspetto di Red Hat Linux, mentre la documentazione sul sito è abbastanza carente anche se tradotta in molte lingue e si limita a proporre delle procedure per svolgere le varie attività; esiste un giornale bimestrale che si realizza attorno ad un core statunitense e lasciato a referenti nazionali, chiamato Red Hat Magazine che include solitamente due o tre cd-rom di software Red Hat Linux, il giornale vuole imporsi come unica referenza ufficiale dei prodotti Red Hat. Slackware Linux Slackware fornisce poche modalità di assistenza e per lo più in lingua inglese rispecchiando la filosofia della distribuzione, il sito ufficiale prevede dei forum di discussione dove gli utenti possono scambiarsi informazioni a riguardo della manutenzione ed è previsto un sistema di assistenza online. Mandrake Linux Mandrake mette a disposizione chiari manuali tradotti in numerose lingue, ed inoltre un supporto gratuito che è a disposizione delle richieste dell’utente più inesperto. Analisi delle distribuzioni 46 Suse Linux Suse fornisce un chiaro manuale in lingua inglese (pur essendo la lingua italiana supportata dal sistema operativo) di circa 350 pagine. Il manuale è suddiviso in quattro sezioni: General Informations, CD , Installation, Administration. 3.12 Costi delle versioni commerciali Dati disponibili sul sito http://openskills.info, aggiornati al 15 Ottobre 2004 Gentoo Linux , Debian GNU/Linux e Slackware Linux Non esistono versioni commerciali di queste distribuzioni, è comunque possibile comprarne i CD dai siti ufficiali o da terzi, pagandone i materiali, il tempo e i costi di distribuzione in puro GPL style, in ogni caso questi contengono esattamente le stesse versioni scaricabili da Internet o reperibili in varie riviste del settore. Red Hat Linux Red Hat Enterprise Linux WS (WorkStation) - Basic Edition: $179 - Standard Edition: $299 . Red Hat Enterprise Linux ES (Enterprise Server) - Basic Edition: $349 - Standard Edition: $799 . Red Hat Enterprise Linux AS (Advanced Server) - Standard Edition: $1499 Premium Edition: $2499 . Red Hat Desktop - Proxy Starter Pack: $2500 (10 Licenze RedHat Desktop + Red Hat Network Proxy Server (include Red Hat Enterprise Linux AS, Premium Edition). Red Hat Desktop - Extension Pack: $3500 (50 Licenze RedHat Desktop aggiuntive). Mandrake Linux Mandrakeclub membership Silver 120,00 € / anno (Accesso alla PowerPack Edition e altri bonus). Mandrakelinux 10.1 Community DVD: 54,00 € ISO Online Mandrakelinux 10.0 PowerPack: 79,90 € (8 CD, versione completa di programmi accessori). Mandrakelinux 10.0 Discovery: 44,90 € (2+1 CD, versione entry level). MandrakeSecurity Multi-Network Firewall: 499,90 € (Firewall Enterprise). Analisi delle distribuzioni 47 Corporate Server 2.1 - Standard support: 749,90 € (Enterprise Server, esistono costi aggiuntivi per diversi livelli di supporto). MandrakeClustering Pentium (1-16 CPU): 1.990,90 € (Versione per cluster enterprise). Suse Linux Suse Linux 9.1 Professional: $89.95. Suse Linux 9.1 Professional Update: $59.95. Suse Linux 9.1 Personal: $29.95 - ISO Online. Suse Linux Enterprise Server 9 - 2CPU: $389 - 16 CPU: $939. 3.13 Altre caratteristiche Di seguito sono presentate altre caratteristiche necessarie per completare l’analisi delle distribuzioni Linux considerate. 3.13.1 Sito Internet Le distribuzioni considerate hanno un sito Internet aggiornato frequentemente più o meno completo in cui pubblicano gli eventi associati alla propria distribuzione. Il sito più completo e allo stesso tempo leggero è http://www.debian.org disponibile con traduzioni in molte lingue in cui è possibile trovare ogni aspetto legato alla distribuzione, bugs aperti, download, documentazione, stato delle distribuzioni, notizie, sviluppo ed altro. Il sito www.gentoo.org è simile per funzionalità al sito Debian GNU/Linux ma essendo una distribuzione più giovane è meno completo. Il sito ufficiale Red Hat Linux, http://www.redhat.com/, non smentisce la vena commerciale della distribuzione promettendo in tutti i modi che la propria distribuzione è la migliore. La Slackware vanta un sito http://www.slackware.com che rispecchia la distribuzione: minimale ma con tutto il necessario e solo in inglese, prevede dei forum di discussione dove gli utenti vengono spesso interpellati sulle questioni più importanti relative allo sviluppo. Nel sito della Mandrake www.linux-mandrake.com è possibile anche ordinare le versioni a pagamento con manuali e supporto gratuito a corredo mentre sul sito Analisi delle distribuzioni 48 ufficiale di Suse http://www.suse.com è disponibile poca documentazione di tipo manualistico ma esiste la possibilità attraverso un login di accedere al portale di supporti in italiano della distribuzione. Il nome del sito caratterizza la filosofia seguita dalla distribuzione, infatti il top level domain di Debian GNU/Linux e Gentoo Linux è .org, quello di Red Hat Linux, Slackware Linux, Mandrake Linux e Suse Linux è .com. Debian GNU/Linux,Slackware, Mandrake e Suse hanno di default la versione 1.3 di server Web Apache mentre Red Hat Linux e Gentoo hanno la versione 2.0. 3.13.2 Hardware La distribuzione che supporta una maggiore quantità di hardware è la Debian GNU/Linux, mentre distribuzioni che più si adattano ad ogni tipo di hardware e alla continua evoluzione, disponibili per architettura x86, sono Red Hat Linux, Mandrake, Suse e Gentoo, che includono kernel e pacchetti di ultima generazione. A differenza di Windows in cui ogni unità di memoria è gestita con un file system separato, nelle distribuzioni Linux per avere accesso a tutti i file system dei dispositivi di memoria secondari (dischi aggiuntivi, cdrom, floppy ed altri) è necessario innestarli ("montarli") sul file system principale. Si comprende che per i dischi rimovibili (cdrom, floppy, dvdrom,ed altri) la situazione non è molto agevole perchè richiede l'innesto prima di utilizzare il supporto ed il disinnesto al termine dell'utilizzo. La configurazione predisposta da Mandrake consente di effettuare l'innesto ed il disinnesto automaticamente all'inserimento ed all'espulsione dei dischi rimovibili, tranne che non siano in uso. 3.13.3 Free Software La distribuzione che segue più fedelmente la filosofia del Free Software è la Debian GNU/Linux, nata da uno progetto della Free Software Foundation. Debian GNU/Linux ha un Contratto Sociale molto dettagliato che si può riassumere in cinque punti: Debian rimarrà sempre Free Software al 100%, tutto il software prodotto da Debian sarà disponibile come free software alla Free Software Community, non nasconderà i problemi del proprio software, le priorità sono gli Analisi delle distribuzioni 49 utenti e la Free Software Community ed i programmi che non incontrano gli standard Debian sul free software sono inclusi ma divisi dal resto del software. Il Contratto Sociale di Gentoo Linux è più permissivo del contratto Debian a cui è ispirato, infatti la distribuzione include senza particolari problemi anche software con licenze restrittive, l’attuale contratto sociale di Gentoo Linux è ancora allo stato di bozza e gli attuali punti fissi sono: Gentoo è e rimarrà Software Libero, restituisce alla comunità, non nasconde i problemi. Mandrake è sempre stata sostenitrice della licenza GPL dimostrandosi fedele nei confronti dei suoi utenti e coerente nella modalità di rilascio nonostante abbia rischiato il tracollo economico. Mandrake abbraccia la filosofia del software libero, ha quindi eliminato tutto il software proprietario dalla Standard Edition che quindi può essere scaricata, distribuita ed installata su tutti i computer che si desidera. É certificata con il Linux Standard Base che garantisce compatibilità con le altre distribuzioni che lo adottano. Suse Linux installa pacchetti con licenza GPL: ciò che non è consentito, oltre ad altri vincoli, è la duplicazione di Yast senza specifica autorizzazione di Suse; questo ovviamente preclude la libera duplicazione del supporto di installazione. Quindi la distribuzione Suse nel suo complesso non può definirsi OpenSource in senso stretto. Red Hat Linux e Slackware non hanno un Contratto Sociale con la comunità e non permettono il download pubblico delle ISO. 3.13.4 Grafica Tutte le distribuzioni si equivalgono offrendo XFree86 4.x; la Slackware, la Gentoo, la Mandrake, la Suse e la Red Hat nella versione 4.3 e la Debian nella versione 4.1. Tutte le distribuzioni possono funzionare sia in modalità testuale che in modalità grafica, per default solo Red Hat Linux è in modalità grafica, Debian GNU/Linux chiede al momento dell'installazione quale delle due sarà la default. La modalità grafica è caratterizzata da un Desktop manager che si occupa di gestire l'interfaccia a finestre verso l'utente. Red Hat e Mandrake sono le uniche distribuzioni che offrono personalizzazioni come temi e menu ai Desktop manager più famosi: Gnome2 e KDE3. Nell'ultima versione, la Red Hat ha cercato di rendere simili i Analisi delle distribuzioni 50 due Desktop manager proponendo il tema Bluecurve per entrambi i Desktop, favorendo l'utente principiante che spesso si trovava spaesato passando da un Desktop all'altro. In Slackware Linux, il sistema di init segue strettamente lo stile BSD secondo le specifiche tradizionali, ed tool grafici di gestione, per quanto essenziali, sono estremamente affidabili, fornendo un’interfaccia familiare. Una nota negativa della distribuzione Debian GNU/Linux è la versione non aggiornata in cui si trovano i vari Desktop manager nella release presa in esame: a questo proposito gli sviluppatori Debian consigliano per una workstation domestica l'uso della versione sarge tuttora in fase testing ma abbastanza stabile per uso domestico che include software più recente. 3.13.5 Casa / Ufficio Le distribuzioni che danno maggiore spazio all’utilizzo “per la casa” sono la Debian GNU/Linux, Red Hat Linux e Gentoo Linux che includono giochi e librerie grafiche di vario genere tra cui alcune basate su accelerazione hardware. La scelta migliore per chi ama giocare è Gentoo che include addirittura un kernel per giocatori, a Debian GNU/Linux spetta però il titolo del maggior numero di giochi inclusi, anche se molti sono testuali, Red Hat comprende una miriade di programmi quali Word Processor e player mp3, mentre in Slackware, per mantenere la distribuzione snella, l'idea di includere giochi non è neanche presa in considerazione. Nel settore dell’ufficio, le distribuzioni presentano servizi equivalenti, infatti includono software per l' ufficio KDE e Gnome ed un ambiente TeX, solo Slackware non dispone del pacchetto OpenOffice. 3.14 Confronto delle caratteristiche Di seguito nella tabella 7 vengono schematizzate le principali caratteristiche fino ad ora analizzate. Analisi delle distribuzioni 51 Tabella 7 : Confronto delle caratteristiche (prima parte). Analisi delle distribuzioni 52 Tabella 7 : Confronto delle caratteristiche (seconda parte). Analisi delle distribuzioni 53 4 Comparazione delle distribuzioni In questo capitolo si procede nella comparazione tra le distribuzioni fino ad ora analizzate, riportando delle tabelle che riguardano le principali differenze. I principali fattori che influenzano e caratterizzano la scelta di una distribuzione sono i seguenti: ¾ tipo di utente finale ¾ tipo di utilizzo desiderato ¾ tipo di costi ¾ prestazioni volute Analizzando ciascuno di questi punti è possibile effettuare una scelta che è diversa e mai unica per ogni utilizzatore, infatti è necessario ricordare che non esiste la distribuzione migliore in assoluto ma ognuna interpreta a suo modo le esigenze dell'utenza, ponendo l'accento su certe caratteristiche e trascurandone altre. 54 4.1 Tipo di utente finale Le distribuzioni che meglio si adattano a chi ha scarse conoscenze informatiche sono Red Hat, Mandrake e Suse, adatte per chi vuole muoversi in un ambiente semplice e confortevole; queste sono le uniche a consentire una gestione del sistema attraverso un’interfaccia grafica. L’alternativa, orientata ad utenti più esperti o che comunque vogliono approfondire le proprie conoscenze, è Debian GNU/Linux grazie ad una dettagliata documentazione. L’utente esperto che desidera ottimizzare in modo dettagliato il sistema per il proprio computer, con solo le funzioni di cui realmente necessita può utilizzare Gentoo che fornisce rispetto alle altre distribuzioni il metodo migliore di ottimizzare i binari per la propria architettura e di compilare unicamente le funzioni dei software che andranno utilizzate. Al contrario, chi preferisce utilizzare il sistema con programmi standard presenti in ogni distribuzione GNU/Linux può utilizzare Slackware che è l’unica distribuzione a non spingere l’utente ad utilizzare le proprie soluzioni per la gestione del sistema. L’utente legato al sistema operativo Windows che si vuole avvicinare al mondo GNU/Linux senza grandi stravolgimenti può installare Red Hat o Suse che, nelle ultime versioni hanno modificato il proprio desktop per renderlo più simile a quello del sistema operativo Microsoft. Inoltre tali distribuzioni forniscono un elevato supporto per i moduli del kernel, l’equivalente driver di Windows. Infine, si distinguono altre tipologie di utilizzatori, in primo luogo abbiamo chi utilizza il computer per navigare in Internet, in questo caso le distribuzioni consigliate sono Red Hat e Debian che offrono più software configurati per la rete rispetto le altre, in secondo luogo, abbiamo chi utilizza il computer per giocare, in questo caso si consigliano Red Hat e Suse per i principianti mentre Debian e Gentoo per i più esperti. Le migliori distribuzioni per i computer d’ufficio sono Red Hat, che offre supporto diretto agli utenti (a pagamento), Debian che grazie alla sua stabilità e aggiornamento sicuro permette un sistema per l’ufficio stabile e aggiornato ed infine Mandrake, utile per chi non dispone di competenze informatiche e quindi necessita di un ambiente amichevole. In questo ultimo caso Comparazione delle distribuzioni 55 diventa quasi un obbligo l'installazione di OpenOffice, la suite di produttività personale con elevata compatibilità verso Microsoft Office. Le considerazioni fatte in questo paragrafo sono riassunte nella tabella 8. Utente finale G E N T O O D E B I A N Ha una scarsa preparazione informatica e vuole utilizzare un computer attraverso un’interfaccia grafica Ha una buona preparazione informatica e vuole ottimizzare il sistema per le proprie esigenze. R E D H A T S L A C K W A R E × M A N D R A K E S U S E × × × Preferisce utilizzare il sistema GNU/Linux con programmi standard. × Preferisce utilizzare il sistema attraverso un’interfaccia grafica vicina a Microsoft Windows. × × Utilizza il computer unicamente per navigare in Internet. × × Utilizza il computer per svolgere lavoro d’ufficio. × × × × × × Utilizza il computer unicamente per giocare. × Tabella 8: Tipo di utente finale. Comparazione delle distribuzioni 56 4.2 Tipo di utilizzo desiderato La distribuzione che meglio si adatta ad un utilizzo server è Debian, per le sue doti di semplicità nell'installazione di pacchetti, attenzione alla sicurezza, prudenza nell'inserimento di nuovi pacchetti, particolare efficienza nella gestione di conflitti e dipendenze dei pacchetti, semplicità nell'aggiornamento di pacchetti o dell'intero sistema operativo specie attraverso Internet. Slackware rimane una delle distribuzioni in assoluto più sicure e, assieme a Debian, si presta ad essere un server sicuro e stabile, essendo “alleggerita” da tutti gli orpelli grafici presenti in altre distribuzioni. La predisposizione di Red Hat è per un utilizzo come server, dato che dispone del software necessario a realizzare la maggior parte dei servizi di rete, nonché di strumenti grafici per la loro configurazione, unitamente ad un supporto che garantisce tempi di intervento brevi. Suse risulta anch’essa appropriata per un utilizzo come server, visto che la dotazione di pacchetti desktop non è così ricca come per le altre distribuzioni analizzate. Inoltre il prezzo elevato ne sconsiglia l’uso come piattaforma desktop. L’utilizzo consigliato di Mandrake è desktop, dedicando alla semplicità d'uso molte risorse tramite la creazione di tool grafici di configurazione del sistema, è probabilmente una delle distribuzioni con maggiore probabilità di successo in fase di installazione, riuscendo a riconoscere e configurare la maggior parte dell'hardware in modo automatico, quindi molto adatta ad utenti inesperti. Infine, Gentoo grazie alla tecnologia Portage può diventare un server sicuro e ideale, nonché una workstation di sviluppo. Le considerazioni fatte in questo paragrafo sono riassunte nella tabella 9. Comparazione delle distribuzioni 57 Utilizzo Server G E N T O O D E B I A N × × R E D H A T × S L A C K W A R E M A N D R A K E × Desktop S U S E × × Workstation × Tabella 9 : Tipo di utilizzo. 4.3 Tipo di costi Si è che, essendo liberamente distribuibile, duplicabile e prelevabile da Internet, il costo di Linux è tendente spesso a zero. Tuttavia si possono trovare nei negozi confezioni di software Linux con prezzi anche elevati, quindi Linux non è gratis? Il fatto è che diverse case distributrici quali Red Hat, Suse, Mandrake, Slackware, Debian, unitamente ad altre società che distribuiscono soluzioni basate sul Linux, non si fanno pagare per il software in sé, ma per la dotazione completa fornita con la confezione: il sistema ordinato su CD-ROM, i programmi di installazione facilitata, il manuale ben curato su carta e, soprattutto, il diritto all’assistenza tecnica del personale specializzato dell’azienda distributrice. In un articolo apparso sulla rivista ‘PC OPEN’ il direttore di Italsel principale importatore e distributore di Linux in Italia, spiega che nel nostro paese i protagonisti di questo mercato sono la francese Mandrake e, soprattutto, l’americana Red Hat e la tedesca Suse, che da soli muovono circa 20.000 pacchetti l’anno7. Ciò che differenzia tra loro queste società e, quindi, ciò su cui devono competere è, in primo luogo, la varietà delle tipologie di servizi di assistenza tecnica che sono in grado di offrire alle diverse categorie di utenti. 7 Articolo tratto da ‘PC OPEN’, n°81, febbraio 2003, pag. 63. Comparazione delle distribuzioni 58 Nella analisi dei costi, vengono considerati principalmente il costo della distribuzione, il training del personale interno e l’eventuale consulenza di quello esterno, nonché i tempi di disservizio eventualmente dovuti a guasti o problemi. Gentoo e Debian seguono la filosofia del Free Software, tuttavia a causa soprattuto della complessità della loro interfaccia utente testuale, possono presentare alti costi di training del personale. Red Hat, Suse e Mandrake forniscono tutte versioni enterprise a pagamento delle proprie distribuzione con tempi di supporto di vari anni e durata di vita del software molto superiori alle versioni liberamente distribuite dagli stessi produttori e grazie all’interfaccia grafica risultano adatte ad un utente inesperto che tuttavia a causa di una scarsa stabilità può sostenere costi di consulenza esterna. Slackware fornisce una versione a pagamento mirata principalmente ad un’utenza preparata. Le considerazioni fatte in questo paragrafo sono riassunte nella tabella 10. Costi G E N T O O D E B I A N R E D H A T S L A C K W A R E M A N D R A K E S U S E × × × Sistema × Training del personale × × × Consulenza × esterna × × Manutenzione tecnica × × × × Tabella 10 : Tipo di costi. Comparazione delle distribuzioni 59 4.4 Prestazioni volute Non esiste la distribuzione “perfetta” in quanto i programmatori devono fare una scelta delle prestazioni che la propria distribuzione dovrà possedere in modo tale da ottenere un buon compromesso tra sicurezza, stabilità e semplicità di manutenzione. Gentoo, Debian e Slackware preferiscono la sicurezza, garantita da lunghi test sui pacchetti prima che vengano inseriti in una nuova release. Così facendo trascurano però la semplicità, e ciò è dovuto principalmente all’assenza di tool di configurazione dotati di interfaccia grafica. Al contrario Suse e Mandrake hanno puntato sulla semplicità fornendo agli utenti del proprio sistema strumenti di configurazione ed un’interfaccia grafica. L’unica distribuzione che non ha scelto di prediligere una prestazione particolare trascurando le altre è Red Hat che ha trovato un buon compresso tra sicurezza e semplicità. Le considerazioni fatte in questo paragrafo sono riassunte nella tabella 11. Prestazioni Sicurezza G E N T O O D E B I A N × × Stabilità R E D H A T × × Semplicità S L A C K W A R E M A N D R A K E S U S E × × × × × Tabella 11: Prestazioni. Comparazione delle distribuzioni 60 4.5 Riassunto della Comparazione In questa sezione sono riportati, in forma sintetica, i principali vantaggi e svantaggi di ciascuna distribuzione analizzata. Lo scopo di questa sezione è quello di fornire una visione d’insieme delle principali caratteristiche delle varie distribuzioni Linux precedentemente analizzate. 4.5.1 Gentoo Vantaggi Svantaggi ¾ Grazie alla tecnologia Portage può diventare un server sicuro e una workstation di sviluppo. ¾ Per un utente esperto. ¾ Permette di ottimizzare il sistema per le proprie esigenze. ¾ Installazione testuale. ¾ Aggiornamento frequente. ¾ Costi: training del personale, manutenzione tecnica. ¾ Documentazione scritta in più lingue. ¾ Sito Internet completo e in più lingue. ¾ Contratto sociale permissivo. ¾ Presenta un kernel esclusivamente per i giochi. 4.5.2 Debian Vantaggi ¾ Stabilità e aggiornamento sicuro. ¾ Aggiornamento stabile e semplice. ¾ Documentazione online completa. Svantaggi ¾ Per un utente esperto. ¾ Installazione testuale. ¾ Costi: training del personale. ¾ Sito Internet completo, leggero e in più lingue. ¾ Offre software configurati per la rete. ¾ Contratto sociale dettagliato. ¾ Buono per chi utilizza il computer per giocare. Comparazione delle distribuzioni 61 4.5.3 Red Hat Vantaggi Svantaggi ¾ Per un utente che ha scarsa preparazione informatica e vuole utilizzare un computer. ¾ Aggiornamento complesso. ¾ Utilizza il sistema attraverso un’interfaccia grafica vicina a Microsoft Windows. ¾ Sito Internet commerciale. ¾ Offre software configurati per la rete. ¾ Documentazione online carente. ¾ Libri e riviste a supporto quali Red Hat Magazine. ¾ Non ha contratto sociale. ¾ Buono per chi utilizza il computer per giocare. ¾ Costi: consulenza esterna , manutenzione tecnica. 4.5.4 Slackware Vantaggi Svantaggi ¾ Server sicuro e stabile. ¾ Per un utente esperto. ¾ Installazione veloce. ¾ Installazione testuale. ¾ Aggiornamento frequente e semplice. ¾ Manuale solo in lingua Inglese. ¾ Servizi online. ¾ Documentazione online carente. ¾ Sito Internet minimale. ¾ Non ha contratto sociale. Comparazione delle distribuzioni 62 4.5.5 Mandrake Vantaggi Svantaggi ¾ Per un utente che ha scarsa preparazione informatica e vuole utilizzare un computer. ¾ Scarsa stabilità. ¾ Utilizza il sistema attraverso un’interfaccia grafica. ¾ Sito Internet minimale. ¾ Per la sua semplicità consigliata ad un utilizzo desktop. ¾ Concepita univocamente per un utilizzo desktop. ¾ User – friendly ¾ Costi: sistema, manutenzione tecnica. ¾ Aggiornamento frequente e semplice. ¾ Documentazione in più lingue. ¾ Licenza GPL. 4.5.6 Suse Svantaggi Vantaggi ¾ Per un utente che ha scarsa preparazione informatica e vuole utilizzare un computer. ¾ Manuale solo in lingua Inglese. ¾ Utilizza il sistema attraverso un’interfaccia grafica vicina a Microsoft Windows. ¾ Preferita la semplicità alla stabilità. ¾ Installazione grafica e veloce. ¾ Sito Internet minimale. ¾ Aggiornamento frequente e semplice. ¾ Costi: sistema , consulenza esterna, manutenzione. ¾ Licenza GPL. ¾ Buono per chi utilizza il computer per giocare. Comparazione delle distribuzioni 63 5 Casi di studio In questo capitolo si procede all’analisi per l’individuazione della distribuzione più appropriata per tre casi di studio nel campo delle reti locali. Il problema più frequente di coloro che decidono di utilizzare il sistema operativo GNU/Linux, infatti, è quale distribuzione è più adatta a raggiungere i propri scopi infatti la varietà di offerte genera confusione nell’utente finale che rischia di trovarsi sommerso da una miriade di possibilità, senza sapere bene quale sia quella che meglio si adatta alle proprie esigenze. Scegliere tra le numerose alternative possibili per strutturare una rete comporta la necessità di considerare numerosi parametri. La varietà delle opzioni di rete è cresciuta e attualmente le opzioni possibili vanno da semplici reti domestiche in grado esclusivamente di condividere stampanti e il collegamento ad Internet a reti più complesse come quelle aziendali dotate di server e protette da firewall. Il costo e la complessità di amministrazione di una rete crescono con la potenza e le funzionalità della rete stessa, la maniera migliore di scegliere la rete di cui dotarsi è quella di determinare a priori di che cosa si ha bisogno. 64 5.1 Perché utilizzare Linux Nella tabella 12 presa dal sito http://linux.netlink.it/ sono elencate le usuali funzionalità di rete e le soluzioni che vengono proposte all'interno dei più diffusi sistemi operativi. Linux Unix Nt Win95 Mac Servizi di stampa File server Mail server DNS x x x x x * * x x * * * x * * * x * * Web Server x x * * * Firewall Routing Gateway Internet Ethernet x x x x x * x x x x * x x x x * x x x x Token Ring x * * * * Arcnet Framerelay ISDN x x x * * * * * * * * * - PPP x x x x x SLIP TCP/IP X.25 x x x x x * x x * x x * x x * IPX (Novel) x x x x * SMB (Windows) Appletalk x x x * x * x * * x Tabella 12 : Funzionalità di rete dei principali sistemi operativi Leggenda: x Supporto di rete fornito con il sistema * Supporto di rete disponibile come extra - Supporto non disponibile Casi di studio 65 Uno dei primi problemi da affrontare nella scelta di un sistema operativo per la propria rete sono i costi; Linux è gratuito, infatti, la maggior parte delle distribuzioni sono sotto la GPL che impone la non commercializzazione sia del sistema operativo, sia delle utility. I costi di gestione e amministrazione sono inoltre molto più bassi in Linux rispetto agli altri sistemi operativi; infatti quando si presentano problemi, Linux fornisce chiari messaggi di errore, funzioni di tracing e capacità di debug oltre ad una dettagliata documentazione. Linux consente anche di simulare altri apparati (quali router, bridge, firewall, ecc.), abbassando i costi complessivi dell’infrastruttura. Per quanto riguarda il software, è possibile trovare quasi ogni tipo di software disponibile gratis o a basso costo, i cui bug vengono corretti e le nuove funzionalità vengono aggiunte con rapidità. Inoltre poiché il sistema operativo è disponibile insieme al codice sorgente, se si ha bisogno di una particolare caratteristica con urgenza, è più facile aggiungerla rispetto ad un sistema operativo a scatola chiusa. Un altro pregio di Linux è la velocità con cui viene aggiornato; i problemi di sicurezza ed i bugs vengono rapidamente individuati e risolti, spesso in termini di ore. La più grande differenza tra Linux ed i suoi competitori è nella documentazione e nel supporto online: la documentazione si distingue rispetto a qualunque altro sistema operativo per quantità, qualità, prezzo e frequenza di aggiornamento. Inoltre, nessun gruppo di utilizzatori è più vicino e presente sui newsgroup e mailing list di quello Linux, che è unico in quanto offre molti tool per risolvere i problemi. Linux generalmente richiede molte meno risorse hardware dei propri competitori e permette di far convivere e integrare la maggior parte dei sistemi operativi; supporta i protocolli di rete ed i filesystem nativi dei seguenti sistemi operativi che possono essere presenti sulla stessa rete: MS DOS, Windows per Workgroup, WinX, Win NT, Mac OS, OS/2, Novell, Amiga, VAX e Unix. È possibile utilizzare Linux in una rete mista con calcolatori Windows grazie alla suite Samba: un insieme di programmi progettati per lavorare con il protocollo SMB nativo dei sistemi operativi Microsoft. La macchina Linux è un ottima soluzione come file e print server, inoltre per garantire un'adeguata sicurezza dei Casi di studio 66 dati si può installare sul server Linux un sistema di backup con il quale salvare il contenuto dell'intero server. Il server Linux può fungere da gateway verso Internet per ogni computer che faccia parte della rete. Linux è anche in grado di fornire servizi di firewall in modo che nessuno possa inserirsi nella rete utilizzando il collegamento ad Internet, è in grado di fornire anche servizi di posta elettronica e web server. In ambiente Linux sono disponibili diversi server web anche se Apache risulta essere il più popolare. Infatti tale server è utilizzato da oltre il 45% dei server web sulla rete. Casi di studio 67 5.2 Casi di studio Sulla base dei capitoli precedenti è possibile fare delle considerazioni su diversi casi di studio a cui le distribuzioni possono essere associate. 5.2.1 Rete domestica Il primo caso di studio proposto (vedi figura 9) riguarda una rete domestica solitamente acceduta da utenti inesperti. E’ un modello di rete privata che prevede il collegamento di più stazioni dislocate all’interno di una medesima stanza o comunque dello stesso edificio. La topologia della rete è a stella, in cui si adotta la tecnica del controllo centralizzato definendo un nodo centrale come server di rete e facendovi convergere gli altri nodi collegati in broadcast, in modo tale che se una stazione decida di disconnettersi questo non influisca sulla struttura della connessione. Lo scenario preso ad esempio collega tra loro due stazioni remote: un computer di utilizzo ed un computer portatile ad un unico computer centrale. Il funzionamento prevede lo scambio di dati ad alta velocità tra le singole postazioni e permette a tutti gli utenti l’accesso a tutte le risorse (stampante laser, Internet ed altro) che per una questione di costi non sono in dotazione di ogni computer, la postazione centrale si occupa di fornire agli altri nodi i servizi ed i protocolli necessari per l’utilizzo della risorsa condivisa. Router Computer centrale Internet Stampante HUB Computer portatile Computer di utilizzo Figura 9: Rete domestica. Casi di studio 68 In questo caso di studio la distribuzione che può essere installata sul computer centrale e sulle postazioni remote è Debian GNU/Linux perché è totalmente gratuita, quindi è appropriata ad una rete ad uso domestico in cui i costi devono rimanere relativamente bassi, anche se a causa della complessità dovuta principalmente ad un’ interfaccia testuale necessita di una buona preparazione informatica, che può essere raggiunta anche dagli utenti più inesperti che hanno tempo di leggere la completa documentazione online disponibile ed il sito Internet leggero,semplice e scritto in più lingue. L’utente che, invece, non possiede il tempo di apprendere in modo approfondito l’utilizzo di una distribuzione e necessita di una soluzione user-friendly può installare sul computer centrale e sulle postazioni remote Mandrake Linux che ha un orientamento prevalentemente desktop, dovuto alla sua semplicità. Attraverso un’interfaccia grafica, diversi strumenti ed una chiara guida rapida si presta come riferimento per gli utenti meno esperti; si presenta semplice e veloce a partire dall'installazione grafica ed è molto precisa nel riconoscere le periferiche e nel configurarle in modo automatico. La scelta di preferire la semplicità della distribuzione va a scapito della sicurezza e della stabilità ma si adatta perfettamente alle esigenze di una rete domestica. Inoltre, tra le distribuzioni a pagamento la versione per desktop è ad un prezzo accessibile. 5.2.2 Rete aziendale Il secondo caso di studio (vedi figura 10) riguarda una rete aziendale di medie dimensioni che prevede il collegamento di più stazioni dislocate all’interno di uno stesso edificio. La rete prevede un server centrale che si occupa di fornire agli altri nodi i servizi ed i protocolli necessari per l’utilizzo della risorse, in particolare la possibilità di condividere tra gli utenti della rete aziendale una delle risorse più costose: la connessione ad Internet, ciò permette di abbattere notevolmente i costi di connessione, e nel contempo, attraverso il firewall, di aumentare la sicurezza della rete. Il server centrale è collegato direttamente attraverso una topologia a stella ad una macchina di posta che si occupa di fornire il servizio di veicolazione delle informazioni tra le persone all’ interno della azienda ed un server dati utilizzato dai client per accedere al database interno ed alla stampante, avere i Casi di studio 69 server semplifica la gestione e permette di risolvere problemi di consistenza dei dati. Firewall Router Server centrale Internet Stampante Macchina di posta Server dati Switch 1 Client 2 Client 10 Client Figura 10: Rete aziendale. In questo caso di studio la distribuzione che può essere installata sul server centrale, il server dati, la macchina di posta ed i client è Red Hat Linux, la scelta di installare la distribuzione su tutte le macchine e motivata dal fatto che proprio per la caratteristica della licenza è distribuibile liberamente ed installabile su più macchine senza necessità di acquistare più copie dello stesso prodotto, questo permette di ridurre notevolmente i costi di gestione. La Red Hat fornisce diverse installazioni per l’utilizzo server (vedi paragrafo 3.12) che presentano un ottimo supporto e la possibilità di aggiornare facilmente i pacchetti e di scegliere quali installare, contribuendo a dare una buona sicurezza ed un’ottima portabilità alla gestione di una rete come quella discussa. Inoltre, un’efficiente organizzazione dell’interfaccia grafica , rende la distribuzione semplice e veloce ideale per i client utilizzati da utenti che devono stare al passo Casi di studio 70 con il ritmo di lavoro di un’azienda e quindi devono accedere facilmente alle applicazioni e agli strumenti usati più frequentemente. La distribuzione proposta, fornisce numerose applicazioni e strumenti integrati quali Open Office la suite di applicazioni per l’ufficio Open Source che permette di creare documenti, fogli di calcolo e presentazioni, Mozilla il browser web, client email, rubrica e author html, Ximian Evolution il client e-mail, contact manager e calendario. Inoltre strumenti grafici di configurazione quali Personal firewall che consente di impostare in modo dinamico le opzioni relative alla sicurezza e strumenti di configurazione audio e video. L’ elevato costo della versione per server di Red Hat ne sconsiglia comunque l’utilizzo quindi una seconda scelta più economica per il computer centrale, il server dati e la macchina di posta può essere la versione server di Suse che tuttavia ha una dotazione di pacchetti utili ad una postazione desktop quasi inesistente al contrario della versione professional adatta per i client di questa rete perché oltre ad essere rivolta più in particolare ad un utente inesperto, come un dipendente di un azienda che vuole muoversi in un ambiente chiaro e veloce, offre numerosi strumenti grafici e suite per l’ufficio. 5.2.3 Rete Universitaria Il terzo caso di studio (vedi figura 11) riguarda una rete di un’università, quindi di grandi dimensioni, che prevede il collegamento di più stazioni dislocate all’interno di più edifici. La rete prevede un server centrale che come nel caso precedente fornisce agli altri nodi i servizi ed i protocolli necessari per l’utilizzo della risorse. L’ utilizzo di un firewall permette la protezione della rete; una delle esigenze più importanti oggi è sicuramente quella di proteggere i dati presenti in rete da attacchi provenienti da Internet. Inoltre è presente; un server account che definisce i permessi di accesso agli archivi dati per ogni utente e gruppo di utenti ed attribuire password agli utenti stessi, si ha inoltre una macchina di backup che permette all’amministratore di rete la possibilità di definire delle copie di sicurezza dei dati ed una macchina di posta. La rete prevede inoltre 100 postazioni client per permettere ad un numero elevato di utenti di usufruire dei servizi offerti dalla rete, inoltre è prevista una stampante ogni n client. Casi di studio 71 Figura 11: Rete di un’università. In questo caso di studio la distribuzione che può essere installata sul server centrale è Gentoo perché è adatta per chi ha una buona preparazione informatica come può essere l’amministratore di una rete universitaria che necessita di ottimizzare il sistema per le proprie esigenze, ciò è possibile grazie alla particolare funzionalità del sistema a pacchetti Gentoo che permette di mantenere diverse versioni dello stesso programma sullo stesso sistema. Inoltre, grazie alla tecnologia Portage, Gentoo può diventare un server sicuro e ideale ma anche un desktop professionale quindi una buona soluzione embedded. Presenta un eccellente supporto hardware, i suoi 4000 pacchetti contengono le ultime versioni dei maggiori software ed è volta alla sicurezza e alla robustezza dell’intero sistema e, quindi ottimale per gestire una rete di grandi dimensioni come quella proposta. Invece, la scelta per il server account e la macchina di backup, ma ideale anche per il server centrale, deve ricadere su un sistema operativo la cui principale Casi di studio 72 caratteristica è la stabilità come Slackware, caratteristica che il suo team di sviluppo ha sempre reputato importantissima; è un sistema Unix–Compatible basato sulla serie 2.4 dei kernel linux. L’ installazione completa comprende X Windows System, un ambiente di sviluppo C/C++, Perl utilità per il networking, un server di posta, un server news,un server web,un server ftp ed altro. La scelta per i client non ricade su una distribuzione particolare, infatti può variare a seconda dello scopo didattico secondo quanto discusso fino ad ora. Casi di studio 73 Conclusioni La domanda più frequente che certamente chi si avvicina al mondo delle distribuzioni Linux prima o poi si pone è quale sia la migliore distribuzione. L’utente si trova infatti davanti una grande varietà di scelte, ognuna delle quali offre modi diversi di fare cose analoghe, ha dotazioni software perfino troppo ricche e offre servizi di assistenza diversi. Coloro che scelgono Linux tra i numerosi sistemi operativi, principalmente per motivi di costi, flessibilità e filosofia, si trovano a dover scegliere la distribuzione avendo a che fare con un problema in parte soggettivo: quello che per alcuni può essere un difetto per altri può sembrare un pregio. Ne consegue che non si può definire a priori la distribuzione migliore se non analizzandone le caratteristiche e l’appropriatezza relativamente a specifici casi di studio. Dall’analisi e confronto delle principali caratteristiche risulta che le distribuzioni differiscono tra di loro in tutti i punti affrontati, non è quindi possibile definire una classifica della qualità delle maggiori distribuzioni, in quanto ognuna di essa si focalizza su un particolare tipo di utilizzo, ma non esclude comunque gli altri. Come discusso attraverso i casi di studio presentati, l’utilizzatore può compiere una scelta sempre diversa ma mai unica, essendo sufficiente una minima variazione nello scenario applicativo a far prediligere una distribuzione rispetto ad un’altra. Ciò conferma che non esiste la distribuzione migliore ma ognuna interpreta a suo modo le esigenze dell'utenza, ponendo l'accento su certe caratteristiche piuttosto che su altre, ad esempio: Debian e Red Hat offrono la scelta migliore come utilizzo server ma differiscono per costi e semplicità; Gentoo e Slackware forniscono il 74 miglior rapporto tra sicurezza e stabilità ma differiscono per come ottimizzano e personalizzano il sistema sul quale sono installate; Mandrake e Suse sono entrambe buone soluzioni embedded ma differiscono per il peso che danno ai diversi utilizzi lato client o server. Si ipotizza che il modo migliore per compiere una scelta è provare ad utilizzare più distribuzioni, ricordandosi comunque che si tratta sempre di Linux e che attualmente non esiste una distribuzione che possa essere considerata in assoluto la migliore. Si conclude la tesi con una risposta data recentemente da Linus Torvald ad un giornalista che gli chiese di esprimere il proprio parere sulla migliore distribuzione Linux: “La conoscenza è, nella pratica, un fattore chiave per qualunque sistema operativo.”8 La frase ha due significati: il primo è che la scelta di una distribuzione è individuale ed avviene attraverso la prova di più distribuzioni, il secondo è che si arriverà a definire una distribuzione migliore con il passar del tempo e lo specializzarsi dei programmatori Linux. 8 Dal libro “Voci della rivoluzione Open Source” a cura di Chris Di Bona, Sam Okman. Conclusione 75 Bibliografia ¾ Gentoo Foundation, Inc. http://www.gentoo.org ¾ Debian, Software in the Public Interest, Inc. http://www.debian.org ¾ Red Hat, Inc. http://www.redhat.com ¾ Slackware Linux, Inc. http://www.slackware.com ¾ Mandrake Company http://www.linux-mandrake.com ¾ Novell, Inc. http://www.suse.com ¾ Linux Online Inc. http://www.linux.org ¾ Open Source Initiative http//www.opensource.org ¾ Free Software Foundation, Inc. http://www.gnu.org ¾ Richard Stallman http://www.stallman.org ¾ Associazione Software Libero http://www.softwarelibero.it ¾ HTML.it srl http://www.html.it ¾ Wikipedia Foundation – L’enciclopedia libera http://it.wikipedia.org ¾ Servizio di osservatorio tecnologico per la scuola Ministero dell’istruzione dell’Università e della ricerca http://www.osservatoriotecnologico.net ¾ OpenLabs Associazione Culturale http://www.openlabs.it http://www.linuxonline.it ¾ Linux Valley divisione Medialogic http://www.linuxvalley.com ¾ Associazione italiana per il sostegno, lo sviluppo e la salvaguardia del software libero. http://www.informaticalibera.it ¾ Gruppo OpenSkills http://openskills.info 76 ¾ Gruppo Software zone http://linux.swzone.it ¾ Gruppo Dinox Pc http://www.dinoxpc.com ¾ Gruppo LinuxHelp.it http://www.linuxhelp.it ¾ Gruppo MasterDrive.it – Information Tecnology Web Community http://www.masterdrive.it ¾ Osamu Aoki – La guida Debian http://qref.sourceforge.net ¾ Ladislav Bodnar - The DistroWatch web site http://www.distrowatch.com ¾ Stefano Canepa http://www.linux.it/~sc/ ¾ Paolo Pavan – Installazione di Debian GNU/Linux http://linux.netlink.it ¾ Daniele Masini – Informatica e GNU/Linux http://www.techtown.it ¾ Luca Fasolo – Introduzione a GNU/Linux http://www.linesoft.it ¾ Gabriele Paciucci – Le distribuzioni di Linux http://online.infomedia.it/riviste/dev/68/articolo27/articolo.htm ¾ Eugenia Franzoni – Pluto Journal - Linux e il software libero http://www.pluto.linux.it/journal/pj9812/talk.html Bibliografia 77