Product SiteDocumentation Site

6.6. Aggiornare da una distribuzione stabile alla successiva

Una delle caratteristiche più note di Debian è la sua capacità di aggiornare il sistema installato da un rilascio stabile a quello successivo: dist-upgrade, un termine ben noto, ha in gran parte contribuito alla reputazione del progetto. Con alcune precauzioni, l'aggiornamento di un computer può richiedere da un minimo di pochi, fino a qualche decina, di minuti a seconda della velocità di scaricamento dai repository dei pacchetti.

6.6.1. Procedura raccomandata

Dal momento che Debian ha un tempo abbastanza lungo per evolvere fra i rilasci stabili, si consiglia di leggere le note di rilascio prima di fare l'aggiornamento.
In questa sezione, ci soffermeremo sull'aggiornamento di un sistema Lenny a Squeeze. Si tratta di una grande operazione su un sistema; come tale, non è mai al 100% priva di rischi, e non si dovrebbe tentarla prima di aver fatto il backup dei dati più importanti.
Un'altra buona abitudine che permette un aggiornamento più facile (e veloce) è di riordinare i pacchetti installati e mantenere solo quelli che sono realmente necessari. Strumenti utili per fare questo sono aptitude, deborphan e debfoster (vedere Sezione 6.4.1, «aptitude»). Per esempio, è possibile usare il seguente comando:
# deborphan | xargs aptitude remove
Passiamo ora all'aggiornamento vero e proprio. Prima di tutto, è necessario cambiare il file /etc/apt/sources.list per indicare ad APT di ottenere i pacchetti da Squeeze invece di Lenny. Se il file contiene solo riferimenti a Stable piuttosto che nomi in codice espliciti, questo cambiamento non è neppure necessario, poiché Stable si riferisce sempre all'ultima versione rilasciata di Debian. In entrambi i casi, il database dei pacchetti disponibili deve essere aggiornato (con il comando aptitude update o con il pulsante di aggiornamento in synaptic).
Una volta che queste nuove sorgenti di pacchetti sono registrate, è necessario aggiornare i pacchetti aptitude e apt, le loro versioni in Lenny hanno alcune limitazioni che potrebbero compromettere l'aggiornamento automatico.
Ricordarsi di aggiornare (o installare) i pacchetti più essenziali elencati di seguito, altrimenti si potrebbe scoprire che il proprio sistema non è più avviabile:
  • il bootloader grub-pc o grub-legacy (a volte lilo);
  • gli strumenti che creano il ramdisk iniziale (initrd): initramfs-tools;
  • la libreria standard: libc6 o una delle sue varianti ottimizzate come libc6-i686;
  • il sistema di gestione per i file di device: udev;
  • ultimo ma non meno importante, il kernel: a seconda dell'hardware, i metapacchetti da utilizzare sono linux-image-486, linux-image-686 o linux-image-686-bigmem. Questi pacchetti funzionano solo per l'architettura i386; i proprietari di computer basati su hardware differente useranno altri pacchetti, molto probabilmente linux-image-2.6-amd64 per AMD64 o linux-image-powerpc* per PowerPC.
Una volta fatti questi primi passi, è il momento di occuparsi dell'aggiornamento stesso, con aptitude o synaptic. Si dovrebbero controllare attentamente le azioni suggerite prima di applicarle: si potrebbe desiderare di aggiungere pacchetti suggeriti o deselezionare i pacchetti che sono solo raccomandati e che si sa non saranno inutili. In ogni caso, il frontend dovrebbe trovare uno scenario che risulta in un sistema Squeeze aggiornato e coerente. In seguito, tutto ciò che si deve fare è aspettare che i pacchetti necessari vengano scaricati, rispondere alle domande di Debconf ed, eventualmente, a quelle sui file di configurazione modificati localmente, e rilassarsi mentre APT fa la sua magia.

6.6.2. Gestire i problemi dopo un aggiornamento

Nonostante i migliori sforzi dei manutentori Debian, un importante aggiornamento di sistema non va sempre liscio come si spera. Le nuove versioni del software possono essere incompatibili con quelle precedenti (per esempio, il loro comportamento predefinito o il loro formato dei dati potrebbe essere cambiato). Inoltre, alcuni bug possono sfuggire, nonostante la fase di sperimentazione, che precede sempre un rilascio di Debian.
Per anticipare alcuni di questi problemi, è possibile installare il pacchetto apt-listchanges, che visualizza le informazioni sui possibili problemi all'inizio dell'aggiornamento di un pacchetto. Queste informazioni sono compilate dai manutentori dei pacchetti e inserite nel file /usr/share/doc/pacchetto/NEWS.Debian a beneficio degli utenti. Leggere questi file (possibilmente attraverso apt-listchanges) dovrebbe aiutare ad evitare brutte sorprese.
A volte è possibile che la nuova versione di un software non funzioni affatto. Questo in genere accade se l'applicazione non è particolarmente popolare e non è stata testata abbastanza; un aggiornamento dell'ultimo minuto può anche introdurre regressioni che vengono scoperte solo dopo il rilascio stabile. In entrambi i casi, la prima cosa da fare è dare uno sguardo al sistema di tracciamento dei bug in http://bugs.debian.org/pacchetto, e verificare se il problema è già stato segnalato. Se non lo è, si dovrebbe riportarlo con reportbug. Se è già noto, la segnalazione di bug e i messaggi associati sono in genere un'eccellente fonte di informazioni relative al bug:
  • a volte una soluzione esiste già, ed è disponibile nella segnalazione di bug; si può allora ricompilare localmente una versione corretta del pacchetto non funzionante (vedere Sezione 15.1, «Rigenerare un pacchetto dai suoi sorgenti»);
  • in altri casi, gli utenti potrebbero aver trovato un modo di superare il problema e condiviso le loro conoscenze al riguardo nelle loro risposte alla segnalazione;
  • in altri casi ancora, un pacchetto corretto potrebbe essere già stato preparato e reso pubblico da parte del manutentore.
A seconda della gravità del bug, una nuova versione del pacchetto può essere preparata appositamente per una nuova revisione della versione stabile. Quando succede questo, il pacchetto sistemato è reso disponibile nella sezione proposed-updates dei mirror Debian (vedi Sezione 6.1.1.1, «Aggiornamenti di Stable»). La voce corrispondente può essere temporaneamente aggiunta al file sources.list, e i pacchetti aggiornati possono essere installati con apt-get o aptitude.
A volte il pacchetto corretto non è ancora disponibile in questa sezione perché è in attesa di una validazione da parte degli Stable Release Manager. Si può verificare se questo è il caso sulla loro pagina web. I pacchetti elencati in quella pagina non sono ancora disponibili, ma almeno si sa che il processo di pubblicazione è in corsoo.