One of the server providers that I use for some reason only likes to deploy Debian 4, even though 5 is out and stable. Here's how to easily upgrade from Etch to Lenny via SSH/command line.
Edit /etc/apt/sources.list:
deb <a href="http://ftp.us.debian.org/debian/" title="http://ftp.us.debian.org/debian/">http://ftp.us.debian.org/debian/</a> etch main contrib non-free
deb-src <a href="http://ftp.us.debian.org/debian/" title="http://ftp.us.debian.org/debian/">http://ftp.us.debian.org/debian/</a> etch main contrib non-free
deb <a href="http://security.debian.org/" title="http://security.debian.org/">http://security.debian.org/</a> etch/updates main contrib non-free
deb-src <a href="http://security.debian.org/" title="http://security.debian.org/">http://security.debian.org/</a> etch/updates main contrib non-free
deb <a href="http://volatile.debian.org/debian-volatile" title="http://volatile.debian.org/debian-volatile">http://volatile.debian.org/debian-volatile</a> etch/volatile main contrib non-free
deb-src <a href="http://volatile.debian.org/debian-volatile" title="http://volatile.debian.org/debian-volatile">http://volatile.debian.org/debian-volatile</a> etch/volatile main contrib non-free
Then do the following:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
After this completes, edit /etc/apt/sources.list and replace all instances of "etch" with "lenny":
deb <a href="http://ftp.us.debian.org/debian/" title="http://ftp.us.debian.org/debian/">http://ftp.us.debian.org/debian/</a> lenny main contrib non-free
deb-src <a href="http://ftp.us.debian.org/debian/" title="http://ftp.us.debian.org/debian/">http://ftp.us.debian.org/debian/</a> lenny main contrib non-free
deb <a href="http://security.debian.org/" title="http://security.debian.org/">http://security.debian.org/</a> lenny/updates main contrib non-free
deb-src <a href="http://security.debian.org/" title="http://security.debian.org/">http://security.debian.org/</a> lenny/updates main contrib non-free
deb <a href="http://volatile.debian.org/debian-volatile" title="http://volatile.debian.org/debian-volatile">http://volatile.debian.org/debian-volatile</a> lenny/volatile main contrib non-free
deb-src <a href="http://volatile.debian.org/debian-volatile" title="http://volatile.debian.org/debian-volatile">http://volatile.debian.org/debian-volatile</a> lenny/volatile main contrib non-free
Now we go through the update/upgrade/dist-upgrade process again, and then reboot:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo shutdown -r now