1DNF(8)                                DNF                               DNF(8)
2
3
4

NAME

6       dnf - DNF Command Reference
7

SYNOPSIS

9       dnf [options] <command> [<args>...]
10

DESCRIPTION

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       · upgrade-to
100
101       Additional information:
102
103       · Options
104
105       · Specifying Packages
106
107       · Specifying Exact Versions of Packages
108
109       · Specifying Provides
110
111       · Specifying Groups
112
113       · Specifying Transactions
114
115       · Metadata Synchronization
116
117       · Configuration Files Replacement Policy
118
119       · Files
120
121       · See Also
122

OPTIONS

124       -4     Resolve to IPv4 addresses only.
125
126       -6     Resolve to IPv6 addresses only.
127
128       --advisory=<advisory>, --advisories=<advisory>
129              Include  packages  corresponding  to  the   advisory   ID,   Eg.
130              FEDORA-2201-123.  Applicable for the install, repoquery, update‐
131              info and upgrade commands.
132
133       --allowerasing
134              Allow erasing of installed  packages  to  resolve  dependencies.
135              This option could be used as an alternative to the yum swap com‐
136              mand where packages to remove are not explicitly defined.
137
138       --assumeno
139              Automatically answer no for all questions.
140
141       -b, --best
142              Try the best available package versions in transactions. Specif‐
143              ically  during  dnf upgrade, which by default skips over updates
144              that can not be installed for  dependency  reasons,  the  switch
145              forces  DNF  to  only consider the latest packages. When running
146              into packages with broken dependencies, DNF will fail  giving  a
147              reason why the latest version can not be installed.
148
149       --bugfix
150              Include  packages  that  fix  a bugfix issue. Applicable for the
151              install, repoquery, updateinfo and upgrade commands.
152
153       --bz=<bugzilla>, --bzs=<bugzilla>
154              Include packages that fix a Bugzilla ID, Eg. 123123.  Applicable
155              for the install, repoquery, updateinfo and upgrade commands.
156
157       -C, --cacheonly
158              Run  entirely  from system cache, don't update the cache and use
159              it even in case it is expired.
160
161              DNF uses a separate cache for each user under which it executes.
162              The  cache  for  the  root user is called the system cache. This
163              switch allows a regular user  read-only  access  to  the  system
164              cache,  which  usually is more fresh than the user's and thus he
165              does not have to wait for metadata sync.
166
167       --color=<color>
168              Control whether color is used in terminal output.  Valid  values
169              are always, never and auto (default).
170
171       --comment=<comment>
172              Add a comment to the transaction history.
173
174       -c <config file>, --config=<config file>
175              Configuration file location.
176
177       --cve=<cves>, --cves=<cves>
178              Include  packages  that  fix  a  CVE (Common Vulnerabilities and
179              Exposures) ID (http://cve.mitre.org/about/), Eg.  CVE-2201-0123.
180              Applicable  for  the install, repoquery, updateinfo, and upgrade
181              commands.
182
183       -d <debug level>, --debuglevel=<debug level>
184              Debugging output level. This is an integer value between  0  (no
185              additional  information  strings)  and  10  (shows all debugging
186              information, even that not understandable to the user),  default
187              is 2. Deprecated, use -v instead.
188
189       --debugsolver
190              Dump  data  aiding  in dependency solver debugging into ./debug‐
191              data.
192
193       --disableexcludes=[all|main|<repoid>],               --disableexcludep‐
194       kgs=[all|main|<repoid>]
195          Disable  the configuration file excludes. Takes one of the following
196          three options:
197
198          · all, disables all configuration file excludes
199
200          · main, disables excludes defined in the [main] section
201
202          · repoid, disables excludes defined for the given repository
203
204       --disable, --set-disabled
205              Disable specified repositories (automatically saves). The option
206              has   to  be  used  together  with  the  config-manager  command
207              (dnf-plugins-core).
208
209       --disableplugin=<plugin names>
210              Disable the listed plugins specified by names or globs.
211
212       --disablerepo=<repoid>
213              Disable specific repositories by an id or a glob. This option is
214              mutually exclusive with --repo.
215
216       --downloaddir=<path>, --destdir=<path>
217              Redirect  downloaded  packages to provided directory. The option
218              has to be used together with  the  --downloadonly  command  line
219              option, with the download command (dnf-plugins-core) or with the
220              system-upgrade command (dnf-plugins-extras).
221
222       --downloadonly
223              Download the resolved package set  without  performing  any  rpm
224              transaction (install/upgrade/erase).
225
226       -e <error level>, --errorlevel=<error level>
227              Error output level. This is an integer value between 0 (no error
228              output) and 10 (shows all error messages), default is 3.  Depre‐
229              cated, use -v instead.
230
231       --enable, --set-enabled
232              Enable  specified repositories (automatically saves). The option
233              has  to  be  used  together  with  the  config-manager   command
234              (dnf-plugins-core).
235
236       --enableplugin=<plugin names>
237              Enable the listed plugins specified by names or globs.
238
239       --enablerepo=<repoid>
240              Enable additional repositories by an id or a glob.
241
242       --enhancement
243              Include   enhancement  relevant  packages.  Applicable  for  the
244              install, repoquery, updateinfo and upgrade commands.
245
246       -x <package-file-spec>, --exclude=<package-file-spec>
247              Exclude packages specified by <package-file-spec> from the oper‐
248              ation.
249
250       --excludepkgs=<package-file-spec>
251              Deprecated option. It was replaced by the --exclude option.
252
253       --forcearch=<arch>
254              Force the use of an architecture. Any architecture can be speci‐
255              fied.  However, use of an architecture not supported natively by
256              your  CPU  will  require emulation of some kind. This is usually
257              through QEMU. The behavior of --forcearch can be  configured  by
258              using  the arch and ignorearch configuration options with values
259              <arch> and True respectively.
260
261       -h, --help, --help-cmd
262              Show the help.
263
264       --installroot=<path>
265              Specifies an alternative  installroot,  relative  to  where  all
266              packages  will  be  installed.  Think  of this like doing chroot
267              <root> dnf, except using --installroot allows dnf to work before
268              the chroot is created. It requires absolute path.
269
270       · cachedir,  log files, releasever, and gpgkey are taken from or stored
271         in the installroot. Gpgkeys are imported into the installroot from  a
272         path  relative  to  the host which can be specified in the repository
273         section of configuration files.
274
275       · configuration file and reposdir are searched inside  the  installroot
276         first.  If they are not present, they are taken from the host system.
277         Note:  When a path  is  specified  within  a  command  line  argument
278         (--config=<config   file>   in   case   of   configuration  file  and
279         --setopt=reposdir=<reposdir> for reposdir) then this path  is  always
280         relative to the host with no exceptions.
281
282       · vars  are  taken  from  the  host  system or installroot according to
283         reposdir installroot. When varsdir paths are specified within a  com‐
284         mand  line argument (--setopt=varsdir=<reposdir>) then those path are
285         always relative to the host with no exceptions.
286
287       · The pluginpath and pluginconfpath are relative to the host.
288          Note: You may also want to  use  the  command-line  option  --relea‐
289          sever=<release> when creating the installroot, otherwise the $relea‐
290          sever value is taken from the rpmdb within the installroot (and thus
291          it  is empty at the time of creation and the transaction will fail).
292          If --releasever=/ is used, the releasever will be detected from  the
293          host  (/)  system.  The new installroot path at the time of creation
294          does not contain the repository, releasever and dnf.conf files.
295
296          On a modular system you may  also  want  to  use  the  --setopt=mod‐
297          ule_platform_id=<module_platform_name:stream>   command-line  option
298          when creating  the  installroot,  otherwise  the  module_platform_id
299          value  will  be  taken  from  the  /etc/os-release  file  within the
300          installroot (and thus it will be empty at the time of creation,  the
301          modular dependency could be unsatisfied and modules content could be
302          excluded).
303
304          Installroot examples:
305
306          dnf --installroot=<installroot> --releasever=<release> install  sys‐
307          tem-release
308                 Permanently   sets  the  releasever  of  the  system  in  the
309                 <installroot> directory to <release>.
310
311          dnf  --installroot=<installroot>  --setopt=reposdir=<path>  --config
312          /path/dnf.conf upgrade
313                 Upgrades  packages  inside  the installroot from a repository
314                 described    by    --setopt    using    configuration    from
315                 /path/dnf.conf.
316
317       --newpackage
318              Include   newpackage   relevant  packages.  Applicable  for  the
319              install, repoquery, updateinfo and upgrade commands.
320
321       --noautoremove
322              Disable removal of dependencies that are no longer used. It sets
323              clean_requirements_on_remove configuration option to False.
324
325       --nobest
326              Set  best  option to False, so that transactions are not limited
327              to best candidates only.
328
329       --nodocs
330              Do  not  install  documentation.  Sets  the   rpm   flag   'RPM‐
331              TRANS_FLAG_NODOCS'.
332
333       --nogpgcheck
334              Skip checking GPG signatures on packages (if RPM policy allows).
335
336       --noplugins
337              Disable all plugins.
338
339       --obsoletes
340              This option has an effect on an install/update, it enables dnf's
341              obsoletes processing logic. For more information see  the  obso‐
342              letes option.
343
344              This  option  also  displays capabilities that the package obso‐
345              letes when used together with the repoquery command.
346
347              Configuration Option: obsoletes
348
349       -q, --quiet
350              In combination with a non-interactive command,  shows  just  the
351              relevant  content.  Suppresses messages notifying about the cur‐
352              rent state or actions of DNF.
353
354       -R <minutes>, --randomwait=<minutes>
355              Maximum command wait time.
356
357       --refresh
358              Set metadata as expired before running the command.
359
360       --releasever=<release>
361              Configure DNF as if the distribution release was <release>. This
362              can  affect  cache paths, values in configuration files and mir‐
363              rorlist URLs.
364
365       --repofrompath <repo>,<path/url>
366              Specify a repository to add to the repositories for this  query.
367              This option can be used multiple times.
368
369       · The repository label is specified by <repo>.
370
371       · The  path or url to the repository is specified by <path/url>.  It is
372         the same path as a baseurl and can be also enriched by the repo vari‐
373         ables.
374
375       · The  configuration  for  the  repository  can  be  adjusted  using -‐
376         -setopt=<repo>.<option>=<value>.
377
378       · If you want to view only packages from this repository, combine  this
379         with the --repo=<repo> or --disablerepo="*" switches.
380
381       --repo=<repoid>, --repoid=<repoid>
382              Enable  just  specific  repositories  by an id or a glob. Can be
383              used multiple times with accumulative effect. It is basically  a
384              shortcut  for  --disablerepo="*"  --enablerepo=<repoid>  and  is
385              mutually exclusive with the --disablerepo option.
386
387       --rpmverbosity=<name>
388              RPM debug scriptlet output level. Sets the debug level to <name>
389              for  RPM scriptlets.  For available levels, see the rpmverbosity
390              configuration option.
391
392       --sec-severity=<severity>, --secseverity=<severity>
393              Includes packages that provide a fix for an issue of the  speci‐
394              fied  severity.   Applicable for the install, repoquery, update‐
395              info and upgrade commands.
396
397       --security
398              Includes packages that provide  a  fix  for  a  security  issue.
399              Applicable for the upgrade command.
400
401       --setopt=<option>=<value>
402              Override  a configuration option from the configuration file. To
403              override   configuration   options   for    repositories,    use
404              repoid.option for the <option>. Values for configuration options
405              like excludepkgs, includepkgs, installonlypkgs and  tsflags  are
406              appended  to  the  original value, they do not override it. How‐
407              ever, specifying an empty value  (e.g.  --setopt=tsflags=)  will
408              clear the option.
409
410       --skip-broken
411              Resolve  depsolve problems by removing packages that are causing
412              problems from the transaction.  It is an alias  for  the  strict
413              configuration  option  with value False.  Additionally, with the
414              enable and disable module subcommands it allows one  to  perform
415              an action even in case of broken modular dependencies.
416
417       --showduplicates
418              Show duplicate packages in repositories. Applicable for the list
419              and search commands.
420
421       -v, --verbose
422              Verbose operation, show debug messages.
423
424       --version
425              Show DNF version and exit.
426
427       -y, --assumeyes
428              Automatically answer yes for all questions.
429
430       List options are comma-separated. Command-line options override respec‐
431       tive settings from configuration files.
432

COMMANDS

434       For  an  explanation  of  <package-spec>  and  <package-file-spec>  see
435       Specifying Packages.
436
437       For an explanation of <package-nevr-spec> see Specifying Exact Versions
438       of Packages.
439
440       For an explanation of <provide-spec> see Specifying Provides.
441
442       For an explanation of <group-spec> see Specifying Groups.
443
444       For an explanation of <module-spec> see Specifying Modules.
445
446       For an explanation of <transaction-spec> see Specifying Transactions.
447
448   Alias Command
449       Allows  the  user  to  define and manage a list of aliases (in the form
450       <name=value>), which can be then used as  dnf  commands  to  abbreviate
451       longer  command sequences. For examples on using the alias command, see
452       Alias Examples. For examples on the alias processing,  see  Alias  Pro‐
453       cessing Examples.
454
455       To  use  an  alias  (name=value),  the name must be placed as the first
456       "command" (e.g. the first argument that is not an option). It  is  then
457       replaced  by its value and the resulting sequence is again searched for
458       aliases. The alias processing stops when the first found command is not
459       a name of any alias.
460
461       Also,  like  in shell aliases, if the result starts with a \, the alias
462       processing will stop.
463
464       All   aliases   are   defined   in   configuration   files    in    the
465       /etc/dnf/aliases.d/  directory  in  the  [aliases] section, and aliases
466       created by the  alias  command  are  written  to  the  USER.conf  file.
467       Optionally,  there is the enabled option in the [main] section default‐
468       ing to True. This can be set for each file separately in the respective
469       file, or globally for all aliases in the ALIASES.conf file.
470
471       dnf alias [options] [list] [<name>...]
472          List  aliases  with  their  final result. The [<alias>...] parameter
473          further limits the result to only those aliases matching it.
474
475       dnf alias [options] add <name=value>...
476          Create new aliases.
477
478       dnf alias [options] delete <name>...
479          Delete aliases.
480
481   Alias Examples
482       dnf alias list
483              Lists all defined aliases.
484
485       dnf alias add rm=remove
486              Adds new alias command called "rm" which does the same thing  as
487              the command "remove".
488
489       dnf   alias  add  update="\update  --skip-broken  --disableexcludes=all
490       --obsoletes"
491              Adds new alias command called "update" which does the same thing
492              as  the  command "update", but with options --skip-broken --dis‐
493              ableexcludes=all --obsoletes.
494
495   Alias Processing Examples
496       If there are defined aliases in=install and FORCE="--skip-broken --dis‐
497       ableexcludes=all":
498
499       · dnf  FORCE  in  will  be replaced with dnf --skip-broken --disableex‐
500         cludes=all install
501
502       · dnf in FORCE will be replaced with  dnf  install  FORCE  (which  will
503         fail)
504
505       If there is defined alias in=install:
506
507       · dnf in will be replaced with dnf install
508
509       · dnf  --repo  updates  in  will be replaced with dnf --repo updates in
510         (which will fail)
511
512   Auto Remove Command
513       dnf [options] autoremove
514          Removes all "leaf" packages from the  system  that  were  originally
515          installed  as dependencies of user-installed packages, but which are
516          no longer required by any such package.
517
518       Packages listed in installonlypkgs are never automatically  removed  by
519       this command.
520
521       dnf [options] autoremove <spec>...
522          This  is an alias for the Remove Command command with clean_require‐
523          ments_on_remove set to True. It removes the specified packages  from
524          the  system  along with any packages depending on the packages being
525          removed. Each <spec> can be either a <package-spec>, which specifies
526          a package directly, or a @<group-spec>, which specifies an (environ‐
527          ment) group which contains it. It also removes any dependencies that
528          are no longer needed.
529
530          There  are  also  a  few  specific autoremove commands autoremove-n,
531          autoremove-na and autoremove-nevra that allow the  specification  of
532          an exact argument in the NEVRA (name-epoch:version-release.architec‐
533          ture) format.
534
535       This command by default does not force a sync of expired metadata.  See
536       also Metadata Synchronization.
537
538   Check Command
539       dnf   [options]  check  [--dependencies]  [--duplicates]  [--obsoleted]
540       [--provides]
541          Checks the local packagedb and produces information on any  problems
542          it  finds.  You  can  limit  the checks to be performed by using the
543          --dependencies, --duplicates,  --obsoleted  and  --provides  options
544          (the default is to check everything).
545
546   Check-Update Command
547       dnf [options] check-update [--changelogs] [<package-file-spec>...]
548          Non-interactively  checks  if  updates of the specified packages are
549          available. If no <package-file-spec> is given,  checks  whether  any
550          updates  at all are available for your system. DNF exit code will be
551          100 when there are updates available and a list of the updates  will
552          be  printed,  0  if  not  and  1 if an error occurs. If --changelogs
553          option is specified, also changelog delta of packages  about  to  be
554          updated is printed.
555
556          Please  note  that  having a specific newer version available for an
557          installed package (and reported by check-update) does not imply that
558          subsequent  dnf  upgrade will install it. The difference is that dnf
559          upgrade has restrictions (like package dependencies being satisfied)
560          to take into account.
561
562          The output is affected by the autocheck_running_kernel configuration
563          option.
564
565   Clean Command
566       Performs  cleanup  of  temporary  files  kept  for  repositories.  This
567       includes  any  such data left behind from disabled or removed reposito‐
568       ries as well as for different distribution release versions.
569
570       dnf clean dbcache
571              Removes cache files generated from the repository metadata. This
572              forces  DNF  to  regenerate  the cache files the next time it is
573              run.
574
575       dnf clean expire-cache
576              Marks the repository metadata expired. DNF will re-validate  the
577              cache for each repository the next time it is used.
578
579       dnf clean metadata
580              Removes  repository metadata. Those are the files which DNF uses
581              to determine the remote availability  of  packages.  Using  this
582              option  will make DNF download all the metadata the next time it
583              is run.
584
585       dnf clean packages
586              Removes any cached packages from the system.
587
588       dnf clean all
589              Does all of the above.
590
591   Deplist command
592       dnf  [options]  deplist  [<select-options>]  [<query-options>]  [<pack‐
593       age-spec>]
594              Alias for dnf repoquery --deplist.
595
596   Distro-Sync command
597       dnf distro-sync [<package-spec>...]
598              As  necessary  upgrades,  downgrades or keeps selected installed
599              packages to match the latest version available from any  enabled
600              repository.  If  no package is given, all installed packages are
601              considered.
602
603              See also Configuration Files Replacement Policy.
604
605   Distribution-Synchronization command
606       dnf distribution-synchronization
607              Deprecated alias for the Distro-Sync command.
608
609   Downgrade Command
610       dnf [options] downgrade <package-spec>...
611              Downgrades the specified packages  to  the  highest  installable
612              package of all known lower versions if possible. When version is
613              given and is lower than version of  installed  package  then  it
614              downgrades to target version.
615
616   Erase Command
617       dnf [options] erase <spec>...
618              Deprecated alias for the Remove Command.
619
620   Group Command
621       Groups  are  virtual collections of packages. DNF keeps track of groups
622       that the user selected ("marked") installed and can manipulate the com‐
623       prising packages with simple commands.
624
625       dnf [options] group [summary] <group-spec>
626              Display overview of how many groups are installed and available.
627              With a spec, limit the output to the matching groups. summary is
628              the default groups subcommand.
629
630       dnf [options] group info <group-spec>
631              Display  package  lists  of  a  group.  Shows which packages are
632              installed or available from a repository when -v is used.
633
634       dnf [options] group install [--with-optional] <group-spec>...
635              Mark the specified group installed and install packages it  con‐
636              tains.   Also   include   optional  packages  of  the  group  if
637              --with-optional is specified. All mandatory and Default packages
638              will  be  installed whenever possible.  Conditional packages are
639              installed if they meet  their  requirement.   If  the  group  is
640              already  (partially) installed, the command installs the missing
641              packages from the group.  Depending on the  value  of  obsoletes
642              configuration  option  group  installation  takes obsoletes into
643              account.
644
645       dnf [options] group list <group-spec>...
646              List all matching groups, either among  installed  or  available
647              groups.   If  nothing  is  specified,  list  all  known  groups.
648              --installed and --available options narrow  down  the  requested
649              list.   Records  are ordered by the display_order tag defined in
650              comps.xml file.  Provides a list of all hidden groups  by  using
651              option  --hidden.   Provides  group  IDs  when  the  -v or --ids
652              options are used.
653
654       dnf [options] group remove <group-spec>...
655              Mark the group removed and remove those packages  in  the  group
656              from  the  system which do not belong to another installed group
657              and were not installed explicitly by the user.
658
659       dnf [options] group upgrade <group-spec>...
660              Upgrades the packages from the  group  and  upgrades  the  group
661              itself.  The  latter  comprises of installing packages that were
662              added to the group by the  distribution  and  removing  packages
663              that  got  removed  from  the  group  as  far  as  they were not
664              installed explicitly by the user.
665
666       Groups can also be  marked  installed  or  removed  without  physically
667       manipulating any packages:
668
669       dnf [options] group mark install <group-spec>...
670              Mark   the  specified  group  installed.  No  packages  will  be
671              installed by this command, but  the  group  is  then  considered
672              installed.
673
674       dnf [options] group mark remove <group-spec>...
675              Mark the specified group removed. No packages will be removed by
676              this command.
677
678       See also Configuration Files Replacement Policy.
679
680   Groups Command
681       dnf [options] groups
682              Deprecated alias for the Group Command.
683
684   Help Command
685       dnf help [<command>]
686              Displays the help text for all commands. If given a command name
687              then only displays help for that particular command.
688
689   History Command
690       The  history  command allows the user to view what has happened in past
691       transactions and act according to this information (assuming  the  his‐
692       tory_record configuration option is set).
693
694       dnf history [list] [<spec>...]
695              The  default  history  action is listing information about given
696              transactions in a table. Each <spec> can be either  a  <transac‐
697              tion-spec>, which specifies a transaction directly, or a <trans‐
698              action-spec>..<transaction-spec>, which  specifies  a  range  of
699              transactions, or a <package-name-spec>, which specifies a trans‐
700              action by a package which it manipulated. When no transaction is
701              specified, list all known transactions.
702
703       dnf history info [<spec>...]
704              Describe  the  given  transactions. The meaning of <spec> is the
705              same as in the History List  Command.  When  no  transaction  is
706              specified, describe what happened during the latest transaction.
707
708       dnf history redo <transaction-spec>|<package-file-spec>
709              Repeat  the  specified  transaction.  Uses  the last transaction
710              (with the highest ID) if more than  one  transaction  for  given
711              <package-file-spec> is found. If it is not possible to redo some
712              operations due to the current state of RPMDB, it will  not  redo
713              the transaction.
714
715       dnf history rollback <transaction-spec>|<package-file-spec>
716              Undo all transactions performed after the specified transaction.
717              Uses the last transaction (with the highest ID) if more than one
718              transaction  for  given  <package-file-spec> is found.  If it is
719              not possible to undo some transactions due to the current  state
720              of RPMDB, it will not undo any transaction.
721
722       dnf history undo <transaction-spec>|<package-file-spec>
723              Perform  the  opposite  operation to all operations performed in
724              the specified transaction.  Uses the last transaction (with  the
725              highest  ID)  if  more  than  one  transaction  for given <pack‐
726              age-file-spec> is found. If it is  not  possible  to  undo  some
727              operations  due  to the current state of RPMDB, it will not undo
728              the transaction.
729
730       dnf history userinstalled
731              Show all installonly packages, packages installed outside of DNF
732              and packages not installed as dependency. I.e. it lists packages
733              that will stay on the system when Auto Remove Command or  Remove
734              Command  along  with  clean_requirements_on_remove configuration
735              option set to True is executed. Note the  same  results  can  be
736              accomplished  with  dnf repoquery --userinstalled, and the repo‐
737              query command is more powerful in formatting of the output.
738
739       This command by default does not force  a  sync  of  expired  metadata,
740       except for the redo, rollback, and undo subcommands.  See also Metadata
741       Synchronization and Configuration Files Replacement Policy.
742
743   Info Command
744       dnf [options] info [<package-file-spec>...]
745              Lists description and summary information  about  installed  and
746              available packages.
747
748       This  command by default does not force a sync of expired metadata. See
749       also Metadata Synchronization.
750
751   Install Command
752       dnf [options] install <spec>...
753              Makes sure that the given packages and  their  dependencies  are
754              installed   on   the   system.  Each  <spec>  can  be  either  a
755              <package-spec>, or a @<module-spec>, or  a  @<group-spec>.   See
756              Install  Examples.  If a given package or provide cannot be (and
757              is not already) installed, the exit code will be  non-zero.   If
758              the  <spec>  matches  both a @<module-spec> and a @<group-spec>,
759              only the module is installed.
760
761              When <package-spec> to specify the exact version of the  package
762              is  given, DNF will install the desired version, no matter which
763              version of the package is already installed. The former  version
764              of  the  package  will be removed in the case of non-installonly
765              package.
766
767              There are  also  a  few  specific  install  commands  install-n,
768              install-na  and install-nevra that allow the specification of an
769              exact argument in the NEVRA format.
770
771              See also Configuration Files Replacement Policy.
772
773   Install Examples
774       dnf install tito
775              Install the tito package (tito is the package name).
776
777       dnf install ~/Downloads/tito-0.6.2-1.fc22.noarch.rpm
778              Install a local rpm file tito-0.6.2-1.fc22.noarch.rpm  from  the
779              ~/Downloads/ directory.
780
781       dnf install tito-0.5.6-1.fc22
782              Install  the  package with a specific version. If the package is
783              already installed it will  automatically  try  to  downgrade  or
784              upgrade to the specific version.
785
786       dnf --best install tito
787              Install  the  latest  available  version  of the package. If the
788              package is  already  installed  it  will  try  to  automatically
789              upgrade  to  the  latest  version.  If the latest version of the
790              package cannot be installed, the installation will fail.
791
792       dnf install vim
793              DNF will automatically recognize that vim is not a package name,
794              but  will  look  up and install a package that provides vim with
795              all the required dependencies.  Note:  Package  name  match  has
796              precedence over package provides match.
797
798       dnf          install          https://kojipkgs.fedoraproject.org//pack
799       ages/tito/0.6.0/1.fc22/noarch/tito-0.6.0-1.fc22.noarch.rpm
800              Install a package directly from a URL.
801
802       dnf install '@docker'
803              Install all default profiles of module 'docker' and their  RPMs.
804              Module streams get enabled accordingly.
805
806       dnf install '@Web Server'
807              Install the 'Web Server' environmental group.
808
809       dnf install /usr/bin/rpmsign
810              Install a package that provides the /usr/bin/rpmsign file.
811
812       dnf -y install tito --setopt=install_weak_deps=False
813              Install the tito package (tito is the package name) without weak
814              deps. Weak deps are not required for core functionality  of  the
815              package,  but  they  enhance the original package (like extended
816              documentation, plugins, additional functions, etc.).
817
818       dnf install --advisory=FEDORA-2018-b7b99fe852 \*
819              Install all packages that belong to the "FEDORA-2018-b7b99fe852"
820              advisory.
821
822   List Command
823       Prints  lists  of  packages  depending on the packages' relation to the
824       system. A package is installed if it is present in the RPMDB, and it is
825       available  if  it  is not installed but is present in a repository that
826       DNF knows about.  The list command can also limit the  displayed  pack‐
827       ages  according to specific criteria, e.g. to only those that update an
828       installed package. The exclude option in  the  configuration  file  can
829       influence  the result, but if the --disableexcludes command line option
830       is used, it ensures that all installed packages will be listed.
831
832       dnf [options] list [--all] [<package-file-spec>...]
833              Lists all packages, present in the RPMDB,  in  a  repository  or
834              both.
835
836       dnf [options] list --installed [<package-file-spec>...]
837              Lists installed packages.
838
839       dnf [options] list --available [<package-file-spec>...]
840              Lists available packages.
841
842       dnf [options] list --extras [<package-file-spec>...]
843              Lists  extras, that is packages installed on the system that are
844              not available in any known repository.
845
846       dnf [options] list --obsoletes [<package-file-spec>...]
847              List packages installed on the  system  that  are  obsoleted  by
848              packages in any known repository.
849
850       dnf [options] list --recent [<package-file-spec>...]
851              List packages recently added into the repositories.
852
853       dnf [options] list --upgrades [<package-file-spec>...]
854              List upgrades available for the installed packages.
855
856       dnf [options] list --autoremove
857              List  packages  which will be removed by the dnf autoremove com‐
858              mand.
859
860       This command by default does not force a sync of expired metadata.  See
861       also Metadata Synchronization.
862
863   Localinstall Command
864       dnf [options] localinstall <spec>...
865              Deprecated alias for the Install Command.
866
867   Makecache Command
868       dnf [options] makecache
869              Downloads  and  caches  metadata  for  all known repos. Tries to
870              avoid downloading whenever possible (e.g. when the  local  meta‐
871              data  hasn't  expired  yet or when the metadata timestamp hasn't
872              changed).
873
874       dnf [options] makecache --timer
875              Like  plain  makecache,   but   instructs   DNF   to   be   more
876              resource-aware,  meaning  it  will not do anything if running on
877              battery power and will terminate immediately if  it's  too  soon
878              after  the last successful makecache run (see dnf.conf(5), meta‐
879              data_timer_sync).
880
881   Mark Command
882       dnf mark install <package-spec>...
883              Marks the specified packages as installed by user. This  can  be
884              useful  if  any  package  was  installed  as a dependency and is
885              desired to stay on the system when Auto Remove Command or Remove
886              Command  along  with  clean_requirements_on_remove configuration
887              option set to True is executed.
888
889       dnf mark remove <package-spec>...
890              Unmarks the specified packages as installed  by  user.  Whenever
891              you  as a user don't need a specific package you can mark it for
892              removal. The package stays installed on the system but  will  be
893              removed  when  Auto  Remove Command or Remove Command along with
894              clean_requirements_on_remove configuration option set to True is
895              executed.  You  should use this operation instead of Remove Com‐
896              mand if you're not sure whether the package is a requirement  of
897              other user installed packages on the system.
898
899       dnf mark group <package-spec>...
900              Marks  the specified packages as installed by group. This can be
901              useful if any package was installed as a dependency  or  a  user
902              and  is  desired  to  be protected and handled as a group member
903              like during group remove.
904
905   Module Command
906       Modularity overview is available at man page dnf.modularity(7).  Module
907       subcommands  take  <module-spec>...  arguments  that specify modules or
908       profiles.
909
910       dnf [options] module install <module-spec>...
911              Install module profiles, including their packages.  In  case  no
912              profile  was provided, all default profiles get installed.  Mod‐
913              ule streams get enabled accordingly.
914
915              This command cannot be used for switching module streams. It  is
916              recommended  to remove all installed content from the module and
917              reset the module using the reset command. After  you  reset  the
918              module, you can install the other stream.
919
920       dnf [options] module update <module-spec>...
921              Update packages associated with an active module stream, option‐
922              ally restricted to a profile.  If the profile_name is  provided,
923              only the packages referenced by that profile will be updated.
924
925       dnf [options] module remove <module-spec>...
926              Remove  installed  module profiles, including packages that were
927              installed with the dnf module install command. Will  not  remove
928              packages required by other installed module profiles or by other
929              user-installed packages.  In case no profile was  provided,  all
930              installed profiles get removed.
931
932       dnf [options] module remove --all <module-spec>...
933              Remove  installed  module profiles, including packages that were
934              installed with the  dnf  module  install  command.   With  --all
935              option it additionally removes all packages whose names are pro‐
936              vided by specified modules. Packages required by other installed
937              module  profiles  and  packages whose names are also provided by
938              any other module are not removed.
939
940       dnf [options] module enable <module-spec>...
941              Enable a module stream and make the stream RPMs available in the
942              package set.
943
944              Modular dependencies are resolved, dependencies checked and also
945              recursively enabled. In case of  modular  dependency  issue  the
946              operation  will be rejected. To perform the action anyway please
947              use --skip-broken option.
948
949              This command cannot be used for switching module streams. It  is
950              recommended to remove all installed content from the module, and
951              reset the module using the reset command. After  you  reset  the
952              module, you can enable the other stream.
953
954       dnf [options] module disable <module-name>...
955              Disable  a  module.  All  related  module  streams  will  become
956              unavailable.   Consequently,  all  installed  profiles  will  be
957              removed and the module RPMs will become unavailable in the pack‐
958              age set. In case of modular dependency issue the operation  will
959              be  rejected.  To  perform  the  action  anyway  please  use  -‐
960              -skip-broken option.
961
962       dnf [options] module reset <module-name>...
963              Reset module state so it's no longer enabled or disabled.   Con‐
964              sequently,  all installed profiles will be removed and only RPMs
965              from the default stream will be available in the package set.
966
967       dnf [options] module provides <package-name-spec>...
968              Lists all modular packages matching <package-name-spec> from all
969              modules (including disabled), along with the modules and streams
970              they belong to.
971
972       dnf [options] module list [--all] [module_name...]
973              Lists all module streams, their profiles  and  states  (enabled,
974              disabled, default).
975
976       dnf [options] module list --enabled [module_name...]
977              Lists module streams that are enabled.
978
979       dnf [options] module list --disabled [module_name...]
980              Lists module streams that are disabled.
981
982       dnf [options] module list --installed [module_name...]
983              List module streams with installed profiles.
984
985       dnf [options] module info <module-spec>...
986              Print detailed information about given module stream.
987
988       dnf [options] module info --profile <module-spec>...
989              Print detailed information about given module profiles.
990
991       dnf [options] module repoquery <module-spec>...
992              List all available packages belonging to selected modules.
993
994       dnf [options] module repoquery --available <module-spec>...
995              List all available packages belonging to selected modules.
996
997       dnf [options] module repoquery --installed <module-spec>...
998              List all installed packages with same name like packages belong‐
999              ing to selected modules.
1000
1001   Provides Command
1002       dnf [options] provides <provide-spec>
1003              Finds the packages providing the given <provide-spec>.  This  is
1004              useful  when one knows a filename and wants to find what package
1005              (installed or not) provides this file.   The  <provide-spec>  is
1006              gradually looked for at following locations:
1007
1008              1. The  <provide-spec>  is matched with all file provides of any
1009                 available package:
1010
1011                    $ dnf provides /usr/bin/gzip
1012                    gzip-1.9-9.fc29.x86_64 : The GNU data compression program
1013                    Matched from:
1014                    Filename    : /usr/bin/gzip
1015
1016              2. Then all provides of all available packages are searched:
1017
1018                    $ dnf provides "gzip(x86-64)"
1019                    gzip-1.9-9.fc29.x86_64 : The GNU data compression program
1020                    Matched from:
1021                    Provide     : gzip(x86-64) = 1.9-9.fc29
1022
1023              3. DNF assumes that the  <provide-spec>  is  a  system  command,
1024                 prepends  it  with  /usr/bin/,  /usr/sbin/ prefixes (one at a
1025                 time) and does the file provides  search  again.  For  legacy
1026                 reasons (packages that didn't do UsrMove) also /bin and /sbin
1027                 prefixes are being searched:
1028
1029                    $ dnf provides zless
1030                    gzip-1.9-9.fc29.x86_64 : The GNU data compression program
1031                    Matched from:
1032                    Filename    : /usr/bin/zless
1033
1034              4. If this last step also fails, DNF returns "Error: No  Matches
1035                 found".
1036
1037              This  command  by default does not force a sync of expired meta‐
1038              data. See also Metadata Synchronization.
1039
1040   Reinstall Command
1041       dnf [options] reinstall <package-spec>...
1042              Installs the specified packages, fails if some of  the  packages
1043              are  either  not  installed  or  not available (i.e. there is no
1044              repository where to download the same RPM).
1045
1046   Remove Command
1047       dnf [options] remove <package-spec>...
1048              Removes the specified packages from the system  along  with  any
1049              packages  depending  on  the packages being removed. Each <spec>
1050              can be  either  a  <package-spec>,  which  specifies  a  package
1051              directly,  or  a @<group-spec>, which specifies an (environment)
1052              group which  contains  it.  If  clean_requirements_on_remove  is
1053              enabled (the default), also removes any dependencies that are no
1054              longer needed.
1055
1056       dnf [options] remove --duplicates
1057              Removes older versions of  duplicate  packages.  To  ensure  the
1058              integrity  of  the  system  it reinstalls the newest package. In
1059              some cases the command cannot resolve conflicts. In  such  cases
1060              the  dnf  shell  command  with  remove  --duplicates and upgrade
1061              dnf-shell sub-commands could help.
1062
1063       dnf [options] remove --oldinstallonly
1064              Removes old installonly packages, keeping only installonly_limit
1065              latest versions.
1066
1067              There   are  also  a  few  specific  remove  commands  remove-n,
1068              remove-na and remove-nevra that allow the  specification  of  an
1069              exact argument in the NEVRA format.
1070
1071   Remove Examples
1072       dnf remove acpi tito
1073              Remove the acpi and tito packages.
1074
1075       dnf remove $(dnf repoquery --extras --exclude=tito,acpi)
1076              Remove  packages not present in any repository, but don't remove
1077              the tito and acpi packages (they still might be removed if  they
1078              depend on some of the removed packages).
1079
1080       Remove  older  versions  of duplicated packages (an equivalent of yum's
1081       package-cleanup --cleandups):
1082
1083          dnf remove --duplicates
1084
1085   Repoinfo Command
1086          An alias for the repolist command that provides more detailed infor‐
1087          mation like dnf repolist -v.
1088
1089   Repolist Command
1090       dnf [options] repolist [--enabled|--disabled|--all]
1091              Depending  on  the  exact command lists enabled, disabled or all
1092              known repositories. Lists all enabled repositories  by  default.
1093              Provides more detailed information when -v option is used.
1094
1095       This  command by default does not force a sync of expired metadata. See
1096       also Metadata Synchronization.
1097
1098   Repoquery Command
1099       dnf [options] repoquery  [<select-options>]  [<query-options>]  [<pack‐
1100       age-file-spec>]
1101              Searches  available  DNF  repositories for selected packages and
1102              displays the requested information about them. It is an  equiva‐
1103              lent of rpm -q for remote repositories.
1104
1105       dnf [options] repoquery --querytags
1106              Provides  the list of tags recognized by the --queryformat repo‐
1107              query option.
1108
1109              There are also a few specific  repoquery  commands  repoquery-n,
1110              repoquery-na and repoquery-nevra that allow the specification of
1111              an exact argument in the NEVRA format (does not affect arguments
1112              of options like --whatprovides <arg>, ...).
1113
1114   Select Options
1115       Together  with <package-file-spec>, control what packages are displayed
1116       in the output. If <package-file-spec> is given,  limits  the  resulting
1117       set  of  packages to those matching the specification. All packages are
1118       considered if no <package-file-spec> is specified.
1119
1120       <package-file-spec>
1121              Package specification in the  NEVRA  format  (name[-[epoch:]ver‐
1122              sion[-release]][.arch]),  a  package  provide or a file provide.
1123              See Specifying Packages.
1124
1125       -a, --all
1126              Query all packages (for rpmquery compatibility, also a shorthand
1127              for repoquery '*' or repoquery without arguments).
1128
1129       --arch <arch>[,<arch>...], --archlist <arch>[,<arch>...]
1130              Limit  the  resulting set only to packages of selected architec‐
1131              tures (default is all architectures). In some cases  the  result
1132              is  affected by the basearch of the running system, therefore to
1133              run repoquery for an arch incompatible with your system use  the
1134              --forcearch=<arch> option to change the basearch.
1135
1136       --duplicates
1137              Limit  the  resulting  set to installed duplicate packages (i.e.
1138              more package versions  for  the  same  name  and  architecture).
1139              Installonly packages are excluded from this set.
1140
1141       --unneeded
1142              Limit  the  resulting set to leaves packages that were installed
1143              as dependencies so they are no longer needed. This switch  lists
1144              packages  that  are  going to be removed after executing the dnf
1145              autoremove command.
1146
1147       --available
1148              Limit the resulting set  to  available  packages  only  (set  by
1149              default).
1150
1151       --disable-modular-filtering
1152              Disables  filtering  of  modular  packages,  so that packages of
1153              inactive module streams are included in the result.
1154
1155       --extras
1156              Limit the resulting set to packages that are not present in  any
1157              of the available repositories.
1158
1159       -f <file>, --file <file>
1160              Limit the resulting set only to the package that owns <file>.
1161
1162       --installed
1163              Limit  the resulting set to installed packages only. The exclude
1164              option in the configuration file might influence the result, but
1165              if  the  command  line  option   --disableexcludes  is  used, it
1166              ensures that all installed packages will be listed.
1167
1168       --installonly
1169              Limit the resulting set to installed installonly packages.
1170
1171       --latest-limit <number>
1172              Limit the resulting set to <number> of latest packages for every
1173              package  name  and  architecture.  If <number> is negative, skip
1174              <number> of latest packages. For a  negative  <number>  use  the
1175              --latest-limit=<number> syntax.
1176
1177       --recent
1178              Limit the resulting set to packages that were recently edited.
1179
1180       --repo <repoid>
1181              Limit the resulting set only to packages from a repository iden‐
1182              tified by <repoid>.  Can be used multiple times  with  accumula‐
1183              tive effect.
1184
1185       --unsatisfied
1186              Report  unsatisfied  dependencies among installed packages (i.e.
1187              missing requires and and existing conflicts).
1188
1189       --upgrades
1190              Limit the resulting set to packages that provide an upgrade  for
1191              some already installed package.
1192
1193       --userinstalled
1194              Limit  the  resulting set to packages installed by the user. The
1195              exclude option in the configuration  file  might  influence  the
1196              result,  but  if  the  command line option  --disableexcludes is
1197              used, it ensures that all installed packages will be listed.
1198
1199       --whatdepends <capability>
1200              Limit the resulting set only to packages that require,  enhance,
1201              recommend, suggest or supplement <capability>.
1202
1203       --whatconflicts <capability>
1204              Limit the resulting set only to packages that conflict <capabil‐
1205              ity>.
1206
1207       --whatenhances <capability>
1208              Limit the resulting set only to packages that enhance  <capabil‐
1209              ity>.  Use --whatdepends if you want to list all depending pack‐
1210              ages.
1211
1212       --whatobsoletes <capability>
1213              Limit the resulting set only to packages that obsolete <capabil‐
1214              ity>.
1215
1216       --whatprovides <capability>
1217              Limit  the resulting set only to packages that provide <capabil‐
1218              ity>.
1219
1220       --whatrecommends <capability>
1221              Limit the resulting set only to packages that  recommend  <capa‐
1222              bility>.  Use  --whatdepends  if  you want to list all depending
1223              packages.
1224
1225       --whatrequires <capability>
1226              Limit the resulting set only to packages that require  <capabil‐
1227              ity>.  Use --whatdepends if you want to list all depending pack‐
1228              ages.
1229
1230       --whatsuggests <capability>
1231              Limit the resulting set only to packages that suggest  <capabil‐
1232              ity>.  Use --whatdepends if you want to list all depending pack‐
1233              ages.
1234
1235       --whatsupplements <capability>
1236              Limit the resulting set only to packages that supplement  <capa‐
1237              bility>.  Use  --whatdepends  if  you want to list all depending
1238              packages.
1239
1240       --alldeps
1241              This option is stackable with  --whatrequires  or  --whatdepends
1242              only.  Additionally  it  adds all packages requiring the package
1243              features to the result set (used as default).
1244
1245       --exactdeps
1246              This option is stackable with  --whatrequires  or  --whatdepends
1247              only.  Limit  the  resulting  set  only to packages that require
1248              <capability> specified by --whatrequires.
1249
1250       --srpm Operate on the corresponding source RPM.
1251
1252   Query Options
1253       Set what information is displayed about each package.
1254
1255       The following are mutually exclusive, i.e. at most one  can  be  speci‐
1256       fied.  If  no query option is given, matching packages are displayed in
1257       the standard NEVRA notation.
1258
1259       -i, --info
1260              Show detailed information about the package.
1261
1262       -l, --list
1263              Show the list of files in the package.
1264
1265       -s, --source
1266              Show the package source RPM name.
1267
1268       --changelogs
1269              Print the package changelogs.
1270
1271       --conflicts
1272              Display capabilities that the package conflicts  with.  Same  as
1273              --qf "%{conflicts}.
1274
1275       --depends
1276              Display capabilities that the package depends on, enhances, rec‐
1277              ommends, suggests or supplements.
1278
1279       --enhances
1280              Display capabilities enhanced  by  the  package.  Same  as  --qf
1281              "%{enhances}"".
1282
1283       --location
1284              Show a location where the package could be downloaded from.
1285
1286       --obsoletes
1287              Display  capabilities  that  the package obsoletes. Same as --qf
1288              "%{obsoletes}".
1289
1290       --provides
1291              Display capabilities provided  by  the  package.  Same  as  --qf
1292              "%{provides}".
1293
1294       --recommends
1295              Display  capabilities  recommended  by the package. Same as --qf
1296              "%{recommends}".
1297
1298       --requires
1299              Display capabilities that the package depends on. Same  as  --qf
1300              "%{requires}".
1301
1302       --requires-pre
1303              Display  capabilities  that the package depends on for running a
1304              %pre script.  Same as --qf "%{requires-pre}".
1305
1306       --suggests
1307              Display capabilities suggested by  the  package.  Same  as  --qf
1308              "%{suggests}".
1309
1310       --supplements
1311              Display  capabilities  supplemented by the package. Same as --qf
1312              "%{supplements}".
1313
1314       --tree Display a recursive tree of packages with capabilities specified
1315              by  one  of the following supplementary options: --whatrequires,
1316              --requires,  --conflicts,  --enhances,  --suggests,  --provides,
1317              --supplements, --recommends.
1318
1319       --deplist
1320              Produce a list of all direct dependencies and what packages pro‐
1321              vide those dependencies for the given packages. The result  only
1322              shows the newest providers (which can be changed by using --ver‐
1323              bose).
1324
1325       --nvr  Show found packages in the name-version-release format. Same  as
1326              --qf "%{name}-%{version}-%{release}".
1327
1328       --nevra
1329              Show  found packages in the name-epoch:version-release.architec‐
1330              ture   format.    Same    as    --qf    "%{name}-%{epoch}:%{ver‐
1331              sion}-%{release}.%{arch}" (default).
1332
1333       --envra
1334              Show  found packages in the epoch:name-version-release.architec‐
1335              ture   format.    Same    as    --qf    "%{epoch}:%{name}-%{ver‐
1336              sion}-%{release}.%{arch}"
1337
1338       --qf <format>, --queryformat <format>
1339              Custom display format. <format> is the string to output for each
1340              matched package. Every occurrence of %{<tag>} within is replaced
1341              by  the corresponding attribute of the package. The list of rec‐
1342              ognized tags can be displayed by running dnf repoquery  --query‐
1343              tags.
1344
1345       --recursive
1346              Query  packages  recursively. Has to be used with --whatrequires
1347              <REQ> (optionally with --alldeps, but not with  --exactdeps)  or
1348              with --requires <REQ> --resolve.
1349
1350       --resolve
1351              resolve capabilities to originating package(s).
1352
1353   Examples
1354       Display NEVRAs of all available packages matching light*:
1355
1356          dnf repoquery 'light*'
1357
1358       Display  NEVRAs  of  all  available  packages  matching name light* and
1359       architecture noarch (accepts only arguments in the "<name>.<arch>" for‐
1360       mat):
1361
1362          dnf repoquery-na 'light*.noarch'
1363
1364       Display requires of all lighttpd packages:
1365
1366          dnf repoquery --requires lighttpd
1367
1368       Display packages providing the requires of python packages:
1369
1370          dnf repoquery --requires python --resolve
1371
1372       Display source rpm of ligttpd package:
1373
1374          dnf repoquery --source lighttpd
1375
1376       Display package name that owns the given file:
1377
1378          dnf repoquery --file /etc/lighttpd/lighttpd.conf
1379
1380       Display  name,  architecture  and  the  containing  repository  of  all
1381       lighttpd packages:
1382
1383          dnf repoquery --queryformat '%{name}.%{arch} : %{reponame}' lighttpd
1384
1385       Display all available packages providing "webserver":
1386
1387          dnf repoquery --whatprovides webserver
1388
1389       Display all available  packages  providing  "webserver"  but  only  for
1390       "i686" architecture:
1391
1392          dnf repoquery --whatprovides webserver --arch i686
1393
1394       Display duplicate packages:
1395
1396          dnf repoquery --duplicates
1397
1398       Display source packages that require a <provide> for a build:
1399
1400          dnf repoquery --disablerepo=* --enablerepo=*-source --arch=src --whatrequires <provide>
1401
1402   Repo-Pkgs Command
1403       dnf [options] repo-pkgs
1404              Deprecated alias for the Repository-Packages Command.
1405
1406   Repository-Packages Command
1407       The  repository-packages command allows the user to run commands on top
1408       of all packages in the repository named <repoid>. However,  any  depen‐
1409       dency resolution takes into account packages from all enabled reposito‐
1410       ries. The <package-file-spec> and <package-spec> specifications further
1411       limit  the  candidates  to only those packages matching at least one of
1412       them.
1413
1414       The info subcommand lists description  and  summary  information  about
1415       packages  depending  on  the  packages' relation to the repository. The
1416       list subcommand just prints lists of those packages.
1417
1418       dnf  [options]  repository-packages   <repoid>   check-update   [<pack‐
1419       age-file-spec>...]
1420              Non-interactively checks if updates of the specified packages in
1421              the repository are available. DNF exit code  will  be  100  when
1422              there  are  updates  available and a list of the updates will be
1423              printed.
1424
1425       dnf  [options]  repository-packages  <repoid>  info   [--all]   [<pack‐
1426       age-file-spec>...]
1427              List all related packages.
1428
1429       dnf  [options]  repository-packages  <repoid>  info --installed [<pack‐
1430       age-file-spec>...]
1431              List packages installed from the repository.
1432
1433       dnf [options] repository-packages  <repoid>  info  --available  [<pack‐
1434       age-file-spec>...]
1435              List  packages  available  in  the  repository but not currently
1436              installed on the system.
1437
1438       dnf  [options]  repository-packages  <repoid>  info  --extras   [<pack‐
1439       age-file-specs>...]
1440              List  packages installed from the repository that are not avail‐
1441              able in any repository.
1442
1443       dnf [options] repository-packages  <repoid>  info  --obsoletes  [<pack‐
1444       age-file-spec>...]
1445              List packages in the repository that obsolete packages installed
1446              on the system.
1447
1448       dnf  [options]  repository-packages  <repoid>  info  --recent   [<pack‐
1449       age-file-spec>...]
1450              List packages recently added into the repository.
1451
1452       dnf  [options]  repository-packages  <repoid>  info  --upgrades [<pack‐
1453       age-file-spec>...]
1454              List packages in the repository that upgrade packages  installed
1455              on the system.
1456
1457       dnf [options] repository-packages <repoid> install [<package-spec>...]
1458              Install all packages in the repository.
1459
1460       dnf   [options]   repository-packages  <repoid>  list  [--all]  [<pack‐
1461       age-file-spec>...]
1462              List all related packages.
1463
1464       dnf [options] repository-packages  <repoid>  list  --installed  [<pack‐
1465       age-file-spec>...]
1466              List packages installed from the repository.
1467
1468       dnf  [options]  repository-packages  <repoid>  list --available [<pack‐
1469       age-file-spec>...]
1470              List packages available in  the  repository  but  not  currently
1471              installed on the system.
1472
1473       dnf   [options]  repository-packages  <repoid>  list  --extras  [<pack‐
1474       age-file-spec>...]
1475              List packages installed from the repository that are not  avail‐
1476              able in any repository.
1477
1478       dnf  [options]  repository-packages  <repoid>  list --obsoletes [<pack‐
1479       age-file-spec>...]
1480              List packages in the repository that obsolete packages installed
1481              on the system.
1482
1483       dnf   [options]  repository-packages  <repoid>  list  --recent  [<pack‐
1484       age-file-spec>...]
1485              List packages recently added into the repository.
1486
1487       dnf [options]  repository-packages  <repoid>  list  --upgrades  [<pack‐
1488       age-file-spec>...]
1489              List  packages in the repository that upgrade packages installed
1490              on the system.
1491
1492       dnf [options] repository-packages <repoid> move-to [<package-spec>...]
1493              Reinstall all those packages that are available in  the  reposi‐
1494              tory.
1495
1496       dnf    [options]   repository-packages   <repoid>   reinstall   [<pack‐
1497       age-spec>...]
1498              Run the reinstall-old subcommand. If it fails, run  the  move-to
1499              subcommand.
1500
1501       dnf   [options]   repository-packages  <repoid>  reinstall-old  [<pack‐
1502       age-spec>...]
1503              Reinstall all those packages that were installed from the repos‐
1504              itory and simultaneously are available in the repository.
1505
1506       dnf [options] repository-packages <repoid> remove [<package-spec>...]
1507              Remove all packages installed from the repository along with any
1508              packages  depending  on   the   packages   being   removed.   If
1509              clean_requirements_on_remove   is  enabled  (the  default)  also
1510              removes any dependencies that are no longer needed.
1511
1512       dnf  [options]   repository-packages   <repoid>   remove-or-distro-sync
1513       [<package-spec>...]
1514              Select  all  packages  installed  from  the repository. Upgrade,
1515              downgrade or keep those of them that are  available  in  another
1516              repository  to  match  the  latest  version  available there and
1517              remove the others along with any packages depending on the pack‐
1518              ages  being  removed. If clean_requirements_on_remove is enabled
1519              (the default) also removes any dependencies that are  no  longer
1520              needed.
1521
1522       dnf  [options] repository-packages <repoid> remove-or-reinstall [<pack‐
1523       age-spec>...]
1524              Select all packages installed  from  the  repository.  Reinstall
1525              those  of  them  that  are  available  in another repository and
1526              remove the others along with any packages depending on the pack‐
1527              ages  being  removed. If clean_requirements_on_remove is enabled
1528              (the default) also removes any dependencies that are  no  longer
1529              needed.
1530
1531       dnf [options] repository-packages <repoid> upgrade [<package-spec>...]
1532              Update  all packages to the highest resolvable version available
1533              in the repository.
1534
1535       dnf   [options]   repository-packages   <repoid>   upgrade-to    <pack‐
1536       age-nevr-specs>...
1537              Update  packages to the specified versions that are available in
1538              the repository. Upgrade-to is a deprecated alias for the upgrade
1539              subcommand.
1540
1541   Search Command
1542       dnf [options] search [--all] <keywords>...
1543              Search  package  metadata  for keywords. Keywords are matched as
1544              case-insensitive substrings, globbing is supported.  By  default
1545              lists  packages  that  match all requested keys (AND operation).
1546              Keys are searched  in  package  names  and  summaries.   If  the
1547              "--all"  option  is used, lists packages that match at least one
1548              of the keys  (an  OR  operation).   In  addition  the  keys  are
1549              searched  in  the  package descriptions and URLs.  The result is
1550              sorted from the most relevant results to the least.
1551
1552       This command by default does not force a sync of expired metadata.  See
1553       also Metadata Synchronization.
1554
1555   Shell Command
1556       dnf [options] shell [filename]
1557              Open  an interactive shell for conducting multiple commands dur‐
1558              ing a single execution of DNF. These commands can be issued man‐
1559              ually  or  passed  to DNF from a file. The commands are much the
1560              same as the normal DNF command line options.  There  are  a  few
1561              additional commands documented below.
1562
1563              config [conf-option] [value]
1564
1565                     · Set  a configuration option to a requested value. If no
1566                       value is given it prints the current value.
1567
1568              repo [list|enable|disable] [repo-id]
1569
1570                     · list: list repositories and their status
1571
1572                     · enable: enable repository
1573
1574                     · disable: disable repository
1575
1576              transaction [list|reset|solve|run]
1577
1578                     · list: resolve and list the content of the transaction
1579
1580                     · reset: reset the transaction
1581
1582                     · run: resolve and run the transaction
1583
1584   Swap Command
1585       dnf [options] swap <remove-spec> <install-spec>
1586          Remove spec and install spec in one transaction. Each <spec> can  be
1587          either  a  <package-spec>,  which specifies a package directly, or a
1588          @<group-spec>, which specifies an (environment) group which contains
1589          it.  Automatic  conflict  solving is provided in DNF by the --allow‐
1590          erasing option that provides the functionality of the  swap  command
1591          automatically.
1592
1593   Update Command
1594       dnf [options] update
1595              Deprecated alias for the Upgrade Command.
1596
1597   Updateinfo Command
1598       dnf  [options]  updateinfo  [--summary|--list|--info]  [<availability>]
1599       [<spec>...]
1600              Display information about update advisories.
1601
1602              Depending on the output type, DNF displays just counts of  advi‐
1603              sory  types  (omitted or --summary), list of advisories (--list)
1604              or detailed information (--info). When the  -v  option  is  used
1605              with --info, the information is even more detailed.
1606
1607              <availability> specifies whether advisories about newer versions
1608              of installed packages (omitted or --available), advisories about
1609              equal  and  older  versions of installed packages (--installed),
1610              advisories about newer versions of those installed packages  for
1611              which  a  newer  version  is available (--updates) or advisories
1612              about any versions of installed packages (--all) are taken  into
1613              account.  Most  of  the time, --available and --updates displays
1614              the same output. The outputs differ only in the  cases  when  an
1615              advisory  refers  to  a  newer  version  but there is no enabled
1616              repository which contains any newer version.
1617
1618              Note, that --available tooks only the latest installed  versions
1619              of  packages  into account. In case of the kernel packages (when
1620              multiple version could be installed simultaneously)  also  pack‐
1621              ages of the currently running version of kernel are added.
1622
1623              To  print  only  advisories  referencing a CVE or a bugzilla use
1624              --with-cve or --with-bz options. When these  switches  are  used
1625              also  the output of the --list is altered - the ID of the CVE or
1626              the bugzilla is printed instead of the one of the advisory.
1627
1628              If given and if neither ID,  type  (bugfix,  enhancement,  secu‐
1629              rity/sec)  nor a package name of an advisory matches <spec>, the
1630              advisory is not taken into account. The matching is  case-sensi‐
1631              tive and in the case of advisory IDs and package names, globbing
1632              is supported.
1633
1634              Output of the --summary option is affected by the autocheck_run‐
1635              ning_kernel configuration option.
1636
1637   Update-Minimal Command
1638       dnf [options] update-minimal
1639              Deprecated alias for the Upgrade-Minimal Command.
1640
1641   Upgrade Command
1642       dnf [options] upgrade
1643              Updates  each  package to the latest version that is both avail‐
1644              able and resolvable.
1645
1646       dnf [options] upgrade <package-spec>...
1647              Updates each specified package to the latest available  version.
1648              Updates dependencies as necessary.
1649
1650       dnf [options] upgrade <package-nevr-specs>...
1651              Upgrades packages to the specified versions.
1652
1653       dnf [options] upgrade @<spec>...
1654              Alias for the dnf module update command.
1655
1656       If  the main obsoletes configure option is true or the --obsoletes flag
1657       is present, dnf will include package  obsoletes  in  its  calculations.
1658       For more information see obsoletes.
1659
1660       See also Configuration Files Replacement Policy.
1661
1662   Upgrade-Minimal Command
1663       dnf [options] upgrade-minimal
1664              Updates  each  package to the latest available version that pro‐
1665              vides a bugfix, enhancement or a fix for a security issue (secu‐
1666              rity).
1667
1668       dnf [options] upgrade-minimal <package-spec>...
1669              Updates  each  specified package to the latest available version
1670              that provides a bugfix, enhancement or a fix for security  issue
1671              (security). Updates dependencies as necessary.
1672
1673   Update-To Command
1674       dnf [options] update-to <package-nevr-specs>...
1675              Deprecated alias for the Upgrade Command.
1676
1677   Upgrade-To Command
1678       dnf [options] upgrade-to <package-nevr-specs>...
1679              Deprecated alias for the Upgrade Command.
1680

