giovedì 24 gennaio 2013

Downgrade dei pacchetti, Ubuntu

Può capitare che, dopo un aggiornamento, il pacchetto installato dia problemi di funzionamento che prima dell'aggiornamento non aveva mai dato, mostrando quell'odiato messaggio “Ubuntu 12.10 ha riscontrato un errore interno”.

Molto spesso questo succede perchè sono stati installati aggiornamenti “di sviluppo” del pacchetto, ad esempio tramite PPA (launchpad.net), quindi una soluzione potrebbe essere quella di effettuare il downgrade dei pacchetti. Vi illustro due metodi.

1. Dowgrade dei pacchetti scaricati da PPA

Se il messaggio di errore viene mostrato da un programma il cui pacchetto è stato scaricato da PPA e sul repository ufficiale di Ubuntu è presente lo stesso pacchetto in una versione antecedente a quella installata, puoi effettuare direttamente un downgrade di tutti i pacchetti scaricati dal quel PPA.

Per farlo basta dare da terminale:

$
$
$sudo apt-get update
sudo apt-get install ppa-purge
sudo ppa-purge ppa:user/ppa-name

Se non sai come si utilizza il terminale consulta la guida Utilizzare il terminale.

sostituendo al posto di ppa:user/ppa-name i dati relativi al PPA che si desidera rimuovere, ad esempio per rimuovere il PPA di Ubuntu X Swat bisognerà digitare ppa:ubuntu-x-swat/x-updates.

N.B: utilizzando ppa-purge il repository verrà anche eliminato dalle sorgenti software per evitare futuri aggiornamenti da quel PPA.

2. Dowgrade dei pacchetti tramite apt-get

Il metodo generico da utilizzare nel caso si voglia effettuare il dowgrade di un pacchetto è servendosi di apt-get (o aptitude).
In questo caso bisognerà aprire il terminale e digitare

$sudo apt-get install package=version
oppure
$sudo aptitude install package=version

ad esempio sudo apt-get install gnome-shell=3.6.1-0ubuntu1 installa la versione 3.6.1 di Gnome-shell.

N.B: per effettuare il downgrade con questo metodo è necessario che i repository contengano il pacchetto desiderato alla versione desiderata. Per sapere le versioni di un pacchetto contenute nei repository puoi utilizzare apt-cache showpkg <package_name&rt;.

Fonti:
Ubuntu Manpage apt-get - manuale di utilizzo di apt-get
Ubuntu Manpage ppa-purge - manuale di utilizzo di ppa-purge