The Shuttle desktop has now been running Debian Lenny for some time now, and despite a few problems and quirks, it's been very reliable and solid. Now the next version of Debian, called Squeeze, has just reached mythical "stable" status, and so to get all the benefits and updates from the new system, I figured it's about time to upgrade. Some other distros have two releases each year and it isn't always worth updating, but when Debian brings out a release, you know it's solid and thoroughly tested.
After trying out the Squeeze live image and seeing how well it all works (despite the spacepyjamas), the next thing to decide is whether to do an upgrade, or a fresh install. And if a fresh install, then should it be from the already downloaded live image (which does now include an installer), or using a new "netinst" live image as the Lenny install was done?
I'd already tried the netinst method, which worked very well, but for the upgrade I thought I might as well take advantage of Debian's renowned power and upgrade directly. It's taking the netinst idea even further, downloading only exactly what you need and not having to bother with burning CDs or copying USB stick images.
The first thing to do is thoroughly read the Squeeze release notes, especially the parts concerning possible upgrade problems. Yes there is a lot to read and it makes you wonder whether a fresh install would actually be easier.
Following those instructions, it's a step-by-step process with lots of command-line action. If you're not comfortable with running
apt-get and other CLI commands then this isn't for you. The recommendation is to do the upgrade all from the command line as it's safer if X and Gnome and all the other stuff isn't running during the upgrade. So that means rebooting into single-user mode and running CLI commands as root.
The basic steps can be roughly summarized as follows:
/etc/apt/sources.listto point to
lennyand update the package lists.
apt-get upgradeto install all the packages which can be simply upgraded without dependencies. This is called a "minimal upgrade".
udevand its requirements.
apt-get cleanfollowed by
apt-get dist-upgrade- this is the monster command pulling in potentially thousands of packages.
One thing to be careful of is the free space left in the
/ partition, you might find (as I did) that with the huge number of packages to be downloaded and unpacked, the root partition runs out of room and the upgrade fails. The release notes suggest several ways to remedy this, including removing large packages before upgrading, performing partial upgrades and
cleans before doing the
dist-upgrade, and even bind-mounting to another partition for temporary space. It's worth double-checking what the dist-upgrades estimates before going ahead.
The screenshot on the left shows the bare desktop using the default "spacepyjamas" wallpaper as we've already seen from the live image. You could say it's smart, but clearly it's not going to be to everyone's tastes. This same theme affects the login screen too.
The second screenshot here shows squeeze again but using the new wallpaper I made (using povray to render the Debian logo in pastels). Anyone interested in this wallpaper can get it from the downloads page. Also you can see a modified icon theme and a transparent tilda window.
One thing to note during the install, is that gnome now installs a note-taking application called "tomboy", and this requires the mono runtime and other mono stuff. If you don't want mono on your system, now's a good time to remove it. If you remove tomboy you can either install "gnote" instead, or if you don't want either then you have to remove the metapackage "gnome", which specifies either one or the other. This may require some care to avoid removing the whole of gnome by accident, but all the "cil" packages can safely go.
First impressions are good, the default wallpaper is obviously easily changed and because this upgraded system is still running
gdm for the login screen, you can still select a theme using
gdm-themes (the live image used
gdm3 instead, which is more of a pain to customize). There's still the grub bootchaining to fix but that is easily done by issuing the command "
upgrade-from-grub-legacy" as root.
I haven't had chance to test all the quirks yet but one thing is striking - an inserted USB stick is no longer to be found at
/media/disk/ but rather some alphanumeric identifier. Not a problem for a GUI but very confusing from the command line. Plus, on the camera card the filenames are all suddenly in upper case, whereas in Lenny they were all lower case. So hopefully that change won't cause archiving problems later on.
I also had to re-blacklist the
garmin_gps module for GPS access, because during installation I chose to accept the new blacklist file. Then again the GPS access through
gpsbabel failed, another annoying glitch. As the root user it worked but as a regular user I just got the error "Claim interfaced failed: could not claim interface 0: Operation not permitted". This one again turned out to be a udev problem, apparently under Squeeze the udev rules have to be in uppercase, so the udev rule given at gpsbabel's page has to end with "GROUP="plugdev"" and not "group="plugdev"" which worked with Lenny. Really Debian should have a package available called
garminhack or something to automatically fix this problem for everyone.