Run Multiple Debian Versions Simultaneously

by Juliet Kemp

Tip of the Trade: Meet apt -- the best-kept secret for keeping up with the Debian release cycle.

Happily, at the moment it's still early on in the Debian release cycle, so not too many packages are missing from, or outdated in, stable. However, it can be really useful to grab packages from upstream when needed without necessarily upgrading your whole system to testing. This is quite straightforward to do with apt, but it isn't all that well-documented.

First, add the testing sources to /etc/apt/sources.list:

deb http://ftp.us.debian.org/debian testing main non-free contrib

Run apt-get update. If you get an error message like this:

E: Dynamic MMap ran out of room
edit /etc/apt/apt.conf to contain this line:
APT::Cache-Limit "10000000";
and rerun the update.

Now edit /etc/apt/preferences to include these lines:

Package: *
Pin: release a=stable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650
apt-get prefers options with higher pin values, so this prioritizes stable over testing.

To install a single package from testing, use apt-get install packagename/testing. However, this doesn't grab any dependencies, so you may not be able to run the upgrade. The alternative is to use apt-get install -t testing packagename, which will try to meet the dependencies if possible.

Note, however, that sometimes it's not. For example, if the upgrade will break other packages, you may just have to make do without it!

Follow ServerWatch on Twitter

This article was originally published on Monday Aug 10th 2009
Mobile Site | Full Site