SPECIFYING PACKAGES

1682       Many  commands  take  a <package-spec> parameter that selects a package
1683       for the operation. The <package-spec> argument is matched against pack‐
1684       age NEVRAs, provides and file provides.
1685
1686       <package-file-spec>  is  similar  to  <package-spec>,  except  provides
1687       matching is not performed. Therefore,  <package-file-spec>  is  matched
1688       only against NEVRAs and file provides.
1689
1690       <package-name-spec> is matched against NEVRAs only.
1691
1692   Globs
1693       Package  specification  supports  the  same  glob pattern matching that
1694       shell does, in all three above mentioned packages  it  matches  against
1695       (NEVRAs, provides and file provides).
1696
1697       The following patterns are supported:
1698
1699       *      Matches any number of characters.
1700
1701       ?      Matches any single character.
1702
1703       []     Matches any one of the enclosed characters. A pair of characters
1704              separated by a hyphen denotes a range expression; any  character
1705              that  falls between those two characters, inclusive, is matched.
1706              If the first character following the [ is a ! or a  ^  then  any
1707              character not enclosed is matched.
1708
1709       {}     Matches any of the comma separated list of enclosed strings.
1710
1711   NEVRA Matching
1712       When  matching against NEVRAs, partial matching is supported. DNF tries
1713       to match the spec  against  the  following  list  of  NEVRA  forms  (in
1714       decreasing order of priority):
1715
1716       · name-[epoch:]version-release.arch
1717
1718       · name.arch
1719
1720       · name
1721
1722       · name-[epoch:]version-release
1723
1724       · name-[epoch:]version
1725
1726       Note   that   name   can   in   general   contain  dashes  (e.g.  pack‐
1727       age-with-dashes).
1728
1729       The first form that matches any packages  is  used  and  the  remaining
1730       forms  are  not  tried.  If  none  of  the forms match any packages, an
1731       attempt is made  to  match  the  <package-spec>  against  full  package
1732       NEVRAs.  This  is  only  relevant  if  globs  are present in the <pack‐
1733       age-spec>.
1734
1735       <package-spec> matches NEVRAs the same  way  <package-name-spec>  does,
1736       but  in  case  matching NEVRAs fails, it attempts to match against pro‐
1737       vides and file provides of packages as well.
1738
1739       You can specify globs as part of any of the five NEVRA components.  You
1740       can also specify a glob pattern to match over multiple NEVRA components
1741       (in other words, to match across the NEVRA separators). In  that  case,
1742       however,  you  need  to  write  the  spec to match against full package
1743       NEVRAs, as it is not possible to split such spec into NEVRA forms.
1744

SPECIFYING EXACT VERSIONS OF PACKAGES

1746       Commands accepting the <package-nevr-spec> parameter need not only  the
1747       name  of  the package, but also its version, release and optionally the
1748       architecture. Further, the version part can be  preceded  by  an  epoch
1749       when it is relevant (i.e. the epoch is non-zero).
1750

SPECIFYING PROVIDES

1752       <provide-spec>  in  command  descriptions means the command operates on
1753       packages providing the given spec. This can either be an explicit  pro‐
1754       vide, an implicit provide (i.e. name of the package) or a file provide.
1755       The selection is case-sensitive and globbing is supported.
1756

SPECIFYING GROUPS

1758       <group-spec> allows one to select  (environment)  groups  a  particular
1759       operation  should  work on. It is a case insensitive string (supporting
1760       globbing characters) that is matched against a  group's  ID,  canonical
1761       name and name translated into the current LC_MESSAGES locale (if possi‐
1762       ble).
1763

SPECIFYING MODULES

1765       <module-spec> allows one to select modules  or  profiles  a  particular
1766       operation should work on.
1767
1768       It  is in the form of NAME:STREAM:VERSION:CONTEXT:ARCH/PROFILE and sup‐
1769       ported partial forms are the following:
1770
1771       · NAME
1772
1773       · NAME:STREAM
1774
1775       · NAME:STREAM:VERSION
1776
1777       · NAME:STREAM:VERSION:CONTEXT
1778
1779       · all above combinations with ::ARCH (e.g. NAME::ARCH)
1780
1781       · NAME:STREAM:VERSION:CONTEXT:ARCH
1782
1783       · all above combinations with /PROFILE (e.g. NAME/PROFILE)
1784
1785       In case stream is not specified, the enabled or the default  stream  is
1786       used,  in  this  order.  In  case  profile is not specified, the system
1787       default profile or the 'default' profile is used.
1788

SPECIFYING TRANSACTIONS

1790       <transaction-spec> can be in one of several forms. If it is an integer,
1791       it  specifies a transaction ID. Specifying last is the same as specify‐
1792       ing the ID of the most recent transaction. The last form is  last-<off‐
1793       set>,  where  <offset>  is  a  positive integer. It specifies offset-th
1794       transaction preceding the most recent transaction.
1795

PACKAGE FILTERING

1797       Package filtering filters packages out from the available package  set,
1798       making them invisible to most of dnf commands. They cannot be used in a
1799       transaction. Packages can be filtered out by either  Exclude  Filtering
1800       or Modular Filtering.
1801
1802   Exclude Filtering
1803       Exclude  Filtering  is a mechanism used by a user or by a DNF plugin to
1804       modify the set of available packages. Exclude Filtering can be modified
1805       by  either includepkgs or excludepkgs configuration options in configu‐
1806       ration files. The --disableexcludes command line option can be used  to
1807       override excludes from configuration files. In addition to user-config‐
1808       ured excludes, plugins can also extend the set of excluded packages. To
1809       disable excludes from a DNF plugin you can use the --disableplugin com‐
1810       mand line option.
1811
1812       To disable all excludes for e.g. the install command you  can  use  the
1813       following combination of command line options:
1814
1815       dnf --disableexcludes=all --disableplugin=* install bash
1816
1817   Modular Filtering
1818       Please see the modularity documentation for details on how Modular Fil‐
1819       tering works.
1820
1821       With modularity, only RPM  packages  from  active  module  streams  are
1822       included  in the available package set. RPM packages from inactive mod‐
1823       ule streams, as well as non-modular packages with the same name or pro‐
1824       vides as a package from an active module stream, are filtered out. Mod‐
1825       ular filtering is not applied to packages added from the command  line,
1826       installed  packages,  or  packages  from  repositories with module_hot‐
1827       fixes=true in their .repo file.
1828
1829       Disabling of modular filtering is not  recommended,  because  it  could
1830       cause the system to get into a broken state. To disable modular filter‐
1831       ing for a particular repository, specify  module_hotfixes=true  in  the
1832       .repo file or use --setopt=<repo_id>.module_hotfixes=true.
1833
1834       To  discover the module which contains an excluded package use dnf mod‐
1835       ule provides.
1836

METADATA SYNCHRONIZATION

1838       Correct operation of DNF depends on having access  to  up-to-date  data
1839       from  all  enabled  repositories but contacting remote mirrors on every
1840       operation considerably slows it down and costs bandwidth for  both  the
1841       client   and   the   repository   provider.  The  metadata_expire  (see
1842       dnf.conf(5)) repository configuration option is used by DNF  to  deter‐
1843       mine  whether  a  particular local copy of repository data is due to be
1844       re-synced. It is crucial that the repository providers set  the  option
1845       well, namely to a value where it is guaranteed that if particular meta‐
1846       data was available in time T on the server, then all packages it refer‐
1847       ences  will still be available for download from the server in time T +
1848       metadata_expire.
1849
1850       To further reduce the bandwidth load, some of the commands where having
1851       up-to-date metadata is not critical (e.g. the list command) do not look
1852       at whether a repository is expired and whenever any version  of  it  is
1853       locally  available to the user's account, it will be used. For non-root
1854       use, see also the --cacheonly switch. Note that in all  situations  the
1855       user  can  force  synchronization  of all enabled repositories with the
1856       --refresh switch.
1857

CONFIGURATION FILES REPLACEMENT POLICY

1859       The updated packages could replace the old modified configuration files
1860       with  the  new  ones  or keep the older files. Neither of the files are
1861       actually replaced.  To the conflicting ones RPM gives additional suffix
1862       to  the  origin  name.  Which  file should maintain the true name after
1863       transaction is not controlled by package manager but  is  specified  by
1864       each package itself, following packaging guideline.
1865

FILES

1867       Cache Files
1868              /var/cache/dnf
1869
1870       Main Configuration
1871              /etc/dnf/dnf.conf
1872
1873       Repository
1874              /etc/yum.repos.d/
1875

SEE ALSO

1877       · dnf.conf(5), DNF Configuration Reference
1878
1879       · dnf-PLUGIN(8) for documentation on DNF plugins.
1880
1881       · dnf.modularity(7), Modularity overview.
1882
1883       · DNF                 project                homepage                (‐
1884         https://github.com/rpm-software-management/dnf/)
1885
1886       · How          to          report          a           bug           (‐
1887         https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting)
1888
1889       · YUM project homepage (http://yum.baseurl.org/)
1890

AUTHOR

1892       See AUTHORS in DNF source distribution.
1893
1895       2012-2019, Red Hat, Licensed under GPLv2+
1896
1897
1898
1899
19004.2.17                           Nov 29, 2019                           DNF(8)
Impressum