Fedora sits at the front of the Red Hat family. New technology lands here first — systemd, Wayland, PipeWire, PulseAudio and Btrfs all reached ordinary users through Fedora — and what survives eventually becomes part of Red Hat Enterprise Linux. That makes it two things at once: a genuinely modern desktop, and the upstream where enterprise Linux is decided.

It is also the one people describe as “bleeding edge”, which oversells it. Fedora is current, tested and coherent. It is not experimental.

The release cycle

A new Fedora arrives roughly every six months, in spring and autumn, numbered sequentially. Each release is supported until about four weeks after the release two versions later — so around thirteen months.

ReleaseReleasedSupported until
Fedora 44April 2026June 2027
Fedora 43October 2025December 2026
Fedora 42April 2025Ended May 2026

Thirteen months means you must upgrade about once a year. There is no LTS and no way to sit still. If that sounds like a burden, it is worth knowing that Fedora’s in-place upgrades are the least dramatic in the business — three commands, one reboot, and it works. The short cycle is what keeps it that way: the jump between two releases is never large enough to break much.

# Update fully first
sudo dnf upgrade --refresh
sudo reboot

# Download the next release and reboot into the upgrade
sudo dnf system-upgrade download --releasever=44
sudo dnf system-upgrade reboot

You can skip one release — 42 straight to 44 is supported — but not more. If you have fallen further behind, reinstalling is faster than chaining upgrades.

How Fedora, CentOS Stream and RHEL fit together

This is the part people get wrong, usually because they remember how it worked before 2021. Packages flow in one direction:

Fedora → CentOS Stream → RHEL → Rocky Linux and AlmaLinux

DistributionWhat it isSupport windowCost
FedoraWhere features are developed and proven~13 monthsFree
CentOS StreamRolling preview of the next RHEL minor release~5 years per majorFree
RHELThe commercial release, frozen and supported10 yearsSubscription (free for up to 16 machines on a developer account)
Rocky, AlmaCommunity rebuilds of RHEL10 yearsFree

CentOS is no longer a RHEL clone. Until 2021, CentOS was RHEL rebuilt from source and shipped after it — identical, free, and enormously popular for servers. That model ended. CentOS Stream now sits ahead of RHEL rather than behind it, which makes it a preview rather than a replacement. The projects that took over the old role are Rocky Linux and AlmaLinux, and either is the right answer if you want free RHEL-compatible servers.

The practical consequence for you: if your servers are RHEL, Rocky or Alma, running Fedora on your desktop is the closest match available. Same package manager, same SELinux, same firewalld, same filesystem conventions, same /etc layout. What you learn at your desk transfers directly. That alignment is Fedora’s strongest argument.

dnf

# Update everything (there is no separate refresh step)
sudo dnf upgrade

# Install and remove
sudo dnf install nginx
sudo dnf remove nginx

# Search and inspect
dnf search nginx
dnf info nginx

# Which package provides this file or command?
dnf provides /usr/sbin/nginx
dnf provides '*/bin/convert'

# Group installs
sudo dnf group install "Development Tools"

# What happened recently, and undo it
sudo dnf history
sudo dnf history undo 42

Two things dnf does better than apt are worth calling out. dnf provides answers “what do I install to get this command?” without guessing at package names. And dnf history undo genuinely rolls back a transaction — there is no apt equivalent, and it has saved a lot of afternoons.

Note that dnf upgrade refreshes metadata on its own. There is no apt update step to forget. Package management puts apt, dnf and pacman side by side.

RPM Fusion and the missing codecs

Fedora ships only free software, which means no proprietary media codecs and no NVIDIA driver out of the box. Videos that will not play on a fresh install are almost always this. RPM Fusion is the third-party repository that fills the gap:

sudo dnf install \
  https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
  https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

# Media codecs
sudo dnf group install multimedia

# NVIDIA driver
sudo dnf install akmod-nvidia

This is the standard first-hour task on a Fedora desktop and nothing about it is unofficial or risky — it is simply software Fedora cannot ship itself for licensing reasons.

SELinux

