After spending the last two weeks upgrading various versions of Debian to Squeeze, I figured I would post the details of how to upgrade each version, starting from Debian 3.1 to Debian 6.0.
The safest way to upgrade to Debian Squeeze is to upgrade from the prior version until you reach version 6.x. In order words, if you are upgrading from Debian 4.x, need to upgrade to Debian 5.x and THEN to Debian 6.x. Direct upgrades are not at all recommended.
Here are the steps that I took when I upgrading between various versions.
Sarge to Etch:
I was able to upgrade all of our Debian 3.1 machines to Debian 4.0 using the following commands. I did not encounter any real surprises when I upgraded any of our physical of virtual machines.
You can upgrade using apt and the following commands:
# apt-get dist-upgrade
Etch to Lenny:
The only real issue to note when upgrading from Debian 4.0 to 5.0, is that Lenny does not provide the drivers by default for any of the Broadcom network adapter drivers used by a majority of our Dell servers. This caused some stress for me since I was doing the upgrades without physical access to the servers, so after I completed the upgrade to 5.0 and rebooted the server, of course I was not able to access the server because the NIC cards were no longer recognised by Debian.
In order to resolve this issue you will need to install the ‘firmware-bnx2‘ package after you do the upgrade but BEFORE you reboot the server.
The reason that the Debian team does not include these drivers by default is due to license restrictions placed on the firmware. If you want to read more about this issue you can view the very short bug report here.
The best tool for upgrading to Debian 5 is aptitude:
# aptitude install apt dpkg aptitude
# aptitude full-upgrade
Lenny to Squeeze:
Upgrading Debian 5.o to 6.0 was also relatively painless as well. One issue that I did run into revolved around the new version of udev and kernel versions prior to 2.6.26. We had a few servers that were using kernel versions in the 2.6.18 range and if don’t upgrade the kernel version before you reboot, you may have issues with certain devices not being recognized or named correctly and thus you may have issues that prevent a successful bootup.
You can use the following apt commands to complete the upgrade process:
# apt-get dist-upgrade -u
Here are the repo’s that used while doing the upgrades:
deb-src http://archive.debian.org/debian/ etch main non-free contrib
deb http://archive.debian.org/debian-security/ etch/updates main non-free contrib
deb-src http://archive.debian.org/debian-security/ etch/updates main non-free contrib
# Debian Lenny-5
deb http://archive.debian.org/debian/ lenny main contrib non-free
deb-src http://archive.debian.org/debian/ lenny main contrib non-free
deb http://archive.debian.org/debian-security lenny/updates main contrib non-free
deb-src http://archive.debian.org/debian-security lenny/updates main contrib non-free
deb http://archive.debian.org/debian-volatile lenny/volatile main contrib non-free
deb-src http://archive.debian.org/debian-volatile lenny/volatile main contrib non-free
# Debian Squeeze-6
deb http://ftp.us.debian.org/debian squeeze main contrib non-free
deb http://ftp.debian.org/debian/ squeeze-updates main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free