This day has finally come! Fedora Core 6, codenamed Zod, is out.

If you have Fedora Core 5 already installed, you may want to upgrade. I’ll not tell you here what’s new and everyhing, you can find that a bit everywhere on the Internet. Just google it! Note that upgrading with yum is not officially recommended by the Fedora Project. This is because it generally works, but MAY also go wrong, and when this happens, you want to know how to fix things. If you’re unsure you can cope with broken RPM dependencies, or if something really goes wrong: kernel panics and such, it’s possibly a good idea to stick to Fedora Core 5, unless you have some Linux geek at your disposal nearby. Of course, as always, backup your valuable data. It’s always a good idea before attempting radical changes to your system.
That doesn’t apply only to Linux anyway.

Now, here’s how I’ve upgraded my two Fedora Core 5 installations.

First, update your Fedora Core 5 with the latest version of everything. To do that, as you probably already know:

# yum update

Now you’re up to date for Fedora Core 5, clean all your cached metadata info from yum, this way:

# yum clean all

Now, have a look at your /etc/yum.repos.d/ directory. This is were all the configuration files about your repositories reside. You will probably have to disable any third party repository during the upgrade, to avoid problems. If you use Livna and/or Freshrpms and/or Dries, you can keep them, it worked for me. I personally created a /etc/yum.repos.d/disabled/ directory, where I put the other third party repos. Namely planetccrma, atrpms and greysector. Update your config for the official repos:

# rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os/Fedora/RPMS/fedora-release-6-4.noarch.rpm http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os/Fedora/RPMS/fedora-release-notes-6-3.noarch.rpm

If you’re using Livna, update it:

# rpm -Uvh http://rpm.livna.org/fedora/6/i386/livna-release-6-1.noarch.rpm

If you use Freshrpms, update it:

# rpm -Uvh http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/6/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm

It may tell you it’s already installed, if this is the case, just go on. If you’re using Dries, just make sure your dries.repo contains this:

[dries]
name=Extra Fedora rpms dries - $releasever - $basearch
baseurl=http://ftp.belnet.be/packages/dries.ulyssis.org/fedora/linux/$releasever/$basearch/dries/RPMS/

Note that if during the above RPM installations, you have warnings telling you that somefile.repo was installed as somefile.repo.rpmnew, this is NOT right! But don’t panic, in this case just replace the .repo with the fresh .repo.rpmnew. This will happen if you have previously modified the old .repo.

Update yum, Fedora Core 6 comes with yum 3, which is way faster (the parsing code has been rewritten in C):

# yum update yum

Now, it’s time to switch to runlevel 3. This way, you’ll have much less programs running during the update, which is a Good Thing (tm). Close your KDE/Gnome session, and when you’re on the login screen, switch to a virtual console, with CTRL+ALT+F1 for example (F1-F6 should work). Login as root, then type:

# telinit 3

This should close the X server. Feel free to stop any non-critical system service too.

Now, let’s get real! Run:

# yum update

… and sit back with a drink. Let it download all the headers (more than 1000!) and calculate the dependencies. Maybe it’ll then fail with some dependency problem. Personally, I’ve updated my whole installation in several steps, for example:

# yum update "a*"

This would update all the packages beginning with “a” and all the packages that depends on it. This way, the dependency resolving time is way shorter, and if, say, 150 packages were successfully installed, yum will not have to take care of them anymore for the rest of the updates. Also, if you have dependency problems, you can temporarily disable the update of a package, using exclude. For example if mplayer is causing problems:

# yum update --exclude="mplayer*"

Of course, you can also remove mplayer, update your system, and then reinstall it. These deps problems are the most tough part, and the only reason this upgrade method is not officially recommended or supported by the Fedora Project. You may also have no dependency problem at all. It only depends on whether you installed a lot of 3rd party packages or not.
During the upgrade process, you’ll sometimes have warnings like this:

...
Warning: file /some/path/file.ext has been installed as /some/path/file.ext.rpmnew

This means that the original /some/path/file.ext has been left untouched, and the file that would have replaced it has been installed as /some/path/file.ext.rpmnew. You may want to write on a sheet of paper the names of these files, to be able to check them after the upgrade. This happens because the /some/path/file.ext has been modified by you, and the system doesn’t want to erase your changes with the new version. Just make a diff between those files, and make (or not) the appropriate changes.

Another kind of message you may encounter is:

...
Warning: file /some/path/file.ext has been saved as /some/path/file.ext.rpmold

This is the opposite. Your old file has actually been replaced by the new one, but your old file has been saved as an .rpmold file in case you need it. The same as above applies: write down the names, and feel free to check it manually after the upgrade. This is probably not critical anyway, but… this is how I’ve done!

  • Reboot, and be amazed in front of the fresh Fedora DNA theme! :)