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

NAME

6       dnf - DNF Command Reference
7

SYNOPSIS

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

DESCRIPTION

12       DNF  is  the  next upcoming major version of YUM, a package manager for
13       RPM-based Linux distributions. It roughly maintains  CLI  compatibility
14       with YUM and defines a strict API for extensions and plugins.
15
16       Plugins  can modify or extend features of DNF or provide additional CLI
17       commands on top of those mentioned below. If you know the name of  such
18       a  command  (including  commands mentioned below), you may find/install
19       the package which provides it using the appropriate virtual provide  in
20       the form of dnf-command(<alias>), where <alias> is the name of the com‐
21       mand; e.g.``dnf install 'dnf-command(versionlock)'``  installs  a  ver‐
22       sionlock  plugin. This approach also applies to specifying dependencies
23       of packages that require a particular DNF command.
24
25       Return values:
26
27       · 0  : Operation was successful.
28
29       · 1  : An error occurred, which was handled by dnf.
30
31       · 3  : An unknown unhandled error occurred during operation.
32
33       · 100: See check-update
34
35       · 200: There was a problem with acquiring or releasing of locks.
36
37       Available commands:
38
39       · alias
40
41       · autoremove
42
43       · check
44
45       · check-update
46
47       · clean
48
49       · distro-sync
50
51       · downgrade
52
53       · group
54
55       · help
56
57       · history
58
59       · info
60
61       · install
62
63       · list
64
65       · makecache
66
67       · mark
68
69       · module
70
71       · provides
72
73       · reinstall
74
75       · remove
76
77       · repoinfo
78
79       · repolist
80
81       · repoquery
82
83       · repository-packages
84
85       · search
86
87       · shell
88
89       · swap
90
91       · updateinfo
92
93       · upgrade
94
95       · upgrade-minimal
96
97       · upgrade-to
98
99       Additional information:
100
101       · Options
102
103       · Specifying Packages
104
105       · Specifying Exact Versions of Packages
106
107       · Specifying Provides
108
109       · Specifying Groups
110
111       · Specifying Transactions
112
113       · Metadata Synchronization
114
115       · Configuration Files Replacement Policy
116
117       · Files
118
119       · See Also
120

OPTIONS

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

COMMANDS

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

SPECIFYING PACKAGES

1546       Many  commands  take  a <package-spec> parameter that selects a package
1547       for the operation. DNF looks for interpretations of the parameter  from
1548       the  most  commonly used meanings to the least, that is it tries to see
1549       if the given spec fits one of the  following  patterns  (in  decreasing
1550       order of priority):
1551
1552       · name.arch
1553
1554       · name
1555
1556       · name-[epoch:]version-release.arch
1557
1558       · name-[epoch:]version-release
1559
1560       · name-[epoch:]version
1561
1562       Note that name can in general contain dashes (e.g. package-subpackage).
1563
1564       Failing  to  match the input argument to an existing package name based
1565       on the patterns above, DNF tries to see  if  the  argument  matches  an
1566       existing provide.
1567
1568       By  default,  if multiple versions of the selected package exist in the
1569       repo, the most recent version suitable for the given operation is used.
1570       If the selected package exists for multiple architectures, the packages
1571       which best match the system's architecture will be preferred. The  name
1572       specification  is  case-sensitive,  globbing characters "?, * and [ are
1573       allowed and trigger shell-like glob matching. If globbing character  is
1574       present  in name, DNF expands given name first and consequently selects
1575       all packages matching expanded <package-spec>.
1576
1577       <package-name-spec> is similar to <package-spec>  except  the  provides
1578       matching is never attempted there.
1579
1580       <package-installed-specs>  is similar to <package-specs> except it con‐
1581       siders only installed packages.
1582

SPECIFYING EXACT VERSIONS OF PACKAGES

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

SPECIFYING PROVIDES

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

SPECIFYING GROUPS

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

SPECIFYING MODULES

1603       <module-spec> allows one to select modules  or  profiles  a  particular
1604       operation should work on.
1605
1606       It  is  of  form NAME:STREAM:VERSION:CONTEXT:ARCH/PROFILE and supported
1607       partial forms are the following:
1608
1609       · NAME
1610
1611       · NAME:STREAM
1612
1613       · NAME:STREAM:VERSION
1614
1615       · NAME:STREAM:VERSION:CONTEXT
1616
1617       · all above combinations with ::ARCH (e.g. NAME::ARCH)
1618
1619       · NAME:STREAM:VERSION:CONTEXT:ARCH
1620
1621       · all above combinations with /PROFILE (e.g. NAME/PROFILE)
1622
1623       In case stream is not specified, enabled or default stream is used,  in
1624       this order. In case profile is not specified, system default profile or
1625       'default' profile is used.
1626

SPECIFYING TRANSACTIONS

1628       <transaction-spec> can be in one of several forms. If it is an integer,
1629       it  specifies a transaction ID. Specifying last is the same as specify‐
1630       ing the ID of the most recent transaction. The last form is  last-<off‐
1631       set>,  where  <offset>  is  a  positive integer. It specifies offset-th
1632       transaction preceding the most recent transaction.
1633

METADATA SYNCHRONIZATION

1635       Correct operation of DNF depends on having access  to  up-to-date  data
1636       from  all  enabled  repositories but contacting remote mirrors on every
1637       operation considerably slows it down and costs bandwidth for  both  the
1638       client   and   the   repository   provider.  The  metadata_expire  (see
1639       dnf.conf(5)) repo config option is used by  DNF  to  determine  whether
1640       particular  local copy of repository data is due to be re-synced. It is
1641       crucial that the repository providers set the option well, namely to  a
1642       value  where it is guaranteed that if particular metadata was available
1643       in time T on the server, then all packages it references will still  be
1644       available for download from the server in time T + metadata_expire.
1645
1646       To further reduce the bandwidth load, some of the commands where having
1647       up-to-date metadata is not critical (e.g. the list command) do not look
1648       at  whether  a  repository is expired and whenever any version of it is
1649       locally available to the user's account, it will be used. For  non-root
1650       use,  see  also the --cacheonly switch. Note that in all situations the
1651       user can force synchronization of all  enabled  repositories  with  the
1652       --refresh switch.
1653

CONFIGURATION FILES REPLACEMENT POLICY

1655       The updated packages could replace the old modified configuration files
1656       with the new ones or keep the older files. Neither  of  the  files  are
1657       actually replaced.  To the conflicting ones RPM gives additional suffix
1658       to the origin name. Which file should  maintain  the  true  name  after
1659       transaction  is  not  controlled by package manager but is specified by
1660       each package itself, following packaging guideline.
1661

FILES

1663       Cache Files
1664              /var/cache/dnf
1665
1666       Main Configuration
1667              /etc/dnf/dnf.conf
1668
1669       Repository
1670              /etc/yum.repos.d/
1671

SEE ALSO

1673       · dnf.conf(5), DNF Configuration Reference
1674
1675       · dnf.plugin.*(8), assorted DNF plugins that might be installed on  the
1676         system.
1677
1678       · DNF                 project                homepage                (‐
1679         https://github.com/rpm-software-management/dnf/)
1680
1681       · How          to          report          a           bug           (‐
1682         https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting)
1683
1684       · YUM project homepage (http://yum.baseurl.org/)
1685

AUTHOR

1687       See AUTHORS in DNF source distribution.
1688
1690       2012-2014, Red Hat, Licensed under GPLv2+
1691
1692
1693
1694
16954.0.9                            May 13, 2019                           DNF(8)
Impressum