List the enabled repos: either with dnf repolist or dnf repolist --enabled. I can add the verbose option -v.

user1@localhost:~$ dnf repolist -v
Loaded plugins: builddep, changelog, config-manager, copr, debuginfo-install, download, generate_completion_cache, groups-manager, kpatch, needs-restarting, notify-packagekit, playground, product-id, repoclosure, repodiff, repograph, repomanage, reposync, subscription-manager, system-upgrade, uploadprofile
Not root, Subscription Management repositories not updated
DNF version: 4.20.0
cachedir: /var/tmp/dnf-user1-w76vxc5s
OS software                                                   2.7 MB/s | 2.7 kB     00:00    
Application software                                          2.7 MB/s | 2.8 kB     00:00    
Repo-id            : AppStream
Repo-name          : Application software
Repo-revision      : 1761027148
Repo-updated       : Tue 21 Oct 2025 08:12:28 AM CEST
Repo-pkgs          : 4,514
Repo-available-pkgs: 4,514
Repo-size          : 6.5 G
Repo-baseurl       : file:///mnt/AppStream
Repo-expire        : 172,800 second(s) (last: Sat 04 Jul 2026 10:29:26 PM CEST)
Repo-filename      : /etc/yum.repos.d/local.repo

Repo-id            : baseOS
Repo-name          : OS software
Repo-revision      : 1761027164
Repo-updated       : Tue 21 Oct 2025 08:12:45 AM CEST
Repo-pkgs          : 946
Repo-available-pkgs: 946
Repo-size          : 1.3 G
Repo-baseurl       : file:///mnt/BaseOS
Repo-expire        : 172,800 second(s) (last: Sat 04 Jul 2026 10:29:26 PM CEST)
Repo-filename      : /etc/yum.repos.d/local.repo
Total packages: 5,460
user1@localhost:~$ 
user1@localhost:~$ dnf repolist --enabled -v
Loaded plugins: builddep, changelog, config-manager, copr, debuginfo-install, download, generate_completion_cache, groups-manager, kpatch, needs-restarting, notify-packagekit, playground, product-id, repoclosure, repodiff, repograph, repomanage, reposync, subscription-manager, system-upgrade, uploadprofile
Not root, Subscription Management repositories not updated
DNF version: 4.20.0
cachedir: /var/tmp/dnf-user1-w76vxc5s
Last metadata expiration check: 0:05:39 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
Repo-id            : AppStream
Repo-name          : Application software
Repo-revision      : 1761027148
Repo-updated       : Tue 21 Oct 2025 08:12:28 AM CEST
Repo-pkgs          : 4,514
Repo-available-pkgs: 4,514
Repo-size          : 6.5 G
Repo-baseurl       : file:///mnt/AppStream
Repo-expire        : 172,800 second(s) (last: Sat 11 Jul 2026 05:38:51 PM CEST)
Repo-filename      : /etc/yum.repos.d/local.repo

Repo-id            : baseOS
Repo-name          : OS software
Repo-revision      : 1761027164
Repo-updated       : Tue 21 Oct 2025 08:12:45 AM CEST
Repo-pkgs          : 946
Repo-available-pkgs: 946
Repo-size          : 1.3 G
Repo-baseurl       : file:///mnt/BaseOS
Repo-expire        : 172,800 second(s) (last: Sat 11 Jul 2026 05:38:51 PM CEST)
Repo-filename      : /etc/yum.repos.d/local.repo
Total packages: 5,460
user1@localhost:~$ 

Observation: There is no difference in output between dnf repolist -v and dnf repolist --enabled -v.

user1@localhost:~$ dnf repolist --enabled
Not root, Subscription Management repositories not updated
repo id                                   repo name
AppStream                                 Application software
baseOS                                    OS software
user1@localhost:~$
user1@localhost:~$ dnf repolist --disabled
Not root, Subscription Management repositories not updated
user1@localhost:~$ 
user1@localhost:~$ dnf repolist --disabled -v
Loaded plugins: builddep, changelog, config-manager, copr, debuginfo-install, download, generate_completion_cache, groups-manager, kpatch, needs-restarting, notify-packagekit, playground, product-id, repoclosure, repodiff, repograph, repomanage, reposync, subscription-manager, system-upgrade, uploadprofile
Not root, Subscription Management repositories not updated
DNF version: 4.20.0
cachedir: /var/tmp/dnf-user1-w76vxc5s
Last metadata expiration check: 0:06:45 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
Total packages: 0
user1@localhost:~$ 

Query all available packages from all enabled DNF repos:

user1@localhost:~$ dnf repoquery
Not root, Subscription Management repositories not updated
Last metadata expiration check: 0:41:00 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
389-ds-base-0:3.1.3-5.el10_1.x86_64
389-ds-base-libs-0:3.1.3-5.el10_1.x86_64
389-ds-base-snmp-0:3.1.3-5.el10_1.x86_64
CUnit-0:2.1.3-34.el10.x86_64
HdrHistogram_c-0:0.11.8-7.el10.x86_64
Judy-0:1.0.5-38.el10.x86_64
ModemManager-0:1.22.0-7.el10.x86_64
ModemManager-glib-0:1.22.0-7.el10.x86_64
NetworkManager-1:1.54.0-1.el10.x86_64
NetworkManager-adsl-1:1.54.0-1.el10.x86_64
NetworkManager-bluetooth-1:1.54.0-1.el10.x86_64
NetworkManager-cloud-setup-1:1.54.0-1.el10.x86_64
NetworkManager-config-connectivity-redhat-1:1.54.0-1.el10.noarch
NetworkManager-config-server-1:1.54.0-1.el10.noarch
NetworkManager-libnm-1:1.54.0-1.el10.x86_64
NetworkManager-libreswan-0:1.2.24-2.el10.x86_64
NetworkManager-libreswan-gnome-0:1.2.24-2.el10.x86_64
NetworkManager-ovs-1:1.54.0-1.el10.x86_64
NetworkManager-ppp-1:1.54.0-1.el10.x86_64
NetworkManager-tui-1:1.54.0-1.el10.x86_64
NetworkManager-wifi-1:1.54.0-1.el10.x86_64
NetworkManager-wwan-1:1.54.0-1.el10.x86_64
OpenIPMI-0:2.0.36-3.el10.x86_64
OpenIPMI-lanserv-0:2.0.36-3.el10.x86_64
OpenIPMI-libs-0:2.0.36-3.el10.x86_64
<output omitted>

Verify the enabled DNF repos, choose one of them and query the list of its packages:


user1@localhost:~$ dnf repolist --enabled
Not root, Subscription Management repositories not updated
repo id                                   repo name
AppStream                                 Application software
baseOS                                    OS software
user1@localhost:~$ 
user1@localhost:~$ dnf repoquery --repo AppStream
Not root, Subscription Management repositories not updated
Last metadata expiration check: 0:44:56 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
389-ds-base-0:3.1.3-5.el10_1.x86_64
389-ds-base-libs-0:3.1.3-5.el10_1.x86_64
389-ds-base-snmp-0:3.1.3-5.el10_1.x86_64
CUnit-0:2.1.3-34.el10.x86_64
HdrHistogram_c-0:0.11.8-7.el10.x86_64
Judy-0:1.0.5-38.el10.x86_64
NetworkManager-cloud-setup-1:1.54.0-1.el10.x86_64
NetworkManager-config-connectivity-redhat-1:1.54.0-1.el10.noarch
NetworkManager-libreswan-0:1.2.24-2.el10.x86_64
NetworkManager-libreswan-gnome-0:1.2.24-2.el10.x86_64
NetworkManager-ovs-1:1.54.0-1.el10.x86_64
NetworkManager-ppp-1:1.54.0-1.el10.x86_64
OpenIPMI-0:2.0.36-3.el10.x86_64
<output omitted>

