Note that this should only be done over single releases (ie don't go from Sarge straight to Lenny)
On Debian? What does cat /etc/debian_version say?
3.0 is Woody
3.1 is Sarge
4.0 is Etch
5.0 is Lenny
6.0 is Squeeze
The current stable distro is here. The official upgrade guide is here.
If you want to dist-upgrade to Lenny use something like this for your /etc/apt/sources.list:
deb http://ftp.us.debian.org/debian lenny main contrib
deb http://security.debian.org/ lenny/updates main
Or normally the following will work...
sed --in-place 's/^\([^#].*debian-non-US\)/#\1/g' /etc/apt/sources.list
sed --in-place 's/etch/lenny/g' /etc/apt/sources.list
Then run...
# to minimize all those tedious 'are you sure'? messages.
export DEBIAN_PRIORITY=critical
export DEBIAN_FRONTEND=noninteractive
# run the dist upgrade
apt-get update
apt-get dist-upgrade
We have run this a few times on VPS'. And the process seems pretty safe/hassle free.
Most Debian gurus will tell you to use Aptitude, to upgrade, which does some more sophisticated dependency resolution. This is what we use these days:
# run the dist upgrade
aptitude update
aptitude upgrade
aptitude dist-upgrade
Rinse and repeat for each version you need to upgrade to.
As always, if you are not sure, feel free to get one of our staff to assist you by popping in a support ticket.
See our Ubuntu page here.