Upgrading to Hardy

I’ve just upgraded my desktop and laptop to the latest beta of Ubuntu Hardy Heron, 8.04. Not wanting to sound like a broken record, but this process is still confusing for the average user. I was asked a number of questions that most people would have no idea of the answers to.




The first popup I got was the this top one:

What is a user supposed to make of that? There’s no “install x-ttcidfont-conf” button. Checking afterwards, it seems that the upgrade installs it anyway. So why bother telling me about it? Why not just do it?

The second popup told me it had to restart some services to use the new libSSL.

Then, I had a succession of five popups asking about replacing or keeping modified configuration files – smb.conf, bash_completion, cupsd.conf, ntp.conf and /etc/default/bluetooth. This bugs me for the following reasons:

  • These popups appeared at various points in the long upgrade process and, given that my screen went into standby, it was easy to not notice them. Disabling screen standby, or beeping, would have been sensible.
  • There were two different forms of popup (see pictures 2 and 3). Why?
  • These config files were changed because I changed something in the GUI. If I’d edited the file by hand I’d have less cause for complaint but why can’t the system know how to merge changes made through the GUI with new options? Most packages seem to manage this fine.
  • Accepting the defaults on cupsd.conf disabled remote printer sharing, without telling me it had done so. Remote printing just stopped working. And ticking the “Shared” box next to the printer in the Printer Configuration applet isn’t enough; you also need to tick “Share published printers connected to the system” in the Server Settings area. What’s the difference between sharing and publishing? Why do I need to check two boxes? What’s a print server anyway? Grr.
  • Accepting the defaults on ntp.conf removed my configured ntp server, again without telling me it had done so.
  • The bluetooth one was especially bizarre as my desktop doesn’t have bluetooth.

Lastly, it asked me if I wanted to remove obsolete packages. If they are obsolete, remove them. If they aren’t, keep them. How am I supposed to know?

When I’d finished, Gimp no longer had the useful “Gutenprint” print capability. No idea why. The package had just gone. This was standard in the last release, I think – I certainly don’t remember installing it manually. I knew where to find it and reinstall it – but would an ordinary user know what was wrong?

The Ubuntu team needs to work on making packages which know how to merge in updates to their own configuration files – particularly updates made through the official configuration GUI for those packages.

