DNF5 Install Command Guide for Fedora 44

Last updated Friday, May 15, 2026 12:15 pm Joshua James 7 min read

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 -y so 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, and dnf repo list commands read package metadata and do not need sudo.

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.

OptionUse CaseWhat to Watch
--assumenoPreview a transaction without changing packages.Good for checking dependency changes before an install.
-yAutomatically confirm prompts.Use only after you trust the transaction summary.
--downloadonlyDownload packages without installing them.Useful for staging packages while keeping the system unchanged.
--offlineStore a transaction for the next offline reboot.Requires dnf offline reboot to start the stored transaction.
--skip-unavailableContinue when one requested package is not available.Best for optional package lists, not required dependencies.
--skip-brokenSkip packages with dependency problems.Review what was skipped so you do not miss required software.
--allowerasingAllow 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.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show more of our fresh Linux tutorials in Top Stories and From your sources when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Let us know you are human: