FedUp (FEDora UPgrader) is the recommended tool for upgrading a recent Fedora installation. It’s a very neat tool for upgrading a system and I think other distributions that don’t use a rolling release system should look at implementing one for their distribution.

In this short tutorial, I’ll show how I upgraded a Fedora 20 Cinnamon desktop to Fedora 21 (Cinnamon) using FedUp. The same steps can be used for upgrading any other Fedora Spin. For the main edition, which uses the GNOME 3 desktop environment, a slight change has to be made to the command’s options.

Before upgrading, be sure that your system is fully updated. If not, run yum update. After that, reboot, then install FedUp by typing yum install fedup. If you’re using sudo, affix it to those commands.

To initiate the system upgrade, type one of the commands given in this code block.

# Upgrade the system by typing

fedup --network 21 --product=nonproduct

# For an unattended upgrade, type

fedup --network 21 --product=nonproduct --reboot

Upgrading over the network, which is what the – -network option does, is recommended. Why? One, because you don’t have to bother with downloading anything manually prior to upgrading, and two, because you get the latest, stable packages available in the repositories. By appending the – -reboot option to the command, you can initiate the upgrade and walk away. FedUp will cause an auto-reboot after the first step has completed successfully. Note that a FedUp upgrade is a 2-step process. In the first step, the packages to be upgraded are downloaded. The second step, which takes place after a reboot at the end of the first step, is when the packages are upgraded.

Prior to Fedora 21, the – -product= option did not exist. It’s used to specify upgrading to a preferred Fedora flavor – workstation, nonproduct, server and cloud. Workstation is for upgrading to the main Fedora desktop, which uses the GNOME 3 desktop, while nonproduct is used to upgrade to other supported desktop environments – Cinnamon, KDE, LXDE and Xfce.

If after typing any of the upgrade commands in the above code block you get messages like those in the code block below, then the upgrade attempt failed. Those lines came from an upgrade attempt of a Fedora 20 KDE desktop, my main desktop. The obvious problem has to do the verification and download of signing keys. The official FedUp page recommends passing the command the – -nogpgcheck option to bypass the check and verification.

(2688/2690): zip-3.0-12.fc21.x86_64.rpm                                                  | 266 kB  00:00:04     
(2689/2690): zlib-devel-1.2.8-7.fc21.x86_64.rpm                                          |  54 kB  00:00:05     
(2690/2690): zenity-3.14.0-1.fc21.x86_64.rpm                                             | 3.4 MB  00:00:09   
  
Importing GPG key 0x95A43F54:
 Userid     : "Fedora (21) <fedora@fedoraproject.org>"
 Fingerprint: 6596 b8fb abda 5227 a9c5 b59e 89ad 4e87 95a4 3f54
 Package    : fedora-release-20-3.noarch (@updates/20)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-21-x86_64

Importing GPG key 0x6446D859:
 Userid     : "RPM Fusion free repository for Fedora (21) <rpmfusion-buildsys@lists.rpmfusion.org>"
 Fingerprint: e9af 4932 31e2 df6f fdfe 0852 3c83 7d0d 6446 d859
 Package    : rpmfusion-free-release-20-1.noarch (@/rpmfusion-free-release-20.noarch/20)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-21

Importing GPG key 0xA668B376:
 Userid     : "RPM Fusion nonfree repository for Fedora (21) <rpmfusion-buildsys@lists.rpmfusion.org>"
 Fingerprint: e160 058e f06f a4c3 c15d 0f86 0174 46d1 a668 b376
 Package    : rpmfusion-nonfree-release-20-1.noarch (@/rpmfusion-nonfree-release-20.noarch/20)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-21

Downloading failed: Didn't install any keys

If, however, you get messages like the one below, then you may reboot the system to initiate step two of the upgrade process.

setting up system for upgrade
Finished. Reboot to start upgrade.
Packages without updates:
  aic94xx-firmware-30-6.fc20.noarch
  flac-libs-1.3.1-1.fc20.x86_64
  icedtea-web-1.5.2-0.fc20.x86_64
  prelink-0.5.0-1.fc20.x86_64
  sqlite-3.8.7.2-1.fc20.x86_64
  1:anaconda-yum-plugins-1.0-10.fc20.noarch

WARNING: problems were encountered during transaction test:
  broken dependencies
    icedtea-web-1.5.2-0.fc20.x86_64 requires java-1.7.0-openjdk-1:1.7.0.71-2.5.3.0.fc20.x86_64

Continue with the upgrade at your own risk.

Without – -reboot option in the FedUp upgrade command, you’ll have to reboot the system manually after the first step has completed. And when you do, you should see a new option – System Upgrade (fedup) – in GRUB’s menu as shown in Figure 1.

Fedora 20 upgrade FedUp

Figure 1: GRUB menu of Fedora 20 Cinnamon while upgrading to Fedora 21.

After the second step has completed successfully, it will reboot. And when you log in, you should have a very good Fedora 21 Cinnamon desktop.

Fedora 21 Cinnamon desktop

Figure 13: Fedora 21 Cinnamon desktop showing the menu.

And it should be running Cinnamon 2.4.5, the very latest version of the desktop environment brought to you by the Linux Mint project. The menu you see in Figure 1 is not the default Cinnamon menu, but the Configurable Menu. See Configurable Menu: Install the best menu for Linux Mint 17/17.1 Cinnamon.

 Fedora 21 Cinnamon 2.4.5

Figure 14: A new installation of Fedora 21 Cinnamon should be sporting Cinnamon 2.4.5.