Debian pinning – installare versioni di uno specifico repository
29 Giugno 2017

Debian pinning – installare versioni di uno specifico repository

Sono solito utilizzare debian testing (Jessie ora che scrivo) ma a volte capita che i pacchetti presento su una particolare versione siano buggati.

In questi giorni ho avuto problemi con mysql workbench, che nei repository jessie mi veniva proposto nella versione 6.1.7+dfsg-1 0, versione con alcuni bug noti (l’editing delle colonne delle tabelle non è funzionante). Ho quindi pensato di provare versioni alternative, magari quella presente nel ramo stable, o unstable.

Per fare questa cosa si utilizza il pinning, il sistema di apt per gestire le priorità dei pacchetti. Per prima cosa sistemiamo il file /etc/apt/sources.list aggiungendo tutti i rami:

deb http://ftp.it.debian.org/debian/ testing main non-free contrib
deb-src http://ftp.it.debian.org/debian/ testing main non-free contrib
deb http://ftp.it.debian.org/debian/ unstable main non-free contrib
deb-src http://ftp.it.debian.org/debian/ unstable main non-free contrib
deb http://ftp.it.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.it.debian.org/debian/ stable main non-free contrib

poi editiamo (o creiamo se non è presente) il file /etc/apt/preferences:

Package: *
Pin: release a=stable
Pin-Priority: 650
Package: *
Pin: release a=testing
Pin-Priority: 700
Package: *
Pin: release a=unstable
Pin-Priority: 600

è facile capire le priorità. Apt utilizzerà prima i pacchetti testing, poi stable e infine unstable. Dopo aver fatto queste modifiche si possono vedere le varie versioni proposte del pacchetto necessario facendo:

apt-cache policy mysql-workbench

che mostrerà qualcosa del genere:

mysql-workbench:
Installato: 5.2.40+dfsg-2
Candidato: 6.1.7+dfsg-1
Tabella versione:
6.2.3+dfsg-1 0
600 http://ftp.it.debian.org/debian/ unstable/main amd64 Packages
6.1.7+dfsg-1 0
700 http://ftp.it.debian.org/debian/ testing/main amd64 Packages
*** 5.2.40+dfsg-2 0
650 http://ftp.it.debian.org/debian/ stable/main amd64 Packages
100 /var/lib/dpkg/status

I tre asterischi nel mio caso indicano che quella particolare versione è installata. In fine utilizziamo questo comando per installare dal ramo scelto:

apt-get -t stable install mysql-workbench

In questo modo verrà installato il pacchetto scelto con tutte le sue dipendenze. Diversamente è possibile fare:

apt-get install mysql-workbench/stable

Che a differenza del comando precedente installerà SOLO il pacchetto mysql-workbench nella versione stable ma tutte le dipendenze saranno prese dal ramo di default

Per controllare quali sono i pacchetti experimental, piuttosto che stable attualmente installati sul sistema, eseguire:

aptitude search ~S~i~Aexperimental

 


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *