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