As experienced computer users know, the fresh-released versions of products are typically not very stable and reliable. It takes a few months (Typically until the x.1 version is released) for the product to really stabilize and become production-ready. This also seems to be true for Free and Open-Source software, though the maturing rate seems to be faster.
Knowing that, I typically wait a couple of months after an Ubuntu release before I take the time to upgrade. When it comes to Hardy Heron, the latest version of Ubuntu, a further reason not to upgrade was provided by the fact that up until now it didn’t include a stable version of Firefox.
I finally decided to take the time and upgrade the Ubuntu version on my personal home computer yesterday. The upgrade didn’t went as smoothly as I hoped it would. Most of the issues can be blamed on the manual tweaks I’ve made to my system. Not all, however.
Below is a list of the issues I’ve encountered during and after the upgrade, and the solutions I came up with (when applicable).
Configuration file replacement questions
This had been a problem plaguing Debian and Ubuntu installations ever since apt acquired the ability to perform distribution upgrade. It has to do with the problem that arises when a package seeks to install a new version of a configuration file that was modified by the sysadmin. To resolve the issue the installation process is stopped and a question is presented to the sysadmin. This is annoying for several reasons:
- Often the sysadmin starts the upgrade process and goes away expecting to find the system upgraded when he comes back. It is annoying to then come back and find the system waiting for input with few hours worth of upgrades still left to be installed.
- The way packages ask whither to keep or replace the old configuration file is inconsistent across packages. While some packages provide a streamlined GUI window presenting the differences between the old and new files (which could be improved a little by using color rather then plain-text diff output), other packages use debconf to present an ugly and unintuitive drop-down menu for selecting the desired action (at the very lest, radio buttons, rather then a menu shouldv’e been used here), other packages still, drop the user into a textual terminal to type in the answer (This at-least doesn’t seem to happen on Ubuntu anymore).
Pam-ssh doesn’t seem to work
In order to have my private SSH key loaded into the SSH agent automatically, I’ve installed the pam-ssh PAM module, and configured it to be loaded by the /etc/pam.d/gdm file, this doesn’t seem to work anymore on Hardy. It isn’t needed, however, since Hardy now includes “Passwords and Encryption Keys” GUI tool to manage SSH keys. The tool includes a feature to allow for loading SSH keys automatically on login.
I have to wonder about the security of the “Passwords and Encryption Keys” tool though. Since pam-ssh is part of the PAM chain that gets executed when I log-in, it can and does use my login password to decrypt the SSH key. That means that the key is reasonably secure from anyone who doesn’t know my password. Since the GUI tool however, isn’t part of the PAM chain, it can’t access my password when I type it, therefore (unless there is some aspect of it I’m yet to realize) it must store it somewhere unencrypted on the disk.
Unison backward-compatible versions not in the repository
While Unison is an excellent file synchronization tool, it is less then prefect when it comes to backward-compatibility. In fact, in order to use unison over SSH between two hosts, you must have the same version of unison on both hosts.
I use unison to synchronize various files between my Ubuntu desktop machines and my Debian Etch servers. Up until now I’ve been using the old but commonly available version 2.9.1 of unison. This seemed to be the right thing to do since while the various distributions include different versions of unison, all of them seemed to allow falling back to this version for compatibility.
Hardy Heron doesn’t include the old unison version in its repositories anymore. The only version it does include is 2.27.57, which is far too new to have been included in Etch, the current stable version of Debian. In order to facilitate synchronization between Ubuntu Hardy and Debian etch, I found myself being forced to go through the uncanny process of back-porting the unison package to Etch. Luckily I could find useful hints here (The method offered in the post itself is way more complex then needed, take a look at the user comments).
Nautilus trash-bin doesn’t work (again!)
This is an old issue I’ve discussed in the past, its risen up again since gnome-vfs had been replaced by GVFS in Gnome 2.22, the version shipped with Ubuntu Hardy. The problem here is that GVFS implements the trash-bin differently then gnome-vfs did.
The changes introduced by GVFS aren’t bad, it actually makes the trash-bin implementation much more useful, not to mention standards compliant. However, since where the trash bin itself is located had changed, two ill-effects are caused:
- Upgrading users lose GUI access to the files that were in their trash-bin before the upgrade. This is a far cry from the level of desktop integrity I’ve come to expect from Ubuntu. At the very least a conversion utility should have been provided.
- Manually-created trash-bins on user-defined partitions, created to work around the issue I’ve discussed in the past, cease to work. I will (hopefully) post an updated work-around that conforms to the new standard soon. Its a shame my bug report did not receive proper attention and the issue wasn’t resolved within Nautilus.
PySol sound server doesn’t seem to work anymore
I’ve recently switched from using Gnome Aisleriot to PySol for my solitaire-playing needs. I did it because PySol provides advanced auto-play features and because I was fond of its sound-effects. Unfortunately, while the pysol package itself was upgraded to a new version in Hardy, the pysol-sound-server package was not, thereby rendering PySol unable to play sounds.
Update: Turns out my prognosis was wrong, the reason PySol wasn’t playing sounds was because it was trying to use ALSA directly and colliding with PulseAudio. A little research revealed that it was doing that via SDL. Fixing the problem involved installing the “libsdl1.2debian-pulseaudio” package which caused the “libsdl1.2debian-alsa” package to be deinstalled therby making all the SDL applications use PulseAudio exclusively.
Weirdness around Nvidia drivers
The issue of video driver support should and have been in the focus of Ubuntu developers for quite some time now. This is why its quite frustrating to keep finding bugs with this time and again.
While I was happy to discover that the upgrade left my rather complex but properly-working Xserver configuration alone, thereby leaving me with a working rather then broken dual-head hardware-accelerated desktop, poking around the system afterward I found some peculiar issues.
Despite the face that my Nvidia GeForce 6200 is working properly and the proprietary driver is installed, the “Restricted Drivers” now renamed “Hardware Drivers” tool, seems to indicate the Nvidia driver isn’t enabled on my machine. This seems to be due to the fact there is a new Nvidia GLX package: nvidia-glx-new, for supporting cards newer then GeForce 4.
Update: Enabling the Nvidia driver in the “Hardware Drivers” tool caused the “nvidia-glx” package to be replaced by the “nvidia-glx-new” package which is supposed to better support my card. I didn’t however notice any difference in performence following the installation and mandatory reboot.
Compiz Advanced Settings no longer easily accessible
I have the “compizconfig-settings-manager” package installed in order to allow for advanced configuration of the compiz 3D desktop effects. In Gutsy, the previous version of Ubuntu, I could access the settings manager by selecting “Advanced” from the “Visual Effects” tab of the “Appearance Preferences” applet. This unfortunately does not seem to be the case any longer. As the situation now stands, it seems I have none of the option in the “Visual Effects” tab selected, I suppose selecting one of the options will switch my customizations off without providing me with a way to switch them back on.