Packages Filtering
Description
Package filtering removes packages from the available package set, making them invisible to most DNF5
commands. As a result, these packages cannot be included in any transaction.
There are several ways a package can be filtered out:
Global excludes filtering
Exclude filtering can be adjusted using the includepkgs
or excludepkgs
configuration options in the DNF5 configuration file. To disable excludes, you can use the disable_excludes
configuration option:
dnf5 --setopt=disable_excludes=* install bash
For details about the configuration options see dnf5.conf(5), DNF5 configuration reference.
Repository excludes filtering
Similar to global excludes, but this configuration is repository-specific and only affects packages within the repository where the excludes are set.
User excludes filtering
API users have an additional option how to fine-tune excluded packages using *_user_excludes()
and *_user_includes
methods of the PackageSack
object. See PackageSack API.
Versionlock
Additionally, the versionlock functionality is implemented using excludes filtering. However, these excludes are applied only during transactional operations. For details see dnf5-versionlock(8), Versionlock command.
Modular filtering
For details on how modular filtering works please see dnf5-modularity(7), the modularity documentation.
With modularity, only RPM packages from active
module streams are included in the available package set. RPM packages from inactive
module streams, as well as non-modular packages with the same name or provides as a package from an active
module stream, are filtered out. Modular filtering is not applied to packages added from the command line, installed packages, or packages from repositories with module_hotfixes=true
in their .repo
file.
Disabling of modular filtering is not recommended, because it could cause the system to get into a broken state. To disable modular filtering for a particular repository, specify
module_hotfixes=true
in the .repo
file or use --setopt=<repo_id>.module_hotfixes=true
.