DNF5 Package Management Utility
Synopsis
dnf5 <command> [options] [<args>...]
Description
DNF5 is the new version of DNF, a package manager for RPM-based Linux distributions. It has been completely rewritten in C++ aiming for better performance and reducing external dependencies.
Commands
Here is the list of the available commands.
For more details see the separate man page for the specific command, f.e. man dnf5 install
.
- advisory
- Manage advisories.
- autoremove
- Remove unneeded packages.
- check
- Check for problems in the package database.
- check-upgrade
- Check for available package upgrades.
- clean
- Remove or invalidate cached data.
- distro-sync
- Upgrade or downgrade installed packages to the latest available version.
- downgrade
- Downgrade packages.
- download
- Download packages.
- environment
- Manage comps environments.
- group
- Manage comps groups.
- history
- Manage transaction history.
- info
- Provide detailed information about installed or available packages.
- install
- Install packages.
- leaves
- List groups of leaf packages.
- list
- List installed or available packages.
- makecache
- Generate the metadata cache.
- mark
- Change the reason of an installed package.
- module
- Manage modules.
- offline
- Manage offline transactions.
- provides
- Find what package provides the given value.
- reinstall
- Reinstall packages.
- remove
- Remove packages.
- replay
- Replay stored transactions.
- repo
- Manage repositories.
- repoquery
- Search for packages in repositories.
- search
- Search for packages using keywords.
- swap
- Remove software and install another in the single transaction.
- system-upgrade
- Upgrade the system to a new major release.
- upgrade
- Upgrade packages.
- versionlock
- Protect packages from updates to newer versions.
Plugin commands
Here is the list of the commands available as plugins.
These are available after installing the dnf5-plugins
package.
- automatic
- Alternative CLI to
dnf upgrade
suitable to be executed automatically and regularly from systemd timers, cron jobs and similar. - builddep
- Install missing dependencies for building an RPM package.
- changelog
- Show package changelogs.
- config-manager
- Manages main configuration, repositories configuration, and variables.
- copr
- Manage Copr repositories (add-ons provided by users/community/third-party).
- needs-restarting
- Determine whether the system should be rebooted.
- repoclosure
- Display a list of unresolved dependencies for repositories.
Options
Following options are applicable in the general context for any dnf5
command:
--assumeno
- Automatically answer no for all questions.
--best
- Try the best available package versions in transactions.
Specifically during dnf upgrade, which by default skips over updates that can not be installed for dependency reasons, the switch forces
DNF5
to only consider the latest packages. When running into packages with broken dependencies,DNF5
will fail giving the reason why the latest version can not be installed.Note that the use of the newest available version is only guaranteed for the packages directly requested (e.g. as a command line arguments), and the solver may use older versions of dependencies to meet their requirements.
-C, --cacheonly
- Use only cached data for working with packages and repository metadata.Cache won’t be updated, even if it is expired.
--comment=COMMENT
- Add a comment to the transaction history.
--config=CONFIG_FILE_PATH
- Define configuration file location.
--debugsolver
- Dump additional data from solver for debugging purposes.Data are saved in
./debugdata
. --disable-plugin=PLUGIN_NAME,...
- Disable specified libdnf5 library plugins for the purpose of the current
DNF5
command.This is a list option which can be specified multiple times.Accepted values are names, or a glob of names. --disable-repo=REPO_ID,...
- Temporarily disable active repositories for the purpose of the current
DNF5
command.This is a list option which can be specified multiple times.Accepted values are ids, or a glob of ids. --dump-main-config
- Print main configuration values to stdout.
--dump-repo-config=REPO_ID,...
- Print repository configuration values to stdout.This is a list option which can be specified multiple times.Accepted values are ids, or a glob of ids.
--dump-variables
- Print variable values to stdout.
--enable-plugin=PLUGIN_NAME,...
- Enable specified libdnf5 library plugins for the purpose of the current
DNF5
command.This is a list option which can be specified multiple times.Accepted values are names, or a glob of names. --enable-repo=REPO_ID,...
- Temporarily enable additional repositories for the purpose of the current
DNF5
command.This is a list option which can be specified multiple times.Accepted values are ids, or a glob of ids. --forcearch=ARCH
- Force the use of a specific architecture.See dnf5-forcearch(7) for more info.
-h, --help
- Show the help.
--installroot=ABSOLUTE_PATH
--no-best
- Do not limit the transaction to the best candidates only.
--no-docs
- Do not install any files that are marked as a documentation (which includes man pages and texinfo documents).It sets the
RPMTRANS_FLAG_NODOCS
flag. --no-gpgchecks
- Skip checking GPG signatures on packages (if
RPM
policy allows that). --no-plugins
- Disable all libdnf5 plugins.
-q, --quiet
In combination with a non-interactive command, shows just the relevant content. Suppresses messages notifying about the current state or actions of
DNF5
.--refresh
- Force refreshing metadata before running the command.
--repo=REPO_ID,...
- Enable just specified repositories.This is a list option which can be specified multiple times.Accepted values are ids, or a glob of ids.
--repofrompath=REPO_ID,REPO_PATH
Specify a repository to add to the repositories only for this run. Can be used multiple times.
The new repository id is specified by
REPO_ID
and its baseurl byREPO_PATH
. Variables in both values are substituted before creating the repo.The configuration of the new repository can be adjusted using options
--setopt=REPO_ID.option=value
.If you want only packages from this repository to be available, combine this option with
--repo=REPO_ID
switch.--releasever=RELEASEVER
- Override the value of the distribution release in configuration files.This can affect cache paths, values in configuration files and mirrorlist URLs.
--setopt=[REPO_ID.]OPTION=VALUE
- Override a configuration option from the configuration file.The
REPO_ID
parameter is used to override options for repositories.Values for the options like
excludepkgs
,includepkgs
,installonlypkgs
andtsflags
are appended to the original value, they do not override it. However, specifying an empty value (e.g.--setopt=tsflags=
) will clear the option. --setvar=VAR_NAME=VALUE
- Override a
DNF5
variable value, likearch
,releasever
, etc. --show-new-leaves
- Show newly installed leaf packages and packages that became leaves after a transaction.
--use-host-config
- Use configuration files and variable definitions from the host system rather than the installroot.See dnf5-installroot(7) for more info.
--version
- Display the version of the dnf5 application and libdnf5 library, along with successfully loaded plugins and their versions, and then exit.
-y, --assumeyes
- Automatically answer yes for all questions.
-x PACKAGE-SPEC,..., --exclude=PACKAGE-SPEC,...
- Exclude packages specified in
PACKAGE-SPEC
arguments from the transaction.This is a list option.
Metadata Synchronization
Correct operation of DNF5
depends on having an access to up-to-date data from the all enabled
repositories, but contacting remote mirrors on every operation considerably slows it down and costs
bandwidth for both the client and the repository provider. The metadata_expire
repository configuration
option is used by DNF5
to determine whether a particular local copy of repository data is due
to be re-synced. It is crucial that the repository providers set the option well, namely to a value
where it is guaranteed that if particular metadata was available in time T
on the server,
then all packages it references will still be available for download from the server
in time T + metadata_expire
.
To further reduce the bandwidth load, some of the commands where having up-to-date metadata
is not critical (e.g. the group list
command) do not look at whether a repository is expired
and whenever any version of it is locally available to the user’s account, it will be used.
Refer to the dnf5-caching(7) for more info regarding metadata and packages caching.
Configuration Files Replacement Policy
The updated packages could replace the old modified configuration files with the new ones or keep
the older files. Neither of the files are actually replaced. To the conflicting ones RPM
gives additional suffix to the origin name. Which file should maintain the true name after
transaction is not controlled by package manager, but is specified by each package itself,
following packaging guideline.
Exit Codes
The dnf5
command in general exits with the following return values:
- 0
- Operation was successful.
- 1
- An error occurred during processing of the command.
- 2
- An error occurred during parsing the arguments.
Other exit codes could be returned by the specific command itself, see its documentation for more info.
Files
Cache Files
/var/cache/libdnf5/
Main Configuration
/etc/dnf/dnf.conf
Repository Configuration
/etc/yum.repos.d/
Repository Persistence
/var/lib/dnf/
System State
/usr/lib/sysimage/libdnf5/
Environment
DNF5_PLUGINS_DIR
Override a directory with DNF5 application plugins. Set it to an empty string to disable loading the application plugins.
LIBDNF_PLUGINS_CONFIG_DIR
Override a directory with libdnf5 plugin’s configuration files.
See Also
- Commands:
- dnf5-advisory(8), Advisory commanddnf5-autoremove(8), Autoremove commanddnf5-check(8), Check commanddnf5-check-upgrade(8), Check-Upgrade commanddnf5-clean(8), Clean commanddnf5-distro-sync(8), Distro-Sync commanddnf5-downgrade(8), Downgrade commanddnf5-download(8), Download commanddnf5-environment(8), Environment commanddnf5-group(8), Group commanddnf5-history(8), History command,dnf5-info(8), Info commanddnf5-install(8), Install commanddnf5-leaves(8), Leaves commanddnf5-list(8), List commanddnf5-makecache(8), Makecache commanddnf5-mark(8), Mark commanddnf5-module(8), Module commanddnf5-offline(8), Offline commanddnf5-provides(8), Provides commanddnf5-reinstall(8), Reinstall commanddnf5-remove(8), Remove commanddnf5-repo(8), Repo commanddnf5-repoquery(8), Repoquery commanddnf5-search(8), Search commanddnf5-swap(8), Swap commanddnf5-system-upgrade(8), System-Upgrade commanddnf5-upgrade(8), Upgrade commanddnf5-versionlock(8), Versionlock command
- Application Plugins:
- dnf5-automatic(8), Automatic commanddnf5-builddep(8), Builddep commanddnf5-changelog(8), Changelog commanddnf5-config-manager(8), Config-manager commanddnf5-copr(8), Copr commanddnf5-needs-restarting(8), Needs-Restarting commanddnf5-repoclosure(8), Repoclosure command
- Library Plugins:
- libdnf5-actions(8), Actions plugin
- Configuration:
- dnf5-conf(5), DNF5 Configuration Reference
- Miscellaneous:
- dnf5-aliases(7), Aliases for command line argumentsdnf5-caching(7), Cachingdnf5-comps(7), Comps groups and environmentsdnf5-filtering(7), Packages filtering,dnf5-forcearch(7), Forcearch parameterdnf5-installroot(7), Installroot parameterdnf5-modularity(7), Modularity overview,dnf5-specs(7), Patterns specificationdnf5-system-state(7), System state
- Project homepage: