Upgrading Preseem

This article describes how to upgrade the software on Preseem network elements - the part of Preseem that runs in the ISP network.

This guide assumes some familiarity with managing Linux based devices. If you are not comfortable with the steps outlined here please contact Preseem support to help with the upgrade process.

Overview

There are three steps to upgrading a Preseem element:

  • Upgrade the Fedora OS (not always required)
  • Apply the latest Fedora security fixes and updates
  • Update Preseem

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.

Upgrading the Fedora Operating System (OS)

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:

cat /etc/redhat-release

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 29 to Fedora 30 run:

dnf system-upgrade download --refresh --releasever=30

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 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

Updating the Current Fedora Operating System (OS) and Preseem

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

Preseem Only

If the update consisted of only a Preseem minor release (eg 1.8.0 to 1.8.1) then a system reboot is usually not required (see release notes for the specific version).

To restart Preseem services:

preseemctl system restart

System Updates

To apply OS updates completely, the system must be restarted.

systemctl reboot

Post Update

The status of the Preseem services can be viewed by running:

preseemctl system show