Tag Archive for 'squeeze'

[HOW-TO] Upgrade from Debian Lenny to Debian Squeeze on a Virtuozzo VM (1&1)

Squeeze landed in February and I’ve had my eye on it since. While I don’t see the need to be bleeding edge, it was becoming apparent that an upgrade was needed, as this was no longer about running the latest stuff, but rather because Lenny was only seeing security and bug fixes. The first thing I checked out was the kernel. A uname -r returned:

2.6.18-028stab070.4

An old, yet recently maintained kernel (25th August 2010) used on Virtuozzo Power Panel platforms. While all Virtuozzo systems on the server must run the same kernel, they do not need to run the same distribution versions obviously. Consider the Virtuozzo hypervisor more of a chroot jail.

The first step is to create a complete backup of your system in case anything goes wrong. Virtuozzo have a built in backup facility, and it’s probably best to use this as it will handle the full system backup for you, but I ran this command to create a tarball because my ISP (1&1) did not offer me this service:

cd /; tar -cvpzf backup.tar.gz –exclude=/backup.tar.gz –exclude=/proc –exclude=/lost+found –exclude=/sys –exclude=/mnt –exclude=/media –exclude=/dev /

In less than 10 minutes, I’d backed up the system which was around 3GB.

Next, I made sure all packages were up to date:

apt-get update
apt-get upgrade

Then change the references from Lenny to Squeeze in /etc/apt/sources.list

sed -i ‘s/lenny/squeeze/;s/^.*volatile/#&/’ /etc/apt/sources.list

Updated apt and upgraded packages again:

apt-get update
apt-get upgrade

And ran the dist-upgrade command:

apt-get dist-upgrade

Apt will then upgrade your system accordingly. You will be asked a few times if you’d like to keep the configuration on disc, show the differences or use the package maintainer’s version. My advice (it worked first time for me): allow the maintainer’s version to replace yours if you have definitely not modified it yourself (e.g. cron handling scripts), but configurations, such as vsftpd and mysql and apache, I kept the original.

I was then warned that I would need to re-run dpkg-reconfigure sysv-rc because Debian was unable to migrate to a dependency based boot system. This is a new feature in Squeeze that allows prioritisation of the init.d startup process, so I ignored the warnings as some were related to a vz* service which is Virtuozzo based and therefore I did not want to tamper with this. It did however tell me that the package mysql-server-5.0 had not been removed, so I ran:

apt-get purge mysql-server-5.0

After that, despite Debian having installed mysql-server-5.1-core, it wasn’t working. I therefore installed the metapackage of MySQL-server:

apt-get install mysql-server

which installed a few packages, namely mysql-server, mysql-client. Having purged mysql server 5.0, I was doubtful if my database would persist and thought I would have to fork it out of the tarball, but I checked my home page and WordPress was back returning pages.

When seeing if the forum was working however, which is a bbPress installation, I noticed some ugly deprecation errors, which occur because PHP has been updated to a version with newer functions than that used in bbPress. While many users were saying the only solution was to pull down the trunk of bbPress, there is a simpler solution. Edit bb-load.php, replacing this line (or commenting out):

error_reporting( E_ALL ^ E_NOTICE );

with this statement, that ignores deprecation issues:

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING);

And just like that, my system is now running Debian Squeeze, with fresh packages and without any problems. It was a priority for me to upgrade from Lenny to Squeeze because Lenny will soon go EOL (devs are not sure how long they can support the distribution for) and I believe that a upgrade path will only get more difficult the longer it is left. A pretty smooth upgrade though, in less than 20 minutes we were back online. Sorry for any disruption of service.