Distribuzione Linux
Da Wikipedia, l'enciclopedia libera.
Una distribuzione Linux, detta anche distro, è una distribuzione software che include un kernel Linux e un insieme variabile di altri strumenti e applicazioni software, siano esse freeware, open source o commerciali. Queste distribuzioni includono anche strumenti software che guidano l'utente nel processo di installazione del sistema. Recentemente hanno cominciato a diffondersi anche distribuzioni cosiddette live, che non richiedono installazione, e il cui bootstrap può avvenire direttamente da un supporto come CD o DVD.
Società come Red Hat, Novell (per SUSE) e Mandriva, e progetti di comunità come Debian, Slackware e Gentoo, assemblano e testano le varie componenti software rilasciando distribuzioni personalizzate e variegate, per la maggior parte gratuite. Ci sono a questo momento più di 300 progetti di distribuzioni linux in attivo sviluppo, revisione e miglioramento che si differenziano per scelte progettuali, come i vari software di mantenimento del sistema per l'installazione, la rimozione e la configurazione del software.
Indice |
[modifica] Storia
Prima della comparsa delle distribuzioni, chiunque volesse far uso di Linux doveva necessariamente essere un esperto di Unix, con la consapevolezza non solo di quali librerie ed eseguibili fossero necessari per far partire e funzionare il sistema, ma anche di alcuni importanti dettagli riguardanti la configurazione ed il posizionamento dei files nel sistema stesso.
Le distribuzioni Linux apparvero poco tempo dopo che il kernel Linux iniziò ad essere utilizzato da persone al di fuori del team originale di sviluppatori Linux. Questi ultimi infatti erano più interessati a sviluppare il sistema operativo piuttosto che programmi applicativi, interfacce utente, e comode pacchettizzazioni.
Le prime distribuzioni furono:
- MCC Interim Linux, che fu reso disponibile per il download pubblico dal server ftp dell'Università di Manchester nel febbraio 1992;
- TAMU, creata da alcuni sviluppatori indipendenti della Texas A&M University più o meno nello stesso periodo, e
- SLS (Softlanding Linux System).
Nessuna di queste distribuzioni era ben mantenuta, così Patrick Volkerding rilasciò una distribuzione bastata su SLS, che chiamò Slackware; questa è la distribuzione più vecchia ancora attiva.
Le distribuzioni Linux si proposero come una alternativa ai sistemi operativi DOS e Microsoft Windows per i PC IBM, al sistema Mac OS per i computer Apple Macintosh, ed a altre versioni proprietarie di Unix. Molti dei primi utenti erano già abituati a Unix per motivi di lavoro o studio. Questi passarono a Linux per la stabilità, il basso (o spesso nullo) costo, e grazie all'inclusione del codice sorgente di tutto o quasi il software incluso.
Le distribuzioni erano originariamente solo una questione di convenienza, ma oggi sono diventate il riferimento principale anche per i guru di Unix e Linux. Al momento, Linux è più popolare nel mercato dei server, soprattutto per i server Web e database (vedi anche LAMP), piuttosto che nel mercato dei computer da scrivania.
[modifica] Composizione
Una tipica distribuzione Linux comprende un kernel Linux, librerie e strumenti GNU, software addizionale, documentazione, un server grafico, un window manager, ed un desktop environment. La quasi totalità del software incluso è FOSS (Free and Open Source Software - Software libero Open Source) che è distribuito dagli sviluppatori sia in forma precompilata che come codice sorgente, cosa che permette agli utenti di modificare e ricompilare il codice originale a proprio piacimento. Una parte del software incluso in alcune distribuzioni può essere proprietario e non disponibile sotto forma di sorgenti.
Molte distro forniscono un sistema di installazione simile a quello di altri moderni sistemi operativi. Distribuzioni self-hosting come Gentoo Linux forniscono il codice sorgente di tutto il software ed includono le versioni eseguibili solo di un kernel base, compilatore e programma di installazione; questo programma compila tutto il software per la specifica architettura del computer dell'utente.
[modifica] Gestioni dei pacchetti
Le distribuzioni sono normalmente composte da pacchetti (packages), ed ognuno di essi contiene una specifica applicazione o componente: ad esempio, ci possono essere pacchetti contenti una libreria per la gestione del formato di immagini PNG, oppure una serie di font, o un browser web. Un pacchetto è normalmente fornito come codice compilato, e la sua installazione o rimozione è gestita in maniera più sofisticata rispetto ad un semplice programma di archiviazione come tar. Il programma preposto a queste funzioni è detto il sistema di gestione dei pacchetti (package management system o PMS) della distribuzione. Ogni pacchetto dedicato ad un PMS contiene delle meta-informazioni come descrizione, versione, dipendenze, ecc.. Il sistema di gestione dei pacchetti tiene in considerazione queste meta-informazioni per permettere ricerche, aggiornamenti automatici a versioni più aggiornate, per controllare che tutte le dipendenze di un pacchetto siano soddisfatte e/o soddisfarle automaticamente. I sistemi di gestione dei pacchetti includono:
- RPM — adesso RPM Package Manager, ma in origine Red Hat Package Manager, originariamente introdotto da Red Hat ma adesso usato in molte distribuzioni.
- deb — Debian package, originariamente introdotto da Debian ma anche usato da altri come Knoppix e Ubuntu.
- tgz o tar.gz — standard tar + gzip, a volte con ulteriori file di controllo — usato da Slackware ed altri, o a volte per la distribuzione di pacchetti molto semplici "fatti in casa".
- ebuild — file contente informazioni su come ottenere, compilare ed installare un pacchetto nel sistema Portage di Gentoo Linux attraverso il comando emerge. Tipicamente queste sono installazioni basate sulla compilazione di sorgenti, nonostante anche alcuni pacchetti binari possano essere installati in questo modo.
- recipe — file contente informazioni su come ottenere, decomprimere, compilare ed installare un pacchetto nella distribuzione Gobo Linux. Questo sistema è simile a quello di Gentoo ma più povero di funzionalità.
È presente inoltre la possibilità di compilare in proprio le applicazioni direttamente dal sorgente disponibili, qualora non siano disponibili i binari precompilati. Sebbene la compilazione spesso comporti alcune difficoltà, l'applicazione mostrerà un incremento delle prestazioni. Seguendo questa logica alcune distribuzioni (es. Gentoo) offrono la possibilità di compilare l'intero sistema operativo
Anche se le distribuzioni Linux tipicamente contengono molto più software dei sistemi operativi proprietari, è pratica comune per gli amministratori installare del software non incluso nella distribuzione. Un esempio potrebbe essere una versione di una applicazione più nuova rispetto a quella fornita con la distribuzione, oppure una applicazione alternativa rispetto a quella predefinita (ad es. KDE invece di Gnome o viceversa). Se il software da installare è fornito sotto forma di sorgenti, è necessaria una compilazione locale. Tuttavia, se viene installato del software aggiuntivo, lo "stato" del sistema locale può perdere la sincronia con lo stato del database del sistema di gestione dei pacchetti. Se questo avviene, l'amministratore locale deve prendere dei provvedimenti per assicurare che tutto il sistema si mantenga correttamtente aggiornato, in quanto il package manager non sarà più in grado di farlo automaticamente.
Molte distribuzioni installano i pacchetti, inclusi il kernel ed altre componenti del sistema operativo, in una configurazione predeterminata. Poche ormai richiedono o addirittura permettono modifiche alla configurazione al momento della prima installazione. Questo rende l'installazione stessa meno complessa, specialmente per gli utenti più inesperti, ma non è sempre accettabile. Per alcuni scopi specifici, parte del software delve essere configurato con accuratezza per essere utilizzato, per lavorare correttamente insieme ad altri programmi, o per essere sicuro. Per questo motivo gli amministratori locali sono spesso obbligati a spendere del tempo per controllare e riconfigurare il software.
Alcune distribuzioni offrono grandi possibilità di configurare e personalizzare praticamente tutto il software incluso, ma non tutte. Alcune distribuzioni includono strumenti di configurazione per coadiuvare questo processo, ma è importante ricordare che tali personalizzazioni sono tipicamente così specifiche che non è possibile per nessuno, inclusi i progettisti delle distribuzioni, preconfigurare il software fornito per le specifiche esigenze di ognuno. Come tutti i sistemi operativi, Linux e le sue distribuzioni richiedono delle operazioni di amministrazione e configurazione ai propri utenti/operatori/proprietari. Quello in cui i distributori di Linux differiscono dai venditori degli altri sistemi operativi consiste nel fatto di non dire che "nessuna operazione di amministrazione è richiesta." Questa onestà può preoccupare utenti potenziali che vengono convinti dalle dichiarazioni pubblicitarie degli altri sistemi.
Sostituendo tutto ciò che è contenuto in una distribuzione, un amministratore può raggiungere uno stato "distribution-less", cioè privo di distribuzione: tutto viene ottenuto sotto forma di sorgenti, compilato, configurato ed installato localmente. È possibile costruire un sistema di questo tipo da zero, senza bisogno di alcuna distribuzione di partenza. C'è solo bisogno di un modo di generare i primi binari finché il sistema non diventa self-hosting (capace di generare se stesso). Questo può essere fatto tramite la compilazione su un altro sistema capace di produrre codice eseguibile per la macchina di destinazione (anche attraverso la cross-compilazione). Una guida per costruire un sistema simile è ad esempio Linux From Scratch.
[modifica] Scegliere una distribuzione Linux
Le differenze nelle distribuzioni Linux sono di carattere tecnico, organizzativo e filosofico. Quelle di carattere tecnico consistono in un diverso supporto dei dispositivi hardware e nella configurazione del sistema e dei pacchetti software. Quelle di carattere organizzativo sono spesso motivate da scelte tecniche ma anche da ragioni storiche o filosofiche.
[modifica] Installazione
Il più comune metodo di istallazione avviene tramite bootstrap da un CD contenente il programma di istallazione ed altro software. Questi CD possono essere masterizzati a partire da un file di immagine ISO, comprati a piccolo costo, o ottenuti come parte di un pacchetto che include anche manuali e software commerciale addizionale. Alcune distibuzioni come Debian possono essere istallate a partire da un ristretto numero di floppy disk. In seguito, una volta istallato il sistema di base, è possibile integrarlo ottendo i restanti pachetti da internet o da CD.
L'installer Anaconda, uno dei programmi di installazione più usati, è implementato in Red Hat, Fedora Core ed altre distribuzioni per semplificare il processo di installazione.
Ancora un altro modo per installare Linux è installarlo su un potente computer che funga da server ed usare macchine meno potenti (magari senza disco rigido, con meno memoria ed una CPU più lenta) come client "stupido" della rete. I client possono eseguire il bootstrap attraverso la rete, mostrando i risultati e passando informazioni al server sul quale girano tutte le applicazioni. I client possono essere normali PC con l'aggiunta di un bootloader di rete sotto forma di software inserito in un drive oppure integrato nel controller di rete, cosicché parte del carico del server può essere trasferito sulla macchina client. Il risparmio economico derivante invece dall'uso di client stupidi può invece essere sfruttato per incrementare lo potenza di elaborazione o di immagazzinamento dati del server.
Alcune distribuzioni, come Debian, possono essere installate da set di floppy disk. Dopo che il sistema di base è stato installato, del software aggiuntivo può essere installato scaricandolo da Internet o tramite CD.
[modifica] Installazione su una piattaforma pre-esistente
Alcune distribuzioni, come WinLinux, permettono all'utente di installare Linux su un sistema operativo pre-esistente. Linux viene installato su una partizione Windows dell'hard-disk e viene eseguito all'interno di Windows stesso. Un altro esempio di questo tipo di approccio è rappresentato da coLinux.
Anche le Macchine virtuali(es: Virtual PC, qemu o VMware) consentono l'esecuzione di Linux dall'interno di un altro sistema operativo. I software VM simulano una macchina nel quale viene installato Linux. Dopo aver fatto ciò, la macchina virtuale può essere avviata proprio come fosse un computer indipendente.
[modifica] Dimostrazioni
La difficoltà nel mostrare velocemente l'esecuzione di Linux ad un potenziale nuovo utente resta ancora un grosso ostacolo che rallenta sensibilmente la sua adozione come piattaforma per personal computer.
Per ovviare a questo problema, distribuzioni come Knoppix, Ubuntu e molte altre, possono essere eseguite direttamente da "live CD", ossia venendo caricate totalmente in memoria RAM, evitando l'installazione su hard disk. Allo stesso modo, alcune micro-distribuzioni come tomsrtbt possono essere addiritura eseguite da un unico floppy disk.
I Linux User Groups (Gruppi di utenti Linux), anche detti LUGs, organizzano spesso manifestazioni pubbliche attraverso le quali fanno conoscere Linux ed il suo funzionamento a tanti potenziali utenti, aiutando chi si appena avvicinato all'utilizzo di questo sistema operativo nell'installazione e nella configurazione dei propri computer.
L'approccio più rapido al mondo Linux resta probabilmente quello di Workspot, che utilizza VNC per fornire una dimostrazione online del funzionamento di un desktop Linux.
[modifica] Interoperabilità e compatibilità tra le varie distribuzioni
Il Free Standards Group è un'organizzazione formata dai maggiori produttori di software ed hardware il cui obiettivo è di migliore l'interoperabilità tra le diverse distribuzioni. Tra gli standard proposti c'è il Linux Standard Base che definisce una comune ABI (Interfaccia Binaria per le Applicazioni), un unico sistema di pacchettizzazione ed una struttura per il Filesystem che preveda le stesse convenzioni sui nomi e le stesse directory basiliari in ogni sistema Linux. Questi standard, al momento, restano comunque poco diffusi anche tra le distribuzioni sviluppate dagli stessi produttori membri dell'organizzazione.
[modifica] Voci correlate
- Categoria:Distribuzioni Linux
- GNU/Linux
- Controversia sul nome GNU Linux
- Linux
- Live CD
- Software libero
[modifica] Nota
Le distribuzioni Linux dovrebbero essere più propriamente chiamate distribuzioni GNU/Linux, in quanto Linux rappresenta solo il kernel del sistema operativo, mentre gli altri componenti necessari al funzionamento del sistema derivano dal progetto GNU. In ogni caso, spesso anche il solo termine "distribuzione" o "distro" è sufficiente a distinguere quanto meno i sistemi operativi liberi come GNU/Linux e BSD da quelli proprietari come Microsoft Windows o Apple Mac OS.
[modifica] Collegamenti esterni
- DistroWatch
- Linux DistroMania
- Screenshot di distribuzioni Linux da osdir.com
- Screencast Linux da linclips.com
- Linux Mobile System
- LINUXISO.ORG Linux ISO: immagini CD e LiveCDs
- Distro Reviews: recensioni di distro
- Recensioni di distro
- Mini-distribuzioni
- Live CDs - Lista di oltre 100 distro.
- The Linux Mirror Project Download di distro via BitTorrent
- LiveDistro.org - Howto per la costruzione di distro
- LinuxDistro.Info - le distro più diffuse