La struttura della Distribuzione: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (Concordanza participio passato - pronome femminile (scusate se e' una cosa troppo puntigliosa))
(28 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili}}
== Introduzione ==
== Introduzione ==
Debian ha un sistema di sviluppo particolare quanto unico: è infatti la sola ad avere tre [[suite]] diverse divise in base alle caratteristiche di stabilità: [[stable]], [[testing]], [[unstable]]; ed un [[repository]] con pacchetti in fase di sviluppo: ''experimental''.


Debian ha un sistema di sviluppo particolare quanto unico: è infatti la sola ad avere tre rami diversi divisi in base alle caratteristiche di stabilità: ''Stable'', ''Testing'', ''Unstable'' ed un [[repository]] con pacchetti in fase di sviluppo, ''Experimental''.
Ogni ''suite'' può essere identificata anche dal [[codename]] (''nome in codice'') associato a una data versione, ma la corrispondenza tra ''suite'' e ''codename'' si mantiene soltanto fino al successivo rilascio di Debian. Da quel momento i pacchetti presenti in ''testing'' entreranno a far parte della nuova ''stable'', che ne eredita anche il codename; quelli della ''stable'' precedente entreranno a far parte della [[oldstable]], mantenuta per circa un altro anno dal team di sicurezza e poi per altri due dal team [[LTS]], limitatamente a pacchetti e architetture principali; e quelli della ''oldstable'' precedente entreranno a loro volta a far parte della [[oldoldstable]], mantenuta per circa un altro anno dal solo team [[LTS]] con le solite limitazioni.
 
A questa regola fa eccezione ''unstable'', il cui codename resta sempre [[Sid]].
 
Se si accetta sia una ''suite'' che un ''codename'' si parla di [[release]], un termine più generale e con altri significati, a seconda del contesto in cui è usato.


== Una rapida sintesi ==
== Una rapida sintesi ==
'''[[Oldoldstable]]''': è la versione di Debian risalente a due rilasci precedenti. Non è più supportata, così come tutte le precedenti versioni, se non limitatamente e per poco tempo dal rilascio dell'attuale ''stable'' via [[LTS]]. Attualmente corrisponde a Debian {{Codename|versione_oldoldstable}} ([[{{Codename|Oldoldstable}}]]).


'''Oldstable''': come si intuisce dal nome una vecchia stabile, supportata riguardo gli aggiornamenti per la sicurezza per un certo periodo di tempo in contemporanea alla stabile.
'''[[Oldstable]]''': come si intuisce dal nome si tratta della versione del precedente rilascio, ed è supportata riguardo agli aggiornamenti di sicurezza per un certo periodo di tempo in contemporanea alla ''stable'' e in seguito soltanto limitatamente dal team [[LTS]]. Attualmente corrisponde a Debian {{Codename|versione_oldstable}} ([[{{Codename|Oldstable}}]]).


'''Stable''': la versione stabile ufficiale che beneficia quotidianamente degli aggiornamenti riguardo alla sicurezza. Questa è la versione raccomandata per macchine di produzione e server.
'''[[Stable]]''': la suite stabile ufficiale che beneficia quotidianamente degli aggiornamenti riguardo alla sicurezza. Questa è la versione raccomandata per macchine di produzione e server. Ed è indicata, abilitando i repository [[Il repository Backports|backports]] per avere software più aggiornato, anche per uso desktop. Attualmente corrisponde a Debian {{Codename|versione_stable}} ([[{{Codename|Stable}}]]).


'''Testing''': la versione di sviluppo destinata a divenire la nuova Stable (secondo ultime fonti con cadenza biennale [http://www.debian.org/News/2009/20090729/wiki/Help:Link Debian News Links]), anch'essa usufruisce degli aggiornamenti per la sicurezza, destinata ad un uso desktop (soggetta a qualche bug) sconsigliata per server e macchine di produzione.
'''[[Testing]]''': la suite di sviluppo destinata a divenire la nuova ''stable'' (secondo ultime fonti con cadenza biennale<sup>[[#Collegamenti esterni|[1]]]</sup>.) anch'essa usufruisce degli aggiornamenti per la sicurezza, ma non sono garantiti e vengono utilizzati solo in caso non sia possibile utilizzare i pacchetti dalla ''Unstable''. Prima che fossero introdotti i [[backports]] per la ''Stable'', era la scelta più consigliata per uso desktop (soggetta a qualche [[bug]] e per utenti abbastanza esperti e non alle prime armi), ma è sempre stata sconsigliata per server e macchine di produzione. Oggi è raccomandabile soprattutto a chi vuole software aggiornato e intende collaborare con la segnalazione di [[bug]] in modo da contribuire al rilascio della ''Stable'' successiva. Attualmente il suo [[codename]] è [[{{Codename|Testing}}]], e quando sarà rilasciata come ''stable'' diverrà la versione {{Codename|versione_testing}} di Debian.


'''Unstable ([[Sid]])''': il titolo dice tutto! Qui si trovano i pacchetti più recenti ma che ancora non sono stati abbastanza testati per passare in testing, quindi in questa versione di sviluppo è possibile trovare molti pacchetti con [[bug]]. L'uso è riservato a coloro che vogliono testare pacchetti recenti e sanno a cosa vanno incontro. Per questo ramo non esistono immagini.
'''[[Unstable]]''': il titolo dice tutto! Qui si trovano i pacchetti più recenti ma che ancora non sono stati abbastanza testati per passare in ''testing'', quindi in questa versione di sviluppo è possibile trovare molti pacchetti con [[bug]]. L'uso è riservato a coloro che vogliono testare pacchetti recenti per contribuire allo sviluppo di Debian e sanno a cosa vanno incontro. Per questo ramo non esistono immagini, né sarà mai rilasciato. Il suo [[codename]] resta sempre [[Sid]].


'''Experimental''': questa non è una release, non esiste nessuna immagine e non ha nessun supporto.
'''Experimental''': questo è un [[Repository speciali|repository]] e non una release, non esiste nessuna immagine e non ha nessun supporto.


== Stable ==
== Stable ==
''Stable'' è la [[release]] '''stabile''' di Debian. Nello sviluppo Debian, una release viene dichiarata stabile quando tutti i [[bug RC]] ad essa associati prima del rilascio sono zero.
[[Stable]] è la [[suite]] '''stabile''' di Debian. Nello sviluppo Debian, una release viene dichiarata stabile quando tutti i [[bug RC]] ad essa associati prima del rilascio sono zero.
   
   
Una volta rilasciata, viene aperto un repository speciale: '''security''', che ha lo scopo di raccogliere gli aggiornamenti dei pacchetti presenti nella ''Stable'' corrente, per quanto riguarda il fattore sicurezza. Questi aggiornamenti, però, non riguardano la versione del pacchetto: infatti non ci saranno nuove versioni dei programmi disponibili, ma solo aggiornamenti di sicurezza (quindi applicazioni di [[patch]], in linea di massima).  
Una volta rilasciata, viene aperto un repository speciale: '''security''', che ha lo scopo di raccogliere gli aggiornamenti dei pacchetti presenti nella ''stable'' corrente, per quanto riguarda il fattore sicurezza. Questi aggiornamenti, però, non riguardano la versione del pacchetto: infatti non ci saranno nuove versioni dei programmi disponibili, ma solo aggiornamenti di sicurezza (quindi applicazioni di [[patch]], in linea di massima).  


Anche se la cosa può sembrare inutile, non lo è: supponiamo di avere un sistema produttivo, basato su l'ultima ''Stable''. L'aggiornamento di un programma alla versione successiva potrebbe comportare un po' di problemi: <br/>
Anche se la cosa può sembrare inutile, non lo è: supponiamo di avere un sistema produttivo, basato su l'ultima ''stable''. L'aggiornamento di un programma alla versione successiva potrebbe comportare un po' di problemi: <br/>
* la struttura e/o la sintassi dei file di configurazione potrebbe subire dei cambiamenti, creando delle incompatibilità con le configurazioni valide per versioni precedenti;<br/>
* la struttura e/o la sintassi dei file di configurazione potrebbe subire dei cambiamenti, creando delle incompatibilità con le configurazioni valide per versioni precedenti;<br/>
* potrebbero essere presenti dei cambiamenti sostanziali alla struttura del pacchetto o del programma;  
* potrebbero essere presenti dei cambiamenti sostanziali alla struttura del pacchetto o del programma;  
* potrebbero presentarsi dei bug non segnalati, a causa della 'giovane età' del pacchetto. <br/>
* potrebbero presentarsi dei bug non segnalati, a causa della 'giovane età' del pacchetto. <br/>


Anche se i punti sopra citati sembrano banali, non è così: una macchina di produzione deve essere solida e stabile, e visto che molto spesso è una ottima pratica avere in [[Cron]] le operazioni di aggiornamento, la probabilità che un aggiornamento automatico possa creare situazioni di instabilità o non funzionamento di un servizio non può essere accettato.<br/>
Anche se i punti sopra citati sembrano banali, non è così: una macchina di produzione deve essere solida e stabile, e visto che molto spesso è una ottima pratica avere in [[Cron]] le operazioni di aggiornamento, la probabilità che un aggiornamento automatico possa creare situazioni di instabilità o non funzionamento di un servizio non può essere accettata.<br/>
Questo è un motivo per cui, nella release Stable, ci sono solo aggiornamenti riguardanti bugfix.
Questo è un motivo per cui, nella release ''stable'', ci sono solo aggiornamenti riguardanti bugfix.
 
Per software più aggiornato, utile in particolare in ambito Desktop, esistono i [[Il repository Backports|repository backports]], che rendono disponibile per la ''stable'' alcuni pacchetti provenienti originariamente dalla ''testing''.


== Testing ==
== Testing ==
[[Testing]] è la [[suite]] spesso utilizzata in ambito Desktop da utenti che possiedono già una conoscenza di base sul funzionamento di Debian, visto che ha software più aggiornato, in particolare quando non esistevano dei [[Il repository Backports|backports]] ufficiali per la ''stable''. Per chi si avvicina a Debian (o a GNU/Linux in generale) per la prima volta è comunque consigliabile l'uso di una Debian ''stable'', eventualmente ricorrendo ai backports, salvo si abbiano esigenze particolari. Questo consentirà di ridurre gli interventi sul sistema per la risoluzione di problemi e permetterà di imparare con calma il funzionamento di Debian. Per tutti gli altri rappresenta un'ottima possibilità di contribuire allo sviluppo di Debian, collaborando con la segnalazione di [[bug]] in modo che siano corretti prima che i pacchetti affetti arrivino alla ''stable''.


La release Testing è quella più utilizzata in ambito Desktop, visto che rappresenta il miglior compromesso tra stabilità e aggiornamento di pacchetti.  
Per installare la ''testing'' si legga [[Installare Debian|questa guida]].<br/>
Per passare dalla ''stable'' alla ''testing'' si legga il paragrafo "Passaggio da stable a testing" contenuto in [[I repository ed il loro utilizzo|quest'altra guida]].


=== Il percorso dei pacchetti ===
=== Il percorso dei pacchetti ===
 
I pacchetti, prima di entrare nella release di [[testing]] compiono un tragitto per raggiungere un buon grado di maturità. Quando vengono creati, possono essere inseriti in ''experimental'', se hanno bisogno di test approfonditi e non sono considerati completamente stabili dall'autore, oppure possono essere inseriti in [[unstable]], pronti per essere testati dagli sviluppatori.<br/>Perché un pacchetto venga incluso in ''testing'' (sostituendo eventualmente quello più vecchio) : <br/>
I pacchetti, prima di entrare nella release di Testing compiono un tragitto per raggiungere un buon grado di maturità. Quando vengono creati, possono essere inseriti in Experimental, se hanno bisogno di test approfonditi e non sono considerati completamente stabili dall'autore, oppure possono essere inseriti in Unstable, pronti per essere testati dagli sviluppatori.<br/>Perché un pacchetto venga incluso in Testing (sostituendo eventualmente quello più vecchio) : <br/>
* deve essere stato in ''unstable'' per 10, 5 o 2 giorni, in funzione dell'urgenza dell'upload; <br/>
* deve essere stato in Unstable per 10, 5 o 2 giorni, in funzione dell'urgenza dell'upload; <br/>
* deve essere stato compilato e deve essere aggiornato su tutte le architetture su cui sia stato compilato in ''unstable''; <br/>
* deve essere stato compilato e deve essere aggiornato su tutte le architetture su cui sia stato compilato in Unstable; <br/>
* deve avere meno [[Bug RC|bug release-critical]], o lo stesso numero, della versione corrente in ''testing'' (si veda sotto per maggiori informazioni); <br/>
* deve avere meno [[Bug RC|bug release-critical]], o lo stesso numero, della versione corrente in Testing (si veda sotto per maggiori informazioni); <br/>
* tutte le sue dipendenze devono o essere soddisfatte dai pacchetti già in ''testing'', o essere soddisfatte dall'insieme di pacchetti che verranno installati nel contempo; <br/>
* tutte le sue dipendenze devono o essere soddisfatte dai pacchetti già in Testing, o essere soddisfatte dall'insieme di pacchetti che verranno installati nel contempo; <br/>
* l'operazione di installazione del pacchetto in ''testing'' non dovrà danneggiare alcun pacchetto che sia già in ''testing''. <br/>
* l'operazione di installazione del pacchetto in Testing non dovrà danneggiare alcun pacchetto che sia già in Testing. <br/>


=== Da Testing a Stable ===
=== Da Testing a Stable ===
Quando la versione di [[testing]] raggiunge un buon grado di maturità, avviene il passaggio da ''testing'' a [[stable]]. Prima di tutto viene dichiarata una situazione di [[freeze]], in cui non è più possibile inserire nuove versioni di un pacchetto (a meno che non sia fondamentale per la correzione di qualche bug) ma solo correggere i [[bug]] critici per il rilascio (''bug release-critical'').


Quando la versione di Testing raggiunge un buon grado di maturità, avviene il passaggio da Testing a Stable. Prima di tutto viene dichiarata una situazione di [[freeze]], in cui non è più possibile inserire nuove versioni di un pacchetto (a meno che non sia fondamentale per la correzione di qualche bug) ma solo correggere i [[bug]] riscontrati. Quando la versione di Testing verrà valutata come sufficientemente stabile, verrà rilasciata come Stable. Dopo il rilascio della Stable, la nuova Testing verrà ricreata secondo le normali regole a partire da Unstable.
Quando la versione di ''testing'' verrà valutata come sufficientemente stabile, verrà rilasciata come ''stable''. Dopo il rilascio della ''stable'', la nuova ''testing'' verrà ricreata secondo le normali regole a partire da [[unstable]].


== Unstable ==
== Unstable ==
[[Unstable]] è la [[suite]] per gli sviluppatori, come indicato sul sito ufficiale Debian, e l'uso di questa release in ambito lavorativo (o comunque produttivo) può portare a degli inconvenienti o instabilità. È possibile, infatti, che a causa di qualche aggiornamento vengano introdotti dei bug che possano compromettere il normale funzionamento di qualche applicazione.


Unstable è la distribuzione per gli sviluppatori, come indicato sul sito ufficiale Debian, e l'uso di questa release in ambito lavorativo (o comunque produttivo) può portare a degli inconvenienti o instabilità. È possibile, infatti, che a causa di qualche aggiornamento vengano introdotti dei bug che possano compromettere il normale funzionamento di qualche applicazione.
È inoltre possibile che, a causa dell'aggiornamento di alcune librerie o set di programmi, si possano creare delle situazioni di [[dipendenze]] non risolte che potrebbero rendere impossibile l'aggiornamento e/o l'installazione di alcuni pacchetti. Il consiglio è di non utilizzarla, a meno di non avere una certa dimestichezza e familiarità con il sistema Debian.


È inoltre possibile che, a causa dell'aggiornamento di alcune librerie o set di programmi, si possano creare delle situazioni di [[dipendenze]] non risolte che potrebbero rendere impossibile l'aggiornamento e/o l'installazione di alcuni pacchetti. Il consiglio è di non utilizzarla, a meno di non avere una certa dimestichezza e familiarità con il sistema Debian.
La sua immagine non è distribuita ufficialmente, per installarla si legga [[Installare Debian SID | questa guida]].


È divertente notare che la versione '''unstable''' di Debian mantiene sempre il medesimo nome e cioè Sid, il ragazzaccio!
È divertente notare che la versione ''unstable'' di Debian mantiene sempre lo stesso [[codename]], ossia [[Sid]], il ragazzaccio!


== Experimental ==
== Experimental ==
Experimental è un [[repository]] (e non una release) che contiene i pacchetti che sono in fase di test da parte dei [[Debian Developer|Debian Developers]] e che necessitano di lavoro prima di essere pronti per entrare in [[unstable]]. Pertanto non è autosufficiente e il repository è tipicamente usato assieme a quello di ''unstable''/[[Sid]].


Experimental è un [[repository]] (e non una release) che contiene i pacchetti che sono in fase di testing da parte dei [[Debian Developers]] e che necessitano di lavoro prima di essere pronti per entrare in Unstable.
Il repository è speciale anche perché i pacchetti non vengono mai installati in automatico, salvo siano presenti soltanto in experimental, e anche una volta installati non sono aggiornati in automatico. Si legga per maggiori informazioni questa [[Repository_speciali#Debian_experimental | sezione]].


== I nomi delle release ==
== I nomi delle release ==
Una domanda diffusa tra i nuovi utenti di Debian riguarda i nomi delle [[release]]; a prima vista, infatti, possono sembrare strani, ma la spiegazione è molto semplice: sono tutti nomi dei personaggi del film ''ToyStory''<sup>[[#Collegamenti esterni|[2]]]</sup>.


Una domanda diffusa tra gli utenti alle prime armi con Debian riguarda i nomi delle [[release]]; a prima vista, infatti, possono sembrare strani, ma la spiegazione è molto semplice: sono tutti nomi dei personaggi del film [http://www.pixar.com/feature/toystory/toystory.html ToyStory].
Questa simpatica tradizione è stata iniziata da Bruce Perens<sup>[[#Collegamenti esterni|[3]]]</sup> con il rilascio di Debian 1.1 nel 1996. Perens, all'epoca [[Debian Project Leader]], lavorava anche per la Pixar<sup>[[#Collegamenti esterni|[4]]]</sup>.
 
Questa simpatica tradizione è stata iniziata da [http://perens.com/ Bruce Perens] con il rilascio di Debian 1.1 nel 1996. Perens, all'epoca [[Debian Project Leader]], lavorava anche per [http://www.pixar.com Pixar].


Ecco l'elenco dei [[codename]] associati alle Debian Stable fino ad ora rilasciate:  
Ecco l'elenco dei [[codename]] associati alle Debian [[stable]] fino ad ora rilasciate e ancora da rilasciare:


{| style="width:100%; background:transparent;"
{| style="width:100%; background:transparent;"
Riga 70: Riga 81:
{|class="wikitable" style="text-align:center"
{|class="wikitable" style="text-align:center"
!Versione
!Versione
!Nome
!Nome in codice
!Suite attuale
!Data di rilascio
!Data di rilascio
!Significato
!Significato
|-
|-
|1.1 || Buzz || 17/06/1996 || (Buzz Lightyear) l'astronauta
|1.1 || Buzz || ''{{Codename|Buzz}}'' || 17/06/1996 || (Buzz Lightyear) l'astronauta
|-
|-
|1.2 || Rex || 12/12/1996 || il tirannosauro
|1.2 || Rex || ''{{Codename|Rex}}'' || 12/12/1996 || il tirannosauro
|-
|-
|1.3 || Bo || 05/06/1997 || (Bo Peep) la bambina che si prese cura della pecorella
|1.3 || Bo || ''{{Codename|Bo}}'' || 02/06/1997 || (Bo Peep) la bambina che si prese cura della pecorella
|-
|-
|2.0 || Hamm || 23/07/1998 || il porcellino salvadanaio
|2.0 || Hamm || ''{{Codename|Hamm}}'' || 24/07/1998 || il porcellino salvadanaio
|-
|-
|2.1 || Slink || 09/03/1999 || (Slinky Dog) il cane giocattolo
|2.1 || Slink || ''{{Codename|Slink}}'' || 09/03/1999 || (Slinky Dog) il cane giocattolo
|-
|-
|2.2 || Potato || 15/08/2000 || Mr. Potato
|2.2 || Potato || ''{{Codename|Potato}}'' || 15/08/2000 || Mr. Potato
|-
|-
|3.0 || Woody || 19/07/2002 || il cowboy
|3.0 || Woody || ''{{Codename|Woody}}'' || 19/07/2002 || il cowboy
|-
|-
|3.1 || Sarge || 06/06/2005 || il "leader of The Green Plastic Army Men"
|3.1 || Sarge || ''{{Codename|Sarge}}'' || 06/06/2005 || il "leader of The Green Plastic Army Men"
|-
|-
|4.0 || Etch || 08/04/2007 || (Etch-a-Sketch) la lavagna
|4.x || Etch || ''{{Codename|Etch}}'' || 08/04/2007 || (Etch-a-Sketch) la lavagna
|-
|-
|5.0 || Lenny || 05/09/2009 || il binocolo
|5.x || Lenny || ''{{Codename|Lenny}}'' || 14/02/2009 || il binocolo
|-
|-
|6.0 || Squeeze || 06/02/2011 || gli alieni a tre occhi
|6.x || Squeeze || ''{{Codename|Squeeze}}'' || 06/02/2011 || gli alieni a tre occhi
|-
|-
|7.0 || [[Wheezy]] || 04/05/2013 || il pinguino con il papillon rosso
|7.x || [[Wheezy]] || ''{{Codename|Wheezy}}'' || 04/05/2013 || il pinguino con il papillon rosso
|-
|-
|8.0 || [[Jessie]] || ''testing'' || la cowgirl
|8.x || [[Jessie]] || {{#ifeq: {{Codename|Jessie}} | obsoleta | ''obsoleta'' | [[{{Codename|Jessie}}]] }} || 25/04/2015 || la cowgirl
|-
|-
|N.D. || Sid || unstable || il bambino della porta accanto che rompeva i giocattoli
|9.x || [[Stretch]] || {{#ifeq: {{Codename|Stretch}} | obsoleta | ''obsoleta'' | [[{{Codename|Stretch}}]] }} || 17/06/2017 || la piovra di gomma
|-
|10.x || [[Buster]] || {{#ifeq: {{Codename|Buster}} | obsoleta | ''obsoleta'' | [[{{Codename|Buster}}]] }} || 06/07/2019 || il cane da compagnia di Andy
|-
|11.x || [[Bullseye]] || {{#ifeq: {{Codename|Bullseye}} | obsoleta | ''obsoleta'' | [[{{Codename|Bullseye}}]] }} || (non nota) || il cavallo di legno di Woody
|-
|N.D. || [[Sid]] || [[unstable]] || (mai) || il bambino della porta accanto che rompeva i giocattoli
|}
|}
|}
|}
== Collegamenti esterni ==
[1] [https://www.debian.org/News/2009/20090729 Politiche di freeze in Debian]<br/>
[2] [https://en.wikipedia.org/wiki/Toy_Story Toy Story su Wikipedia]<br/>
[3] [http://perens.com/ Bruce Perens]<br/>
[4] [http://www.pixar.com Homepage Pixar]


{{Autori
{{Autori
|Autore = [[Utente:MaXeR|MaXeR]]
|Autore = [[Utente:MaXeR|MaXeR]]
|Estesa_da =
:[[Utente:TheNoise|TheNoise]]
:[[Utente:HAL 9000|HAL 9000]]
|Verificata_da =
|Verificata_da =
:[[Utente:Wtf|Wtf]] 15:27, 20 dic 2013 (CET)
:[[Utente:Wtf|Wtf]] 15:27, 20 dic 2013 (CET)
:[[Utente:S3v|S3v]] 12:41, 29 ago 2014 (CEST)
:[[Utente:S3v|S3v]] 12:41, 29 ago 2014 (CEST)
|Estesa_da =
:[[Utente:HAL 9000|HAL 9000]] 20:38, 2 mag 2016 (CEST)
:[[Utente:TheNoise|TheNoise]]
|Numero_revisori = 3
|Numero_revisori = 2
}}
}}


[[Categoria:Introduzione a Debian]]
[[Categoria:Introduzione a Debian]]

Versione delle 14:35, 18 apr 2020

Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

Debian ha un sistema di sviluppo particolare quanto unico: è infatti la sola ad avere tre suite diverse divise in base alle caratteristiche di stabilità: stable, testing, unstable; ed un repository con pacchetti in fase di sviluppo: experimental.

Ogni suite può essere identificata anche dal codename (nome in codice) associato a una data versione, ma la corrispondenza tra suite e codename si mantiene soltanto fino al successivo rilascio di Debian. Da quel momento i pacchetti presenti in testing entreranno a far parte della nuova stable, che ne eredita anche il codename; quelli della stable precedente entreranno a far parte della oldstable, mantenuta per circa un altro anno dal team di sicurezza e poi per altri due dal team LTS, limitatamente a pacchetti e architetture principali; e quelli della oldstable precedente entreranno a loro volta a far parte della oldoldstable, mantenuta per circa un altro anno dal solo team LTS con le solite limitazioni.

A questa regola fa eccezione unstable, il cui codename resta sempre Sid.

Se si accetta sia una suite che un codename si parla di release, un termine più generale e con altri significati, a seconda del contesto in cui è usato.

Una rapida sintesi

Oldoldstable: è la versione di Debian risalente a due rilasci precedenti. Non è più supportata, così come tutte le precedenti versioni, se non limitatamente e per poco tempo dal rilascio dell'attuale stable via LTS. Attualmente corrisponde a Debian 10 (buster).

Oldstable: come si intuisce dal nome si tratta della versione del precedente rilascio, ed è supportata riguardo agli aggiornamenti di sicurezza per un certo periodo di tempo in contemporanea alla stable e in seguito soltanto limitatamente dal team LTS. Attualmente corrisponde a Debian 11 (bullseye).

Stable: la suite stabile ufficiale che beneficia quotidianamente degli aggiornamenti riguardo alla sicurezza. Questa è la versione raccomandata per macchine di produzione e server. Ed è indicata, abilitando i repository backports per avere software più aggiornato, anche per uso desktop. Attualmente corrisponde a Debian 12 (bookworm).

Testing: la suite di sviluppo destinata a divenire la nuova stable (secondo ultime fonti con cadenza biennale[1].) anch'essa usufruisce degli aggiornamenti per la sicurezza, ma non sono garantiti e vengono utilizzati solo in caso non sia possibile utilizzare i pacchetti dalla Unstable. Prima che fossero introdotti i backports per la Stable, era la scelta più consigliata per uso desktop (soggetta a qualche bug e per utenti abbastanza esperti e non alle prime armi), ma è sempre stata sconsigliata per server e macchine di produzione. Oggi è raccomandabile soprattutto a chi vuole software aggiornato e intende collaborare con la segnalazione di bug in modo da contribuire al rilascio della Stable successiva. Attualmente il suo codename è trixie, e quando sarà rilasciata come stable diverrà la versione 13 di Debian.

Unstable: il titolo dice tutto! Qui si trovano i pacchetti più recenti ma che ancora non sono stati abbastanza testati per passare in testing, quindi in questa versione di sviluppo è possibile trovare molti pacchetti con bug. L'uso è riservato a coloro che vogliono testare pacchetti recenti per contribuire allo sviluppo di Debian e sanno a cosa vanno incontro. Per questo ramo non esistono immagini, né sarà mai rilasciato. Il suo codename resta sempre Sid.

Experimental: questo è un repository e non una release, non esiste nessuna immagine e non ha nessun supporto.

Stable

Stable è la suite stabile di Debian. Nello sviluppo Debian, una release viene dichiarata stabile quando tutti i bug RC ad essa associati prima del rilascio sono zero.

Una volta rilasciata, viene aperto un repository speciale: security, che ha lo scopo di raccogliere gli aggiornamenti dei pacchetti presenti nella stable corrente, per quanto riguarda il fattore sicurezza. Questi aggiornamenti, però, non riguardano la versione del pacchetto: infatti non ci saranno nuove versioni dei programmi disponibili, ma solo aggiornamenti di sicurezza (quindi applicazioni di patch, in linea di massima).

Anche se la cosa può sembrare inutile, non lo è: supponiamo di avere un sistema produttivo, basato su l'ultima stable. L'aggiornamento di un programma alla versione successiva potrebbe comportare un po' di problemi:

  • la struttura e/o la sintassi dei file di configurazione potrebbe subire dei cambiamenti, creando delle incompatibilità con le configurazioni valide per versioni precedenti;
  • potrebbero essere presenti dei cambiamenti sostanziali alla struttura del pacchetto o del programma;
  • potrebbero presentarsi dei bug non segnalati, a causa della 'giovane età' del pacchetto.

Anche se i punti sopra citati sembrano banali, non è così: una macchina di produzione deve essere solida e stabile, e visto che molto spesso è una ottima pratica avere in Cron le operazioni di aggiornamento, la probabilità che un aggiornamento automatico possa creare situazioni di instabilità o non funzionamento di un servizio non può essere accettata.
Questo è un motivo per cui, nella release stable, ci sono solo aggiornamenti riguardanti bugfix.

Per software più aggiornato, utile in particolare in ambito Desktop, esistono i repository backports, che rendono disponibile per la stable alcuni pacchetti provenienti originariamente dalla testing.

Testing

Testing è la suite spesso utilizzata in ambito Desktop da utenti che possiedono già una conoscenza di base sul funzionamento di Debian, visto che ha software più aggiornato, in particolare quando non esistevano dei backports ufficiali per la stable. Per chi si avvicina a Debian (o a GNU/Linux in generale) per la prima volta è comunque consigliabile l'uso di una Debian stable, eventualmente ricorrendo ai backports, salvo si abbiano esigenze particolari. Questo consentirà di ridurre gli interventi sul sistema per la risoluzione di problemi e permetterà di imparare con calma il funzionamento di Debian. Per tutti gli altri rappresenta un'ottima possibilità di contribuire allo sviluppo di Debian, collaborando con la segnalazione di bug in modo che siano corretti prima che i pacchetti affetti arrivino alla stable.

Per installare la testing si legga questa guida.
Per passare dalla stable alla testing si legga il paragrafo "Passaggio da stable a testing" contenuto in quest'altra guida.

Il percorso dei pacchetti

I pacchetti, prima di entrare nella release di testing compiono un tragitto per raggiungere un buon grado di maturità. Quando vengono creati, possono essere inseriti in experimental, se hanno bisogno di test approfonditi e non sono considerati completamente stabili dall'autore, oppure possono essere inseriti in unstable, pronti per essere testati dagli sviluppatori.
Perché un pacchetto venga incluso in testing (sostituendo eventualmente quello più vecchio) :

  • deve essere stato in unstable per 10, 5 o 2 giorni, in funzione dell'urgenza dell'upload;
  • deve essere stato compilato e deve essere aggiornato su tutte le architetture su cui sia stato compilato in unstable;
  • deve avere meno bug release-critical, o lo stesso numero, della versione corrente in testing (si veda sotto per maggiori informazioni);
  • tutte le sue dipendenze devono o essere soddisfatte dai pacchetti già in testing, o essere soddisfatte dall'insieme di pacchetti che verranno installati nel contempo;
  • l'operazione di installazione del pacchetto in testing non dovrà danneggiare alcun pacchetto che sia già in testing.

Da Testing a Stable

Quando la versione di testing raggiunge un buon grado di maturità, avviene il passaggio da testing a stable. Prima di tutto viene dichiarata una situazione di freeze, in cui non è più possibile inserire nuove versioni di un pacchetto (a meno che non sia fondamentale per la correzione di qualche bug) ma solo correggere i bug critici per il rilascio (bug release-critical).

Quando la versione di testing verrà valutata come sufficientemente stabile, verrà rilasciata come stable. Dopo il rilascio della stable, la nuova testing verrà ricreata secondo le normali regole a partire da unstable.

Unstable

Unstable è la suite per gli sviluppatori, come indicato sul sito ufficiale Debian, e l'uso di questa release in ambito lavorativo (o comunque produttivo) può portare a degli inconvenienti o instabilità. È possibile, infatti, che a causa di qualche aggiornamento vengano introdotti dei bug che possano compromettere il normale funzionamento di qualche applicazione.

È inoltre possibile che, a causa dell'aggiornamento di alcune librerie o set di programmi, si possano creare delle situazioni di dipendenze non risolte che potrebbero rendere impossibile l'aggiornamento e/o l'installazione di alcuni pacchetti. Il consiglio è di non utilizzarla, a meno di non avere una certa dimestichezza e familiarità con il sistema Debian.

La sua immagine non è distribuita ufficialmente, per installarla si legga questa guida.

È divertente notare che la versione unstable di Debian mantiene sempre lo stesso codename, ossia Sid, il ragazzaccio!

Experimental

Experimental è un repository (e non una release) che contiene i pacchetti che sono in fase di test da parte dei Debian Developers e che necessitano di lavoro prima di essere pronti per entrare in unstable. Pertanto non è autosufficiente e il repository è tipicamente usato assieme a quello di unstable/Sid.

Il repository è speciale anche perché i pacchetti non vengono mai installati in automatico, salvo siano presenti soltanto in experimental, e anche una volta installati non sono aggiornati in automatico. Si legga per maggiori informazioni questa sezione.

I nomi delle release

Una domanda diffusa tra i nuovi utenti di Debian riguarda i nomi delle release; a prima vista, infatti, possono sembrare strani, ma la spiegazione è molto semplice: sono tutti nomi dei personaggi del film ToyStory[2].

Questa simpatica tradizione è stata iniziata da Bruce Perens[3] con il rilascio di Debian 1.1 nel 1996. Perens, all'epoca Debian Project Leader, lavorava anche per la Pixar[4].

Ecco l'elenco dei codename associati alle Debian stable fino ad ora rilasciate e ancora da rilasciare:

Versione Nome in codice Suite attuale Data di rilascio Significato
1.1 Buzz obsoleta 17/06/1996 (Buzz Lightyear) l'astronauta
1.2 Rex obsoleta 12/12/1996 il tirannosauro
1.3 Bo obsoleta 02/06/1997 (Bo Peep) la bambina che si prese cura della pecorella
2.0 Hamm obsoleta 24/07/1998 il porcellino salvadanaio
2.1 Slink obsoleta 09/03/1999 (Slinky Dog) il cane giocattolo
2.2 Potato obsoleta 15/08/2000 Mr. Potato
3.0 Woody obsoleta 19/07/2002 il cowboy
3.1 Sarge obsoleta 06/06/2005 il "leader of The Green Plastic Army Men"
4.x Etch obsoleta 08/04/2007 (Etch-a-Sketch) la lavagna
5.x Lenny obsoleta 14/02/2009 il binocolo
6.x Squeeze obsoleta 06/02/2011 gli alieni a tre occhi
7.x Wheezy obsoleta 04/05/2013 il pinguino con il papillon rosso
8.x Jessie obsoleta 25/04/2015 la cowgirl
9.x Stretch obsoleta 17/06/2017 la piovra di gomma
10.x Buster oldoldstable 06/07/2019 il cane da compagnia di Andy
11.x Bullseye oldstable (non nota) il cavallo di legno di Woody
N.D. Sid unstable (mai) il bambino della porta accanto che rompeva i giocattoli

Collegamenti esterni

[1] Politiche di freeze in Debian
[2] Toy Story su Wikipedia
[3] Bruce Perens
[4] Homepage Pixar




Guida scritta da: MaXeR Swirl-auth80.png Debianized 80%
Estesa da:
TheNoise
HAL 9000
Verificata da:
Wtf 15:27, 20 dic 2013 (CET)
S3v 12:41, 29 ago 2014 (CEST)
HAL 9000 20:38, 2 mag 2016 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized