dnf5-do - Man Page

Do Command

Synopsis

dnf5 do [options] [arguments]

Description

The do command is a universal command for package management in DNF5. It allows a user to define multiple actions (install, remove, upgrade, downgrade, and reinstall).

Unlike a series of specific commands (install, remove, upgrade, downgrade, and reinstall), the do command handles all requested actions together and performs them in a single transaction. This simplifies complex operations and makes them more efficient.

Another difference is that the do command allows for the explicit specification of object types in the transaction: package, group, or auto. For the group type, it is possible to specify whether a group ID or a group name is used. By default, the auto type is active. In this mode, the do command behaves like other commands, inferring the object's type from its specification. For example, if a specification starts with the @ character, it is treated as a group ID or a module.

Individual actions and object types are specified by options and are combinable.

Other options have the same meaning and use as with the commands (install, remove, upgrade, downgrade, and reinstall). The exceptions are the --installed-from-repo and --from-repo options. While they have the same meaning, they only apply to the packages that follow them on the command line. Additionally, they can be repeated with different values.

Options

--action
Action to be done on the following items.

This is a mandatory option that must precede the transaction's items (objects). The do command needs this information to know which action to perform on the specified items. Supports: install, remove, upgrade, downgrade, reinstall.

--type
Type of the following items.

Supports: auto, package, group. auto is the default until the type option is used.

--allowerasing
Allow removing of installed packages to resolve any potential dependency problems.
--skip-broken
Resolve any dependency problems by removing packages that are causing problems from the transaction.
--skip-unavailable
Allow skipping packages that are not available in repositories. All available packages will be installed.
--allow-downgrade
Enable downgrade of dependencies when resolving the requested operation.
--no-allow-downgrade
Disable downgrade of dependencies when resolving the requested operation.
--installed-from-repo=REPO_ID,...
Filters installed packages by the ID of the repository they were installed from.
--from-repo=REPO_ID,...
Packages (or their provides) explicitly specified on the command line will only be looked up in the specified repositories.
These repositories are automatically enabled.
Repository enabling and disabling still applies. Dependencies of these packages will be resolved from any enabled repository.
--downloadonly
Download the resolved package set without executing an RPM transaction.
--offline
Store the transaction to be performed offline. See dnf5-offline(8), Offline command.
--advisories=ADVISORY_NAME,...
Include content contained in advisories with specified name.
This is a list option.
Expected values are advisory IDs, e.g. FEDORA-2201-123.
Any transaction command (install, upgrade) will fail with an error if there is no existing advisory in the list; this can be bypassed by using the --skip-unavailable switch.
--advisory-severities=ADVISORY_SEVERITY,...
Include content contained in advisories with specified severity.
This is a list option.
Accepted values are: critical, important, moderate, low, none.
--bzs=BUGZILLA_ID,...
Include content contained in advisories that fix a ticket of the given Bugzilla ID.
This is a list option.
Expected values are numeric IDs, e.g. 123123.
Any transaction command (install, upgrade) will fail with an error if there is no advisory fixing the given ticket; this can be bypassed by using the --skip-unavailable switch.
--cves=CVE_ID,...
Include content contained in advisories that fix a ticket of the given CVE (Common Vulnerabilities and Exposures) ID.
This is a list option.
Expected values are string IDs in CVE format, e.g. CVE-2201-0123.
Any transaction command (install, upgrade) will fail with an error if there is no advisory fixing the given ticket; this can be bypassed by using the --skip-unavailable switch.
--security
Include content contained in security advisories.
--bugfix
Include content contained in bugfix advisories.
--enhancement
Include content contained in enhancement advisories.
--newpackage
Include content contained in newpackage advisories.

Examples

dnf5 do --action=install tito

Install the tito package.

dnf5 do --action=remove sddm-wayland-plasma --action=install sddm-x11

Replace package sddm-wayland-plasma with sddm-x11.

dnf5 do --action=install --type=group id=office 'name=Games and Entertainment' --type=package iftop --action=remove atop

Install the office group (by ID), the Games and Entertainment group (by name), and the iftop package, and remove the atop package.

dnf5 do --action=install pkg --from-repo=myrepo1 pkg1 --from-repo=myrepo2 pkg2 --action=remove --installed-from-repo=compromised_repo '*'

Install the pkg package from any enabled repository, as well as package pkg1 from the myrepo1 repository and package pkg2 from the myrepo2 repository. Dependencies for these packages are installed from any enabled repository. Additionally, remove all packages installed from the compromised_repo.

See Also

dnf5-install(8), Install command
dnf5-remove(8), Remove command
dnf5-upgrade(8), Upgrade command
dnf5-downgrade(8), Downgrade command
dnf5-reinstall(8), Reinstall command
dnf5-advisory(8), Advisory command
dnf5-specs(7), Patterns specification

Author

See AUTHORS.md in dnf5 source distribution.

Referenced By

The man page dnf-do(8) is an alias of dnf5-do(8).

Sep 02, 2025 dnf5