9 thoughts on “Upgrading to Hardy

  1. I agree with your general point. However, in the case of bash_completion that is simply a bug ‒ in particular, it’s Bug 210013; a plan for fixing it was added earlier today, so hopefully that’ll happen before the final release.

  2. The bluetooth thing sounds like a visible symptom of something in Ubuntu that really gets on my nerves – it installs drivers for everything, then loads all of them at boot. I know they want to be compatible with everything, but even Windows is smarter than just doing that.

  3. You misspelled useful “Gutenprint”. It’s “useful” Gutenprint. For normal user gtk print dialog is 100 times better than ugly Gutenprint that doesn’t list any default printers or support paper selections or types. I was very disappointed that gtk print was disabled for gutsy. Same applies to Inkscape. 0.45 has application specific ugly dialog. 0.46 finally has proper gtk print dialog.

  4. Pkunk: I love Gutenprint. When I print using it with the Gimp, it gives me complete control of the positioning on the page and the scaling of my image. the GTK print dialog simply doesn’t do that. It lets me choose my printer; the printer itself only has one paper tray (as do most consumer printers :-) so I’m not worried about selecting that.

    Also, the “Print with Gutenprint…” menu item is an additional option, not a replacement. So the GTK print dialog is still available if you want it.

  5. This issue with changes in the etc hierarchy is inherited from Debian and, specifically, from its packaging system. (Not that other packaging systems necessarily do much better… but they SHOULD, and so should apt.)

    One really bad thing is that *usually* the changes in the default config files from one version to the next consist mostly of a whole lot of lines of comments, but the package system is not smart enough to understand what is a comment and what is not. So when you ask it to show you the differences… you get inundated with stuff that doesn’t actually have any functional impact.

    An even worse thing is that none of the choices are anything I would *ever* want to do. You can wipe out your changed version entirely and replace it with the new default version, but who would ever want to do that? (Keep a copy of my changed version with a suffix like .old or whatever and install the new version for now, maybe. Wipe out my changed version entirely? Are you nuts?) You can keep your changed version and not install the new version at all, but that’s not right either. (At the very least a copy of the new version with a .new suffix or somesuch should be placed side-by-side with my changed version, so I can reference it if I need to.)

    The *right* way to do this is complicated, but it would go something like the following…
    * On initial installation, in addition to being installed for actual use, a copy of the initial configuration file should be kept for reference, so that if you make any changes a list of differences (i.e., changes you have made) can be constructed. Whether you made the changes with a GUI tool or a text editor should not matter.
    * On upgrade, the package tool should check whether you made any changes or not. If you did not make any changes, install the new version plus keep a reference copy of it, and blow away the old version entirely. This scenario is already handled more or less correctly the way things are done now, though I don’t know the exact mechanics of how it determines whether you’ve made changes.
    * If you have made changes, it should *not* compare your changed version of the old version to the new default version. Rather, it should offer to show you a list of the changes you have made (either as a diff, or maybe just the lines you have changed; the latter would probably be more accessible for novice users, the former more useful for experienced users, so maybe both options should be present), and offer to attempt to apply them automatically to the new version of the config file (i.e., merge it as if it were a patch).
    * If it can’t do the merge, it should tell you that of course, and in this case ONLY it should ask you whether to keep your old changed version or go with the new. Either way, it should keep an intact copy of your changed version _and_ a copy of the new version, side-by-side — with .old and .new suffixes. Your decision about which to keep should only be a matter of which one gets symlinked (or maybe copied) to the actual unsuffixed live config file that the program will actually refer to.

  6. Jonadub: “Keep a copy of my changed version with a suffix like .old or whatever and install the new version for now, maybe. Wipe out my changed version entirely? Are you nuts?”

    *Poof*! Your wish is granted, retroactively :-).

    If you tell dpkg to replace your existing version with the new version, then it saves to to “whatever.dpkg-old”. If you tell dpkg to keep your changed version, then it still saves a copy of the new upstream version to “whatever.dpkg-dist”. (Or possibly .dpkg-new. I’m a bit confused what the difference between those is.)

    Agreed that keeping a spare copy of the original version around to do three-way merging with would be Better.

  7. I just upgraded while working on grades for a recent class. I was asked four questions, the first one was quite simple, “do you want to continue?” with a recommendation to close any open programs. I closed everything (had backups anyway) but Gnumeric and kept working.

    The second question was “Gnumeric is open, do you want to skip the upgrade or close it?”

    The third was regarding SAMBA, and whether or not I wanted to keep my etc/profile regarding a share folder I have or use the developer’s script instead. I was presented a side-by-side comparison of the two files to decide upon.

    Lastly, it asked me if I wanted to remove all the ‘obsolete’ software. NOW THAT may have been confusing to a standard non-tekkie-windows user. I said yes, because I noticed they had been ‘replaced’ with newer versions. However that was not clearly presented as such, and some people might have been afraid to say yes. Maybe I should have said no, but that remains to be seen. I’m not completely sure why I needed to respond to that question at all, so this bears looking into.

    after the reboot, I’m still working where I was; so far not a hitch.

    I’m not a guru, I can generally fix what is broken, but I’ve still never been able to get cmpfz working properly. I was always able to go back to the previous configuration, even though I relied on some Web forums/tutorials to do that at times.

    I’ve been *trying* to be MS free since ’98. Ubuntu 7.1 was the first distro that I used that allowed me to wander away completely.

    Oh, there is one other ‘benefit’ of doing the upgrade. I went from 25.2 G free space to 26 G of free space. Let’s see MS match that! *oh yeah, there WAS doublespace*

    Thanks to all of you developers that have made this a truly remarkable product!

    peace y’all,

  8. What you want Ubuntu/Debian to do is an AI controlled updater, which is as smart or smarter than a human computer administrator. It should be able to, without input, manage to select an installation for a single user system or a client in a 10000+ multi user environment (different institutions has that many users).
    This yet to be found, and I hope it never will. As computers then shorly would eliminate human race as useless creatures only making impossible demands…