There are three steps to upgrading a Preseem element:
Depending on the state of your system, not all steps are required to get the latest Preseem software.
Important Note Regarding Tuned: Before following any of the steps in this guide please determine if `tuned` has been installed on your system. If it has, contact Preseem support to perform the upgrade. An interaction between the Grub boot loader and tuned can cause the system to become un-bootable. Manual intervention is required to avoid this.
To determine if tuned is installed on your system run:
dnf list installed | egrep tuned
If this command returns no output, then tuned is not present on your system and contacting Preseem support is not required.
Preseem leverages Fedora as the base operating system. Fedora releases a new version roughly twice per year. Staying current with the latest Fedora release ensures that the latest Linux features, improvements and security features are present on your system.
Preseem supports the current and previously released version of Fedora. For example, if Fedora 30 has been released then Preseem will support Fedora 29 and Fedora 30. To determine the Fedora version running on your system, run the following command:
To determine the current available Fedora release visit the Fedora Project.
If your system runs the latest Fedora release or the previous release, you do not have to perform an OS upgrade and can skip to applying updates to the current Fedora version and updating Preseem.
If a Fedora upgrade is required, the standard Fedora system upgrade process should be followed with the addition of first disabling the Preseem packages repositories and stopping the Preseem services.
Disable the Preseem package repository:
dnf config-manager --set-disabled preseem
Stop all Preseem services:
preseemctl system stop
Download and install updates to the current Fedora version:
dnf upgrade --refresh
Reboot the system to ensure the latest OS updates have been applied.
Install the Fedora DNF system upgrade plugin:
dnf install dnf-plugin-system-upgrade
Note: If you are more than one Fedora release behind the most recent, it is important that the system is upgraded one release at a time, don't skip versions.
For example, to upgrade from Fedora 28 to Fedora 29 run:
dnf system-upgrade download --refresh --releasever=29 --setopt='module_platform_id=platform:f29'
This command will download packages, prompt to install new GPG keys and run a test package transaction. If the command is successful it will provide instructions on how to reboot to start the installation process. Specifically the command is:
dnf system-upgrade reboot
This command will reboot the system and install the new packages. The system will be unavailable during this time. It is normal that this process takes some time to execute - the time varies based on the performance of the disk in the system. Expect 10-25 minutes for most systems.
When the upgrade is complete, the system will reboot and boot into the new OS. At this point Preseem needs to be re-enabled (reversing the steps at the start of this section):
dnf config-manager --set-enabled preseem
preseemctl system enable
preseemctl system start
At this point Preseem should be running on the upgraded OS. You can validate that Preseem services are running by running:
preseemctl system show
If the system is already running the current or previous version of Fedora a full OS upgrade is not required. However, it is still best practice to apply the latest security updates to the system periodically.
See the previous section for instructions on how to determine the current Fedora version.
Note: See the note at the top of this document regarding the tuned service. If it is installed on your system, contact Preseem support to help with the upgrade.
Preseem publishes the latest stable release into our package repositories. This means that running the system update command below will also update Preseem to the latest version. If you do not wish to update Preseem, you can exclude Preseem updates by running:
dnf update --refresh -x "preseem*"
Similarly, it is possible to only update Preseem packages avoiding system packages:
dnf update --refresh "preseem*"
To download and install the latest system and Preseem updates run:
dnf update --refresh
If only Preseem updates were applied, then a system reboot is not required. Preseem services can be restarted by running:
preseemctl system restart
To apply OS updates completely, the system must be restarted.
The status of the Preseem services can be viewed by running:
preseemctl system show