home :: technology :: linux :: debian_upgrade_woes

Debian Upgrade Woes

We run two Debian Linux servers at work: a back-up web server and a sandbox for random Linux development. Recently, I decided to do an apt-get upgrade on the servers to update their software packages to the latest versions.

I figured it would be simple. We were already running the unstable branch. And it hadn’t been that long since I last attempted an upgrade. So, as root, I issued the following commands:

# apt-get update
# apt-get dist-upgrade

Uh-oh! I kept getting the following error:

Setting up libc6 (2.3.5-3) ...
mv: error while loading shared libraries: libacl.so.1: cannot enable
executable stack as shared object requires: Error 14 

After some googling, I found out that the most recent libc6 package is uncompatible with my older Woody kernel, 2.4.18-bf2.4. Apparently, I should’ve known this ahead of time! Even worse, because libc6 was screwed up (and has its tentacles embedded in just about everything), I couldn’t install the latest kernel!

Somehow, I needed to downgrade my version of libc6 to an earlier version. Then I could update my kernel. Here’s how I did it:

Step 1: Put the stable branch at the top of my /etc/apt/sources.list file:

deb http://http.us.debian.org/debian/ stable main contrib non-free
deb http://http.us.debian.org/debian/ unstable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free

Step 2: Force the install of the Woody version of libc6 with the following command:

# apt-get update
# apt-get install libc6/stable

Hurray, we’re back! Now I can update to the latest kernel!

# cat /proc/cpuinfo

# apt-get install kernel-image-2.4.27-2-686/stable
[ broken! - need a couple of extra packages ]
# apt-get install dash/stable
# apt-get install initrd-tools/stable

[ in /etc/lilo.conf, added after 'default=Linux': ]

image=/boot/vmlinuz-2.4.27-2-686
    label=Linux2427
  initrd=/initrd.img
    read-only

image=/boot/vmlinuz-2.4.18-bf2.4
    label=Linux2418
    read-only

[ Important: Make sure /initrd.img is linked to
              boot/initrd.img-2.4.27-2-686 ]

# lilo
# reboot

Step 3: Remove the stable branch from /etc/apt/sources.list and proceed with the upgrade as planned.

Last Updated: Thu, 17 Nov 2005

Feedback

Name:

Email or URL:

Comments: