Fare il downgrade di uno o più pacchetti: differenze tra le versioni

m
aggiunti link
m (aggiunti link)
Riga 2: Riga 2:
__TOC__
__TOC__
==Introduzione==
==Introduzione==
A volte ci si può trovare nella necessità di dover installare – o meglio, reinstallare – diversi pacchetti con versione minore rispetto a quelli installati. Questa operazione, l’ inverso dell’ upgrade, viene chiamata con un grosso sforzo di fantasia '''downgrade'''. Debian e il suo sistema di gestione dei pacchetti software ci permette di gestire senza grandi sofferenze anche questa situazione particolare.  
A volte ci si può trovare nella necessità di dover installare – o meglio, reinstallare – diversi [[pacchetto|pacchetti]] con versione minore rispetto a quelli installati. Questa operazione, l’ inverso dell’ upgrade, viene chiamata con un grosso sforzo di fantasia [[downgrade]]. Debian e il suo sistema di gestione dei pacchetti software ci permette di gestire senza grandi sofferenze anche questa situazione particolare.  


Nei casi più semplici può essere sufficiente utilizzare lo strumento grafico Synaptic: si seleziona il pacchetto e quindi si seleziona la voce apposita 'Forza Versione' dal menu 'Pacchetto'. Cosa fare però quando abbiamo la necessità di dover ripristinare versioni precedenti di librerie e programmi nevralgici per il nostro sistema operativo (definiti dall' APT System come 'essentials')? In questi casi non ci resta che dotarci di alcuni semplicissimi strumenti e una buona dose di concentrazione e sangue freddo.
Nei casi più semplici può essere sufficiente utilizzare lo strumento grafico Synaptic: si seleziona il pacchetto e quindi si seleziona la voce apposita 'Forza Versione' dal menu 'Pacchetto'. Cosa fare però quando abbiamo la necessità di dover ripristinare versioni precedenti di librerie e programmi nevralgici per il nostro sistema operativo (definiti dall' APT System come 'essentials')? In questi casi non ci resta che dotarci di alcuni semplicissimi strumenti e una buona dose di concentrazione e sangue freddo.
Riga 14: Riga 14:
Pin: release a=stable
Pin: release a=stable
Pin-Priority: 1001</pre>
Pin-Priority: 1001</pre>
Questa impostazione ci garantisce che gli unici pacchetti che avranno la precedenza su tutti gli altri sono quelli provenienti dal ramo impostato alla voce '''Pin: release'''. Assicuriamoci di inserire qui l'archivio di Debian da cui vogliamo riportare i pacchetti, che in questo caso è ''stable'', ma che potrebbe essere ''testing'' o ''unstable''. Si noti che se si specifica il codename va utilizzato '''n='''''CODENAME'' (per esempio Wheezy, Jessie o Sid) invece di '''a='''''stable/testing/unstable'' (si veda <code>man apt_preferences</code>).
Questa impostazione ci garantisce che gli unici pacchetti che avranno la precedenza su tutti gli altri sono quelli provenienti dal ramo impostato alla voce '''Pin: release'''. Assicuriamoci di inserire qui l'archivio ([[suite]]) di Debian da cui vogliamo riportare i pacchetti, che in questo caso è ''stable'', ma che potrebbe essere ''testing'' o ''unstable''. Si noti che se si specifica il [[codename]] va utilizzato '''n='''''CODENAME'' (per esempio Wheezy, Jessie o Sid) invece di '''a='''''stable/testing/unstable'' (si veda <code>man apt_preferences</code>).


Invece nel file <code>apt.conf</code>, oppure creando un file in <code>/etc/apt/apt.conf.d</code>, provvediamo a far corrispondere la versione di default con quella da noi specificata nel file <code>preferences</code>. La variabile da editare è '''APT::Default-Release''', inserendo il nome dell'archivio oppure il codename.
Invece nel file <code>apt.conf</code>, oppure creando un file in <code>/etc/apt/apt.conf.d</code>, provvediamo a far corrispondere la versione di default con quella da noi specificata nel file <code>preferences</code>. La variabile da editare è '''APT::Default-Release''', inserendo la [[release]], ossia a scelta la suite oppure il codename.
<pre>APT::Default-Release "archive/codename";
<pre>APT::Default-Release "release";
APT::Cache-Limit 15000000;
APT::Cache-Limit 15000000;
Apt::Get::Purge;
Apt::Get::Purge;
Riga 26: Riga 26:


===Le sorgenti software===
===Le sorgenti software===
Una volta configurato opportunamente il pinning dobbiamo editare le sorgenti software del nostro sistema in modo che puntino tutte alla versione di Debian a cui vogliamo fare il downgrade. Se ad esempio vogliamo riportare i nostri pacchetti a '''stable''', elimineremo tutte le sorgenti relative a testing, unstable, ecc... e utilizzeremo solo
Una volta configurato opportunamente il pinning dobbiamo editare le sorgenti software del nostro sistema in modo che puntino tutte alla versione di Debian a cui vogliamo fare il [[downgrade]]. Se ad esempio vogliamo riportare i nostri pacchetti a '''stable''', elimineremo tutte le sorgenti relative a testing, unstable, ecc... e utilizzeremo solo
<pre>deb http://ftp.it.debian.org/debian/ stable main non-free contrib</pre>
<pre>deb http://ftp.it.debian.org/debian/ stable main non-free contrib</pre>
e così via. Fatto questo, aggiorniamo il database dei pacchetti col il classico
e così via. Fatto questo, aggiorniamo il database dei pacchetti col il classico
Riga 32: Riga 32:


===Programmi utilizzati===
===Programmi utilizzati===
È fondamentale comprendere che la rimozione di programmi essenziali senza le dovute cautele e accorgimenti porta inevitabilmente ad una serie di anomalie di grave entità (non funzionamento dell’ interfaccia, della rete ecc…), a ritrovarsi ad avere un sistema operativo inusabile o addirittura nemmeno in grado di bootstrapare. Mentre stiamo facendo il downgrade concentriamoci esclusivamente su questo compito, non utilizziamo programmi non indispensabili, leggiamo sempre 4 volte l’ output a video e nel dubbio evitiamo di rimuovere qualsiasi cosa.
È fondamentale comprendere che la rimozione di programmi essenziali senza le dovute cautele e accorgimenti porta inevitabilmente ad una serie di anomalie di grave entità (non funzionamento dell’ interfaccia, della rete ecc…), a ritrovarsi ad avere un sistema operativo inusabile o addirittura nemmeno in grado di bootstrapare. Mentre stiamo facendo il [[downgrade]] concentriamoci esclusivamente su questo compito, non utilizziamo programmi non indispensabili, leggiamo sempre 4 volte l’ output a video e nel dubbio evitiamo di rimuovere qualsiasi cosa.


Assicuriamoci di avere a portata di mano alcuni programmi fondamentali:
Assicuriamoci di avere a portata di mano alcuni programmi fondamentali:
Riga 39: Riga 39:


==Il downgrade==
==Il downgrade==
In un terminale individuiamo i pacchetti di cui vogliamo effettuare il downgrade. Nell’ esempio io utilizzo un unico pacchetto, ma la lista è molto più lunga.
In un terminale individuiamo i pacchetti di cui vogliamo effettuare il [[downgrade]]. Nell’ esempio io utilizzo un unico [[pacchetto]], ma la lista è molto più lunga.
<pre>$ apt-show-versions |grep newer
<pre>$ apt-show-versions |grep newer
[...]
[...]
3 581

contributi