HowTo: Upgrade Debian 5.0 (Lenny) To Debian 6.0 (Squeeze)

Debian 6.0 “Squeeze” has been released and how do I upgrade to Debian GNU/Linux 6.0 from the previous release, Debian GNU/Linux 5.0 (“Lenny”) using command prompt?

Debian 6.0 introduces a dependency based boot system, making system start-up faster and more robust due to parallel execution of boot scripts and correct dependency tracking between them. Upgrades to Debian GNU/Linux 6.0 from the previous release, Debian GNU/Linux 5.0 (codenamed “Lenny”), are automatically handled by the apt-get package management tool for most configurations.

Make a backup – it cannot be stressed enough how important it is to make a backup of your system before you do this. Most of the actions listed in this post are written with the assumption that they will be executed by the root user running the bash or any other modern shell. The official Debian document recommends:

The main things you’ll want to back up are the contents of /etc, /var/lib/dpkg, /var/lib/apt/extended_states and the output of dpkg –get-selections “*” (the quotes are important). If you use aptitude to manage packages on your system, you will also want to back up /var/lib/aptitude/pkgstates.

The following insutctions are tested on 64 bit version only but should work with 32 bit system. Edit the file called /etc/apt/sources.list, enter:
# vi /etc/apt/sources.list
Find word lenny and replace with squeeze. At the end it should look as follows:

deb http://ftp.us.debian.org/debian/ squeeze main
deb-src http://ftp.us.debian.org/debian/ squeeze main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

deb http://volatile.debian.org/debian-volatile squeeze/volatile main
deb-src http://volatile.debian.org/debian-volatile squeeze/volatile main

Save and close the file. Type the following command:
# apt-get update
# apt-get install apt dpkg aptitude
# apt-get dist-upgrade

Finally, reboot the server:
# reboot
After reboot make sure all required ports are open and all services are running:
# lsb_release -a
# netstat -tulpn
# tail -f /var/log/messages
# tail -f /path/to/log/file

Further readings:

Posted by: SXI ADMIN

The author is the creator of SXI LLC and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.