Configure your apt-get Set up your /etc/apt/preferences as follows: Package: * Pin: release a=stable Pin-Priority: 1001 Package: * Pin: release a=testing Pin-Priority: 60 Package: * Pin: release a=unstable Pin-Priority: 50 add the stable sources to /etc/apt/sources.list Run apt-get update Run apt-get dist-upgrade Ignore this warning: WARNING: The following essential packages will be removed This should NOT be done unless you know exactly what you are doing! libstdc++5 (due to apt) dselect (due to dpkg) 1 packages upgraded, 2 newly installed, 130 downgraded, 11 to remove and 3 not upgraded. Need to get 10.8MB/32.9MB of archives. After unpacking 39.5MB disk space will be freed. You are about to do something potentially harmful To continue type in the phrase 'Yes, do as I say!' ?] Yes, do as I say! This will fail somewhere during the downgrade. Don't worry about this, I had to manually allow overwriting: dpkg --force-overwrite -i /var/cache/apt/archives/debconf_1.0.32_all.deb dpkg --force-overwrite -i /var/cache/apt/archives/dpkg_1.9.21_i386.deb dpkg --force-overwrite -i /var/cache/apt/archives/shellutils_2.0.11-11_i386.deb dpkg --force-overwrite -i /var/cache/apt/archives/fileutils_4.1-10_i386.deb dpkg --force-overwrite -i /var/cache/apt/archives/e2fsprogs_1.27-2_i386.deb dpkg --force-overwrite -i /var/cache/apt/archives/sysvinit_2.84-2woody1_i386.deb dpkg --force-overwrite -i /var/cache/apt/archives/logcheck_1.1.1-13.1_all.deb dpkg --force-overwrite -i /var/cache/apt/archives/debianutils_1.16_i386.deb apt-get -f install and continue with -> apt-get dist-upgrade until there are no more packages to be downgraded. Next, do the forced downgrade of libc6 (which causes almost all non-stable to be removed) apt-get install libc6 run: apt-show-versions |grep -v /stable and look for packages that are not updated. Update them manually or remove them This should do it