Debian Lenny Upgrade Experience

|

I have been a big fan of Debian for 7 year, from Woody to now Lenny. All of my Linux servers and projects (Voyage Linux) are all Debian-based. Although once upon a time I have used some bits from Ubuntu, but I totally abandon it now as twice-a-year upgrade would probably drive me crazy for server-oriented environment where stability and reliability are the keys.

Debian community released the "Valentine" Lenny release on 14 Feb 2009. Two of my Xen guests facilitated my Voyage Linux environment has already been upgraded to Lenny as soon as it is released. But for punkn!x.com I only have time to upgrade it until now as I foresee some complexity during upgrade. The complexity comes from a large amount of production services has been running. punkn!x.com is also a Xen Dom0 host for my 3 Xen DomU guests. It also runs mailing list, exim4 smtp server, web servers, mysql backend, etc. So upgrade must take special care.

Following the conventional upgrade procedure, upate /etc/apt/sources.list to point to lenny repository:

deb http://ftp.tw.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.tw.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
then runs apt-get:
# apt-get update
# apt-get dist-upgrade
The upgrade runs smooth, especially mysql server I didn't need to take care of it. At the end, it is expected it would ask you to update some configuration files. So my choice is to leave the original settings, and re-visit the configuration after the upgrade. In the following sections, I jotted down some notes when upgrading particular services.

Apache and PHP

Although lenny comes with both php4 and php5, modphp4 for apache2 is no longer provided in lenny. Since all of my blog and project sites has been running with php4 (i.e. Drupal and Joomla), I will need to upgrade the drupal from 4.5 to 4.7 in order for modphp5 to run properly with apache2. There was some accidents in upgrading 4.7.4 but I can finally solve it. One major problem using modphp5 with drupal 4.7.4 is that, according to some web sites, I need to add "$GLOBALS['tempUser'] = $user;" at the end of index.php in order to solve immediate logout problem after user/admin login. May be the next thing is to upgrade drupal 4.7 to 5, then to 6, if I really have free time to play with it again.

Exim4

I really hate exim4 because of its complexity in configuration. In every debian upgrade, I have to reconfigure exim4 a bit and it is always a trial-n-error approach to make it work again after upgrade. With this trial-n-error approach, honestly speaking, I really can't remember how to exim4 to work again. What I really remember it is about permission denied problem when sending SMTP mail using TLS using a remote connection.

kernel and kernel module

As I said in above, punkn!x.com is also runnig Dom0 and it hosts several DomU guests. Before lenny is released, I was afraid if Debian lenny provides Xen Dom0 support for 2.6.26 kernel and I noticed from debian mailing list that lenny may not come with Dom0 support in 2.6.26 kernel. I am very pleased to see that Debian finally did it. For upgrading Xen kernel in Debian lenny, I would leave it in another blog article. With module assistance, I can rebuild the following kernel modules for 2.6.26 kernel successfully:
  • kqemu - for running qemu faster
  • madwifi - for running AP mode for my atheros radio
  • squashfs - for building and mounting Debian live image
  • zaptel - for testing my OpenVox A400 hardware
However, openswan modules not longer build successfully. Hence, I cannot use openswan (IPSEC) with KLIPS and NAT-T. Alsa sound module also cannot compiled successfully.

NX Server

I used NX server heavily for remote desktop environment. On Etch, I used NX server free version from NoMachine. But after upgrade the older 2.1.0 version no longer work properly and without any reason. So I have decided to abandon the limited NoMachine version and go for the freenx version. Luckily, Ubuntu's PPA repository provide handy package for me to use (instruction here). Add the following ppa repository to /etc/apt/sources.list
deb http://ppa.launchpad.net/freenx-team/ubuntu intrepid main
deb-src http://ppa.launchpad.net/freenx-team/ubuntu intrepid main
then remove the previously installed nx-server and nx-node package from NoMachine, and install a new one.
# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2a8e3034d018a4ce
# apt-get install install freenx
Then the remote desktop comes back!

Final words

The upgrade process is smooth, especially on apach2, mysql and gnome desktop environment. But there is still some post-upgrade work to take care of manually. My suggestion is to make proper backup and do some research before you actually perform an upgrade.