1YUM(8) DNF YUM(8)
2
3
4
6 yum - redirecting to DNF Command Reference
7
9 dnf [options] <command> [<args>...]
10
12 DNF is the next upcoming major version of YUM, a package manager for
13 RPM-based Linux distributions. It roughly maintains CLI compatibility
14 with YUM and defines a strict API for extensions and plugins.
15
16 Plugins can modify or extend features of DNF or provide additional CLI
17 commands on top of those mentioned below. If you know the name of such
18 a command (including commands mentioned below), you may find/install
19 the package which provides it using the appropriate virtual provide in
20 the form of dnf-command(<alias>), where <alias> is the name of the com‐
21 mand; e.g.``dnf install 'dnf-command(versionlock)'`` installs a ver‐
22 sionlock plugin. This approach also applies to specifying dependencies
23 of packages that require a particular DNF command.
24
25 Return values:
26
27 • 0 : Operation was successful.
28
29 • 1 : An error occurred, which was handled by dnf.
30
31 • 3 : An unknown unhandled error occurred during operation.
32
33 • 100: See check-update
34
35 • 200: There was a problem with acquiring or releasing of locks.
36
37 Available commands:
38
39 • alias
40
41 • autoremove
42
43 • check
44
45 • check-update
46
47 • clean
48
49 • deplist
50
51 • distro-sync
52
53 • downgrade
54
55 • group
56
57 • help
58
59 • history
60
61 • info
62
63 • install
64
65 • list
66
67 • makecache
68
69 • mark
70
71 • module
72
73 • provides
74
75 • reinstall
76
77 • remove
78
79 • repoinfo
80
81 • repolist
82
83 • repoquery
84
85 • repository-packages
86
87 • search
88
89 • shell
90
91 • swap
92
93 • updateinfo
94
95 • upgrade
96
97 • upgrade-minimal
98
99 Additional information:
100
101 • Options
102
103 • Specifying Packages
104
105 • Specifying Provides
106
107 • Specifying File Provides
108
109 • Specifying Groups
110
111 • Specifying Transactions
112
113 • Metadata Synchronization
114
115 • Configuration Files Replacement Policy
116
117 • Files
118
119 • See Also
120
122 -4 Resolve to IPv4 addresses only.
123
124 -6 Resolve to IPv6 addresses only.
125
126 --advisory=<advisory>, --advisories=<advisory>
127 Include packages corresponding to the advisory ID, Eg. FE‐
128 DORA-2201-123. Applicable for the install, repoquery, update‐
129 info, upgrade and offline-upgrade (dnf-plugins-core) commands.
130
131 --allowerasing
132 Allow erasing of installed packages to resolve dependencies.
133 This option could be used as an alternative to the yum swap com‐
134 mand where packages to remove are not explicitly defined.
135
136 --assumeno
137 Automatically answer no for all questions.
138
139 -b, --best
140 Try the best available package versions in transactions. Specif‐
141 ically during dnf upgrade, which by default skips over updates
142 that can not be installed for dependency reasons, the switch
143 forces DNF to only consider the latest packages. When running
144 into packages with broken dependencies, DNF will fail giving a
145 reason why the latest version can not be installed.
146
147 Note that the use of the newest available version is only guar‐
148 anteed for the packages directly requested (e.g. as a command
149 line arguments), and the solver may use older versions of depen‐
150 dencies to meet their requirements.
151
152 --bugfix
153 Include packages that fix a bugfix issue. Applicable for the
154 install, repoquery, updateinfo, upgrade and offline-upgrade
155 (dnf-plugins-core) commands.
156
157 --bz=<bugzilla>, --bzs=<bugzilla>
158 Include packages that fix a Bugzilla ID, Eg. 123123. Applicable
159 for the install, repoquery, updateinfo, upgrade and offline-up‐
160 grade (dnf-plugins-core) commands.
161
162 -C, --cacheonly
163 Run entirely from system cache, don't update the cache and use
164 it even in case it is expired.
165
166 DNF uses a separate cache for each user under which it executes.
167 The cache for the root user is called the system cache. This
168 switch allows a regular user read-only access to the system
169 cache, which usually is more fresh than the user's and thus he
170 does not have to wait for metadata sync.
171
172 --color=<color>
173 Control whether color is used in terminal output. Valid values
174 are always, never and auto (default).
175
176 --comment=<comment>
177 Add a comment to the transaction history.
178
179 -c <config file>, --config=<config file>
180 Configuration file location.
181
182 --cve=<cves>, --cves=<cves>
183 Include packages that fix a CVE (Common Vulnerabilities and Ex‐
184 posures) ID (http://cve.mitre.org/about/), Eg. CVE-2201-0123.
185 Applicable for the install, repoquery, updateinfo, upgrade and
186 offline-upgrade (dnf-plugins-core) commands.
187
188 -d <debug level>, --debuglevel=<debug level>
189 Debugging output level. This is an integer value between 0 (no
190 additional information strings) and 10 (shows all debugging in‐
191 formation, even that not understandable to the user), default is
192 2. Deprecated, use -v instead.
193
194 --debugsolver
195 Dump data aiding in dependency solver debugging into ./debug‐
196 data.
197
198 --disableexcludes=[all|main|<repoid>], --disableexcludep‐
199 kgs=[all|main|<repoid>]
200 Disable the configuration file excludes. Takes one of the following
201 three options:
202
203 • all, disables all configuration file excludes
204
205 • main, disables excludes defined in the [main] section
206
207 • repoid, disables excludes defined for the given repository
208
209 --disable, --set-disabled
210 Disable specified repositories (automatically saves). The option
211 has to be used together with the config-manager command
212 (dnf-plugins-core).
213
214 --disableplugin=<plugin names>
215 Disable the listed plugins specified by names or globs.
216
217 --disablerepo=<repoid>
218 Temporarily disable active repositories for the purpose of the
219 current dnf command. Accepts an id, a comma-separated list of
220 ids, or a glob of ids. This option can be specified multiple
221 times, but is mutually exclusive with --repo.
222
223 --downloaddir=<path>, --destdir=<path>
224 Redirect downloaded packages to provided directory. The option
225 has to be used together with the --downloadonly command line op‐
226 tion, with the download, modulesync, reposync or system-upgrade
227 commands (dnf-plugins-core).
228
229 --downloadonly
230 Download the resolved package set without performing any rpm
231 transaction (install/upgrade/erase).
232
233 Packages are removed after the next successful transaction. This
234 applies also when used together with --destdir option as the di‐
235 rectory is considered as a part of the DNF cache. To persist the
236 packages, use the download command instead.
237
238 -e <error level>, --errorlevel=<error level>
239 Error output level. This is an integer value between 0 (no error
240 output) and 10 (shows all error messages), default is 3. Depre‐
241 cated, use -v instead.
242
243 --enable, --set-enabled
244 Enable specified repositories (automatically saves). The option
245 has to be used together with the config-manager command
246 (dnf-plugins-core).
247
248 --enableplugin=<plugin names>
249 Enable the listed plugins specified by names or globs.
250
251 --enablerepo=<repoid>
252 Temporarily enable additional repositories for the purpose of
253 the current dnf command. Accepts an id, a comma-separated list
254 of ids, or a glob of ids. This option can be specified multiple
255 times.
256
257 --enhancement
258 Include enhancement relevant packages. Applicable for the in‐
259 stall, repoquery, updateinfo, upgrade and offline-upgrade
260 (dnf-plugins-core) commands.
261
262 -x <package-file-spec>, --exclude=<package-file-spec>
263 Exclude packages specified by <package-file-spec> from the oper‐
264 ation.
265
266 --excludepkgs=<package-file-spec>
267 Deprecated option. It was replaced by the --exclude option.
268
269 --forcearch=<arch>
270 Force the use of an architecture. Any architecture can be speci‐
271 fied. However, use of an architecture not supported natively by
272 your CPU will require emulation of some kind. This is usually
273 through QEMU. The behavior of --forcearch can be configured by
274 using the arch and ignorearch configuration options with values
275 <arch> and True respectively.
276
277 -h, --help, --help-cmd
278 Show the help.
279
280 --installroot=<path>
281 Specifies an alternative installroot, relative to where all
282 packages will be installed. Think of this like doing chroot
283 <root> dnf, except using --installroot allows dnf to work before
284 the chroot is created. It requires absolute path.
285
286 • cachedir, log files, releasever, and gpgkey are taken from or stored
287 in the installroot. Gpgkeys are imported into the installroot from a
288 path relative to the host which can be specified in the repository
289 section of configuration files.
290
291 • configuration file and reposdir are searched inside the installroot
292 first. If they are not present, they are taken from the host system.
293 Note: When a path is specified within a command line argument
294 (--config=<config file> in case of configuration file and --se‐
295 topt=reposdir=<reposdir> for reposdir) then this path is always rela‐
296 tive to the host with no exceptions.
297
298 • vars are taken from the host system or installroot according to
299 reposdir . When reposdir path is specified within a command line ar‐
300 gument, vars are taken from the installroot. When varsdir paths are
301 specified within a command line argument (--setopt=varsdir=<repos‐
302 dir>) then those path are always relative to the host with no excep‐
303 tions.
304
305 • The pluginpath and pluginconfpath are relative to the host.
306 Note: You may also want to use the command-line option --relea‐
307 sever=<release> when creating the installroot, otherwise the $relea‐
308 sever value is taken from the rpmdb within the installroot (and thus
309 it is empty at the time of creation and the transaction will fail).
310 If --releasever=/ is used, the releasever will be detected from the
311 host (/) system. The new installroot path at the time of creation
312 does not contain the repository, releasever and dnf.conf files.
313
314 On a modular system you may also want to use the --setopt=mod‐
315 ule_platform_id=<module_platform_name:stream> command-line option
316 when creating the installroot, otherwise the module_platform_id
317 value will be taken from the /etc/os-release file within the in‐
318 stallroot (and thus it will be empty at the time of creation, the
319 modular dependency could be unsatisfied and modules content could be
320 excluded).
321
322 Installroot examples:
323
324 dnf --installroot=<installroot> --releasever=<release> install sys‐
325 tem-release
326 Permanently sets the releasever of the system in the <in‐
327 stallroot> directory to <release>.
328
329 dnf --installroot=<installroot> --setopt=reposdir=<path> --config
330 /path/dnf.conf upgrade
331 Upgrades packages inside the installroot from a repository
332 described by --setopt using configuration from
333 /path/dnf.conf.
334
335 --newpackage
336 Include newpackage relevant packages. Applicable for the in‐
337 stall, repoquery, updateinfo, upgrade and offline-upgrade
338 (dnf-plugins-core) commands.
339
340 --noautoremove
341 Disable removal of dependencies that are no longer used. It sets
342 clean_requirements_on_remove configuration option to False.
343
344 --nobest
345 Set best option to False, so that transactions are not limited
346 to best candidates only.
347
348 --nodocs
349 Do not install documentation. Sets the rpm flag 'RPM‐
350 TRANS_FLAG_NODOCS'.
351
352 --nogpgcheck
353 Skip checking GPG signatures on packages (if RPM policy allows).
354
355 --noplugins
356 Disable all plugins.
357
358 --obsoletes
359 This option has an effect on an install/update, it enables dnf's
360 obsoletes processing logic. For more information see the
361 obsoletes option.
362
363 This option also displays capabilities that the package obso‐
364 letes when used together with the repoquery command.
365
366 Configuration Option: obsoletes
367
368 -q, --quiet
369 In combination with a non-interactive command, shows just the
370 relevant content. Suppresses messages notifying about the cur‐
371 rent state or actions of DNF.
372
373 -R <minutes>, --randomwait=<minutes>
374 Maximum command wait time.
375
376 --refresh
377 Set metadata as expired before running the command.
378
379 --releasever=<release>
380 Configure DNF as if the distribution release was <release>. This
381 can affect cache paths, values in configuration files and mir‐
382 rorlist URLs.
383
384 --repofrompath <repo>,<path/url>
385 Specify a repository to add to the repositories for this query.
386 This option can be used multiple times.
387
388 • The repository label is specified by <repo>.
389
390 • The path or url to the repository is specified by <path/url>. It is
391 the same path as a baseurl and can be also enriched by the repo vari‐
392 ables.
393
394 • The configuration for the repository can be adjusted using -‐
395 -setopt=<repo>.<option>=<value>.
396
397 • If you want to view only packages from this repository, combine this
398 with the --repo=<repo> or --disablerepo="*" switches.
399
400 --repo=<repoid>, --repoid=<repoid>
401 Enable just specific repositories by an id or a glob. Can be
402 used multiple times with accumulative effect. It is basically a
403 shortcut for --disablerepo="*" --enablerepo=<repoid> and is mu‐
404 tually exclusive with the --disablerepo option.
405
406 --rpmverbosity=<name>
407 RPM debug scriptlet output level. Sets the debug level to <name>
408 for RPM scriptlets. For available levels, see the rpmverbosity
409 configuration option.
410
411 --sec-severity=<severity>, --secseverity=<severity>
412 Includes packages that provide a fix for an issue of the speci‐
413 fied severity. Applicable for the install, repoquery, update‐
414 info, upgrade and offline-upgrade (dnf-plugins-core) commands.
415
416 --security
417 Includes packages that provide a fix for a security issue. Ap‐
418 plicable for the install, repoquery, updateinfo, upgrade and
419 offline-upgrade (dnf-plugins-core) commands.
420
421 --setopt=<option>=<value>
422 Override a configuration option from the configuration file. To
423 override configuration options for repositories, use repoid.op‐
424 tion for the <option>. Values for configuration options like ex‐
425 cludepkgs, includepkgs, installonlypkgs and tsflags are appended
426 to the original value, they do not override it. However, speci‐
427 fying an empty value (e.g. --setopt=tsflags=) will clear the op‐
428 tion.
429
430 --skip-broken
431 Resolve depsolve problems by removing packages that are causing
432 problems from the transaction. It is an alias for the strict
433 configuration option with value False. Additionally, with the
434 enable and disable module subcommands it allows one to perform
435 an action even in case of broken modular dependencies.
436
437 --showduplicates
438 Show duplicate packages in repositories. Applicable for the list
439 and search commands.
440
441 -v, --verbose
442 Verbose operation, show debug messages.
443
444 --version
445 Show DNF version and exit.
446
447 -y, --assumeyes
448 Automatically answer yes for all questions.
449
450 List options are comma-separated. Command-line options override respec‐
451 tive settings from configuration files.
452
454 For an explanation of <package-spec>, <package-file-spec> and <pack‐
455 age-name-spec> see Specifying Packages.
456
457 For an explanation of <provide-spec> see Specifying Provides.
458
459 For an explanation of <group-spec> see Specifying Groups.
460
461 For an explanation of <module-spec> see Specifying Modules.
462
463 For an explanation of <transaction-spec> see Specifying Transactions.
464
465 Alias Command
466 Command: alias
467
468
469 Allows the user to define and manage a list of aliases (in the form
470 <name=value>), which can be then used as dnf commands to abbreviate
471 longer command sequences. For examples on using the alias command, see
472 Alias Examples. For examples on the alias processing, see Alias Pro‐
473 cessing Examples.
474
475 To use an alias (name=value), the name must be placed as the first
476 "command" (e.g. the first argument that is not an option). It is then
477 replaced by its value and the resulting sequence is again searched for
478 aliases. The alias processing stops when the first found command is not
479 a name of any alias.
480
481 In case the processing would result in an infinite recursion, the orig‐
482 inal arguments are used instead.
483
484 Also, like in shell aliases, if the result starts with a \, the alias
485 processing will stop.
486
487 All aliases are defined in configuration files in the
488 /etc/dnf/aliases.d/ directory in the [aliases] section, and aliases
489 created by the alias command are written to the USER.conf file. In case
490 of conflicts, the USER.conf has the highest priority, and alphabetical
491 ordering is used for the rest of the configuration files.
492
493 Optionally, there is the enabled option in the [main] section default‐
494 ing to True. This can be set for each file separately in the respective
495 file, or globally for all aliases in the ALIASES.conf file.
496
497 dnf alias [options] [list] [<name>...]
498 List aliases with their final result. The [<alias>...] parameter
499 further limits the result to only those aliases matching it.
500
501 dnf alias [options] add <name=value>...
502 Create new aliases.
503
504 dnf alias [options] delete <name>...
505 Delete aliases.
506
507 Alias Examples
508 dnf alias list
509 Lists all defined aliases.
510
511 dnf alias add rm=remove
512 Adds a new command alias called rm which works the same as the
513 remove command.
514
515 dnf alias add upgrade="\upgrade --skip-broken --disableexcludes=all
516 --obsoletes"
517 Adds a new command alias called upgrade which works the same as
518 the upgrade command, with additional options. Note that the
519 original upgrade command is prefixed with a \ to prevent an in‐
520 finite loop in alias processing.
521
522 Alias Processing Examples
523 If there are defined aliases in=install and FORCE="--skip-broken --dis‐
524 ableexcludes=all":
525
526 • dnf FORCE in will be replaced with dnf --skip-broken --disableex‐
527 cludes=all install
528
529 • dnf in FORCE will be replaced with dnf install FORCE (which will
530 fail)
531
532 If there is defined alias in=install:
533
534 • dnf in will be replaced with dnf install
535
536 • dnf --repo updates in will be replaced with dnf --repo updates in
537 (which will fail)
538
539 Autoremove Command
540 Command: autoremove
541 Aliases for explicit NEVRA matching: autoremove-n, autoremove-na, autoremove-nevra
542
543
544 dnf [options] autoremove
545 Removes all "leaf" packages from the system that were originally in‐
546 stalled as dependencies of user-installed packages, but which are no
547 longer required by any such package.
548
549 Packages listed in installonlypkgs are never automatically removed by
550 this command.
551
552 dnf [options] autoremove <spec>...
553 This is an alias for the Remove Command command with clean_require‐
554 ments_on_remove set to True. It removes the specified packages from
555 the system along with any packages depending on the packages being
556 removed. Each <spec> can be either a <package-spec>, which specifies
557 a package directly, or a @<group-spec>, which specifies an (environ‐
558 ment) group which contains it. It also removes any dependencies that
559 are no longer needed.
560
561 There are also a few specific autoremove commands autoremove-n, au‐
562 toremove-na and autoremove-nevra that allow the specification of an
563 exact argument in the NEVRA (name-epoch:version-release.architec‐
564 ture) format.
565
566 This command by default does not force a sync of expired metadata. See
567 also Metadata Synchronization.
568
569 Check Command
570 Command: check
571
572
573 dnf [options] check [--dependencies] [--duplicates] [--obsoleted]
574 [--provides]
575 Checks the local packagedb and produces information on any problems
576 it finds. You can limit the checks to be performed by using the
577 --dependencies, --duplicates, --obsoleted and --provides options
578 (the default is to check everything).
579
580 Check-Update Command
581 Command: check-update
582 Aliases: check-upgrade
583
584
585 dnf [options] check-update [--changelogs] [<package-file-spec>...]
586 Non-interactively checks if updates of the specified packages are
587 available. If no <package-file-spec> is given, checks whether any
588 updates at all are available for your system. DNF exit code will be
589 100 when there are updates available and a list of the updates will
590 be printed, 0 if not and 1 if an error occurs. If --changelogs op‐
591 tion is specified, also changelog delta of packages about to be up‐
592 dated is printed.
593
594 Please note that having a specific newer version available for an
595 installed package (and reported by check-update) does not imply that
596 subsequent dnf upgrade will install it. The difference is that dnf
597 upgrade has restrictions (like package dependencies being satisfied)
598 to take into account.
599
600 The output is affected by the autocheck_running_kernel configuration
601 option.
602
603 Clean Command
604 Command: clean
605
606
607 Performs cleanup of temporary files kept for repositories. This in‐
608 cludes any such data left behind from disabled or removed repositories
609 as well as for different distribution release versions.
610
611 dnf clean dbcache
612 Removes cache files generated from the repository metadata. This
613 forces DNF to regenerate the cache files the next time it is
614 run.
615
616 dnf clean expire-cache
617 Marks the repository metadata expired. DNF will re-validate the
618 cache for each repository the next time it is used.
619
620 dnf clean metadata
621 Removes repository metadata. Those are the files which DNF uses
622 to determine the remote availability of packages. Using this op‐
623 tion will make DNF download all the metadata the next time it is
624 run.
625
626 dnf clean packages
627 Removes any cached packages from the system.
628
629 dnf clean all
630 Does all of the above.
631
632 Deplist Command
633 dnf [options] deplist [<select-options>] [<query-options>] [<pack‐
634 age-spec>]
635 Deprecated alias for dnf repoquery --deplist.
636
637 Distro-Sync Command
638 Command: distro-sync
639 Aliases: dsync
640 Deprecated aliases: distrosync, distribution-synchronization
641
642
643 dnf distro-sync [<package-spec>...]
644 As necessary upgrades, downgrades or keeps selected installed
645 packages to match the latest version available from any enabled
646 repository. If no package is given, all installed packages are
647 considered.
648
649 See also Configuration Files Replacement Policy.
650
651 Downgrade Command
652 Command: downgrade
653 Aliases: dg
654
655
656 dnf [options] downgrade <package-spec>...
657 Downgrades the specified packages to the highest installable
658 package of all known lower versions if possible. When version is
659 given and is lower than version of installed package then it
660 downgrades to target version.
661
662 Group Command
663 Command: group
664 Aliases: grp
665 Deprecated aliases: groups, grouplist, groupinstall, groupupdate, groupremove, grouperase, groupinfo
666
667
668 Groups are virtual collections of packages. DNF keeps track of groups
669 that the user selected ("marked") installed and can manipulate the com‐
670 prising packages with simple commands.
671
672 dnf [options] group [summary] <group-spec>
673 Display overview of how many groups are installed and available.
674 With a spec, limit the output to the matching groups. summary is
675 the default groups subcommand.
676
677 dnf [options] group info <group-spec>
678 Display package lists of a group. Shows which packages are in‐
679 stalled or available from a repository when -v is used.
680
681 dnf [options] group install [--with-optional] <group-spec>...
682 Mark the specified group installed and install packages it con‐
683 tains. Also include optional packages of the group if --with-op‐
684 tional is specified. All Mandatory and Default packages will be
685 installed whenever possible. Conditional packages are installed
686 if they meet their requirement. If the group is already (par‐
687 tially) installed, the command installs the missing packages
688 from the group. Depending on the value of obsoletes configura‐
689 tion option group installation takes obsoletes into account.
690
691 dnf [options] group list <group-spec>...
692 List all matching groups, either among installed or available
693 groups. If nothing is specified, list all known groups. --in‐
694 stalled and --available options narrow down the requested list.
695 Records are ordered by the display_order tag defined in
696 comps.xml file. Provides a list of all hidden groups by using
697 option --hidden. Provides group IDs when the -v or --ids op‐
698 tions are used.
699
700 dnf [options] group remove <group-spec>...
701 Mark the group removed and remove those packages in the group
702 from the system which do not belong to another installed group
703 and were not installed explicitly by the user.
704
705 dnf [options] group upgrade <group-spec>...
706 Upgrades the packages from the group and upgrades the group it‐
707 self. The latter comprises of installing packages that were
708 added to the group by the distribution and removing packages
709 that got removed from the group as far as they were not in‐
710 stalled explicitly by the user.
711
712 Groups can also be marked installed or removed without physically ma‐
713 nipulating any packages:
714
715 dnf [options] group mark install <group-spec>...
716 Mark the specified group installed. No packages will be in‐
717 stalled by this command, but the group is then considered in‐
718 stalled.
719
720 dnf [options] group mark remove <group-spec>...
721 Mark the specified group removed. No packages will be removed by
722 this command.
723
724 See also Configuration Files Replacement Policy.
725
726 Help Command
727 Command: help
728
729
730 dnf help [<command>]
731 Displays the help text for all commands. If given a command name
732 then only displays help for that particular command.
733
734 History Command
735 Command: history
736 Aliases: hist
737
738
739 The history command allows the user to view what has happened in past
740 transactions and act according to this information (assuming the his‐
741 tory_record configuration option is set).
742
743 dnf history [list] [--reverse] [<spec>...]
744 The default history action is listing information about given
745 transactions in a table. Each <spec> can be either a <transac‐
746 tion-spec>, which specifies a transaction directly, or a <trans‐
747 action-spec>..<transaction-spec>, which specifies a range of
748 transactions, or a <package-name-spec>, which specifies a trans‐
749 action by a package which it manipulated. When no transaction is
750 specified, list all known transactions.
751
752 The "Action(s)" column lists each type of action taken in the
753 transaction. The possible values are:
754
755 • Install (I): a new package was installed on the system
756
757 • Downgrade (D): an older version of a package replaced the pre‐
758 viously-installed version
759
760 • Obsolete (O): an obsolete package was replaced by a new pack‐
761 age
762
763 • Upgrade (U): a newer version of the package replaced the pre‐
764 viously-installed version
765
766 • Remove (E): a package was removed from the system
767
768 • Reinstall (R): a package was reinstalled with the same version
769
770 • Reason change (C): a package was kept in the system but its
771 reason for being installed changed
772
773 The "Altered" column lists the number of actions taken in each
774 transaction, possibly followed by one or two of the following
775 symbols:
776
777 • >: The RPM database was changed, outside DNF, after the trans‐
778 action
779
780 • <: The RPM database was changed, outside DNF, before the
781 transaction
782
783 • *: The transaction aborted before completion
784
785 • #: The transaction completed, but with a non-zero status
786
787 • E: The transaction completed successfully, but had warning/er‐
788 ror output
789
790 --reverse
791 The order of history list output is printed in reverse
792 order.
793
794 dnf history info [<spec>...]
795 Describe the given transactions. The meaning of <spec> is the
796 same as in the History List Command. When no transaction is
797 specified, describe what happened during the latest transaction.
798
799 dnf history redo <transaction-spec>|<package-file-spec>
800 Repeat the specified transaction. Uses the last transaction
801 (with the highest ID) if more than one transaction for given
802 <package-file-spec> is found. If it is not possible to redo some
803 operations due to the current state of RPMDB, it will not redo
804 the transaction.
805
806 dnf history replay [--ignore-installed] [--ignore-extras] [--skip-un‐
807 available] <filename>
808 Replay a transaction stored in file <filename> by History Store
809 Command. The replay will perform the exact same operations on
810 the packages as in the original transaction and will return with
811 an error if case of any differences in installed packages or
812 their versions. See also the Transaction JSON Format specifica‐
813 tion of the file format.
814
815 --ignore-installed
816 Don't check for the installed packages being in the same
817 state as those recorded in the transaction. E.g. in case
818 there is an upgrade foo-1.0 -> foo-2.0 stored in the
819 transaction, but there is foo-1.1 installed on the target
820 system.
821
822 --ignore-extras
823 Don't check for extra packages pulled into the transac‐
824 tion on the target system. E.g. the target system may not
825 have some dependency, which was installed on the source
826 system. The replay errors out on this by default, as the
827 transaction would not be the same.
828
829 --skip-unavailable
830 In case some packages stored in the transaction are not
831 available on the target system, skip them instead of er‐
832 roring out.
833
834 dnf history rollback <transaction-spec>|<package-file-spec>
835 Undo all transactions performed after the specified transaction.
836 Uses the last transaction (with the highest ID) if more than one
837 transaction for given <package-file-spec> is found. If it is
838 not possible to undo some transactions due to the current state
839 of RPMDB, it will not undo any transaction.
840
841 dnf history store [--output <output-file>] <transaction-spec>
842 Store a transaction specified by <transaction-spec>. The trans‐
843 action can later be replayed by the History Replay Command.
844
845 Warning: The stored transaction format is considered unstable
846 and may change at any time. It will work if the same version of
847 dnf is used to store and replay (or between versions as long as
848 it stays the same).
849
850 -o <output-file>, --output=<output-file> Store the serialized
851 transaction into <output-file. Default is transaction.json.
852
853 dnf history undo <transaction-spec>|<package-file-spec>
854 Perform the opposite operation to all operations performed in
855 the specified transaction. Uses the last transaction (with the
856 highest ID) if more than one transaction for given <pack‐
857 age-file-spec> is found. If it is not possible to undo some op‐
858 erations due to the current state of RPMDB, it will not undo the
859 transaction.
860
861 dnf history userinstalled
862 Show all installonly packages, packages installed outside of DNF
863 and packages not installed as dependency. I.e. it lists packages
864 that will stay on the system when Autoremove Command or Remove
865 Command along with clean_requirements_on_remove configuration
866 option set to True is executed. Note the same results can be ac‐
867 complished with dnf repoquery --userinstalled, and the repoquery
868 command is more powerful in formatting of the output.
869
870 This command by default does not force a sync of expired metadata, ex‐
871 cept for the redo, rollback, and undo subcommands. See also Metadata
872 Synchronization and Configuration Files Replacement Policy.
873
874 Info Command
875 Command: info
876 Aliases: if
877
878
879 dnf [options] info [<package-file-spec>...]
880 Lists description and summary information about installed and
881 available packages.
882
883 The info command limits the displayed packages the same way as the list
884 command.
885
886 This command by default does not force a sync of expired metadata. See
887 also Metadata Synchronization.
888
889 Install Command
890 Command: install
891 Aliases: in
892 Aliases for explicit NEVRA matching: install-n, install-na, install-nevra
893 Deprecated aliases: localinstall
894
895
896 dnf [options] install <spec>...
897 Makes sure that the given packages and their dependencies are
898 installed on the system. Each <spec> can be either a
899 <package-spec>, or a @<module-spec>, or a @<group-spec>. See
900 Install Examples. If a given package or provide cannot be (and
901 is not already) installed, the exit code will be non-zero. If
902 the <spec> matches both a @<module-spec> and a @<group-spec>,
903 only the module is installed.
904
905 When <package-spec> to specify the exact version of the package
906 is given, DNF will install the desired version, no matter which
907 version of the package is already installed. The former version
908 of the package will be removed in the case of non-installonly
909 package.
910
911 On the other hand if <package-spec> specifies only a name, DNF
912 also takes into account packages obsoleting it when picking
913 which package to install. This behaviour is specific to the in‐
914 stall command. Note that this can lead to seemingly unexpected
915 results if a package has multiple versions and some older ver‐
916 sion is being obsoleted. It creates a split in the upgrade-path
917 and both ways are considered correct, the resulting package is
918 picked simply by lexicographical order.
919
920 There are also a few specific install commands install-n, in‐
921 stall-na and install-nevra that allow the specification of an
922 exact argument in the NEVRA format.
923
924 See also Configuration Files Replacement Policy.
925
926 Install Examples
927 dnf install tito
928 Install the tito package (tito is the package name).
929
930 dnf install ~/Downloads/tito-0.6.2-1.fc22.noarch.rpm
931 Install a local rpm file tito-0.6.2-1.fc22.noarch.rpm from the
932 ~/Downloads/ directory.
933
934 dnf install tito-0.5.6-1.fc22
935 Install the package with a specific version. If the package is
936 already installed it will automatically try to downgrade or up‐
937 grade to the specific version.
938
939 dnf --best install tito
940 Install the latest available version of the package. If the
941 package is already installed it will try to automatically up‐
942 grade to the latest version. If the latest version of the pack‐
943 age cannot be installed, the installation will fail.
944
945 dnf install vim
946 DNF will automatically recognize that vim is not a package name,
947 but will look up and install a package that provides vim with
948 all the required dependencies. Note: Package name match has
949 precedence over package provides match.
950
951 dnf install https://kojipkgs.fedoraproject.org//pack‐
952 ages/tito/0.6.0/1.fc22/noarch/tito-0.6.0-1.fc22.noarch.rpm
953 Install a package directly from a URL.
954
955 dnf install '@docker'
956 Install all default profiles of module 'docker' and their RPMs.
957 Module streams get enabled accordingly.
958
959 dnf install '@Web Server'
960 Install the 'Web Server' environmental group.
961
962 dnf install /usr/bin/rpmsign
963 Install a package that provides the /usr/bin/rpmsign file.
964
965 dnf -y install tito --setopt=install_weak_deps=False
966 Install the tito package (tito is the package name) without weak
967 deps. Weak deps are not required for core functionality of the
968 package, but they enhance the original package (like extended
969 documentation, plugins, additional functions, etc.).
970
971 dnf install --advisory=FEDORA-2018-b7b99fe852 \*
972 Install all packages that belong to the "FEDORA-2018-b7b99fe852"
973 advisory.
974
975 List Command
976 Command: list
977 Aliases: ls
978
979
980 Prints lists of packages depending on the packages' relation to the
981 system. A package is installed if it is present in the RPMDB, and it is
982 available if it is not installed but is present in a repository that
983 DNF knows about.
984
985 The list command also limits the displayed packages according to spe‐
986 cific criteria, e.g. to only those that update an installed package
987 (respecting the repository priority). The exclude option in the config‐
988 uration file can influence the result, but if the --disableexcludes
989 command line option is used, it ensures that all installed packages
990 will be listed.
991
992 dnf [options] list [--all] [<package-file-spec>...]
993 Lists all packages, present in the RPMDB, in a repository or
994 both.
995
996 dnf [options] list --installed [<package-file-spec>...]
997 Lists installed packages.
998
999 dnf [options] list --available [<package-file-spec>...]
1000 Lists available packages.
1001
1002 dnf [options] list --extras [<package-file-spec>...]
1003 Lists extras, that is packages installed on the system that are
1004 not available in any known repository.
1005
1006 dnf [options] list --obsoletes [<package-file-spec>...]
1007 List packages installed on the system that are obsoleted by
1008 packages in any known repository.
1009
1010 dnf [options] list --recent [<package-file-spec>...]
1011 List packages recently added into the repositories.
1012
1013 dnf [options] list --upgrades [<package-file-spec>...]
1014 List upgrades available for the installed packages.
1015
1016 dnf [options] list --autoremove
1017 List packages which will be removed by the dnf autoremove com‐
1018 mand.
1019
1020 This command by default does not force a sync of expired metadata. See
1021 also Metadata Synchronization.
1022
1023 Makecache Command
1024 Command: makecache
1025 Aliases: mc
1026
1027
1028 dnf [options] makecache
1029 Downloads and caches metadata for enabled repositories. Tries to
1030 avoid downloading whenever possible (e.g. when the local meta‐
1031 data hasn't expired yet or when the metadata timestamp hasn't
1032 changed).
1033
1034 dnf [options] makecache --timer
1035 Like plain makecache, but instructs DNF to be more re‐
1036 source-aware, meaning it will not do anything if running on bat‐
1037 tery power and will terminate immediately if it's too soon after
1038 the last successful makecache run (see dnf.conf(5),
1039 metadata_timer_sync).
1040
1041 Mark Command
1042 Command: mark
1043
1044
1045 dnf mark install <package-spec>...
1046 Marks the specified packages as installed by user. This can be
1047 useful if any package was installed as a dependency and is de‐
1048 sired to stay on the system when Autoremove Command or Remove
1049 Command along with clean_requirements_on_remove configuration
1050 option set to True is executed.
1051
1052 dnf mark remove <package-spec>...
1053 Unmarks the specified packages as installed by user. Whenever
1054 you as a user don't need a specific package you can mark it for
1055 removal. The package stays installed on the system but will be
1056 removed when Autoremove Command or Remove Command along with
1057 clean_requirements_on_remove configuration option set to True is
1058 executed. You should use this operation instead of Remove Com‐
1059 mand if you're not sure whether the package is a requirement of
1060 other user installed packages on the system.
1061
1062 dnf mark group <package-spec>...
1063 Marks the specified packages as installed by group. This can be
1064 useful if any package was installed as a dependency or a user
1065 and is desired to be protected and handled as a group member
1066 like during group remove.
1067
1068 Module Command
1069 Command: module
1070
1071
1072 Modularity overview is available at man page dnf.modularity(7). Module
1073 subcommands take <module-spec>... arguments that specify modules or
1074 profiles.
1075
1076 dnf [options] module install <module-spec>...
1077 Install module profiles, including their packages. In case no
1078 profile was provided, all default profiles get installed. Mod‐
1079 ule streams get enabled accordingly.
1080
1081 This command cannot be used for switching module streams. Use
1082 the dnf module switch-to command for that.
1083
1084 dnf [options] module update <module-spec>...
1085 Update packages associated with an active module stream, option‐
1086 ally restricted to a profile. If the profile_name is provided,
1087 only the packages referenced by that profile will be updated.
1088
1089 dnf [options] module switch-to <module-spec>...
1090 Switch to or enable a module stream, change versions of in‐
1091 stalled packages to versions provided by the new stream, and re‐
1092 move packages from the old stream that are no longer available.
1093 It also updates installed profiles if they are available for the
1094 new stream. When a profile was provided, it installs that pro‐
1095 file and does not update any already installed profiles.
1096
1097 This command can be used as a stronger version of the dnf module
1098 enable command, which not only enables modules, but also does a
1099 distrosync to all modular packages in the enabled modules.
1100
1101 It can also be used as a stronger version of the dnf module in‐
1102 stall command, but it requires to specify profiles that are sup‐
1103 posed to be installed, because switch-to command does not use
1104 default profiles. The switch-to command doesn't only install
1105 profiles, it also makes a distrosync to all modular packages in
1106 the installed module.
1107
1108 dnf [options] module remove <module-spec>...
1109 Remove installed module profiles, including packages that were
1110 installed with the dnf module install command. Will not remove
1111 packages required by other installed module profiles or by other
1112 user-installed packages. In case no profile was provided, all
1113 installed profiles get removed.
1114
1115 dnf [options] module remove --all <module-spec>...
1116 Remove installed module profiles, including packages that were
1117 installed with the dnf module install command. With --all op‐
1118 tion it additionally removes all packages whose names are pro‐
1119 vided by specified modules. Packages required by other installed
1120 module profiles and packages whose names are also provided by
1121 any other module are not removed.
1122
1123 dnf [options] module enable <module-spec>...
1124 Enable a module stream and make the stream RPMs available in the
1125 package set.
1126
1127 Modular dependencies are resolved, dependencies checked and also
1128 recursively enabled. In case of modular dependency issue the op‐
1129 eration will be rejected. To perform the action anyway please
1130 use --skip-broken option.
1131
1132 This command cannot be used for switching module streams. Use
1133 the dnf module switch-to command for that.
1134
1135 dnf [options] module disable <module-name>...
1136 Disable a module. All related module streams will become un‐
1137 available. Consequently, all installed profiles will be removed
1138 and the module RPMs will become unavailable in the package set.
1139 In case of modular dependency issue the operation will be re‐
1140 jected. To perform the action anyway please use --skip-broken
1141 option.
1142
1143 dnf [options] module reset <module-name>...
1144 Reset module state so it's no longer enabled or disabled. Con‐
1145 sequently, all installed profiles will be removed and only RPMs
1146 from the default stream will be available in the package set.
1147
1148 dnf [options] module provides <package-name-spec>...
1149 Lists all modular packages matching <package-name-spec> from all
1150 modules (including disabled), along with the modules and streams
1151 they belong to.
1152
1153 dnf [options] module list [--all] [module_name...]
1154 Lists all module streams, their profiles and states (enabled,
1155 disabled, default).
1156
1157 dnf [options] module list --enabled [module_name...]
1158 Lists module streams that are enabled.
1159
1160 dnf [options] module list --disabled [module_name...]
1161 Lists module streams that are disabled.
1162
1163 dnf [options] module list --installed [module_name...]
1164 List module streams with installed profiles.
1165
1166 dnf [options] module info <module-spec>...
1167 Print detailed information about given module stream.
1168
1169 dnf [options] module info --profile <module-spec>...
1170 Print detailed information about given module profiles.
1171
1172 dnf [options] module repoquery <module-spec>...
1173 List all available packages belonging to selected modules.
1174
1175 dnf [options] module repoquery --available <module-spec>...
1176 List all available packages belonging to selected modules.
1177
1178 dnf [options] module repoquery --installed <module-spec>...
1179 List all installed packages with same name like packages belong‐
1180 ing to selected modules.
1181
1182 Provides Command
1183 Command: provides
1184 Aliases: prov, whatprovides, wp
1185
1186
1187 dnf [options] provides <provide-spec>
1188 Finds the packages providing the given <provide-spec>. This is
1189 useful when one knows a filename and wants to find what package
1190 (installed or not) provides this file. The <provide-spec> is
1191 gradually looked for at following locations:
1192
1193 1. The <provide-spec> is matched with all file provides of any
1194 available package:
1195
1196 $ dnf provides /usr/bin/gzip
1197 gzip-1.9-9.fc29.x86_64 : The GNU data compression program
1198 Matched from:
1199 Filename : /usr/bin/gzip
1200
1201 2. Then all provides of all available packages are searched:
1202
1203 $ dnf provides "gzip(x86-64)"
1204 gzip-1.9-9.fc29.x86_64 : The GNU data compression program
1205 Matched from:
1206 Provide : gzip(x86-64) = 1.9-9.fc29
1207
1208 3. DNF assumes that the <provide-spec> is a system command,
1209 prepends it with /usr/bin/, /usr/sbin/ prefixes (one at a
1210 time) and does the file provides search again. For legacy
1211 reasons (packages that didn't do UsrMove) also /bin and /sbin
1212 prefixes are being searched:
1213
1214 $ dnf provides zless
1215 gzip-1.9-9.fc29.x86_64 : The GNU data compression program
1216 Matched from:
1217 Filename : /usr/bin/zless
1218
1219 4. If this last step also fails, DNF returns "Error: No Matches
1220 found".
1221
1222 This command by default does not force a sync of expired meta‐
1223 data. See also Metadata Synchronization.
1224
1225 Reinstall Command
1226 Command: reinstall
1227 Aliases: rei
1228
1229
1230 dnf [options] reinstall <package-spec>...
1231 Installs the specified packages, fails if some of the packages
1232 are either not installed or not available (i.e. there is no
1233 repository where to download the same RPM).
1234
1235 Remove Command
1236 Command: remove
1237 Aliases: rm
1238 Aliases for explicit NEVRA matching: remove-n, remove-na, remove-nevra
1239 Deprecated aliases: erase, erase-n, erase-na, erase-nevra
1240
1241
1242 dnf [options] remove <package-spec>...
1243 Removes the specified packages from the system along with any
1244 packages depending on the packages being removed. Each <spec>
1245 can be either a <package-spec>, which specifies a package di‐
1246 rectly, or a @<group-spec>, which specifies an (environment)
1247 group which contains it. If clean_requirements_on_remove is en‐
1248 abled (the default), also removes any dependencies that are no
1249 longer needed.
1250
1251 dnf [options] remove --duplicates
1252 Removes older versions of duplicate packages. To ensure the in‐
1253 tegrity of the system it reinstalls the newest package. In some
1254 cases the command cannot resolve conflicts. In such cases the
1255 dnf shell command with remove --duplicates and upgrade dnf-shell
1256 sub-commands could help.
1257
1258 dnf [options] remove --oldinstallonly
1259 Removes old installonly packages, keeping only latest versions
1260 and version of running kernel.
1261
1262 There are also a few specific remove commands remove-n, re‐
1263 move-na and remove-nevra that allow the specification of an ex‐
1264 act argument in the NEVRA format.
1265
1266 Remove Examples
1267 dnf remove acpi tito
1268 Remove the acpi and tito packages.
1269
1270 dnf remove $(dnf repoquery --extras --exclude=tito,acpi)
1271 Remove packages not present in any repository, but don't remove
1272 the tito and acpi packages (they still might be removed if they
1273 depend on some of the removed packages).
1274
1275 Remove older versions of duplicated packages (an equivalent of yum's
1276 package-cleanup --cleandups):
1277
1278 dnf remove --duplicates
1279
1280 Repoinfo Command
1281 Command: repoinfo
1282
1283 An alias for the repolist command that provides more detailed infor‐
1284 mation like dnf repolist -v.
1285
1286 Repolist Command
1287 Command: repolist
1288
1289
1290 dnf [options] repolist [--enabled|--disabled|--all]
1291 Depending on the exact command lists enabled, disabled or all
1292 known repositories. Lists all enabled repositories by default.
1293 Provides more detailed information when -v option is used.
1294
1295 This command by default does not force a sync of expired metadata. See
1296 also Metadata Synchronization.
1297
1298 Repoquery Command
1299 Command: repoquery
1300 Aliases: rq
1301 Aliases for explicit NEVRA matching: repoquery-n, repoquery-na, repoquery-nevra
1302
1303
1304 dnf [options] repoquery [<select-options>] [<query-options>] [<pack‐
1305 age-file-spec>]
1306 Searches available DNF repositories for selected packages and
1307 displays the requested information about them. It is an equiva‐
1308 lent of rpm -q for remote repositories.
1309
1310 dnf [options] repoquery --groupmember <package-spec>...
1311 List groups that contain <package-spec>.
1312
1313 dnf [options] repoquery --querytags
1314 Provides the list of tags recognized by the --queryformat repo‐
1315 query option.
1316
1317 There are also a few specific repoquery commands repoquery-n,
1318 repoquery-na and repoquery-nevra that allow the specification of
1319 an exact argument in the NEVRA format (does not affect arguments
1320 of options like --whatprovides <arg>, ...).
1321
1322 Select Options
1323 Together with <package-file-spec>, control what packages are displayed
1324 in the output. If <package-file-spec> is given, limits the resulting
1325 set of packages to those matching the specification. All packages are
1326 considered if no <package-file-spec> is specified.
1327
1328 <package-file-spec>
1329 Package specification in the NEVRA format (name[-[epoch:]ver‐
1330 sion[-release]][.arch]), a package provide or a file provide.
1331 See Specifying Packages.
1332
1333 -a, --all
1334 Query all packages (for rpmquery compatibility, also a shorthand
1335 for repoquery '*' or repoquery without arguments).
1336
1337 --arch <arch>[,<arch>...], --archlist <arch>[,<arch>...]
1338 Limit the resulting set only to packages of selected architec‐
1339 tures (default is all architectures). In some cases the result
1340 is affected by the basearch of the running system, therefore to
1341 run repoquery for an arch incompatible with your system use the
1342 --forcearch=<arch> option to change the basearch.
1343
1344 --duplicates
1345 Limit the resulting set to installed duplicate packages (i.e.
1346 more package versions for the same name and architecture). In‐
1347 stallonly packages are excluded from this set.
1348
1349 --unneeded
1350 Limit the resulting set to leaves packages that were installed
1351 as dependencies so they are no longer needed. This switch lists
1352 packages that are going to be removed after executing the dnf
1353 autoremove command.
1354
1355 --available
1356 Limit the resulting set to available packages only (set by de‐
1357 fault).
1358
1359 --disable-modular-filtering
1360 Disables filtering of modular packages, so that packages of in‐
1361 active module streams are included in the result.
1362
1363 --extras
1364 Limit the resulting set to packages that are not present in any
1365 of the available repositories.
1366
1367 -f <file>, --file <file>
1368 Limit the resulting set only to the package that owns <file>.
1369
1370 --installed
1371 Limit the resulting set to installed packages only. The exclude
1372 option in the configuration file might influence the result, but
1373 if the command line option --disableexcludes is used, it en‐
1374 sures that all installed packages will be listed.
1375
1376 --installonly
1377 Limit the resulting set to installed installonly packages.
1378
1379 --latest-limit <number>
1380 Limit the resulting set to <number> of latest packages for every
1381 package name and architecture. If <number> is negative, skip
1382 <number> of latest packages. For a negative <number> use the
1383 --latest-limit=<number> syntax.
1384
1385 --recent
1386 Limit the resulting set to packages that were recently edited.
1387
1388 --repo <repoid>
1389 Limit the resulting set only to packages from a repository iden‐
1390 tified by <repoid>. Can be used multiple times with accumula‐
1391 tive effect.
1392
1393 --unsatisfied
1394 Report unsatisfied dependencies among installed packages (i.e.
1395 missing requires and existing conflicts).
1396
1397 --upgrades
1398 Limit the resulting set to packages that provide an upgrade for
1399 some already installed package.
1400
1401 --userinstalled
1402 Limit the resulting set to packages installed by the user. The
1403 exclude option in the configuration file might influence the re‐
1404 sult, but if the command line option --disableexcludes is used,
1405 it ensures that all installed packages will be listed.
1406
1407 --whatdepends <capability>[,<capability>...]
1408 Limit the resulting set only to packages that require, enhance,
1409 recommend, suggest or supplement any of <capabilities>.
1410
1411 --whatconflicts <capability>[,<capability>...]
1412 Limit the resulting set only to packages that conflict with any
1413 of <capabilities>.
1414
1415 --whatenhances <capability>[,<capability>...]
1416 Limit the resulting set only to packages that enhance any of
1417 <capabilities>. Use --whatdepends if you want to list all de‐
1418 pending packages.
1419
1420 --whatobsoletes <capability>[,<capability>...]
1421 Limit the resulting set only to packages that obsolete any of
1422 <capabilities>.
1423
1424 --whatprovides <capability>[,<capability>...]
1425 Limit the resulting set only to packages that provide any of
1426 <capabilities>.
1427
1428 --whatrecommends <capability>[,<capability>...]
1429 Limit the resulting set only to packages that recommend any of
1430 <capabilities>. Use --whatdepends if you want to list all de‐
1431 pending packages.
1432
1433 --whatrequires <capability>[,<capability>...]
1434 Limit the resulting set only to packages that require any of
1435 <capabilities>. Use --whatdepends if you want to list all de‐
1436 pending packages.
1437
1438 --whatsuggests <capability>[,<capability>...]
1439 Limit the resulting set only to packages that suggest any of
1440 <capabilities>. Use --whatdepends if you want to list all de‐
1441 pending packages.
1442
1443 --whatsupplements <capability>[,<capability>...]
1444 Limit the resulting set only to packages that supplement any of
1445 <capabilities>. Use --whatdepends if you want to list all de‐
1446 pending packages.
1447
1448 --alldeps
1449 This option is stackable with --whatrequires or --whatdepends
1450 only. Additionally it adds all packages requiring the package
1451 features to the result set (used as default).
1452
1453 --exactdeps
1454 This option is stackable with --whatrequires or --whatdepends
1455 only. Limit the resulting set only to packages that require <ca‐
1456 pability> specified by --whatrequires.
1457
1458 --srpm Operate on the corresponding source RPM.
1459
1460 Query Options
1461 Set what information is displayed about each package.
1462
1463 The following are mutually exclusive, i.e. at most one can be speci‐
1464 fied. If no query option is given, matching packages are displayed in
1465 the standard NEVRA notation.
1466
1467 -i, --info
1468 Show detailed information about the package.
1469
1470 -l, --list
1471 Show the list of files in the package.
1472
1473 -s, --source
1474 Show the package source RPM name.
1475
1476 --changelogs
1477 Print the package changelogs.
1478
1479 --conflicts
1480 Display capabilities that the package conflicts with. Same as
1481 --qf "%{conflicts}.
1482
1483 --depends
1484 Display capabilities that the package depends on, enhances, rec‐
1485 ommends, suggests or supplements.
1486
1487 --enhances
1488 Display capabilities enhanced by the package. Same as --qf
1489 "%{enhances}"".
1490
1491 --location
1492 Show a location where the package could be downloaded from.
1493
1494 --obsoletes
1495 Display capabilities that the package obsoletes. Same as --qf
1496 "%{obsoletes}".
1497
1498 --provides
1499 Display capabilities provided by the package. Same as --qf
1500 "%{provides}".
1501
1502 --recommends
1503 Display capabilities recommended by the package. Same as --qf
1504 "%{recommends}".
1505
1506 --requires
1507 Display capabilities that the package depends on. Same as --qf
1508 "%{requires}".
1509
1510 --requires-pre
1511 Display capabilities that the package depends on for running a
1512 %pre script. Same as --qf "%{requires-pre}".
1513
1514 --suggests
1515 Display capabilities suggested by the package. Same as --qf
1516 "%{suggests}".
1517
1518 --supplements
1519 Display capabilities supplemented by the package. Same as --qf
1520 "%{supplements}".
1521
1522 --tree Display a recursive tree of packages with capabilities specified
1523 by one of the following supplementary options: --whatrequires,
1524 --requires, --conflicts, --enhances, --suggests, --provides,
1525 --supplements, --recommends.
1526
1527 --deplist
1528 Produce a list of all direct dependencies and what packages pro‐
1529 vide those dependencies for the given packages. The result only
1530 shows the newest providers (which can be changed by using --ver‐
1531 bose).
1532
1533 --nvr Show found packages in the name-version-release format. Same as
1534 --qf "%{name}-%{version}-%{release}".
1535
1536 --nevra
1537 Show found packages in the name-epoch:version-release.architec‐
1538 ture format. Same as --qf "%{name}-%{epoch}:%{version}-%{re‐
1539 lease}.%{arch}" (default).
1540
1541 --envra
1542 Show found packages in the epoch:name-version-release.architec‐
1543 ture format. Same as --qf "%{epoch}:%{name}-%{version}-%{re‐
1544 lease}.%{arch}"
1545
1546 --qf <format>, --queryformat <format>
1547 Custom display format. <format> is the string to output for each
1548 matched package. Every occurrence of %{<tag>} within is replaced
1549 by the corresponding attribute of the package. The list of rec‐
1550 ognized tags can be displayed by running dnf repoquery --query‐
1551 tags.
1552
1553 --recursive
1554 Query packages recursively. Has to be used with --whatrequires
1555 <REQ> (optionally with --alldeps, but not with --exactdeps) or
1556 with --requires <REQ> --resolve.
1557
1558 --resolve
1559 resolve capabilities to originating package(s).
1560
1561 Examples
1562 Display NEVRAs of all available packages matching light*:
1563
1564 dnf repoquery 'light*'
1565
1566 Display NEVRAs of all available packages matching name light* and ar‐
1567 chitecture noarch (accepts only arguments in the "<name>.<arch>" for‐
1568 mat):
1569
1570 dnf repoquery-na 'light*.noarch'
1571
1572 Display requires of all lighttpd packages:
1573
1574 dnf repoquery --requires lighttpd
1575
1576 Display packages providing the requires of python packages:
1577
1578 dnf repoquery --requires python --resolve
1579
1580 Display source rpm of ligttpd package:
1581
1582 dnf repoquery --source lighttpd
1583
1584 Display package name that owns the given file:
1585
1586 dnf repoquery --file /etc/lighttpd/lighttpd.conf
1587
1588 Display name, architecture and the containing repository of all
1589 lighttpd packages:
1590
1591 dnf repoquery --queryformat '%{name}.%{arch} : %{reponame}' lighttpd
1592
1593 Display all available packages providing "webserver":
1594
1595 dnf repoquery --whatprovides webserver
1596
1597 Display all available packages providing "webserver" but only for
1598 "i686" architecture:
1599
1600 dnf repoquery --whatprovides webserver --arch i686
1601
1602 Display duplicate packages:
1603
1604 dnf repoquery --duplicates
1605
1606 Display source packages that require a <provide> for a build:
1607
1608 dnf repoquery --disablerepo="*" --enablerepo="*-source" --arch=src --whatrequires <provide>
1609
1610 Repository-Packages Command
1611 Command: repository-packages
1612 Deprecated aliases: repo-pkgs, repo-packages, repository-pkgs
1613
1614
1615 The repository-packages command allows the user to run commands on top
1616 of all packages in the repository named <repoid>. However, any depen‐
1617 dency resolution takes into account packages from all enabled reposito‐
1618 ries. The <package-file-spec> and <package-spec> specifications further
1619 limit the candidates to only those packages matching at least one of
1620 them.
1621
1622 The info subcommand lists description and summary information about
1623 packages depending on the packages' relation to the repository. The
1624 list subcommand just prints lists of those packages.
1625
1626 dnf [options] repository-packages <repoid> check-update [<pack‐
1627 age-file-spec>...]
1628 Non-interactively checks if updates of the specified packages in
1629 the repository are available. DNF exit code will be 100 when
1630 there are updates available and a list of the updates will be
1631 printed.
1632
1633 dnf [options] repository-packages <repoid> info [--all] [<pack‐
1634 age-file-spec>...]
1635 List all related packages.
1636
1637 dnf [options] repository-packages <repoid> info --installed [<pack‐
1638 age-file-spec>...]
1639 List packages installed from the repository.
1640
1641 dnf [options] repository-packages <repoid> info --available [<pack‐
1642 age-file-spec>...]
1643 List packages available in the repository but not currently in‐
1644 stalled on the system.
1645
1646 dnf [options] repository-packages <repoid> info --extras [<pack‐
1647 age-file-specs>...]
1648 List packages installed from the repository that are not avail‐
1649 able in any repository.
1650
1651 dnf [options] repository-packages <repoid> info --obsoletes [<pack‐
1652 age-file-spec>...]
1653 List packages in the repository that obsolete packages installed
1654 on the system.
1655
1656 dnf [options] repository-packages <repoid> info --recent [<pack‐
1657 age-file-spec>...]
1658 List packages recently added into the repository.
1659
1660 dnf [options] repository-packages <repoid> info --upgrades [<pack‐
1661 age-file-spec>...]
1662 List packages in the repository that upgrade packages installed
1663 on the system.
1664
1665 dnf [options] repository-packages <repoid> install [<package-spec>...]
1666 Install packages matching <package-spec> from the repository. If
1667 <package-spec> isn't specified at all, install all packages from
1668 the repository.
1669
1670 dnf [options] repository-packages <repoid> list [--all] [<pack‐
1671 age-file-spec>...]
1672 List all related packages.
1673
1674 dnf [options] repository-packages <repoid> list --installed [<pack‐
1675 age-file-spec>...]
1676 List packages installed from the repository.
1677
1678 dnf [options] repository-packages <repoid> list --available [<pack‐
1679 age-file-spec>...]
1680 List packages available in the repository but not currently in‐
1681 stalled on the system.
1682
1683 dnf [options] repository-packages <repoid> list --extras [<pack‐
1684 age-file-spec>...]
1685 List packages installed from the repository that are not avail‐
1686 able in any repository.
1687
1688 dnf [options] repository-packages <repoid> list --obsoletes [<pack‐
1689 age-file-spec>...]
1690 List packages in the repository that obsolete packages installed
1691 on the system.
1692
1693 dnf [options] repository-packages <repoid> list --recent [<pack‐
1694 age-file-spec>...]
1695 List packages recently added into the repository.
1696
1697 dnf [options] repository-packages <repoid> list --upgrades [<pack‐
1698 age-file-spec>...]
1699 List packages in the repository that upgrade packages installed
1700 on the system.
1701
1702 dnf [options] repository-packages <repoid> move-to [<package-spec>...]
1703 Reinstall all those packages that are available in the reposi‐
1704 tory.
1705
1706 dnf [options] repository-packages <repoid> reinstall [<pack‐
1707 age-spec>...]
1708 Run the reinstall-old subcommand. If it fails, run the move-to
1709 subcommand.
1710
1711 dnf [options] repository-packages <repoid> reinstall-old [<pack‐
1712 age-spec>...]
1713 Reinstall all those packages that were installed from the repos‐
1714 itory and simultaneously are available in the repository.
1715
1716 dnf [options] repository-packages <repoid> remove [<package-spec>...]
1717 Remove all packages installed from the repository along with any
1718 packages depending on the packages being removed. If clean_re‐
1719 quirements_on_remove is enabled (the default) also removes any
1720 dependencies that are no longer needed.
1721
1722 dnf [options] repository-packages <repoid> remove-or-distro-sync
1723 [<package-spec>...]
1724 Select all packages installed from the repository. Upgrade,
1725 downgrade or keep those of them that are available in another
1726 repository to match the latest version available there and re‐
1727 move the others along with any packages depending on the pack‐
1728 ages being removed. If clean_requirements_on_remove is enabled
1729 (the default) also removes any dependencies that are no longer
1730 needed.
1731
1732 dnf [options] repository-packages <repoid> remove-or-reinstall [<pack‐
1733 age-spec>...]
1734 Select all packages installed from the repository. Reinstall
1735 those of them that are available in another repository and re‐
1736 move the others along with any packages depending on the pack‐
1737 ages being removed. If clean_requirements_on_remove is enabled
1738 (the default) also removes any dependencies that are no longer
1739 needed.
1740
1741 dnf [options] repository-packages <repoid> upgrade [<package-spec>...]
1742 Update all packages to the highest resolvable version available
1743 in the repository. When versions are specified in the <pack‐
1744 age-spec>, update to these versions.
1745
1746 dnf [options] repository-packages <repoid> upgrade-to [<pack‐
1747 age-specs>...]
1748 A deprecated alias for the upgrade subcommand.
1749
1750 Search Command
1751 Command: search
1752 Aliases: se
1753
1754
1755 dnf [options] search [--all] <keywords>...
1756 Search package metadata for keywords. Keywords are matched as
1757 case-insensitive substrings, globbing is supported. By default
1758 lists packages that match all requested keys (AND operation).
1759 Keys are searched in package names and summaries. If the --all
1760 option is used, lists packages that match at least one of the
1761 keys (an OR operation). In addition the keys are searched in
1762 the package descriptions and URLs. The result is sorted from
1763 the most relevant results to the least.
1764
1765 This command by default does not force a sync of expired metadata. See
1766 also Metadata Synchronization.
1767
1768 Shell Command
1769 Command: shell
1770 Aliases: sh
1771
1772
1773 dnf [options] shell [filename]
1774 Open an interactive shell for conducting multiple commands dur‐
1775 ing a single execution of DNF. These commands can be issued man‐
1776 ually or passed to DNF from a file. The commands are much the
1777 same as the normal DNF command line options. There are a few ad‐
1778 ditional commands documented below.
1779
1780 config [conf-option] [value]
1781
1782 • Set a configuration option to a requested value. If no
1783 value is given it prints the current value.
1784
1785 repo [list|enable|disable] [repo-id]
1786
1787 • list: list repositories and their status
1788
1789 • enable: enable repository
1790
1791 • disable: disable repository
1792
1793 transaction [list|reset|solve|run]
1794
1795 • list: resolve and list the content of the transaction
1796
1797 • reset: reset the transaction
1798
1799 • run: resolve and run the transaction
1800
1801 Note that all local packages must be used in the first shell
1802 transaction subcommand (e.g. install /tmp/nodejs-1-1.x86_64.rpm
1803 /tmp/acpi-1-1.noarch.rpm) otherwise an error will occur. Any
1804 disable, enable, and reset module operations (e.g. module enable
1805 nodejs) must also be performed before any other shell transac‐
1806 tion subcommand is used.
1807
1808 Swap Command
1809 Command: swap
1810
1811
1812 dnf [options] swap <remove-spec> <install-spec>
1813 Remove spec and install spec in one transaction. Each <spec> can be
1814 either a <package-spec>, which specifies a package directly, or a
1815 @<group-spec>, which specifies an (environment) group which contains
1816 it. Automatic conflict solving is provided in DNF by the --allow‐
1817 erasing option that provides the functionality of the swap command
1818 automatically.
1819
1820 Updateinfo Command
1821 Command: updateinfo
1822 Aliases: upif
1823 Deprecated aliases: list-updateinfo, list-security, list-sec, info-updateinfo, info-security, info-sec, summary-updateinfo
1824
1825
1826 dnf [options] updateinfo [--summary|--list|--info] [<availability>]
1827 [<spec>...]
1828 Display information about update advisories.
1829
1830 Depending on the output type, DNF displays just counts of advi‐
1831 sory types (omitted or --summary), list of advisories (--list)
1832 or detailed information (--info). The -v option extends the out‐
1833 put. When used with --info, the information is even more de‐
1834 tailed. When used with --list, an additional column with date of
1835 the last advisory update is added.
1836
1837 <availability> specifies whether advisories about newer versions
1838 of installed packages (omitted or --available), advisories about
1839 equal and older versions of installed packages (--installed),
1840 advisories about newer versions of those installed packages for
1841 which a newer version is available (--updates) or advisories
1842 about any versions of installed packages (--all) are taken into
1843 account. Most of the time, --available and --updates displays
1844 the same output. The outputs differ only in the cases when an
1845 advisory refers to a newer version but there is no enabled
1846 repository which contains any newer version.
1847
1848 Note, that --available takes only the latest installed versions
1849 of packages into account. In case of the kernel packages (when
1850 multiple version could be installed simultaneously) also pack‐
1851 ages of the currently running version of kernel are added.
1852
1853 To print only advisories referencing a CVE or a bugzilla use
1854 --with-cve or --with-bz options. When these switches are used
1855 also the output of the --list is altered - the ID of the CVE or
1856 the bugzilla is printed instead of the one of the advisory.
1857
1858 If given and if neither ID, type (bugfix, enhancement, secu‐
1859 rity/sec) nor a package name of an advisory matches <spec>, the
1860 advisory is not taken into account. The matching is case-sensi‐
1861 tive and in the case of advisory IDs and package names, globbing
1862 is supported.
1863
1864 Output of the --summary option is affected by the
1865 autocheck_running_kernel configuration option.
1866
1867 Upgrade Command
1868 Command: upgrade
1869 Aliases: up
1870 Deprecated aliases: update, upgrade-to, update-to, localupdate
1871
1872
1873 dnf [options] upgrade
1874 Updates each package to the latest version that is both avail‐
1875 able and resolvable.
1876
1877 dnf [options] upgrade <package-spec>...
1878 Updates each specified package to the latest available version.
1879 Updates dependencies as necessary. When versions are specified
1880 in the <package-spec>, update to these versions.
1881
1882 dnf [options] upgrade @<spec>...
1883 Alias for the dnf module update command.
1884
1885 If the main obsoletes configure option is true or the --obsoletes flag
1886 is present, dnf will include package obsoletes in its calculations.
1887 For more information see obsoletes.
1888
1889 See also Configuration Files Replacement Policy.
1890
1891 Upgrade-Minimal Command
1892 Command: upgrade-minimal
1893 Aliases: up-min
1894 Deprecated aliases: update-minimal
1895
1896
1897 dnf [options] upgrade-minimal
1898 Updates each package to the latest available version that pro‐
1899 vides a bugfix, enhancement or a fix for a security issue (secu‐
1900 rity).
1901
1902 dnf [options] upgrade-minimal <package-spec>...
1903 Updates each specified package to the latest available version
1904 that provides a bugfix, enhancement or a fix for security issue
1905 (security). Updates dependencies as necessary.
1906
1908 Many commands take a <package-spec> parameter that selects a package
1909 for the operation. The <package-spec> argument is matched against pack‐
1910 age NEVRAs, provides and file provides.
1911
1912 <package-file-spec> is similar to <package-spec>, except provides
1913 matching is not performed. Therefore, <package-file-spec> is matched
1914 only against NEVRAs and file provides.
1915
1916 <package-name-spec> is matched against NEVRAs only.
1917
1918 Globs
1919 Package specification supports the same glob pattern matching that
1920 shell does, in all three above mentioned packages it matches against
1921 (NEVRAs, provides and file provides).
1922
1923 The following patterns are supported:
1924
1925 * Matches any number of characters.
1926
1927 ? Matches any single character.
1928
1929 [] Matches any one of the enclosed characters. A pair of characters
1930 separated by a hyphen denotes a range expression; any character
1931 that falls between those two characters, inclusive, is matched.
1932 If the first character following the [ is a ! or a ^ then any
1933 character not enclosed is matched.
1934
1935 Note: Curly brackets ({}) are not supported. You can still use them in
1936 shells that support them and let the shell do the expansion, but if
1937 quoted or escaped, dnf will not expand them.
1938
1939 NEVRA Matching
1940 When matching against NEVRAs, partial matching is supported. DNF tries
1941 to match the spec against the following list of NEVRA forms (in de‐
1942 creasing order of priority):
1943
1944 • name-[epoch:]version-release.arch
1945
1946 • name.arch
1947
1948 • name
1949
1950 • name-[epoch:]version-release
1951
1952 • name-[epoch:]version
1953
1954 Note that name can in general contain dashes (e.g. pack‐
1955 age-with-dashes).
1956
1957 The first form that matches any packages is used and the remaining
1958 forms are not tried. If none of the forms match any packages, an at‐
1959 tempt is made to match the <package-spec> against full package NEVRAs.
1960 This is only relevant if globs are present in the <package-spec>.
1961
1962 <package-spec> matches NEVRAs the same way <package-name-spec> does,
1963 but in case matching NEVRAs fails, it attempts to match against pro‐
1964 vides and file provides of packages as well.
1965
1966 You can specify globs as part of any of the five NEVRA components. You
1967 can also specify a glob pattern to match over multiple NEVRA components
1968 (in other words, to match across the NEVRA separators). In that case,
1969 however, you need to write the spec to match against full package
1970 NEVRAs, as it is not possible to split such spec into NEVRA forms.
1971
1972 Specifying NEVRA Matching Explicitly
1973 Some commands (autoremove, install, remove and repoquery) also have
1974 aliases with suffixes -n, -na and -nevra that allow to explicitly spec‐
1975 ify how to parse the arguments:
1976
1977 • Command install-n only matches against name.
1978
1979 • Command install-na only matches against name.arch.
1980
1981 • Command install-nevra only matches against name-[epoch:]version-re‐
1982 lease.arch.
1983
1985 <provide-spec> in command descriptions means the command operates on
1986 packages providing the given spec. This can either be an explicit pro‐
1987 vide, an implicit provide (i.e. name of the package) or a file provide.
1988 The selection is case-sensitive and globbing is supported.
1989
1990 Specifying File Provides
1991 If a spec starts with either / or */, it is considered as a potential
1992 file provide.
1993
1995 <group-spec> allows one to select (environment) groups a particular op‐
1996 eration should work on. It is a case insensitive string (supporting
1997 globbing characters) that is matched against a group's ID, canonical
1998 name and name translated into the current LC_MESSAGES locale (if possi‐
1999 ble).
2000
2002 <module-spec> allows one to select modules or profiles a particular op‐
2003 eration should work on.
2004
2005 It is in the form of NAME:STREAM:VERSION:CONTEXT:ARCH/PROFILE and sup‐
2006 ported partial forms are the following:
2007
2008 • NAME
2009
2010 • NAME:STREAM
2011
2012 • NAME:STREAM:VERSION
2013
2014 • NAME:STREAM:VERSION:CONTEXT
2015
2016 • all above combinations with ::ARCH (e.g. NAME::ARCH)
2017
2018 • NAME:STREAM:VERSION:CONTEXT:ARCH
2019
2020 • all above combinations with /PROFILE (e.g. NAME/PROFILE)
2021
2022 In case stream is not specified, the enabled or the default stream is
2023 used, in this order. In case profile is not specified, the system de‐
2024 fault profile or the 'default' profile is used.
2025
2027 <transaction-spec> can be in one of several forms. If it is an integer,
2028 it specifies a transaction ID. Specifying last is the same as specify‐
2029 ing the ID of the most recent transaction. The last form is last-<off‐
2030 set>, where <offset> is a positive integer. It specifies offset-th
2031 transaction preceding the most recent transaction.
2032
2034 Package filtering filters packages out from the available package set,
2035 making them invisible to most of dnf commands. They cannot be used in a
2036 transaction. Packages can be filtered out by either Exclude Filtering
2037 or Modular Filtering.
2038
2039 Exclude Filtering
2040 Exclude Filtering is a mechanism used by a user or by a DNF plugin to
2041 modify the set of available packages. Exclude Filtering can be modified
2042 by either includepkgs or excludepkgs configuration options in
2043 configuration files. The --disableexcludes command line option can be
2044 used to override excludes from configuration files. In addition to
2045 user-configured excludes, plugins can also extend the set of excluded
2046 packages. To disable excludes from a DNF plugin you can use the -‐
2047 -disableplugin command line option.
2048
2049 To disable all excludes for e.g. the install command you can use the
2050 following combination of command line options:
2051
2052 dnf --disableexcludes=all --disableplugin="*" install bash
2053
2054 Modular Filtering
2055 Please see the modularity documentation for details on how Modular Fil‐
2056 tering works.
2057
2058 With modularity, only RPM packages from active module streams are in‐
2059 cluded in the available package set. RPM packages from inactive module
2060 streams, as well as non-modular packages with the same name or provides
2061 as a package from an active module stream, are filtered out. Modular
2062 filtering is not applied to packages added from the command line, in‐
2063 stalled packages, or packages from repositories with module_hot‐
2064 fixes=true in their .repo file.
2065
2066 Disabling of modular filtering is not recommended, because it could
2067 cause the system to get into a broken state. To disable modular filter‐
2068 ing for a particular repository, specify module_hotfixes=true in the
2069 .repo file or use --setopt=<repo_id>.module_hotfixes=true.
2070
2071 To discover the module which contains an excluded package use dnf mod‐
2072 ule provides.
2073
2075 Correct operation of DNF depends on having access to up-to-date data
2076 from all enabled repositories but contacting remote mirrors on every
2077 operation considerably slows it down and costs bandwidth for both the
2078 client and the repository provider. The metadata_expire (see
2079 dnf.conf(5)) repository configuration option is used by DNF to deter‐
2080 mine whether a particular local copy of repository data is due to be
2081 re-synced. It is crucial that the repository providers set the option
2082 well, namely to a value where it is guaranteed that if particular meta‐
2083 data was available in time T on the server, then all packages it refer‐
2084 ences will still be available for download from the server in time T +
2085 metadata_expire.
2086
2087 To further reduce the bandwidth load, some of the commands where having
2088 up-to-date metadata is not critical (e.g. the list command) do not look
2089 at whether a repository is expired and whenever any version of it is
2090 locally available to the user's account, it will be used. For non-root
2091 use, see also the --cacheonly switch. Note that in all situations the
2092 user can force synchronization of all enabled repositories with the
2093 --refresh switch.
2094
2096 The updated packages could replace the old modified configuration files
2097 with the new ones or keep the older files. Neither of the files are ac‐
2098 tually replaced. To the conflicting ones RPM gives additional suffix
2099 to the origin name. Which file should maintain the true name after
2100 transaction is not controlled by package manager but is specified by
2101 each package itself, following packaging guideline.
2102
2104 Cache Files
2105 /var/cache/dnf
2106
2107 Main Configuration
2108 /etc/dnf/dnf.conf
2109
2110 Repository
2111 /etc/yum.repos.d/
2112
2114 • dnf.conf(5), DNF Configuration Reference
2115
2116 • dnf-PLUGIN(8) for documentation on DNF plugins.
2117
2118 • dnf.modularity(7), Modularity overview.
2119
2120 • dnf-transaction-json(5), Stored Transaction JSON Format Specifica‐
2121 tion.
2122
2123 • DNF project homepage (‐
2124 https://github.com/rpm-software-management/dnf/)
2125
2126 • How to report a bug (‐
2127 https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting)
2128
2129 • YUM project homepage (http://yum.baseurl.org/)
2130
2132 See AUTHORS in DNF source distribution.
2133
2135 2012-2023, Red Hat, Licensed under GPLv2+
2136
2137
2138
2139
21404.18.2 Dec 08, 2023 YUM(8)