Sunday, September 11, 2011

Apt-Pinning

Apt-Pinning allows you to install packages from testing/unstable/experimental on your Debian install without running into dependency and upgrade problems. It works by telling apt to give priority to one repository, in my case testing, and only install upgrades from it, while ignoring unstable and experimental unless I specifically request a package to be installed from them.

The Apt-Preferences Manual

You can find your apt-preference under /etc/apt/preferences

Debian installs do not come with a apt-preferences file.

To make apt-preference file:
sudo touch /etc/apt/preferences


My Apt Pining File -
Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 900

Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 300

Package: *
Pin: release o=Debian,a=experimental
Pin-Priority: 100

Package: *
Pin: release o=Debian
Pin-Priority: -1

To Install packages from other repositories:

sudo apt-get install PACKAGE NAME/unstable  
- tries to install package trying to use the default (in my case testing) dependencies

sudo apt-get -t unstable install PACKAGE NAME
- installs the package using dependencies from unstable

*Replace unstable with experimental to install packages from Debian's experimental repository

No comments:

Post a Comment