Upgrading from Fedora 19 to 20 [CORRECTED]

[CORRECTED]Used fedup to move the personal workstation at home from Fedora 19 to 20 last night. And so the never-ending battle against the Gnome developers for control over my own desktop continues. Sorry, but I thought Linux was supposed to be about choice?

The fedup process went smoothly enough (I had already used it twice before, once on bare metal and again in a virtual machine).

fedup --network 20

Once the system came up out of the upgrade after a few hours (not quite sure how long — I went to bed when it was still churning), I logged into my personal desktop and began the work of repairing my preferences.

All of my changes so far revolve around fixing various tweaks I’d made using the gnome-tweak-tool and the on line extensions site to make the Gnome Shell tolerable.

Main changes included:

1. Restoring the several extensions including Application Menu, EasyScreenCast and AlternateTab that got whacked by the overlay of a newer version of Gnome Shell.

My new preferred way of installaing and configuring Gnome shell extensions now is to use the Gnome Shell Extensions site. When arriving there after doing the upgrade to Fedora 20, I was greeted with a red banner that said:

We cannot detect a running copy of GNOME on this system

Above this the browser toolbar asked:

Allow extensions.gnome.org to run “Gnome Shell Integration”?

By clicking Allow and then Allow and Remember, then refreshing the window, I was able to get the Extensions site to recognize my installation.

2. Restoring icons on my context menus with gsettings (see this article for details). Basically the command to invoke is:

gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ButtonImages': <1>, 'Gtk/MenuImages': <1>}"

NOTE: The above command line supplies the values of the keys affected as ‘Gtk/ButtonImages’: <1> and ‘Gtk/MenuImages’: <1>. I’ve had to represent the angle brackets in the underlying source as raw HTML codes (see List of XML and HTML Character Entity References) because WordPress insists on converting even text enclosed in <pre> tags. If the raw codes aren’t forced, WordPress will simply leave the space where the text was blank. My apologies to earlier visitors who may have been bit by this.

Another reason to seriously consider abandoning WordPress for code presentation and look more carefully at using a wiki.

3. On subsequent upgrades to other systems (as of this writing I’ve used the F19 to F20 upgrade procedure 4 times), I had to use various strategies to get through the process. On one machine I archived the yum repo config files for all 3rd party repositories due to unresolved conflicts. Once the upgrade was complete I was able to do a “yum update” and install the latest pacakges from those repos.

There was a significant variation in the F19 packages left installed even at that stage, but the number has always been small, no more that two dozen. Most of the packages were from 3rd party repos like rpmfusion. My plan is to refresh my installation of those repos when I have some time and see if that resolves the problem.

The i686 openssl library package continued to cause conflict warnings, so I simply removed it (there’s clearly a problem with how that package was created, but I don’t have the skill to find the root cause).

Postscript: A bit of maintenance

This procedure level set my systems once I’d run through all the updates.


[root@mine ~]# yum update yum; yum clean all


[root@mine ~]# yum --releasever=20 distro-sync --nogpgcheck -y

When this final update was done, all vestigial F19 packages had been removed from the system.

This entry was posted in System Administration on by .

About phil

My name is Phil Lembo. In my day job I’m an enterprise IT architect for a leading distribution and services company. The rest of my time I try to maintain a semi-normal family life in the suburbs of Raleigh, NC. E-mail me at philipATlembobrothersDOTcom. The opinions expressed here are entirely my own and not those of my employers, past, present or future (except where I quote others, who will need to accept responsibility for their own rants).