The name of the repo is case sensitive:


user1@localhost:~$ dnf repoquery --repo appStream
Not root, Subscription Management repositories not updated
Error: Unknown repo: 'appStream'
user1@localhost:~$ 
user1@localhost:~$ dnf repoquery --repo AppStream | more
Not root, Subscription Management repositories not updated
Last metadata expiration check: 0:46:29 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
389-ds-base-0:3.1.3-5.el10_1.x86_64
389-ds-base-libs-0:3.1.3-5.el10_1.x86_64
389-ds-base-snmp-0:3.1.3-5.el10_1.x86_64
CUnit-0:2.1.3-34.el10.x86_64
HdrHistogram_c-0:0.11.8-7.el10.x86_64
Judy-0:1.0.5-38.el10.x86_64
NetworkManager-cloud-setup-1:1.54.0-1.el10.x86_64
NetworkManager-config-connectivity-redhat-1:1.54.0-1.el10.noarch
NetworkManager-libreswan-0:1.2.24-2.el10.x86_64
NetworkManager-libreswan-gnome-0:1.2.24-2.el10.x86_64
NetworkManager-ovs-1:1.54.0-1.el10.x86_64
NetworkManager-ppp-1:1.54.0-1.el10.x86_64
OpenIPMI-0:2.0.36-3.el10.x86_64
OpenIPMI-lanserv-0:2.0.36-3.el10.x86_64
OpenIPMI-libs-0:2.0.36-3.el10.x86_64
<output omitted>

List all packages, installed and installable, from the available repos:

user1@localhost:~$ dnf list
Not root, Subscription Management repositories not updated
Last metadata expiration check: 0:56:08 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
Installed Packages
ModemManager.x86_64                                  1.22.0-7.el10                  @anaconda 
ModemManager-glib.x86_64                             1.22.0-7.el10                  @anaconda 
NetworkManager.x86_64                                1:1.54.0-1.el10                @anaconda 
NetworkManager-adsl.x86_64                           1:1.54.0-1.el10                @anaconda 
NetworkManager-bluetooth.x86_64                      1:1.54.0-1.el10                @anaconda 
NetworkManager-config-server.noarch                  1:1.54.0-1.el10                @anaconda 

<output truncated>

