DNF5-FILTERING(7)
π dnf5-filtering β Packages Filtering π
okay bestie, pull up a chair, we're talking about dnf5-filtering, aka the dnf5-filtering(7) manual page, aka the reason some package you swear exists is justβ¦ not showing up. π«Ά
β¨ DESCRIPTION β¨
So here's the vibe: package filtering is when packages get yeeted out of the available package set, which means most DNF5 commands literally cannot see them. And if they can't see them, they can't be put in any transaction. Gone. Invisible. Not invited to the party. π
There's a few different ways a package can get filtered out, and we're gonna go through all of them one by one, no skipping, because we don't gatekeep here. πΈ
π GLOBAL EXCLUDES FILTERING π
This one's the big global switch. You can tweak exclude filtering with the includepkgs or excludepkgs configuration options in the DNF5 configuration file. And if you wanna just turn excludes off entirely? That's the disable_excludes configuration option, bestie:
dnf5 --setopt=disable_excludes=* install bash
See? Iconic. β¨
For all the deets on those configuration options, go check dnf5.conf(5), the DNF5 configuration reference <#dnf5-conf-label>.
π REPOSITORY EXCLUDES FILTERING π
Okay so this is basically the same as global excludes, except β and this is the important part β this config is repository-specific. It only affects the packages inside the repository where you set the excludes. So it's like global excludes but with boundaries. Boundaries are healthy. π·
π¦ USER EXCLUDES FILTERING π¦
If you're an API user, you get an extra little treat π: you can fine-tune excluded packages using the *_user_excludes() and *_user_includes methods of the PackageSack object.
Go look at libdnf5::rpm::libdnf5::rpm::PackageSack for the whole thing.
π VERSIONLOCK π
plot twist: the versionlock functionality is actually implemented using excludes filtering under the hood. But β and this is the plot twist of the plot twist β those excludes are applied only during transactional operations.
For the full story, see dnf5-versionlock(8), Versionlock command <#versionlock-command-ref-label>.
π§ MODULAR FILTERING π§
Want the full breakdown on how modular filtering works? It's all in dnf5-modularity(7), the modularity documentation <#modularity-misc-ref-label>. Go read it, it's giving very informative. π
So with modularity, here's the tea: only RPM packages from active module streams make it into the available package set. And what gets filtered out? Two things:
- RPM packages from inactive module streams π
- Non-modular packages that have the same name or provides as a package from an active module stream π
But wait, there's exceptions, because of course there are. Modular filtering is not applied to:
- packages added from the command line
- installed packages
- packages from repositories with
module_hotfixes=truein their.repofile
β οΈ Now listen up, this part is serious. Disabling modular filtering is not recommended, because it could cause the system to get into a broken state. Like, actually broken. We're not being dramatic, that's just what it says.
If you really gotta disable modular filtering for one particular repository, you specify module_hotfixes=true in the .repo file, or you use --setopt=<repo_id>.module_hotfixes=true. That's it. That's the whole thing. π
π Author
See AUTHORS.md in dnf5 source distribution.
π Copyright
Contributors to the dnf5 project.
and that's the whole page, bestie, you ate it up fr fr π β¨ this little masterpiece is from the dnf5 source, dated Sep 24, 2026 β mwah, iconic, no cap ππ¦π
π¦ where this page comes from
- fedora 44: dnf5 5.4.6.0-1.fc44 Β· GPL-2.0-or-later
- fedora 44: dnf5 5.4.6.0-1.fc44 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms