Cheap VPS & Xen Server

Residential Proxy Network - Hourly & Monthly Packages

Upgrade Debian Lenny To Squeeze In A Few Simple Steps

One rather old laptop and one server were the test objects for this howto. Both systems did not have any RAID devices and use a simple partition scheme from a default basic Lenny install. If your setup deviates much from this, it’s highly recommended to read all details of the Debian Release Notes before you continue. Be warned. All commands are run as root and Debian recommends to use apt-get for the Squeeze upgrade process.

As with all upgrades, begin with a backup of your critical data, and that will be the users data in /home/your-users but I would also back up the content of all configurations files. The latter can quickly be archived:

tar -czvf host.etc.tar.gz /etc

Move your files for safe storage on a backup drive.


Edit your Apt sources list file

To prepare for the installer, we need to get to a point where the package system is in a clean state. Move the preferences file from the directory if used. If you have a very complicated Debian source file, I would recommend that this is simplified to near the original install.

Open up a command line editor and reduce /etc/apt/sources.list to something similar to only:

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

Naturally your country code is likely to be different from mine se.


Update the packages for Lenny

With a few commands we will make sure that the existing package system is in good shape before the system is upgraded to Squeeze.

apt-get update

Ready for first upgrade:

apt-get upgrade

Follow this with:

apt-get dist-upgrade


Check that no packages are on hold or in any half installed state

The system usually contains many many packages, and before the real upgrade stage we must fix such problem packages.

Ensure that we do not have any packages on hold with:

dpkg –audit
dpkg –get-selections | grep hold

No packages can be on hold.

For the final go ahead test use:


Press g and the list shows which packages need your attention. Fix any packages in the action list, until the message says:

No packages are scheduled to be installed, removed or upgraded

Only then you are done and ready to pass this point.


Update the source list for Squeeze

Update once more the /etc/apt/sources.list:

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

and at the command line type:

apt-get update


Squeeze upgrade in two careful steps

It’s recommenced to use a two stage upgrade approach with kernel, udev and the preparation for grub2. After the first completed the full distribution upgrade is performed. Start with the upgrade like so:

apt-get upgrade

Now to the kernel; we need to find your flavor, i.e. the exact version numbers and architecture and install it with:

uname -r
apt-get install linux-image-2.6.26-2-amd64

If the system is old like my laptop it would install with:

apt-get install linux-image-2.6.26-2-686

Prepare grub2 and udev for the new system:

apt-get install udev

Once previous steps have completed, it’s time to restart the system:



Almost there

When the system has restarted, continue with the full upgrade phase, download and upgrade:

 apt-get -d dist-upgrade

apt-get dist-upgrade

The latter will be interactive. Starting the system with the first menu item shows if grub2 works properly, if so run:


which will install grub2 in the Master Boot Record (MBR) on the disk.

Further information are found on Debian main site and in the Release Notes here