webrtc-audio-processing.x86_64                       1.3-5.el10                     @AppStream
wget.x86_64                                          1.24.5-5.el10                  @AppStream
which.x86_64                                         2.21-44.el10                   @anaconda 
zlib-ng-compat.x86_64                                2.2.3-2.el10                   @anaconda 
Available Packages
389-ds-base.x86_64                                   3.1.3-5.el10_1                 AppStream 
389-ds-base-libs.x86_64                              3.1.3-5.el10_1                 AppStream 
389-ds-base-snmp.x86_64                              3.1.3-5.el10_1                 AppStream 
CUnit.x86_64                                         2.1.3-34.el10                  AppStream 
HdrHistogram_c.x86_64                                0.11.8-7.el10                  AppStream 
Judy.x86_64                                          1.0.5-38.el10                  AppStream 
NetworkManager-cloud-setup.x86_64                    1:1.54.0-1.el10                AppStream 
NetworkManager-config-connectivity-redhat.noarch     1:1.54.0-1.el10                AppStream 
NetworkManager-libreswan.x86_64                      1.2.24-2.el10                  AppStream 
NetworkManager-libreswan-gnome.x86_64                1.2.24-2.el10                  AppStream 
NetworkManager-ovs.x86_64                            1:1.54.0-1.el10                AppStream 
NetworkManager-ppp.x86_64                            1:1.54.0-1.el10                AppStream 
OpenIPMI.x86_64                                      2.0.36-3.el10                  AppStream 
OpenIPMI-lanserv.x86_64                              2.0.36-3.el10                  AppStream 
OpenIPMI-libs.x86_64                                 2.0.36-3.el10                  AppStream 
SDL3.x86_64                                          3.2.4-1.el10                   AppStream 
WALinuxAgent.noarch                                  2.13.1.1-2.el10                AppStream 
WALinuxAgent-udev.noarch                             2.13.1.1-2.el10                AppStream 
Xaw3d.x86_64                                         1.6.5-5.el10                   AppStream 
a52dec.x86_64                                        0.7.4-50.el10                  AppStream 
accel-config.x86_64                                  4.1.8-3.el10                   baseOS    
accel-config-libs.x86_64                             4.1.8-3.el10                   baseOS    
acpid.x86_64                                         2.0.34-10.el10                 AppStream 
afterburn.x86_64                                     5.9.0-1.el10                   AppStream 
afterburn-dracut.x86_64                              5.9.0-1.el10                   AppStream 
aide.x86_64                                          0.18.6-8.el10.1                AppStream 
alsa-firmware.noarch                                 1.2.4-17.el10                  AppStream 
alsa-lib-devel.x86_64                                1.2.14-1.el10                  AppStream 
alsa-plugins-arcamav.x86_64                          1.2.7.1-13.el10                AppStream 
alsa-plugins-maemo.x86_64                            1.2.7.1-13.el10                AppStream 
alsa-plugins-oss.x86_64                              1.2.7.1-13.el10                AppStream 
alsa-plugins-pulseaudio.x86_64                       1.2.7.1-13.el10                AppStream 
alsa-plugins-samplerate.x86_64                       1.2.7.1-13.el10                AppStream 
alsa-plugins-speex.x86_64                            1.2.7.1-13.el10                AppStream 
alsa-plugins-upmix.x86_64                            1.2.7.1-13.el10                AppStream 
alsa-plugins-usbstream.x86_64                        1.2.7.1-13.el10                AppStream 
alsa-plugins-vdownmix.x86_64                         1.2.7.1-13.el10                AppStream 
alsa-sof-firmware.noarch                             2025.05-1.el10                 AppStream 
alsa-tools-firmware.x86_64                           1.2.11-5.el10                  AppStrea

List of all installed packages:


user1@localhost:~$ dnf list installed | more
Not root, Subscription Management repositories not updated
Installed Packages
ModemManager.x86_64                                  1.22.0-7.el10                  @anaconda 
   
ModemManager-glib.x86_64                             1.22.0-7.el10                  @anaconda 
   
NetworkManager.x86_64                                1:1.54.0-1.el10                @anaconda 
   
NetworkManager-adsl.x86_64                           1:1.54.0-1.el10                @anaconda 
   
NetworkManager-bluetooth.x86_64                      1:1.54.0-1.el10                @anaconda 
   
NetworkManager-config-server.noarch                  1:1.54.0-1.el10                @anaconda 
   
NetworkManager-libnm.x86_64                          1:1.54.0-1.el10                @anaconda 
   
NetworkManager-tui.x86_64                            1:1.54.0-1.el10                @anaconda 
   
NetworkManager-wifi.x86_64                           1:1.54.0-1.el10                @anaconda 
   
NetworkManager-wwan.x86_64                           1:1.54.0-1.el10                @anaconda 
   
PackageKit.x86_64                                    1.2.8-8.el10                   @AppStream
   
PackageKit-command-not-found.x86_64                  1.2.8-8.el10                   @AppStream
   
PackageKit-glib.x86_64                               1.2.8-8.el10                   @AppStream
   
PackageKit-gstreamer-plugin.x86_64                   1.2.8-8.el10                   @AppStream
   
PackageKit-gtk3-module.x86_64                        1.2.8-8.el10                   @AppStream
   

Another command to display the list of installed packages:

user1@localhost:~$ dnf list --installed
Not root, Subscription Management repositories not updated
Installed Packages
ModemManager.x86_64                                  1.22.0-7.el10                  @anaconda 
ModemManager-glib.x86_64                             1.22.0-7.el10                  @anaconda 
NetworkManager.x86_64                                1:1.54.0-1.el10                @anaconda 
NetworkManager-adsl.x86_64                           1:1.54.0-1.el10                @anaconda 
NetworkManager-bluetooth.x86_64                      1:1.54.0-1.el10                @anaconda 
NetworkManager-config-server.noarch                  1:1.54.0-1.el10                @anaconda 
NetworkManager-libnm.x86_64                          1:1.54.0-1.el10                @anaconda 
NetworkManager-tui.x86_64                            1:1.54.0-1.el10                @anaconda 
NetworkManager-wifi.x86_64                           1:1.54.0-1.el10                @anaconda 
NetworkManager-wwan.x86_64                           1:1.54.0-1.el10                @anaconda 
PackageKit.x86_64                                    1.2.8-8.el10                   @AppStream
PackageKit-command-not-found.x86_64                  1.2.8-8.el10                   @AppStream
<output omitted>

List of all packages for which there are available updates:

Wassim@linux:~$ dnf list updates
Rocky Linux 10 - BaseOS                                        17 kB/s | 4.3 kB     00:00    
Rocky Linux 10 - AppStream                                     16 kB/s | 4.3 kB     00:00    
Rocky Linux 10 - CRB                                           14 kB/s | 4.3 kB     00:00    
Rocky Linux 10 - Extras                                       9.9 kB/s | 3.1 kB     00:00    
Available Upgrades
brave-browser.x86_64                  1.92.139-1                             brave-browser    
containerd.io.x86_64                  2.2.6-1.el10                           docker-ce-stable 
freerdp-libs.x86_64                   2:3.10.3-12.el10_2.6                   appstream        
google-chrome-stable.x86_64           150.0.7871.114-1                       google-chrome    
ipp-usb.x86_64                        0.9.27-7.el10_2.2                      appstream        
libwinpr.x86_64                       2:3.10.3-12.el10_2.6                   appstream        
nodejs.x86_64                         2:22.23.1-1nodesource                  nodesource-nodejs
nodejs-full-i18n.x86_64               1:22.23.1-2.el10_2                     appstream        
nodejs-libs.x86_64                    1:22.23.1-2.el10_2                     appstream        
nodejs-npm.x86_64                     1:10.9.8-1.22.23.1.2.el10_2            appstream        
unbound-anchor.x86_64                 1.24.2-7.el10_2.2                      appstream        
unbound-libs.x86_64                   1.24.2-7.el10_2.2                      appstream        
Wassim@linux:~$ 

Finding out whether a package is installed or installable; The name of the package is case sensitive and the package name must be entered in its fullness. As an example, I took the package ‘NetworkManager’:

user1@localhost:~$ dnf list NetworkManager
Not root, Subscription Management repositories not updated
Last metadata expiration check: 1:03:58 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
Installed Packages
NetworkManager.x86_64   
user1@localhost:~$ 
user1@localhost:~$ 
user1@localhost:~$ dnf list NetworkManager-cloud-setup.x86_64
Not root, Subscription Management repositories not updated
Last metadata expiration check: 1:04:43 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
Available Packages
NetworkManager-cloud-setup.x86_64                  1:1.54.0-1.el10                   AppStream
user1@localhost:~$

The dnf list command gives a hint to whether a package is installed or installable. But the command dnf repoquery does not:

user1@localhost:~$ 
user1@localhost:~$ dnf repoquery | grep NetworkManager
Last metadata expiration check: 1:09:29 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
NetworkManager-1:1.54.0-1.el10.x86_64
NetworkManager-adsl-1:1.54.0-1.el10.x86_64
NetworkManager-bluetooth-1:1.54.0-1.el10.x86_64
NetworkManager-cloud-setup-1:1.54.0-1.el10.x86_64
NetworkManager-config-connectivity-redhat-1:1.54.0-1.el10.noarch
NetworkManager-config-server-1:1.54.0-1.el10.noarch
NetworkManager-libnm-1:1.54.0-1.el10.x86_64
NetworkManager-libreswan-0:1.2.24-2.el10.x86_64
NetworkManager-libreswan-gnome-0:1.2.24-2.el10.x86_64
NetworkManager-ovs-1:1.54.0-1.el10.x86_64
NetworkManager-ppp-1:1.54.0-1.el10.x86_64
NetworkManager-tui-1:1.54.0-1.el10.x86_64
NetworkManager-wifi-1:1.54.0-1.el10.x86_64
NetworkManager-wwan-1:1.54.0-1.el10.x86_64
user1@localhost:~$ 

