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

COMMANDS

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

SPECIFYING PACKAGES

1587       Many  commands  take  a <package-spec> parameter that selects a package
1588       for the operation. DNF looks for interpretations of the parameter  from
1589       the  most  commonly used meanings to the least, that is it tries to see
1590       if the given spec fits one of the  following  patterns  (in  decreasing
1591       order of priority):
1592
1593       · name.arch
1594
1595       · name
1596
1597       · name-[epoch:]version-release.arch
1598
1599       · name-[epoch:]version-release
1600
1601       · name-[epoch:]version
1602
1603       Note that name can in general contain dashes (e.g. package-subpackage).
1604
1605       Failing  to  match the input argument to an existing package name based
1606       on the patterns above, DNF tries to see  if  the  argument  matches  an
1607       existing provide.
1608
1609       By  default,  if multiple versions of the selected package exist in the
1610       repository, the most recent version suitable for the given operation is
1611       used.  If  the  selected package exists for multiple architectures, the
1612       packages which best match the system's architecture will be  preferred.
1613       The name specification is case-sensitive, globbing characters "?, * and
1614       [ are allowed and trigger shell-like glob matching. If a globbing char‐
1615       acter is present in name, DNF expands given name first and consequently
1616       selects all packages matching the expanded <package-spec>.
1617
1618       <package-name-spec> is similar to <package-spec>  except  the  provides
1619       matching is never attempted there.
1620
1621       <package-installed-specs>  is similar to <package-specs> except it con‐
1622       siders only installed packages.
1623

SPECIFYING EXACT VERSIONS OF PACKAGES

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

SPECIFYING PROVIDES

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

SPECIFYING GROUPS

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

SPECIFYING MODULES

1644       <module-spec> allows one to select modules  or  profiles  a  particular
1645       operation should work on.
1646
1647       It  is in the form of NAME:STREAM:VERSION:CONTEXT:ARCH/PROFILE and sup‐
1648       ported partial forms are the following:
1649
1650       · NAME
1651
1652       · NAME:STREAM
1653
1654       · NAME:STREAM:VERSION
1655
1656       · NAME:STREAM:VERSION:CONTEXT
1657
1658       · all above combinations with ::ARCH (e.g. NAME::ARCH)
1659
1660       · NAME:STREAM:VERSION:CONTEXT:ARCH
1661
1662       · all above combinations with /PROFILE (e.g. NAME/PROFILE)
1663
1664       In case stream is not specified, the enabled or the default  stream  is
1665       used,  in  this  order.  In  case  profile is not specified, the system
1666       default profile or the 'default' profile is used.
1667

SPECIFYING TRANSACTIONS

1669       <transaction-spec> can be in one of several forms. If it is an integer,
1670       it  specifies a transaction ID. Specifying last is the same as specify‐
1671       ing the ID of the most recent transaction. The last form is  last-<off‐
1672       set>,  where  <offset>  is  a  positive integer. It specifies offset-th
1673       transaction preceding the most recent transaction.
1674

METADATA SYNCHRONIZATION

1676       Correct operation of DNF depends on having access  to  up-to-date  data
1677       from  all  enabled  repositories but contacting remote mirrors on every
1678       operation considerably slows it down and costs bandwidth for  both  the
1679       client   and   the   repository   provider.  The  metadata_expire  (see
1680       dnf.conf(5)) repository configuration option is used by DNF  to  deter‐
1681       mine  whether  a  particular local copy of repository data is due to be
1682       re-synced. It is crucial that the repository providers set  the  option
1683       well, namely to a value where it is guaranteed that if particular meta‐
1684       data was available in time T on the server, then all packages it refer‐
1685       ences  will still be available for download from the server in time T +
1686       metadata_expire.
1687
1688       To further reduce the bandwidth load, some of the commands where having
1689       up-to-date metadata is not critical (e.g. the list command) do not look
1690       at whether a repository is expired and whenever any version  of  it  is
1691       locally  available to the user's account, it will be used. For non-root
1692       use, see also the --cacheonly switch. Note that in all  situations  the
1693       user  can  force  synchronization  of all enabled repositories with the
1694       --refresh switch.
1695

CONFIGURATION FILES REPLACEMENT POLICY

1697       The updated packages could replace the old modified configuration files
1698       with  the  new  ones  or keep the older files. Neither of the files are
1699       actually replaced.  To the conflicting ones RPM gives additional suffix
1700       to  the  origin  name.  Which  file should maintain the true name after
1701       transaction is not controlled by package manager but  is  specified  by
1702       each package itself, following packaging guideline.
1703

FILES

1705       Cache Files
1706              /var/cache/dnf
1707
1708       Main Configuration
1709              /etc/dnf/dnf.conf
1710
1711       Repository
1712              /etc/yum.repos.d/
1713

SEE ALSO

1715       · dnf.conf(5), DNF Configuration Reference
1716
1717       · dnf.plugin.*(8),  assorted DNF plugins that might be installed on the
1718         system.
1719
1720       · DNF                project                homepage                 (‐
1721         https://github.com/rpm-software-management/dnf/)
1722
1723       · How           to           report          a          bug          (‐
1724         https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting)
1725
1726       · YUM project homepage (http://yum.baseurl.org/)
1727

AUTHOR

1729       See AUTHORS in DNF source distribution.
1730
1732       2012-2014, Red Hat, Licensed under GPLv2+
1733
1734
1735
1736
17374.2.5                            May 07, 2019                           DNF(8)
Impressum