Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I used to run Debian testing, and I haven't upgraded or dist-upgraded for about 2 years. Yesterday I made the mistake of trying that... it didn't work (I don't remember the exact error messages), so I tried squeeze instead.

Well, packages were downloaded and started installing, but then I got to the libc6 configuration. I passed the menu about restarting services, then got:

WARNING: this version of the GNU libc requires kernel version
2.6.18 or later. Please upgrade your kernel before installing

The installation of a 2.6 kernel _could_ ask you to install a new libc
first, this is NOT a bug, and should *NOT* be reported. In that case,
please add lenny sources to your /etc/apt/sources.list and run:
  apt-get install -t lenny linux-image-2.6
Then reboot into this new kernel, and proceed with your upgrade
dpkg: error processing /var/cache/apt/archives/libc6_2.11.3-3_i386.deb (--unpack):
 subprocess new pre-installation script returned error exit status 1
configured to not write apport reports
                                      Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)

My kernel is a slightly customized (not built using Debian packages). Anyway, I added lenny sources (from and tried

apt-get install -t lenny linux-image-2.6-2-686

but all that gets me is:

The following packages have unmet dependencies:
 libc-bin : Breaks: libc6 (< 2.10) but 2.7-18 is to be installed
 linux-image-2.6.26-2-686 : Depends: initramfs-tools (>= 0.55) but it is not going to be installed or
                                     yaird (>= 0.0.13) but it is not installable or
                            Recommends: libc6-i686 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

adding libc6-i686 initramfs-tools doesn't help. I tried a couple more things which, to my shame, I don't exactly remember (locales got removed I think). I tried manually downloading Linux-2.6.35 , but got errors on missing .h files on make config.

Please help! I don't want to break my system more than it already is...

Contents of /etc/apt/sources.lst:

deb squeeze main
deb lenny main contrib non-free
deb-src squeeze main
deb squeeze/updates main
deb lenny/updates main

This Debian forums thread seems to be related, but with different versions.

Update: Following a suggestion here, I'm now trying to dist-upgrade to etch first. But, woe is me, now libc-bin is removed and I get:

Preconfiguring packages ...
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: 1 expected program not found in PATH or not executable.
NB: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)
share|improve this question
up vote 1 down vote accepted

Well, problem solved:

  • I was running an etch-as-testing, apparently.
  • set the apt sources.list to point to etch on .
  • had to manually get and install etch's libc6-dev_2.3.6.ds1-13etch10+b1 from , forcing the version down apt-get's throat.
  • dist-upgraded a couple of times.
  • set the apt sources.list to point to lenny on .
  • dist-upgraded a couple more times.
  • had to manually download libc6_2.7-18lenny7_i386.deb , and manually copy out to its place
  • dist-upgraded a couple more times.

And that's basically it. More details and high-strung attitude in the thread linked to from the question...

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.