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
270  : Operation was successful.
28
291  : An error occurred, which was handled by dnf.
30
313  : An unknown unhandled error occurred during operation.
32
33100: See check-update
34
35200: There was a problem with acquiring or releasing of locks.
36
37       Available commands:
38
39alias
40
41autoremove
42
43check
44
45check-update
46
47clean
48
49deplist
50
51distro-sync
52
53downgrade
54
55group
56
57help
58
59history
60
61info
62
63install
64
65list
66
67makecache
68
69mark
70
71module
72
73provides
74
75reinstall
76
77remove
78
79repoinfo
80
81repolist
82
83repoquery
84
85repository-packages
86
87search
88
89shell
90
91swap
92
93updateinfo
94
95upgrade
96
97upgrade-minimal
98
99       Additional information:
100
101Options
102
103Specifying Packages
104
105Specifying Provides
106
107Specifying File Provides
108
109Specifying Groups
110
111Specifying Transactions
112
113Metadata Synchronization
114
115Configuration Files Replacement Policy
116
117Files
118
119See Also
120

OPTIONS

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
201all, disables all configuration file excludes
202
203main, disables excludes defined in the [main] section
204
205repoid, 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
284cachedir,  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
289configuration 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
296vars  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

COMMANDS

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
522dnf  FORCE  in  will  be replaced with dnf --skip-broken --disableex‐
523         cludes=all install
524
525dnf in FORCE will be replaced with  dnf  install  FORCE  (which  will
526         fail)
527
528       If there is defined alias in=install:
529
530dnf in will be replaced with dnf install
531
532dnf  --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

SPECIFYING PACKAGES

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
1902name-[epoch:]version-release.arch
1903
1904name.arch
1905
1906name
1907
1908name-[epoch:]version-release
1909
1910name-[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

SPECIFYING PROVIDES

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

SPECIFYING GROUPS

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

SPECIFYING MODULES

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
1966NAME
1967
1968NAME:STREAM
1969
1970NAME:STREAM:VERSION
1971
1972NAME:STREAM:VERSION:CONTEXT
1973
1974       • all above combinations with ::ARCH (e.g. NAME::ARCH)
1975
1976NAME: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

SPECIFYING TRANSACTIONS

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

PACKAGE FILTERING

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

METADATA SYNCHRONIZATION

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

CONFIGURATION FILES REPLACEMENT POLICY

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

FILES

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

SEE ALSO

2072dnf.conf(5), DNF Configuration Reference
2073
2074       • dnf-PLUGIN(8) for documentation on DNF plugins.
2075
2076dnf.modularity(7), Modularity overview.
2077
2078dnf-transaction-json(5), Stored Transaction  JSON  Format  Specifica‐
2079         tion.
2080
2081DNF                 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
2087YUM project homepage (http://yum.baseurl.org/)
2088

AUTHOR

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                           DNF(8)
Impressum