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 http://ftp.se.debian.org/debian/ lenny main contrib non-free deb-src http://ftp.se.debian.org/debian/ lenny main contrib non-free deb http://security.debian.org/ lenny/updates main deb-src http://security.debian.org/ lenny/updates main deb http://volatile.debian.org/debian-volatile lenny/volatile main deb-src http://volatile.debian.org/debian-volatile 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:
aptitude
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 http://ftp.se.debian.org/debian/ squeeze main contrib non-free deb-src http://ftp.se.debian.org/debian/ squeeze main contrib non-free deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ 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:
update-grub
apt-get install udev
Once previous steps have completed, it's time to restart the system:
reboot
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:
upgrade-from-grub-legacy
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 http://www.debian.org/releases/stable/releasenotes