Yesterday, April 30, Fedora 30 became available. Fedora 30 has some interesting new features as well as some bug fixes so I decided that I wanted to upgrade all of my physical computers as soon as possible.
I first upgraded one of my test computers from Fedora 29 to Fedora 30 just to verify that the upgrade would work. This host worked just fine after the update so I began the process of upgrading the rest of my hosts. All of my hosts have been successfully upgraded to Fedora 30.
Because multiple steps are required to perform these upgrades, I have a script that I use, called UpgradeFedora.sh. It automatically performs all of the steps required for upgrading from one release of Fedora to the next. The guts of the code are shown below.
# Set the new Fedora release number
# Do all current updates to prepare for the upgrade
dnf -y update --refresh
# Install the system upgrade plugin
dnf install -y dnf-plugin-system-upgrade
# Perform the upgrade
dnf -y system-upgrade download --refresh --releasever=$TargetRelease --allowerasing
# Reboot and perform the upgrade
dnf system-upgrade reboot
You can use this little script as it is, but I have a more easily used script that handles things like obtaining the value of the variable $TargetRelease from a command line option. You can download the complete script from http://www.both.org/downloads/UpgradeFedora.sh to get the complete script.
I did have one problem on one of my servers. The /var filesystem filled up during the download of Fedora 29 packages and it generated an error to that effect and exited. I used LVM to extend the /var logical volume, expanded the filesystem itself using resize2fs, and reran the script. The upgrade programs called by the script know enough to pick up where they left off, doing nothing for any step that is already completed. A reboot was not required because Linux LVM allows this to all be done with the filesystem on-line and active.
Fedora 30 has both graphical and command line options for performing upgrades. See this Fedora Magazine article for details of both methods. I personally prefer the command line methode so I can do these upgrades remotely on several computers.