Upgrading to Debian Etch

openlogo-100Well, it's official. It's time to upgrade my Debian box.

My Debian Sarge box has been relatively untouched doing a few specific duties and has fallen into a dilapidated state. The last time I did a security update that involved a kernel update, I got into trouble because I was using the proprietary Nvidia driver for X and I was unable to get it working again with the kernel update so I ended up living dangerously and used the older kernel.

Things have been working fine for awhile, but recently, I've noticed the network completely crashes on the box and requires a reboot to get it back. I've never seen anything like it. I finally discovered that the crashes seemed correlated to me starting iChat on Leopard on a different machine on the local network. Tiger iChat never was a problem. It's disturbing that something like iChat could be related to this machine's network crashing down.

Seeing as how this is probably a low-level Linux problem that needed a fix, this seemed like a good cue to force me to upgrade to Debian Etch which has been out maybe 8 months now.

In theory, 'apt dist-update' is supposed to work magic and upgrade painlessly. However, because of the little non-standard installations I've done to get software Debian Sarge didn't officially support and nobody provided packages for, I always get nervous. 

But to my surprise, it worked. Isn't it great when software just works? The upgrade took a very long time though. Lots to download of course, and lots to install. I think the install was significantly longer than the download though. The machine is only a Pentium 3, so I guess it's to be expected. I got a few prompts during the installation to choose actions. I hate this because usually the questions I get I end up not knowing how I should answer. It also interrupts the install process so if/when I leave, everything stops. 12 hours later of coming back and forth, the installation finishes and things are working which is a relief.

Of course, I'm missing software like my Nvidia proprietary driver. This time, it seems that there is a nice how-to with a 'Debian-ized' package based way to deal with the non-free Nvidia driver. This looked a lot easier and and hopefully it will endure future security related kernel upgrades unlike my previous setup.

Following the instructions, everything just worked which is unusual for me, so I was pretty happy.

So the remaining task was to get the remaining software I needed on the machine. So I started up dselect. (Yes, I still use dselect. I've been using Debian since slink or potato and haven't modernized. I'm not sure what the 'in-tool' is supposed to be now.) First thing I did notice that there were still a huge number of packages dselect was telling me that were 'obsolete'. So I axed all the packages. I'm surprised I didn't bust my system, but things continued to work even after reboot.

So now that Avahi is finally officially supported in Debian, I have been interested in trying it out. I did have to remember to disable Apple's mDNSResponder which I hand installed awhile back.

The confusing one was libavahi-core4 (Avahi's embeddable mDNS/DNS-SD library). The descriptions says 'You should not however use tis library for non-embedded applications, you should use libavahi-client which interacts with the avahi daemon'.

But I think when tried to install some of the other components (autioip, discover, and maybe avahi-daemon itself), it said this was a dependency. So I aborted, avahi didn't work, so I then ended up installing it. So that seems to be working now. I can refer to machines via their .local names and all my Mac browsers (Finder, etc) can see the machine (again).

I installed a few other things that were missing and also installed a few things that I wanted that were not in Sarge.

I recently have been experimenting with GIT and Mercurial for SCM. I used Bitkeeper back in the day when it was free for open source projects so I didn't need to be sold on the merits of distributed SCMs. After the Linux/Bitkeeper fallout, I reluctantly moved to Subversion but have been relatively unhappy with it (suffering withdrawal from the cool things distributed SCMs can do for you). So GIT and Mercurial are starting to mature a bit so I've been more willing to put my trust in them, plus the learning curve has eased a bit.

Unfortunately, as I've been doing most of my experimentation on Leopard, I've gotten used to the current versions, and the official stable packages in Etch are a bit behind. Since these projects have moved so quickly, from what I can tell, I don't really want to go back to those older versions. Fortunately, Debian Backports provides packages for both of them. I still shaky though on how to handle updates with Backports. By default, it seems to be a manually opt-in kind of thing which makes sense, but I'm wondering what happens when there is a security update. Will my system ever know to pull it? I prefer to have the security patches for the most part on auto-pilot. I'm used to Debian taking forever to put out new releases, and not having new versions of the software I need. But I still hope for the one day when everything I need is in stable under package management.

Finally, there was a matter of getting an application I occasionally use that uses Java to work correctly. It looks like kaffe was the default, and it wasn't working too well for this specific app so I installed Sun's via Debian package management. But it seems both are allowed to coexist but kaffe kept getting picked first. I don't know the mechanism to switch the order so I just uninstalled kaffe. Things are now working.

Copyright © PlayControl Software, LLC / Eric Wing