Currently I have installed Debian Lenny on virtualized server provided by my local ISP. I can't upgrade it, can configure it however I want, to Squeeze but I need newest package versions provided by Squeeze repository.

If I update /etc/apt/sources.list to Squeeze and then install, say potgresql, will it work correctly or system will be broken afterwards. Troubles can be with package dependencies.

Are there any other sources that provide new versions of software (dotdeb maybe)? Or how would you solve this problem?

Asking provider to upgrade is no option, tried that. Changing provider also not an option :p

I'm new to Debian but know my way around linux pretty well.

Note: This setup is for testing only, may be used as development server later, once I install required packages.

2 Answers 2


Lenny-backports is the only clean solution. Anything else will likely upgrade core parts of the OS, which you said you didn't want. In the case of postgresql, you get 8.4.7 instead of 8.3.14.

deb http://backports.debian.org/debian-backports lenny-backports main

plus contrib and non-free if needed.

Not sure what the blockage to a real upgrade is. You have root on the VM, and all that's left is the kernel the physical host provides. But unless I'm mistaken, you don't have to upgrade the VM's kernel to run squeeze.

  • +1 for that. Any attempt to use dpkg/apt to install one version's packges on another will result in a dependency nightmare. The backports is very helpful, though it does rely on the package maintainer bothering with it; you'll only find a smaller subset of the popular packages there. Apr 28, 2011 at 12:08

Backports is the way to go. But if you do have to resort to using a squeeze source in your apt configuration because you can't find what you want in backports, don't just replace the lenny sources but use pinning instead.

First add a squeeze source to /etc/apt/sources without removing your current lenny lines. Then create and/or edit /etc/apt/preferences and add something like this:

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

Package: *
Pin: release a=squeeze
Pin-Priority: 650

Use oldstable instead of lenny and stable instead of squeeze if you configure your sources that way.

This lets you install squeeze packages (and their dependencies) only when you specify the -t parameter to apt-get, as in:

apt-get install -t squeeze vim

Note that this is equivalent to editing your apt sources and running apt-get update before and after every command that uses the -t parameter, so it doesn't do any magic. But in my experience having an updated sources list you haven't run upgrade on without pinning tempts breakage, specially if you share the administration of the server.

Some packages you can install without problems, others not so much. But apt-get warns you about certain breakage for example if the desired package wants to install a new libc. Try this in a test environment first for obvious reasons.

  • Also thanks for this, I'll try it since php-5.3 is not in lenny-backports.
    – Peter
    Apr 28, 2011 at 12:24
  • 1
    @Peter for php5.3 see dotdeb.org/instructions
    – DerfK
    Apr 28, 2011 at 12:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .