aoitcloud

Fedora

Staying on top of Fedora’s release cycle without breaking your server

Fedora releases are supported for about 13 months. Here's how to track your EOL date, plan an in-place upgrade with dnf system-upgrade, and avoid running an unpatched server.

26 November 2024 5 min read

We’ve written before about why Fedora’s roughly 13-month support window is worth thinking hard about before you choose it for a server (see What is Fedora, and is it actually a good fit for a server?). If you’ve already got a Fedora VPS running and you’re keeping it, this post is the practical follow-up: how to track when your release goes end-of-life, and how to upgrade in place before it does.

Check what you’re currently running

Find your current Fedora release with either of these:

cat /etc/fedora-release
rpm -E %fedora

The first gives you a human-readable line like “Fedora release 43 (Forty Three)” (Fedora dropped release nicknames after Fedora 42 “Adams” – current releases just repeat the number as the parenthetical); the second just prints the version number, which is handy for scripting.

Find out when it goes end-of-life

Fedora releases roughly every six months, in spring and autumn, and each release is supported for about 13 months – in practice, until roughly a month after the release two versions ahead of it ships. That means only two Fedora releases are supported at any given time; everything older is unpatched.

Don’t guess your EOL date – check it. The Fedora Project publishes current release lifecycle dates on its wiki, and third-party trackers like endoflife.date maintain an up-to-date table for Fedora specifically. Check either before you assume you’ve got time left.

Why running past EOL is a real risk

Once a release is end-of-life, Fedora stops shipping updates for it entirely – no security patches, no bug fixes, nothing. dnf will typically still run against an EOL release’s repositories for a while (until the mirrors are archived or pulled), which means it can look like everything’s fine when it isn’t. A server sitting on an EOL Fedora release with any public-facing service – SSH, a web server, anything – is running with known, unpatched vulnerabilities. That’s not a theoretical risk on a VPS with a public IP; it’s actively worse than running an older but supported distribution.

Upgrading in place with dnf system-upgrade

Fedora supports in-place upgrades between releases using the system-upgrade plugin, which works with both dnf4 and dnf5 (dnf5 is the default on current Fedora releases – see Managing packages with dnf for background on the dnf4/dnf5 transition). The plugin is designed to move you forward one or two releases at a time, not to jump several versions in one go.

Before you start: take a snapshot or backup if your hosting setup allows it, and make sure the server has enough free disk space – the upgrade downloads a full set of new packages before it touches anything.

Step 1 – Update your current system fully first. Don’t skip this; upgrading from a stale system is a common source of failed upgrades.

sudo dnf upgrade --refresh

Reboot if a kernel update was installed, then continue.

Step 2 – Make sure the system-upgrade plugin is available. On most current Fedora installs it’s already included with dnf5’s plugin set. If the command in the next step isn’t recognised, install it explicitly:

sudo dnf install dnf5-plugin-system-upgrade

Step 3 – Download the target release. Replace 44 with the release you’re upgrading to:

sudo dnf system-upgrade download --releasever=44

This resolves and downloads every package needed for the new release without touching your running system. It’ll flag any dependency conflicts here rather than mid-upgrade, so read the output before continuing. If you hit unresolved dependencies and you’re confident it’s safe to do so, you can add --allowerasing to let dnf remove conflicting packages as part of the resolution.

Step 4 – Reboot to apply the upgrade.

sudo dnf system-upgrade reboot

The server reboots into a special offline mode and works through installing the downloaded packages before booting normally again. This can take a while depending on how many packages changed – don’t interrupt it. On a remote VPS, expect to lose your SSH session for the duration; give it time before assuming something’s gone wrong.

Step 5 – Verify afterwards. Once it’s back up, confirm the upgrade actually completed and check for issues:

cat /etc/fedora-release
sudo dnf system-upgrade log

Check that any services you run (web server, database, custom applications) came back up correctly – an OS upgrade can occasionally change default configs or drop deprecated packages, so this is worth a proper check rather than a glance.

A realistic way to keep on top of this

The honest answer here is that this needs to become a routine, not a one-off. A few practical options:

  • Put a recurring calendar reminder in a few weeks before each Fedora release ships (spring and autumn), prompting you to check your current release’s EOL date and schedule the upgrade.
  • Upgrade one release behind the very latest rather than always chasing the newest – it gives you a slightly longer runway and lets any early post-release bugs get fixed before you touch it.
  • If you find yourself dreading this every year, that’s a genuine signal, not a personal failing. If you don’t have a specific reason to need Fedora’s bleeding-edge packages, AlmaLinux gives you the same RHEL-family tooling and workflow with a support window measured in years rather than months. See What is AlmaLinux, and what’s it best for? if that sounds like a better fit.

Fedora’s release cycle isn’t a flaw to work around – it’s the trade-off you signed up for by choosing it. Staying ahead of it with a bit of routine maintenance is entirely manageable; ignoring it is how servers end up running unpatched for months without anyone noticing.

Get in touch

Drop our team a message today