Quindi se anche voi siete nella situazione di dover installare un pacchetto unstable dovete usare correttamente il pinning dei pacchetti. Ad esempio io ho voluto installare esniper ma la versione nella stable è la 2.18 e chiaramente non funziona viste le frequenti modifiche alle pagine web di Ebay. Allora le soluzioni sono di compilare manualmente il pacchetto partendo dai sorgenti oppure di scaricare il pacchetto precompilato del repository unstable (nel caso si opti per la compilazione del tool esniper bisogna assicurarsi di avere tutte le librerie devel di cURL).
Vi riporto un po’ di link di riferimento per il pinnig:
Di seguito invece i comandi e le configurazioni che io ho impostasto sul mio NSLU2 su cui è installata una Debian Lenny:
goku:/var/lib/apt/lists# cat ftp.it.debian.org_debian_dists_lenny_Release | head -12 Origin: Debian Label: Debian Suite: oldstable Version: 5.0.8 Codename: lenny Date: Sat, 05 Feb 2011 11:52:42 UTC Architectures: alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc Components: main contrib non-free Description: Debian 5.0.8 Released 22 January 2011 MD5Sum: 58224633e5dce3e9b37731332b0c1170 46265 Contents-udeb.gz f44897b98ff13591feefd16b28ededde 13567055 Contents-alpha.gz
Modifico il file /etc/apt/source.list aggiungendo i repository Testing e Unstable.
goku:/etc/apt# cat sources.list # deb http://ftp.it.debian.org/debian/ lenny main deb http://ftp.it.debian.org/debian/ lenny main deb-src http://ftp.it.debian.org/debian/ lenny main deb http://security.debian.org/ lenny/updates main deb-src http://security.debian.org/ lenny/updates main deb http://volatile.debian.org/debian-volatile lenny/volatile main deb-src http://volatile.debian.org/debian-volatile lenny/volatile main # Testing deb http://ftp.it.debian.org/debian/ testing main non-free contrib # Unstable deb http://ftp.it.debian.org/debian/ unstable main non-free contrib
Ora creo il file /etc/apt/preferences (e /etc/apt/apt.conf ) forzando il pachetto esniper alla versione unstable con la massima priorità evitando di ritrovarmi una marea di pacchetti aggiornati alla release unstable (ulteriori informazioni possono essere ricavate da man apt_preferences).
goku:/etc/apt# cat preferences Package: * Pin: release a=oldstable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650 Package: * Pin: release a=unstable Pin-Priority: 600 Package: esniper Pin: release a=unstable Pin-Priority: 1001
Aggiornamento dei repository ( apt-get clean && apt-get update ) e verifica delle priorità:
goku:/etc/apt# apt-cache policy Package files: 100 /var/lib/dpkg/status release a=now 600 http://ftp.it.debian.org unstable/contrib Packages release o=Debian,a=unstable,l=Debian,c=contrib origin ftp.it.debian.org 600 http://ftp.it.debian.org unstable/non-free Packages release o=Debian,a=unstable,l=Debian,c=non-free origin ftp.it.debian.org 600 http://ftp.it.debian.org unstable/main Packages release o=Debian,a=unstable,l=Debian,c=main origin ftp.it.debian.org 650 http://ftp.it.debian.org testing/contrib Packages release o=Debian,a=testing,l=Debian,c=contrib origin ftp.it.debian.org 650 http://ftp.it.debian.org testing/non-free Packages release o=Debian,a=testing,l=Debian,c=non-free origin ftp.it.debian.org 650 http://ftp.it.debian.org testing/main Packages release o=Debian,a=testing,l=Debian,c=main origin ftp.it.debian.org 700 http://volatile.debian.org lenny/volatile/main Packages release o=volatile.debian.org,a=oldstable,l=debian-volatile,c=main origin volatile.debian.org 700 http://security.debian.org lenny/updates/main Packages release v=5.0,o=Debian,a=oldstable,l=Debian-Security,c=main origin security.debian.org 700 http://ftp.it.debian.org lenny/main Packages release v=5.0.8,o=Debian,a=oldstable,l=Debian,c=main origin ftp.it.debian.org Pinned packages: esniper -> 2.24.0-1
Ecco il risultato finale in cui viene installato esniper da unstable mentre il generico update prende i pacchetti dalla stable (ora oldstable in quanto la versione attuale stable di Debian è squeeze e non più lenny)
goku:/etc/apt# apt-get -t unstable install esniper Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: esniper 0 upgraded, 1 newly installed, 0 to remove and 283 not upgraded. Need to get 44.5kB of archives. After this operation, 143kB of additional disk space will be used. Get:1 http://ftp.it.debian.org testing/main esniper 2.24.0-1 [44.5kB] Fetched 44.5kB in 0s (98.8kB/s) Selecting previously deselected package esniper. (Reading database ... 25373 files and directories currently installed.) Unpacking esniper (from .../esniper_2.24.0-1_armel.deb) ... Processing triggers for man-db ... Setting up esniper (2.24.0-1) ... goku:/etc/apt# apt-get update Hit http://volatile.debian.org lenny/volatile Release.gpg Hit http://volatile.debian.org lenny/volatile Release Hit http://ftp.it.debian.org lenny Release.gpg Hit http://ftp.it.debian.org testing Release.gpg Hit http://security.debian.org lenny/updates Release.gpg Hit http://ftp.it.debian.org unstable Release.gpg Hit http://ftp.it.debian.org lenny Release Hit http://security.debian.org lenny/updates Release Hit http://ftp.it.debian.org testing Release Ign http://volatile.debian.org lenny/volatile/main Packages/DiffIndex Hit http://ftp.it.debian.org unstable Release Ign http://volatile.debian.org lenny/volatile/main Sources/DiffIndex Hit http://volatile.debian.org lenny/volatile/main Packages Hit http://volatile.debian.org lenny/volatile/main Sources Ign http://ftp.it.debian.org lenny/main Packages/DiffIndex Ign http://ftp.it.debian.org lenny/main Sources/DiffIndex Hit http://ftp.it.debian.org lenny/main Packages Ign http://security.debian.org lenny/updates/main Packages/DiffIndex Hit http://ftp.it.debian.org lenny/main Sources Ign http://security.debian.org lenny/updates/main Sources/DiffIndex Get:1 http://ftp.it.debian.org testing/main Packages/DiffIndex [2038B] Get:2 http://ftp.it.debian.org testing/non-free Packages/DiffIndex [2023B] Get:3 http://ftp.it.debian.org testing/contrib Packages/DiffIndex [1609B] Hit http://security.debian.org lenny/updates/main Packages Hit http://ftp.it.debian.org unstable/main Packages/DiffIndex Hit http://ftp.it.debian.org unstable/non-free Packages/DiffIndex Hit http://ftp.it.debian.org unstable/contrib Packages/DiffIndex Hit http://security.debian.org lenny/updates/main Sources Fetched 5670B in 29s (189B/s) Reading package lists... Done goku:/etc/apt# apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done The following packages have been kept back: linux-image-2.6.26-2-ixp4xx The following packages will be upgraded: libcups2 libsvn1 libwbclient0 samba samba-common samba-doc smbclient smbfs subversion swat winbind 11 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. Need to get 29.3MB of archives. After this operation, 344kB of additional disk space will be used. Do you want to continue [Y/n]?
[ad name=”HTML”]