Vai al contenuto

Debian

Da Wikipedia, l'enciclopedia libera.
Versione del 30 lug 2009 alle 19:10 di FrAnCiS (discussione | contributi) (Sistema di gestione dei pacchetti: icona cambia a seconda dell'icon-set. meglio essere un po' piu' generali)

Template:Infobox SO

Screenshot di Debian con KDE 3
(EN)

«Debian: the Universal Operating System»

(IT)

«Debian: Il Sistema Operativo universale»

Debian GNU/Linux [ˈdɛbiən], creata dal Debian Project, è una distribuzione Linux largamente usata in lato server[1], e sviluppata attraverso la collaborazione di volontari da ogni parte del mondo. Si tratta di un sistema operativo per computer composto solo da software libero, sebbene venga fornito, tramite appositi repository, anche software proprietario o software libero basato su altro software che non lo è[2].

Il nome Debian è stato coniato dal fondatore del progetto, Ian Murdock, unendo il proprio nome e le prime tre lettere di quello della sua fidanzata (ora ex-moglie) Debra[3].

Storia

Il progetto Debian è stato fondato da Ian Murdock: non soddisfatto dalla distribuzione Linux diffusa all'epoca, la SLS, egli tentò dapprima di modificarla, quindi decise di creare una distribuzione alternativa, partendo da zero.

Alcune tappe importanti:

Organizzazione del progetto

Il Progetto Debian si distingue da tutti gli altri per la sua peculiare forma di organizzazione. La sua struttura infatti si ispira a quella di una vera e propria società democratica, tanto che il documento che stabilisce le regole interne al progetto è chiamato Costituzione. Un altro importante documento è il Contratto Sociale che esprime l'impegno del progetto in favore del software libero e dei suoi utenti.

Tutti i partecipanti al progetto sono volontari e non esiste un'azienda di riferimento che lo finanzi; tutte le spese sono pagate dalle donazioni raccolte attraverso "Software in the Public Interest" (SPI Inc.), una organizzazione non-profit per i progetti di software libero. Debian è quindi considerata da molti come la sola tra le maggiori distribuzioni di Linux ad essere libera da interessi commerciali.

Non esiste una struttura gerarchica né ruoli dirigenziali; vi sono solo alcuni membri del progetto ai quali sono demandate delle funzioni specifiche, ad esempio la gestione dei server e dell'archivio dei pacchetti (ftp-master) o il coordinamento del rilascio delle versioni stabili (release manager). L'unico ruolo "di comando" è quello di Debian Project Leader, formalmente a capo del progetto, che viene eletto con mandato annuale; ma anche questo incarico è principalmente rappresentativo e di coordinamento e i suoi poteri effettivi sono limitati. Tutte le decisioni più importanti vengono prese a maggioranza dai Debian Developer, cioè i membri ufficiali del progetto (attualmente sono circa 1000), tramite votazione.

Le discussioni interne al progetto si svolgono generalmente sulle numerose mailing list di Debian, ognuna dedicata a uno specifico argomento. Non sono infrequenti discussioni accese e talvolta veri e propri litigi. Alcuni ne ricavano l'impressione che il tasso di conflittualità all'interno del progetto sia molto alto; altri replicano che in altri progetti vi è presumibilmente un tasso ancora più alto, ma non viene percepito all'esterno perché le discussioni non sono pubbliche.

Caratteristiche

Debian installer

Debian è conosciuta per la sua aderenza alle filosofie di GNU e del software libero, le rigide politiche riguardo alla qualità dei pacchetti e le release, il modo aperto di sviluppare e testare il software e la libertà di scelta concessa all'utente.

Il progetto Debian ha tra i suoi obiettivi quello di creare "il sistema operativo universale": sono stati sviluppati dei port per altri kernel, fra i quali GNU Hurd, Solaris, NetBSD, e FreeBSD. Questi port non sono ancora stati rilasciati ufficialmente e quindi, al momento, Debian è esclusivamente una distribuzione Linux.

In realtà, con Debian, parlare di sistema operativo risulta estremamente riduttivo: la stessa tradizionale suddivisione tra software di sistema e software applicativo perde di significato, in quanto l'intero parco software è gestito sempre in modo identico, indifferentemente dalla funzione svolta dal singolo programma. Tutti i programmi distribuiti vengono infatti compilati e resi disponibile sotto forma di pacchetti software coerenti tra loro, in modo che siano il più possibile compatibili e facilmente gestibili. In modo simile funzionano FreeBSD, OpenBSD e derivati.

L'ultimo rilascio stabile di Debian contiene circa 25000 pacchetti per una decina di architetture, che vanno dall'architettura ARM, comunemente utilizzata nei sistemi embedded e il Mainframe IBM s390, alle più comuni x86 e PowerPC presenti nei moderni personal computer.

In questo rilascio è stato inserito anche un programma di installazione grafico, è possibile utilizzarlo digitando installgui o expertgui.

Sistema di gestione dei pacchetti

Lo stesso argomento in dettaglio: Advanced Packaging Tool e dpkg.
Icona di un pacchetto.

Debian è anche conosciuta per il suo sistema di gestione dei pacchetti e di APT (Advanced Packaging Tool, introdotto dalla versione 2.1). Questo programma integra un sistema di risoluzione delle dipendenze, la possibilità di effettuare molto facilmente un upgrade (di alcuni pacchetti o dell'intero sistema operativo) e la possibilità di passare da una release ad un'altra. L'installazione, la configurazione e la rimozione dei pacchetti è semplificata e flessibile, e non necessita quasi mai di un boot del computer, così come è supportato l'aggiornamento di programmi in esecuzione. È possibile inoltre mescolare pacchetti provenienti da differenti release di Debian, creando un sistema ibrido.

I pacchetti si possono installare (sempre da utente root) direttamente dalla shell con questi comandi:

aptitude install <pacchetto> # installa il pacchetto <pacchetto> risolvendo le necessarie dipendenze
aptitude remove <pacchetto> # rimuove il pacchetto <pacchetto>
aptitude purge <pacchetto> # rimuove il pacchetto <pacchetto> e i relativi file di configurazione
aptitude update # scarica le ultime liste di pacchetti disponibili dai repository
aptitude safe-upgrade # aggiorna tutti i pacchetti del sistema alla versione più recente disponibile
aptitude full-upgrade # aggiorna la versione di Debian
aptitude search <pacchetto> # cerca un pacchetto dal nome simile a quello passato da linea di comando

Esistono altri programmi in grado da interfacciarsi con APT, alcuni da riga di comando (come il tradizionale dpkg o apt-get), altri dotati di una comoda ed intuitiva interfaccia grafica, come Synaptic. Nella gestione dei pacchetti, Debian ed il sistema di ports e packages BSD sono simili.

Repository

I pacchetti di Debian sono raccolti in archivi (repository) accessibili via Internet. I pacchetti contenuti negli archivi delle varie release sono raggruppati per tipo di licenza software nelle seguenti sezioni:

  • main: solo software libero senza alcuna dipendenza non libera.
  • contrib: software libero che però dipende da altri pacchetti non liberi per funzionare.
  • non-free: software non libero (ma comunque distribuibile gratuitamente).
  • in passato vi era anche una sezione non-US contenente software crittografico che per motivi legali non poteva essere esportato dagli Stati Uniti. In seguito la legge è stata modificata eliminando la necessità di questa sezione.

Ufficialmente la distribuzione Debian GNU/Linux è costituita unicamente dalla sezione main (infatti Debian si dichiara "100% free software"). Le sezioni contrib e non-free sono rese disponibili come un servizio aggiuntivo a beneficio degli utenti.

I repository Debian contengono anche i sorgenti di tutti i pacchetti di software libero. È possibile ricompilare qualsiasi pacchetto (o anche tutti i pacchetti dell'intero sistema in una sola volta) tramite l'uso del pacchetto apt-build, che però al momento non è considerato completamente stabile.

Pacchetti del kernel

Debian include inoltre la possibilità di ricompilare e nel contempo pacchettizzare un kernel personalizzato, così come, attraverso il pacchetto module-assistant, quella di semplificare notevolmente la compilazione e pacchettizzazione di nuovi moduli del kernel, automatizzandone il download dei sorgenti, la preparazione dell'ambiente per la compilazione e perfino la compilazione per architetture multiple.

Architetture supportate

La versione corrente (Lenny) supporta le seguenti architetture:

  1. HP Alpha
  2. ARM
  3. HP PA-RISC
  4. Intel IA-32
  5. Intel IA-64
  6. MIPS
  7. Motorola/IBM PowerPC
  8. IBM S/390
  9. Sun SPARC
  10. AMD64
  11. Intel EM64T

Port non Linux

  1. Debian GNU/Hurd: tentativo di creare un sistema operativo interamente GNU
  2. Debian GNU/NetBSD: port dell'intero sistema operativo Debian su kernel NetBSD
  3. Debian GNU/KFreeBSD: tentativo di portare l'intero sistema Debian su kernel FreeBSD

Politiche di stabilità

Il Progetto Debian è famoso nella comunità open source per la maniacalità con cui ogni singolo pacchetto viene testato, al fine di eliminare (in linea teorica) ogni possibile malfunzionamento.

Per comprendere meglio i requisiti di stabilità del progetto, è sufficiente ricordare che i pacchetti ufficiali della maggior parte delle distribuzioni (come ad esempio Fedora o Mandriva) hanno una stabilità classificabile fra il ramo unstable e quello testing del progetto Debian.

Questa politica estremamente rigida ha però prodotto quello che secondo molti è l'aspetto più negativo e sicuramente il più controverso del progetto, ovvero la lentezza dei cicli di rilascio (l'ultima edizione stabile, prima del recente rilascio del 14 febbraio 2009, risale alla primavera 2007).

Sebbene il ramo testing sia nella maggior parte dei casi abbastanza affidabile per l'utenza domestica (e per questo spesso preferito al ramo stabile, specialmente in ambiente desktop), la lentezza dei rilasci ha provocato la migrazione di molti utenti ad altre distribuzioni, come ad esempio Ubuntu (che secondo molti è nata proprio con l'intento di offrire un ciclo di sviluppo più accettabile).

Il team di sviluppo Debian ha quindi deciso di adottare alcuni cambiamenti organizzativi e di impegnarsi a seguire un ciclo di rilascio di 18 mesi per poter competere nell'ambito desktop.

È tuttavia da notare che un singolo rilascio non rimane immutato durante il suo periodo di vita, poiché il software di ogni relase stabile viene continuamente aggiornato, rendendo possibile mantenere sempre il passo con la risoluzione di problemi di sicurezza tramite il tool apt-get.

Aggiornamento di "mezza vita"

Per la prima volta dall'inizio della distribuzione Debian, il 26 luglio 2008, è stato rilasciato un kernel dichiarato stabile (2.6.24) chiamato "etch-and-a-half", letteralmente "Etch-e-mezzo" che può essere sostituito a quello ufficiale di Etch, il 2.6.18. Questo aggiornamento, oltre a permettere il supporto di periferiche nuove, permette l'installazione di tutti quei pacchetti che si appoggiano al 2.6.24 senza dover necessariamente passare alla testing.

Versioni

Debian GNU/Linux viene sviluppata secondo un modello organizzativo per il quale sono mantenute parallelamente diverse versioni: stable, testing, unstable, oldstable, experimental. Queste versioni si differenziano per la frequenza con cui vengono aggiornate.

Stable

La distribuzione stable (stabile) è la distribuzione Debian GNU/Linux ufficiale. Una nuova versione viene rilasciata quando gli sviluppatori ritengono che essa soddisfi i severi requisiti di stabilità e affidabilità autoimposti da Debian. L'attuale è la versione 5.0 "Lenny".

Inizialmente non si ponevano scadenze fisse per il rilascio di una nuova versione stabile: la regola era release when it's ready, "rilascia quando è pronta". Con il crescere del numero dei pacchetti tuttavia la difficoltà di "stabilizzare" una versione andava via via aumentando fino a comportare un intervallo temporale esageratamente lungo tra una versione e l'altra: la versione 3.1 "Sarge" è stata rilasciata quasi tre anni dopo la precedente 3.0 "Woody". È stato quindi deciso, dopo Sarge, di effettuare i successivi rilasci a intervalli regolari di 18 mesi, rinunciando se necessario a qualcosa in termini di stabilità (ma Etch è stata rilasciata in ritardo di quattro mesi sulla data prevista).

Occorre sottolineare che il concetto di stable (stabile) NON si riferisce al grado di affidabilità di funzionamento del software, ma al fatto che il software, una volta dichiarato stabile, non subirà nessuna modifica, e manterrà le stesse funzionalità senza introdurne ulteriori: in altre parole, un software dichiarato stabile non subisce aggiunte di nuove funzionalità ma semplicemente mantenuto (cioè vengono corretti gli errori di programmazione e/o i problemi di sicurezza).

Un software stabile è tendenzialmente più sicuro poiché evitare di introdurre nuove funzionalità equivale a non aggiungere possibili bachi di programmazione, per cui, con l'andare del tempo, un software stabile diventa sempre più sicuro/affidabile man mano che nuovi bachi vengono scoperti e corretti. L'assenza di bachi è la caratteristica maggiormente ricercata dagli amministratori di sistemi informatici, e questo è uno dei motivi per cui la versione stable di Debian riscontra un buon successo tra coloro che installano macchine con funzionalità di server[senza fonte].

Testing

La distribuzione testing contiene quei pacchetti che sono già stati testati nel ramo unstable per un certo periodo di tempo e che vengono considerati sufficientemente stabili e con un basso numero di bug. Quando la comunità decide che è giunta l'ora di rilasciare una nuova versione stabile, la distribuzione testing viene "congelata", ovvero non vengono più immessi pacchetti provenienti dal ramo unstable. Dopo una fase finale di risoluzione degli ultimi bug, la testing diventa stable, e viene creato un nuovo ramo testing.

Ha il non trascurabile vantaggio di includere le versioni più aggiornate del software, quindi indicata per un Desktop che intenda utilizzare hardware e tecnologie recenti. Ovviamente i test sulla stabilità e sicurezza non sono ancora definitivi, anche se dal 9 settembre 2005 è previsto il supporto ufficiale del Security Team Debian.

Il nome in codice dell'attuale distribuzione testing, prossima stable, è "Squeeze". Il rilascio di questa versione come stabile avverrà indicativamente nella seconda metà del 2010, dopo oltre diciotto mesi di testing.

Unstable

La distribuzione unstable è quella dello sviluppo di Debian. Contiene il software più aggiornato a disposizione degli utenti Debian, sconsigliato per postazioni Server o se la sicurezza e la stabilità sono ritenuti parametri critici. Viene comunque ritenuta da molti utenti sufficientemente stabile per essere usata da loro. Il suo nome in codice (che non viene mai cambiato in quanto non vengono fatti rilasci di questa distribuzione) è "Sid".

Oldstable

La distribuzione oldstable è la versione stabile precedente a quella corrente. Essa viene mantenuta nell'archivio di Debian fino al rilascio di una nuova versione stabile, al che viene sostituita dalla successiva. La versione attuale è la 5.0 "Lenny". La versione precedente, ovvero la OldStable attuale è la 4.0 Etch.

Experimental

Non è una vera e propria distribuzione in quanto non contiene tutti i pacchetti, ma solo le nuove versioni di pacchetti per cui viene ritenuta necessaria una fase preliminare di prova prima di immetterli nella distribuzione unstable. Non ha un nome in codice.

Nomi delle versioni

I nomi in codice delle distribuzioni Debian sono mutuati dal nome dei personaggi del film di animazione Toy Story - Il mondo dei giocattoli, e sono riportati di seguito [6]:

Non esiste una versione 1.0 a causa di un problema con un rivenditore di software, che aveva messo in vendita una versione beta di Debian etichettandola come versione 1.0, senza l'approvazione del progetto. Per evitare confusione si decise quindi di saltare questo numero di versione e iniziare dalla 1.1.

Mentre tutte le versioni stabili (e testing, future stabili) hanno nomi di giocattoli, il nome della versione unstable (Sid) è quello del bambino che nel film rompe i giocattoli. Alcuni interpretano Sid anche come l'acronimo di still in development ("ancora in sviluppo").

Periodicamente vengono rilasciate delle revisioni della versione stable corrente, che includono gli aggiornamenti di sicurezza rilasciati fino a quel momento e altri aggiornamenti che risolvono bachi importanti. Queste revisioni vengono identificate aggiungendo al numero di versione una lettera r seguita dal numero della revisione. Ad esempio le revisioni della precedente versione (4.0) sono finora:


Con il rilascio di Lenny è cambiato lo schema di numerazione delle reversioni: ora viene utilizzato un vero e proprio micro version number per identificarle, cioè al numero di versione si aggiunge un punto seguito dal numero della revisione. Da notare che il minor release number (la cifra che si trova al centro del numero di versione) viene ora utilizzato per identificare gli aggiornamenti di mezza vita[7]. Le revisioni dell'attuale versione (5.0) di Debian sono finora:


Calendario

Unable to compile EasyTimeline input:

EasyTimeline 1.90


Timeline generation failed: More than 10 errors found
Line 130: from:17/06/2017 till:22/07/2017 shift:(-10,15) text:".0"

- Plotdata attribute 'till' invalid.

 Date '22/07/2017' not within range as specified by command Period.



Line 133: from:22/07/2017 till:07/10/2017 shift:(-5,15) text:".1"

- Plotdata attribute 'from' invalid.

 Date '22/07/2017' not within range as specified by command Period.



Line 136: from:07/10/2017 till:09/12/2017 shift:(-6,15) text:".2"

- Plotdata attribute 'from' invalid.

 Date '07/10/2017' not within range as specified by command Period.



Line 139: from:09/12/2017 till:10/03/2018 shift:(-6,15) text:".3"

- Plotdata attribute 'till' invalid.

 Date '10/03/2018' not within range as specified by command Period.



Line 142: from:10/03/2018 till:14/07/2018 shift:(-4,15) text:".4"

- Plotdata attribute 'from' invalid.

 Date '10/03/2018' not within range as specified by command Period.



Line 145: from:14/07/2018 till:10/11/2018 shift:(-4,15) text:".5"

- Plotdata attribute 'till' invalid.

 Date '10/11/2018' not within range as specified by command Period.



Line 148: from:10/11/2018 till:30/07/2009 shift:(-5,15) text:".6"

- Plotdata attribute 'from' invalid.

 Date '10/11/2018' not within range as specified by command Period.



Line 151: from:25/04/2015 till:06/06/2015 shift:(-10,15) text:".0"

- Plotdata attribute 'from' invalid.

 Date '25/04/2015' not within range as specified by command Period.



Line 154: from:06/06/2015 till:05/09/2015 shift:(-5,15) text:".1"

- Plotdata attribute 'till' invalid.

 Date '05/09/2015' not within range as specified by command Period.



Line 157: from:05/09/2015 till:23/01/2016 shift:(-6,15) text:".2"

- Plotdata attribute 'from' invalid.

 Date '05/09/2015' not within range as specified by command Period.



Line 160: from:23/01/2016 till:02/04/2016 shift:(-6,15) text:".3"

- Plotdata attribute 'till' invalid.

 Date '02/04/2016' not within range as specified by command Period.



Lenny

Lenny è composta da oltre 23.000 pacchetti software, in gran parte aggiornati rispetto alla versione precedente. L'attuale stable contiene, ad esempio gli ambienti desktop KDE 3.5.10, GNOME 2.22.2, Xfce 4.4.2, LXDE 0.3.2.1, GNUstep 7.3, il server grafico X.Org 7.3 (in grado di configurarsi automaticamente con la maggior parte dell'hardware), OpenOffice.org 2.4.1, GIMP 2.4.7, Iceweasel (una versione senza marchio di Mozilla Firefox) 3.0.6, Icedove (una versione senza marchio di Mozilla Thunderbird) 2.0.0.19, PostgreSQL 8.3.6, MySQL 5.0.51a, GNU Compiler Collection 4.3.2, la versione 2.6.26 del kernel Linux, il server web Apache 2.2.9, Samba 3.2.5, i linguaggi Python 2.5.2 e 2.4.6, Perl 5.10.0, PHP 5.2.6, l'Hypervisor Xen 3.2.1 (supporto dom0 e domU), OpenJDK.

Lenny fornisce un pieno supporto del file system NTFS. Miglioramenti sono stati, inoltre, introdotti nella gestione dei computer portatili, come il supporto immediato alla scalatura della frequenza della CPU.

Per il tempo libero sono stati aggiunti molti nuovi giochi, con l'introduzione del nuovo strumento "goplay": un navigatore grafico di giochi che offre filtraggio, ricerca, schermate e descrizioni per i giochi in Debian.

La consueta attenzione di Debian alla sicurezza ha portato a numerose migliorie in Lenny: ad esempio, l'installazione da parte del sistema, prima del primo riavvio, degli eventuali aggiornamenti di sicurezza disponibili; la riduzione nell'installazione standard di binari con bit setuid root attivato e di porte aperte, così come la compilazione di molti pacchetti critici per la sicurezza con le funzionalità d'irrobustimento di GCC.

Per gli utenti non anglofoni i sistemi di gestione dei pacchetti supportano ora le descrizioni tradotte, le quali vengono mostrate automaticamente ai rispettivi utenti, se disponibili.

Dedica

Debian GNU/Linux 5.0 "Lenny" è dedicato a Thiemo Seufer, uno sviluppatore tedesco che collaborava con Debian deceduto il 26 dicembre 2008 in un incidente d'auto.

Thiemo provvedeva alla manutenzione di numerosi pacchetti ed era il sostenitore principale del port di Debian verso le architetture MIPS. Era inoltre un membro del team impegnato nello sviluppo del kernel e del gruppo che lavora al Debian-Installer. Ha anche lavorato sul port MIPS del kernel di Linux, sull'emulazione MIPS di qemu ed a molti altri progetti minori.

Debian Live

Debian Live

Dalla versione 5.0 (Lenny) Debian presenta i sistemi Live ufficiali per le architetture amd64 e i386.

Un sistema Debian Live è un sistema Debian che può essere avviato direttamente da un'unità rimovibile (CD-ROM, DVD, chiavette USB) o da un altro computer sulla rete senza alcun bisogno di installazioni.

Le immagini sono state prodotte con uno strumento denominato live-helper, il quale consente la creazione agevolata di immagini live personalizzate. Maggiori informazioni sul progetto sono reperibili sul sito ufficiale del progetto Debian Live Project[8].

Distribuzioni derivate da Debian

Numerose distribuzioni Linux (più o meno famose) sono basate su Debian.[9] Tra queste ricordiamo:

Note

  1. ^ (EN) Linux Distributions - Facts and Figures, su distrowatch.com. URL consultato il 4 marzo 2009.
  2. ^ Debian -- Pacchetti, su debian.org. URL consultato il 14-06-2009.
  3. ^ (EN) Getting Started with Linux - Lesson 1, su linux.org. URL consultato il 4 marzo 2009.
  4. ^ (EN) New release under development; suggestions requested
  5. ^ (EN) A Brief History of Debian: Debian Releases, su debian.org, Debian. URL consultato il 2009-03.04.
  6. ^ Articolo su e-moka.net sull'origine dei nomi delle versioni di Debian
  7. ^ (EN) Marc Brockschmidt, Debian squeeze waiting for development, su lists.debian.org, 15-02-2009. URL consultato il 14-04-2009.
  8. ^ (EN) Debian Live Project
  9. ^ L'elenco completo delle distribuzioni derivate da Debian è disponibile in Distribuzioni basate su Debian.

Altri progetti

Collegamenti esterni

Progetto ufficiale

Siti di community

Altri

  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero