Fedora’s package workflow now runs through DNF5, but the command you type is still dnf. The DNF5 install command on Fedora handles single packages, local RPM files, package groups, repository setup, and offline transactions from the terminal.
Fedora 44 and Fedora 43 use DNF5 by default, while Fedora 41 was the first Fedora release to make DNF5 the default package manager. These examples focus on current Fedora behavior, with package versions shown only where they help you understand the output shape.
Install Packages with DNF5 on Fedora
The basic Fedora terminal install command is short. Replace package-name with the package you want to install:
sudo dnf install package-name
For example, install Vim with this command:
sudo dnf install vim
DNF5 resolves dependencies, shows the transaction summary, and asks for confirmation before it changes the system.
Preview a DNF5 Install Transaction
Use --assumeno when you want to see what DNF5 would install without actually installing anything:
sudo dnf install vim --assumeno
Relevant output includes the package list and transaction summary. Version numbers and sizes can change after updates:
Package Arch Version Repository Size Installing: vim-enhanced x86_64 2:9.2.390-1.fc44 updates 4.4 MiB Installing dependencies: gpm-libs x86_64 0:1.20.7-53.fc44 fedora 31.5 KiB vim-common x86_64 2:9.2.390-1.fc44 updates 38.2 MiB vim-filesystem noarch 2:9.2.390-1.fc44 updates 40.0 B xxd x86_64 2:9.2.390-1.fc44 updates 33.2 KiB Transaction Summary: Installing: 5 packages
Install Multiple Packages at Once
DNF5 can install several packages in one transaction, which lets it resolve shared dependencies only once:
sudo dnf install vim nano htop
If one package in the list is already installed, DNF5 reports that state and continues with the missing packages.
Install Without a Confirmation Prompt
The -y option automatically answers yes to prompts. Use it for scripts or repeatable setup commands only when you already know the transaction is safe:
sudo dnf install -y vim
When a command can remove packages, replace packages, or pull in a large dependency set, preview the transaction first or omit
-yso you can review the prompt.
Reinstall a Fedora Package with DNF5
Use dnf reinstall when package-owned files are missing or damaged but you want to keep the same package installed:
sudo dnf reinstall vim
Reinstalling restores files owned by the RPM package. It does not reset user configuration files in your home directory.
Install a Local RPM File with DNF5
DNF5 does not need the old localinstall subcommand. Use the normal install command with a relative or absolute path to the RPM file:
sudo dnf install ./package-name.rpm
The DNF5 install command reference treats local RPM paths as normal install arguments, so this path also lets DNF resolve dependencies from enabled repositories.
Remove Packages Installed During Testing
If you installed packages only to practice DNF5 commands, remove them with dnf remove. Review the transaction before confirming because DNF5 may also remove dependencies that are no longer needed:
sudo dnf remove vim nano htop
To review orphaned dependencies separately, run autoremove and inspect the proposed removal list before accepting it:
sudo dnf autoremove
Verify DNF5 and Refresh Fedora Repositories
Before you troubleshoot a package command, confirm that the system is using DNF5 and that repository metadata is fresh.
Confirm Fedora Uses DNF5
Check the DNF version from the same terminal where you plan to install packages:
dnf --version
A current Fedora system reports DNF5:
dnf5 version 5.4.2.0 dnf5 plugin API version 2.0 libdnf5 version 5.4.2.0 libdnf5 plugin API version 2.2
If the version starts with 4., you are not using the Fedora DNF5 workflow. RHEL, Rocky Linux, and AlmaLinux currently use DNF4, so their plugin packages and repository-management syntax can differ.
Update Fedora Package Metadata
Refresh repository metadata and apply pending updates before a larger install session:
sudo dnf upgrade --refresh
The --refresh option forces DNF5 to reload repository metadata before it calculates the upgrade. If metadata downloads or package transactions feel slow, the DNF speed tuning guide for Fedora covers mirror and parallel-download settings. For hands-off update scheduling, use the separate guide to install dnf-automatic on Fedora.
Find Fedora Package Names with DNF5
DNF5 package installs depend on the Fedora package name, not always the upstream project name. Search first when you are not sure which package owns a command or application.
Search for Packages by Keyword
Search package names and summaries with dnf search:
dnf search editor
Relevant output includes matching package names and descriptions:
Matched fields: name, summary ants-level-editor.x86_64 Ants level editor chewing-editor.x86_64 Cross platform chewing user phrase editor ckeditor.noarch WYSIWYG text editor to be used inside web pages dconf-editor.x86_64 Configuration editor for dconf editorconfig.x86_64 Parser for EditorConfig files written in C
The
dnf search,dnf info,dnf provides, anddnf repo listcommands read package metadata and do not needsudo.
Find Which Fedora Package Provides a Command
If a command is missing, use dnf provides to find the package that contains it. This example checks the package that provides semanage:
dnf provides '*/semanage'
Relevant output includes the package name and repository:
policycoreutils-python-utils-3.10-1.fc44.noarch : SELinux policy core python utilities Repo : fedora Matched From : Provide : policycoreutils-python-utils = 3.10-1.fc44
Install the package from the first field when it matches the command you need:
sudo dnf install policycoreutils-python-utils
View Package Details Before Installing
Use dnf info when you want the version, repository, installed size, source RPM, and package summary before installing:
dnf info vim-enhanced
Example output on Fedora 44 includes:
Available packages Name : vim-enhanced Epoch : 2 Version : 9.2.390 Release : 1.fc44 Architecture : x86_64 Download size : 2.1 MiB Installed size : 4.4 MiB Source : vim-9.2.390-1.fc44.src.rpm Repository : updates Summary : A version of the VIM editor which includes recent enhancements
Use DNF5 Install Options Safely
DNF5 install options change how dependency resolution, downloads, and transaction prompts behave. Use the smallest option that solves the problem you are facing.
| Option | Use Case | What to Watch |
|---|---|---|
--assumeno | Preview a transaction without changing packages. | Good for checking dependency changes before an install. |
-y | Automatically confirm prompts. | Use only after you trust the transaction summary. |
--downloadonly | Download packages without installing them. | Useful for staging packages while keeping the system unchanged. |
--offline | Store a transaction for the next offline reboot. | Requires dnf offline reboot to start the stored transaction. |
--skip-unavailable | Continue when one requested package is not available. | Best for optional package lists, not required dependencies. |
--skip-broken | Skip packages with dependency problems. | Review what was skipped so you do not miss required software. |
--allowerasing | Allow package removals to resolve conflicts. | Read the removal list before confirming. |
Download Fedora Packages Without Installing
Use --downloadonly when you want DNF5 to fetch packages and dependencies without applying the transaction:
sudo dnf install vim --downloadonly
This is useful for preparation work, but it does not install the package. Run the normal install command later when you are ready.
Store a DNF5 Install for Offline Reboot
The --offline option stores the install transaction. First, prepare the transaction and review the package summary before you confirm:
sudo dnf install vim --offline
When you are ready to reboot and run the stored transaction, start the offline operation:
sudo dnf offline reboot
The dnf offline subcommand also includes status, log, and clean actions for checking or removing stored offline transactions.
Resolve Dependency Problems with DNF5
If optional packages are missing from enabled repositories, --skip-unavailable lets DNF5 continue with the available package names:
sudo dnf install vim nano optional-package --skip-unavailable
If dependency solving fails for one package, --skip-broken can skip that package and continue with the rest:
sudo dnf install vim nano htop --skip-broken
Use these options for optional batches, not for core packages where a skipped item would leave the system incomplete.
Allow DNF5 to Replace Conflicting Packages
When a new package conflicts with an installed one, --allowerasing lets DNF5 propose removing the blocking package:
sudo dnf install package-name --allowerasing
DNF5 shows any packages it plans to remove before it asks for confirmation. Cancel the transaction if the removal list includes software you still need.
Install Package Groups with DNF5
Fedora package groups bundle related packages for a task, such as development tools, desktop environments, or multimedia support. DNF5 handles groups through the group subcommand.
List Fedora Package Groups
List available and installed groups with this command:
dnf group list
Relevant output includes group IDs, names, and whether the group is already installed:
ID Name Installed kde-software-development KDE Software Development no libreoffice LibreOffice yes network-server Network Servers no rpm-development-tools RPM Development Tools no security-lab Security Lab no sound-and-video Sound and Video no
For deeper group management, including group information and optional package handling, use the dedicated DNF5 group commands on Fedora guide.
Inspect a Fedora Package Group
Check a group before installing it so you can see its mandatory, default, and optional packages:
dnf group info development-tools
Relevant output includes:
Id : development-tools
Name : Development Tools
Description : These tools include general development tools such as git and CVS.
Installed : no
Repositories : fedora, updates
Mandatory packages : gettext
Default packages : diffstat
: doxygen
: git
: patch
: patchutils
: subversion
: systemtap
Install a Fedora Package Group
Install a group by ID for repeatable commands:
sudo dnf group install development-tools
You can also use the quoted group name when that is easier to read:
sudo dnf group install "Development Tools"
Manage Fedora Repositories with DNF5
Fedora includes its standard repositories by default. Third-party software may provide a .repo file, which DNF5 can add through the config-manager plugin.
Confirm the DNF5 config-manager Plugin
Current Fedora systems usually include dnf5-plugins, which provides config-manager. Confirm it with:
dnf list --installed dnf5-plugins
A system with the plugin installed shows:
Installed packages dnf5-plugins.x86_64 5.4.2.0-1.fc44 updates
If the plugin is missing, install the current Fedora plugin package:
sudo dnf install dnf5-plugins
Fedora DNF5 uses dnf5-plugins, not the older DNF4-focused dnf-plugins-core package name. That package boundary matters for RHEL-family systems that still use DNF4, where plugin packages and repository-management syntax can differ.
Add a Repository File with DNF5
Add a repository from a vendor-provided .repo file URL with addrepo:
sudo dnf config-manager addrepo --from-repofile=https://example.com/repo.repo
DNF5 uses addrepo without dashes. The old DNF4-style --add-repo option is not the current Fedora syntax.
Enable or Disable Fedora Repositories
List all configured repositories first:
dnf repo list --all
Then enable or disable a repository with setopt:
sudo dnf config-manager setopt repository-id.enabled=1
sudo dnf config-manager setopt repository-id.enabled=0
Replace repository-id with the ID from dnf repo list --all.
Troubleshoot DNF5 Install Problems
Most DNF5 install problems come from a wrong package name, a disabled repository, an old command form, or a local RPM that does not meet DNF5’s verification requirements.
Package Name Not Found
A missing or incorrect package name produces an error like this:
Failed to resolve the transaction: No match for argument: definitely-not-a-package You can try to add to command line: --skip-unavailable to skip unavailable packages
Refresh metadata, search for the package name, and check whether the package lives in a disabled repository:
sudo dnf makecache --refresh
dnf search keyword
dnf repo list --all
If the package is optional in your workflow, rerun the install with --skip-unavailable. If the package is required, find the correct package or repository before continuing.
Old localinstall Command Fails
DNF5 does not include a localinstall command. If you run the old command form, DNF5 reports the unknown argument:
Unknown argument "localinstall" for command "dnf5". It could be a command provided by a plugin, try: dnf5 install 'dnf5-command(localinstall)'
Use install with the RPM path instead:
sudo dnf install ./package-name.rpm
DNF5 config-manager Command Is Missing
If DNF5 suggests dnf5-command(config-manager), install the plugin package that provides it:
sudo dnf install dnf5-plugins
You can also install the virtual capability from the error message, but the package name is clearer for normal Fedora administration:
sudo dnf install 'dnf5-command(config-manager)'
Local RPM Fails with Missing Digest Metadata
Some older community RPMs do not contain the digest metadata that DNF5 expects. The failure usually looks like this:
Transaction failed: Rpm transaction failed. Warning: skipped OpenPGP checks for 1 package from repository: @commandline - package example-package-1.0-1.noarch does not verify: no digest
Only bypass digest checks for a trusted RPM from a source you deliberately chose. Do not use this workaround for Fedora repository packages or vendor repositories that already publish signed packages.
Install the RPM directly only when you accept that trust boundary, then verify the installed package:
sudo rpm -ivh --nodigest --nofiledigest package-name.rpm
rpm -q package-name
Dependency Conflicts Block the Transaction
When DNF5 cannot solve dependencies, read the package names in the conflict message before choosing a fix. For optional package batches, retry with --skip-broken. For a real package replacement, preview --allowerasing first:
sudo dnf install package-name --allowerasing --assumeno
If the preview removes packages you still need, cancel the transaction and resolve the repository or package conflict manually.
Conclusion
DNF5 is ready to handle Fedora package installs, local RPM files, repository setup, groups, and offline transactions from the same dnf command. Use DNF5 group commands on Fedora when comps groups become the main task, and use DNF5 system upgrade commands for release upgrades.


Formatting tips for your comment
You can use basic HTML to format your comment. Useful tags currently allowed in published comments:
<code>command</code>command<strong>bold</strong><em>italic</em><blockquote>quote</blockquote>