Update on Apr. 11, 2014: The latest tools for upgrading Fedora is FedUp, please check How to upgrade Fedora 19 to Fedora 20 through the network.
Please consider PreUpgrade for upgrading Fedora. This is the recommended method.
This post makes a list of actions should be done to upgrade Fedora using yum. Please note that this is for experienced users only, if you are not sure what you are doing and what do these commands mean, please stop here and read the manuals first, or go to Fedora’s Wiki about upgrading Fediora using yum.
This post aims to be a general method, although we use Fedora 15 to Fedora 16 as the example. We configure and install grub2 as the bootloader.
- 1 Clean Stuff
- 2 Do the upgrade
- 2.1 Go to a text console and run in level 3
- 2.2 Update yum first
- 2.3 Clean all cached meta data and packages
- 2.4 Import the key for the newer version’s repository
- 2.5 Synchronizes the installed package set with the latest packages available
- 2.6 Update groups
- 2.7 Use grub2 instead of grub
- 2.8 Reset services start/stop priorities
- 2.9 Reboot the system now
It is a good time to remove packages we don’t use. These packages could be candidates for removal, but check to see whether you use them directly or if they are used by applications not backed by rpm packages.
# package-cleanup --leaves
You can find orphaned packages (i.e. packages not in the repositories anymore). This will also show packages which have been partially uninstalled but where the “%postun” script failed.
# package-cleanup --orphans
Do the upgrade
Go to a text console and run in level 3
ctrl + alt + F2
Update yum first
yum update yum
Clean all cached meta data and packages
yum clean all
Import the key for the newer version’s repository
For Fedora 16, it is
rpm --import https://fedoraproject.org/static/A82BA4B7.txt
Synchronizes the installed package set with the latest packages available
yum --releasever=<release_number_you_want_to_sync_to> distro-sync
For upgrading Fedora 15 to Fedora 16:
yum --releasever=16 --disableplugin=presto distro-sync
Double check the updated repositories after distro-sync
yum groupupdate Base
List all other groups
and also update them
yum groupupdate ALL GROUPS LISTED
Use grub2 instead of grub
Make configuration for grub2
/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
For example, to install grub2 on sda:
Reset services start/stop priorities
cd /etc/rc.d/init.d; for f in *; do /sbin/chkconfig $f resetpriorities; done
Reboot the system now
After reboot, you may see new kernel version on new Fedora version. For example, kernel 3.1.1 on Fedora 16
[root@localhost ~]# uname -a Linux localhost.localdomain 3.1.1-1.fc16.x86_64 #1 SMP Fri Nov 11 21:47:56 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux