1 Optimize DNF Performance
The first thing you should do on a fresh Fedora 44 install is tune DNF5, Fedora's package manager. On Fedora 44, dnf is DNF5 (a C++ rewrite). It is already much faster than old DNF4 — you only need a couple of config changes, not a full rewrite of dnf.conf.
Fedora 44 ships DNF5
/usr/bin/dnf is a symlink to dnf5. Stock /etc/dnf/dnf.conf is basically empty; real distro defaults live in /usr/share/dnf5/libdnf.conf.d/20-fedora-defaults.conf (pkg_gpgcheck=True, skip_if_unavailable=True, best=False). Leave those alone.
Edit Your DNF Configuration
sudo nano /etc/dnf/dnf.conf
The Optimal Configuration
Add these two lines under [main]. Everything else below is already the Fedora 44 / DNF5 default.
[main]
# Speed tweaks (Fedora 44 / DNF5 defaults are 3 and False)
max_parallel_downloads=10
fastestmirror=True
Add These (they change Fedora 44 defaults)
-
max_parallel_downloads=10- DNF5 default is 3 (max 20). Ten concurrent downloads is the useful speed win on a typical home connection. -
fastestmirror=True- Default is False. Uses TCP latency to pick a nearby mirror instead of metalink order. Optional, but the usual second tweak.
Already Default on Fedora 44 — don't fight them
-
pkg_gpgcheck=True- Fedora's drop-in already enables package signature checks. DNF5 still acceptsgpgcheck=1as a compatibility alias. Never disable this. -
installonly_limit=3- Already default. Keeps three kernels so/bootdoesn't fill up. -
clean_requirements_on_remove=True- Already default. Unused dependencies go away ondnf remove. -
keepcache=False- Already default. Downloaded RPMs are not kept forever. -
install_weak_deps=True- Already default. Recommends/Supplements still get pulled in. -
best=False- Fedora explicitly sets this. Do not forcebest=True; it makes upgrades fail when the newest version can't be installed. -
skip_if_unavailable=True- Fedora explicitly sets this so a dead third-party repo doesn't block updates. Don't set it back to False. -
deltarpm- Gone. DNF5 has nodeltarpmoption. Don't add it.
2 Critical Security Settings
🔒 GPG Check (gpgcheck=1)
This is your protection against compromised packages. It verifies cryptographic signatures on every package before installation. This prevents:
- Installing packages from compromised repositories
- Man-in-the-middle attacks during downloads
- Installation of modified or malicious packages
Keep this at 1 always. Only disable for testing custom repositories you personally control.
3 Automatic System Cleanup
Why These Settings Matter
Two settings work together to keep your Fedora installation lean:
🧹 clean_requirements_on_remove=True
When you uninstall a package like GIMP (which might pull in 50+ image processing libraries), this setting automatically removes those 50 libraries if nothing else needs them. Without this, you'd accumulate hundreds of orphaned packages over time.
💾 keepcache=False
After DNF installs packages, it can either keep the downloaded .rpm files (taking up disk space) or delete them. Since you can always re-download them if needed, keeping them is wasteful. This automatically cleans the cache after installation.
4 Keep Your System Updated
Now that DNF is optimized, run your first system update:
sudo dnf upgrade --refresh
This will:
- Refresh repository metadata
- Download updates using your new parallel download settings
- Install the latest versions of all packages
- Automatically clean up the cache when done
📅 Regular Updates
Make it a habit to run sudo dnf upgrade weekly. Fedora releases updates frequently, and staying current keeps your system secure and stable.
5 What's Next?
With DNF5 tuned, your Fedora 44 system is ready for efficient package management. Consider these next steps:
- Install RPM Fusion - Access additional software not in default repositories (media codecs, graphics drivers)
- Enable Flatpak - Already included in Fedora, great for sandboxed applications
- Install Essential Tools - Development tools, multimedia codecs, your preferred applications
- Desktop - Workstation ships GNOME 50; KDE Plasma Desktop Edition ships Plasma 6.6. Customize the one you installed.