Fedora Linux: Practical Reference
| Type | Community distribution sponsored by Red Hat; upstream of CentOS Stream and RHEL |
| Current release | Fedora 44 (28 April 2026); Fedora 45 scheduled for 20 October 2026 |
| Release cycle | About every six months; each release supported for roughly 13 months |
| Package manager | dnf (DNF5 since Fedora 41), RPM packages; Flatpak for desktop apps |
| Editions | Workstation (GNOME), KDE Plasma Desktop, Server, IoT, CoreOS, plus Atomic desktops (Silverblue, Kinoite) and spins |
| Desktop | GNOME 50 on Workstation 44 (Wayland only); KDE Plasma 6 on the KDE edition |
| Defaults | Btrfs on desktop editions, SELinux enforcing, firewalld, PipeWire, zram swap |
| Documentation | docs.fedoraproject.org |
This page covers the hands-on side. For Fedora's history, editions and its relationship to RHEL, see the Fedora overview. To get started, see how to install Fedora.
Support dates
| Release | Released | End of life | Status (October 2026) |
|---|---|---|---|
| Fedora 45 | Scheduled 20 October 2026 | About four weeks after Fedora 47 (late 2027) | Upcoming |
| Fedora 44 | 28 April 2026 | About four weeks after Fedora 46 (mid-2027) | Current |
| Fedora 43 | October 2025 | 9 December 2026 | Supported, upgrade soon |
| Fedora 42 and older | — | Ended | No updates: upgrade |
There is no LTS release; the expectation is that you upgrade once or twice a year. You can skip one release (43 straight to 45 is supported), but not more. The step-by-step process is in upgrading Fedora with dnf system-upgrade; the short version is:
sudo dnf upgrade --refresh
sudo dnf system-upgrade download --releasever=45
sudo dnf system-upgrade reboot
Check your version with cat /etc/fedora-release. Compare support windows across distributions in Linux release cycles.
Everyday dnf commands
| Command | What it does |
|---|---|
sudo dnf upgrade --refresh | Refresh metadata and install all updates |
sudo dnf install pkg | Install a package (also accepts a local .rpm or a URL) |
sudo dnf remove pkg | Remove a package and dependencies nothing else needs |
dnf search keyword | Search names and summaries |
dnf info pkg | Version, repository and description |
dnf provides /usr/bin/dig | Which package provides a file or command |
dnf list --installed | Installed packages |
dnf check-upgrade | What would be updated |
dnf history list | Past transactions |
sudo dnf history undo <id> | Reverse a transaction |
sudo dnf downgrade pkg | Go back to the previous available version |
dnf repolist | Enabled repositories |
sudo dnf autoremove | Remove unneeded dependencies |
sudo dnf clean all | Clear cached metadata and packages |
sudo dnf copr enable user/project | Enable a COPR community repository |
Make downloads faster by allowing more parallel connections in /etc/dnf/dnf.conf:
[main]
max_parallel_downloads=10
Desktop apps are also available as Flatpaks through GNOME Software or KDE Discover. Enable the full Flathub catalogue with:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
RPM Fusion, codecs and NVIDIA
Fedora ships only freely licensed software, so some codecs and the NVIDIA driver come from RPM Fusion, the standard third-party repository.
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
# full ffmpeg instead of the reduced ffmpeg-free
sudo dnf swap ffmpeg-free ffmpeg --allowerasing
# hardware video decoding on Intel (newer GPUs) and AMD
sudo dnf install intel-media-driver
sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld
For NVIDIA, after enabling RPM Fusion:
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
# wait until the module is built (a few minutes), then check
modinfo -F version nvidia
sudo reboot
With Secure Boot enabled, the akmod-built module must be signed with a key you enrol (RPM Fusion documents the akmods key steps). If you get a black screen after installing, see NVIDIA black screen fixes. Codec details for media players are on the VLC and Firefox pages.
SELinux and firewalld basics
SELinux is enforcing by default. When something works with SELinux permissive but fails when enforcing, fix the policy, not the switch.
getenforce
sudo ausearch -m avc -ts recent # recent denials
sudo journalctl -t setroubleshoot # human-readable explanations, if installed
sudo restorecon -Rv /path/to/files # reset file labels (fixes most denials)
getsebool -a | grep httpd # list booleans for a service
sudo setsebool -P httpd_can_network_connect on
Files moved (rather than copied) into place keep their old label; restorecon fixes that. Temporary sudo setenforce 0 is acceptable for a quick test; switch back with sudo setenforce 1 and don't disable SELinux permanently.
firewalld is active on all editions:
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --list-all
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
More firewall examples are in Linux networking basics.
Common problems and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
Failed to download metadata for repo | Network, mirror, or a third-party repo that doesn't support your release yet | See dnf failed to download metadata; disable the failing repo with --disablerepo=<id> |
| Videos won't play, or no H.264/HEVC | Only free codecs installed | Enable RPM Fusion and swap to full ffmpeg (above) |
| NVIDIA: low resolution or nouveau still loaded | akmod not built yet, or Secure Boot blocking it | Wait, check modinfo nvidia, enrol the akmods key, reboot |
| Service can't read its files | SELinux label | sudo restorecon -Rv <path> |
| Update broke something | Regression in a package | dnf history list, then sudo dnf history undo <id>; or boot an older kernel from the menu |
| App needs X11 | Workstation 44 has no X11 session | XWayland runs most X11 apps; see Wayland vs X11 |
| pip installs system-wide without error | Fedora doesn't currently enforce PEP 668 | Use a venv anyway: python3 -m venv .venv |
Fedora keeps the last three kernels installed. If a new kernel fails to boot, pick the previous one in the boot menu (hold Shift or press Esc during boot if the menu is hidden).
Btrfs rollback
Desktop editions use Btrfs with root and home subvolumes, but Fedora does not take automatic snapshots by default. If you want rollback before big updates, install snapper and take a snapshot before upgrades (sudo snapper -c root create -d "before upgrade" after creating a config with sudo snapper -c root create-config /), or use the Atomic desktops, where rpm-ostree rollback returns to the previous deployment.
Fedora compared with the alternatives
Fedora sits between the rolling Arch Linux and the long-support Ubuntu LTS and Debian: recent kernels and desktops, tested releases, and an upgrade roughly every year. On Fedora Workstation you also get GNOME close to upstream, which makes it a good place to see what later lands in other distributions.
Frequently asked questions
When does Fedora 44 reach end of life?
Each Fedora release is supported until four weeks after the release that comes two versions later. For Fedora 44 that means about four weeks after Fedora 46 ships, expected around mid-2027.
When is Fedora 45 released?
Fedora 45 is scheduled for 20 October 2026. Fedora 43 then has until its end of life on 9 December 2026.
Is Fedora good for beginners?
Yes, if you're happy to upgrade about once a year. Workstation works well out of the box. The main extra step is enabling RPM Fusion for full multimedia codecs and NVIDIA drivers.
Should I disable SELinux on Fedora?
No. Find the specific denial with sudo ausearch -m avc -ts recent and fix the label or boolean. Most denials come from files with the wrong context, which restorecon fixes.
Spotted a mistake or a command that no longer works? Send a correction — pages are re-checked when reports come in.