APT ed il Pinning
Forse non tutti sanno che su Debian (e sue derivate) è possibile installare pacchetti da versioni diverse senza dover aggiornare l’intero sistema, semplicemente usando il Pinning. Chi legge questo blog di sicuro avrà già incontrato questa parola, che avevo usato citando la guida del mio amico voRia che spiega come installare pacchetti da versioni differenti compilando da sorgente.
Oggi voglio spiegarvi come installare pacchetti da versioni differenti utilizzando APT e quindi usando i deb precompilati presenti nei vari repository. Certo avrei potuto fare prima questa guida, ma fin’ora non ne ho avuto mai bisogno.
Premessa quanto leggerete qui potrete trovarlo anche qui (in inglese) e qui (in italiano). Ora possiamo vedere i tre passi principali per il pinning.
Primo: bisogna inserire i repository nella propria sources.list:
##SQUEEZE (Testing)
deb http://ftp.it.debian.org/debian/ squeeze main contrib non-free
##SID (Unstable)
deb http://ftp.it.debian.org/debian/ sid main non-free contrib
deb-src http://ftp.it.debian.org/debian/ sid main contrib non-free
##EXPERIMENTAL
deb http://ftp.debian.org/debian/ ../project/experimental main
##SECURITY UPDATES (Squeeze)
deb http://security.debian.org/ squeeze/updates main contrib non-free
#deb-src http://security.debian.org/ squeeze/updates main contrib non-free
##MULTIMEDIA
deb http://www.debian-multimedia.org squeeze main
Secondo: bisogna creare delle preferenze di utilizzo dei repository. Questo si fa creando il file /etc/apt/preferences in questo modo:
Package: *
Pin: release o=Unofficial Multimedia Packages
Pin-Priority: 950
#
Package: *
Pin: release a=testing
Pin-Priority: 850
#
Package: *
Pin: release a=unstable
Pin-Priority: 800
#
Package: *
Pin: release a=experimental
Pin-Priority: 750
Dove o= sta per origine mentre a= sta per archivio (sid, testin, experimental… ), per sapere come completare questi campi basta leggere il file Release contenuti nella directory /var/lib/apt/lists/ oppure direttamente nel server del repository.
Terzo: bisogna configurare apt creando il file /etc/apt/apt.conf . Visto che il plugin degli smile mi sostituisce il testo del codice rimando a questo indirizzo.
Facciamo un update dei repository ed a questo punto abbiamo concluso. Usando apt normalmente verranno installati i pacchetti da testing se volessimo usare dei pacchetti da un’altra versione basterà usare il comando apt-get install -t nome_versione nome_pacchetto ad esempio da sid apt-get install -t unstable nomepacchetto.
Ora posso provare ad installare KDE4.2 sulla mia Squeeze.

« Qualche nuova aggiunta ai miei RSS - Aggiornamento bislacco »
Commenti
Comment da scimmia
using
Mozilla Firefox 3.0.8 on
Ubuntu Linux | Quote
Ora: 1 aprile 2009, 11:53
![]()
volevo anche aggiungere, giusto per completezza, che tramite apt-cache policy si hanno un sacco di info su come verranno scelti i pacchetti in base al pinning.
ciao
![]()
Comment da Madrefoca
using
Debian IceWeasel 3.0.7 on
Debian GNU/Linux | Quote
Ora: 1 aprile 2009, 19:05
Quante notizie interessanti… Grazieee! ![]()
Pingback da Madrefocaine! » Amarok2
using
WordPress 2.7.1 | Quote
Ora: 22 maggio 2009, 09:17
[...] che mi sono accorto che era già presente nei repository experimental e quindi grazie al pinning sono riuscito ad installare con un [...]











Comment da scimmia using
Debian IceWeasel 3.0.7 on
Debian GNU/Linux | Quote
Ora: 31 marzo 2009, 23:36
Una cosa che potrebbe farti piacere… (cosi la prossima volta ti risparmi una guida ;-))
c’è un progetto per la google summer of code, un progetto di debian per integrare il pinning dentro aptitude.
mostrerebbe anche il risultato delle proprie azioni, evidenziando pacchetti che vengono o meno aggiornati in seguito al pinning.
sembra molto interessante e utile.
direi anche “era ora, ché fare sto file preferences è ogni volta na palla, e non accetta nemmeno i commenti!!”