Fedora enforces SELinux by default, and it is the single biggest adjustment coming from a Debian-family distribution. SELinux labels every file and process, and the kernel refuses actions the policy does not permit — even when ordinary file permissions would allow them.

The symptom is distinctive: something is denied, the permissions look perfect, and nothing in the application’s own log explains it. Nginx cannot read a file that is world-readable. A service will not bind to a port it clearly owns.

# Is SELinux the reason? Recent denials, in plain English
sudo ausearch -m AVC -ts recent
sudo sealert -a /var/log/audit/audit.log

# Look at labels
ls -Z /var/www/html

# Fix a label to the web content type
sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/mysite(/.*)?"
sudo restorecon -Rv /var/www/mysite

# Booleans turn common permissions on and off
getsebool -a | grep httpd
sudo setsebool -P httpd_can_network_connect on

# Let a service listen on a non-standard port
sudo semanage port -a -t http_port_t -p tcp 8888

Every guide that tells you to run setenforce 0 is giving you the worst advice available. It turns off a working security layer to avoid a five-minute fix, and it will not survive a reboot, so you get a machine that mysteriously breaks again later. sealert usually names the exact command you need. Learn the two or three you use repeatedly — restorecon, a fcontext rule, the odd boolean — and SELinux stops being a problem.

Editions and spins

EditionWhat it is
WorkstationGNOME desktop — the flagship, and close to upstream GNOME
KDE Plasma DesktopA full KDE edition, promoted to equal standing with Workstation
ServerTraditional server install
IoTImage-based, for edge devices
CoreOSMinimal, automatically updating container host
Silverblue / KinoiteAtomic desktops — immutable base, applications as Flatpaks

The atomic desktops deserve attention. The operating system is a read-only image updated as a whole, applications live in Flatpaks and containers, and every update is a new deployment you can roll back to from the boot menu. A failed update stops being a crisis. The trade-off is that installing system packages means layering them with rpm-ostree and rebooting, which suits some workflows badly and others perfectly.

Things that catch people out

SymptomCause
Permission denied, but permissions are correctSELinux — check ausearch -m AVC -ts recent
Videos will not playCodecs not shipped; add RPM Fusion
Port blocked despite no ufwFedora uses firewalld, and rules need --reload
Wi-Fi or graphics broken after a kernel updateOut-of-tree driver not rebuilt; boot the previous kernel from GRUB
apt: command not foundIt is dnf here
/boot fullKernels accumulating — sudo dnf remove --oldinstallonly
A package vanished after upgradeRetired upstream; check dnf history

The firewalld one catches everyone arriving from Ubuntu. Fedora has no ufw; adding a permanent rule does nothing until you reload. Linux firewalls covers firewalld properly.

Who should run Fedora

Yes, if you work with RHEL, Rocky or Alma servers — the tooling match is worth more than any other consideration. Also yes if you want a current desktop with recent hardware support and no third-party repository gymnastics, or if you want to see where Linux is going before it arrives everywhere else.

Look elsewhere if:

  • You want a server you can leave alone for years — use Rocky, Alma or Debian. Fedora on a server means a reinstall or upgrade every year, and almost nobody wants that.
  • You follow a lot of beginner tutorials, which mostly assume Ubuntu.
  • You are not willing to learn a little SELinux. It is not optional here in any sensible sense.

Quick reference

You wantCommand
Which releasecat /etc/fedora-release
Update everythingsudo dnf upgrade --refresh
What provides this commanddnf provides '*/bin/NAME'
Undo the last transactionsudo dnf history undo last
Upgrade to the next releasesudo dnf system-upgrade download --releasever=NN
Recent SELinux denialssudo ausearch -m AVC -ts recent
Reset a file’s SELinux labelsudo restorecon -Rv /path
Open a firewall portsudo firewall-cmd --permanent --add-port=80/tcp && sudo firewall-cmd --reload

Related reading

  • Ubuntu — the other mainstream desktop, and the other package manager
  • Debian — the opposite approach to release cadence
  • Arch Linux — newer still, with none of the safety rails
  • Linux firewalls — firewalld, zones and the reload trap
  • Package management — dnf next to apt and pacman
  • systemctl — systemd was a Fedora project first