Searching for an installed package whose name contains a pattern. Example:

user1@localhost:~$ dnf list --installed Fire*
Not root, Subscription Management repositories not updated
Installed Packages
firefox.x86_64                                 140.3.0-1.el10_0                     @AppStream
firewalld.noarch                               2.3.1-1.el10_0                       @anaconda 
firewalld-filesystem.noarch                    2.3.1-1.el10_0                       @anaconda 
user1@localhost:~$ 

Notice that the pattern is not case sensitive.

Verifying whether a package is installed:

user1@localhost:~$ dnf list yara
Not root, Subscription Management repositories not updated
Last metadata expiration check: 2:05:23 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
Available Packages
yara.x86_64                               4.5.2-2.el10                               AppStream
user1@localhost:~$ 

The example package yara was listed as available. Up until now, all dnf commands were not requiring superuser privileges. The install option of dnf does:

user1@localhost:~$ dnf install yara
Not root, Subscription Management repositories not updated
Error: This command has to be run with superuser privileges (under the root user on most systems).
user1@localhost:~$ 
user1@localhost:~$ sudo dnf install yara
[sudo] password for user1: 
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

Last metadata expiration check: 2:09:34 ago on Sat 11 Jul 2026 05:48:03 PM CEST.
Dependencies resolved.
==============================================================================================
 Package           Architecture        Version                   Repository              Size
==============================================================================================
Installing:
 yara              x86_64              4.5.2-2.el10              AppStream              242 k

Transaction Summary
==============================================================================================
Install  1 Package

Total size: 242 k
Installed size: 585 k
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                      1/1 
  Installing       : yara-4.5.2-2.el10.x86_64                                             1/1 
  Running scriptlet: yara-4.5.2-2.el10.x86_64                                             1/1 
Installed products updated.

Installed:
  yara-4.5.2-2.el10.x86_64                                                                    

Complete!
user1@localhost:~$ 

The example package ‘yara’ is now displayed as installed:

user1@localhost:~$ dnf list yara
Not root, Subscription Management repositories not updated
Last metadata expiration check: 2:19:18 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
Installed Packages
yara.x86_64                              4.5.2-2.el10                               @AppStream
user1@localhost:~$ 

The command dnf update behaves differently, depending on whether the package is installed or installable. When the package is installed, dnf tries to update it:

user1@localhost:~$ dnf update yara
Not root, Subscription Management repositories not updated
Error: This command has to be run with superuser privileges (under the root user on most systems).
user1@localhost:~$ 
user1@localhost:~$ sudo dnf update yara
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

Last metadata expiration check: 2:15:24 ago on Sat 11 Jul 2026 05:48:03 PM CEST.
Dependencies resolved.
Nothing to do.
Complete!
user1@localhost:~$ 

When the package is installable, dnf exits with an error:

user1@localhost:~$ dnf list xterm
Not root, Subscription Management repositories not updated
Last metadata expiration check: 2:23:08 ago on Sat 11 Jul 2026 05:38:51 PM CEST.
Available Packages
xterm.x86_64                               389-4.el10                                AppStream
user1@localhost:~$
user1@localhost:~$ sudo dnf update xterm
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

Last metadata expiration check: 2:14:09 ago on Sat 11 Jul 2026 05:48:03 PM CEST.
Package xterm available, but not installed.
No match for argument: xterm
Error: No packages marked for upgrade.
user1@localhost:~$