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

NAME

6       yum - redirecting to DNF Command Reference
7

SYNOPSIS

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

DESCRIPTION

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

OPTIONS

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

COMMANDS

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

SPECIFYING PACKAGES

1908       Many commands take a <package-spec> parameter that  selects  a  package
1909       for the operation. The <package-spec> argument is matched against pack‐
1910       age NEVRAs, provides and file provides.
1911
1912       <package-file-spec>  is  similar  to  <package-spec>,  except  provides
1913       matching  is  not  performed. Therefore, <package-file-spec> is matched
1914       only against NEVRAs and file provides.
1915
1916       <package-name-spec> is matched against NEVRAs only.
1917
1918   Globs
1919       Package specification supports the  same  glob  pattern  matching  that
1920       shell  does,  in  all three above mentioned packages it matches against
1921       (NEVRAs, provides and file provides).
1922
1923       The following patterns are supported:
1924
1925       *      Matches any number of characters.
1926
1927       ?      Matches any single character.
1928
1929       []     Matches any one of the enclosed characters. A pair of characters
1930              separated  by a hyphen denotes a range expression; any character
1931              that falls between those two characters, inclusive, is  matched.
1932              If  the  first  character following the [ is a ! or a ^ then any
1933              character not enclosed is matched.
1934
1935       Note: Curly brackets ({}) are not supported. You can still use them  in
1936       shells  that  support  them  and let the shell do the expansion, but if
1937       quoted or escaped, dnf will not expand them.
1938
1939   NEVRA Matching
1940       When matching against NEVRAs, partial matching is supported. DNF  tries
1941       to  match  the  spec  against the following list of NEVRA forms (in de‐
1942       creasing order of priority):
1943
1944name-[epoch:]version-release.arch
1945
1946name.arch
1947
1948name
1949
1950name-[epoch:]version-release
1951
1952name-[epoch:]version
1953
1954       Note  that  name  can   in   general   contain   dashes   (e.g.   pack‐
1955       age-with-dashes).
1956
1957       The  first  form  that  matches  any packages is used and the remaining
1958       forms are not tried. If none of the forms match any  packages,  an  at‐
1959       tempt  is made to match the <package-spec> against full package NEVRAs.
1960       This is only relevant if globs are present in the <package-spec>.
1961
1962       <package-spec> matches NEVRAs the same  way  <package-name-spec>  does,
1963       but  in  case  matching NEVRAs fails, it attempts to match against pro‐
1964       vides and file provides of packages as well.
1965
1966       You can specify globs as part of any of the five NEVRA components.  You
1967       can also specify a glob pattern to match over multiple NEVRA components
1968       (in other words, to match across the NEVRA separators). In  that  case,
1969       however,  you  need  to  write  the  spec to match against full package
1970       NEVRAs, as it is not possible to split such spec into NEVRA forms.
1971
1972   Specifying NEVRA Matching Explicitly
1973       Some commands (autoremove, install, remove  and  repoquery)  also  have
1974       aliases with suffixes -n, -na and -nevra that allow to explicitly spec‐
1975       ify how to parse the arguments:
1976
1977       • Command install-n only matches against name.
1978
1979       • Command install-na only matches against name.arch.
1980
1981       • Command install-nevra only matches  against  name-[epoch:]version-re‐
1982         lease.arch.
1983

SPECIFYING PROVIDES

1985       <provide-spec>  in  command  descriptions means the command operates on
1986       packages providing the given spec. This can either be an explicit  pro‐
1987       vide, an implicit provide (i.e. name of the package) or a file provide.
1988       The selection is case-sensitive and globbing is supported.
1989
1990   Specifying File Provides
1991       If a spec starts with either / or */, it is considered as  a  potential
1992       file provide.
1993

SPECIFYING GROUPS

1995       <group-spec> allows one to select (environment) groups a particular op‐
1996       eration should work on. It is a  case  insensitive  string  (supporting
1997       globbing  characters)  that  is matched against a group's ID, canonical
1998       name and name translated into the current LC_MESSAGES locale (if possi‐
1999       ble).
2000

SPECIFYING MODULES

2002       <module-spec> allows one to select modules or profiles a particular op‐
2003       eration should work on.
2004
2005       It is in the form of NAME:STREAM:VERSION:CONTEXT:ARCH/PROFILE and  sup‐
2006       ported partial forms are the following:
2007
2008NAME
2009
2010NAME:STREAM
2011
2012NAME:STREAM:VERSION
2013
2014NAME:STREAM:VERSION:CONTEXT
2015
2016       • all above combinations with ::ARCH (e.g. NAME::ARCH)
2017
2018NAME:STREAM:VERSION:CONTEXT:ARCH
2019
2020       • all above combinations with /PROFILE (e.g. NAME/PROFILE)
2021
2022       In  case  stream is not specified, the enabled or the default stream is
2023       used, in this order. In case profile is not specified, the  system  de‐
2024       fault profile or the 'default' profile is used.
2025

SPECIFYING TRANSACTIONS

2027       <transaction-spec> can be in one of several forms. If it is an integer,
2028       it specifies a transaction ID. Specifying last is the same as  specify‐
2029       ing  the ID of the most recent transaction. The last form is last-<off‐
2030       set>, where <offset> is a  positive  integer.  It  specifies  offset-th
2031       transaction preceding the most recent transaction.
2032

PACKAGE FILTERING

2034       Package  filtering filters packages out from the available package set,
2035       making them invisible to most of dnf commands. They cannot be used in a
2036       transaction.  Packages  can be filtered out by either Exclude Filtering
2037       or Modular Filtering.
2038
2039   Exclude Filtering
2040       Exclude Filtering is a mechanism used by a user or by a DNF  plugin  to
2041       modify the set of available packages. Exclude Filtering can be modified
2042       by  either  includepkgs  or  excludepkgs   configuration   options   in
2043       configuration  files.  The --disableexcludes command line option can be
2044       used to override excludes from  configuration  files.  In  addition  to
2045       user-configured  excludes,  plugins can also extend the set of excluded
2046       packages. To disable excludes from a DNF plugin  you  can  use  the  -‐
2047       -disableplugin command line option.
2048
2049       To  disable  all  excludes for e.g. the install command you can use the
2050       following combination of command line options:
2051
2052       dnf --disableexcludes=all --disableplugin="*" install bash
2053
2054   Modular Filtering
2055       Please see the modularity documentation for details on how Modular Fil‐
2056       tering works.
2057
2058       With  modularity,  only RPM packages from active module streams are in‐
2059       cluded in the available package set. RPM packages from inactive  module
2060       streams, as well as non-modular packages with the same name or provides
2061       as a package from an active module stream, are  filtered  out.  Modular
2062       filtering  is  not applied to packages added from the command line, in‐
2063       stalled  packages,  or  packages  from  repositories  with  module_hot‐
2064       fixes=true in their .repo file.
2065
2066       Disabling  of  modular  filtering  is not recommended, because it could
2067       cause the system to get into a broken state. To disable modular filter‐
2068       ing  for  a  particular repository, specify module_hotfixes=true in the
2069       .repo file or use --setopt=<repo_id>.module_hotfixes=true.
2070
2071       To discover the module which contains an excluded package use dnf  mod‐
2072       ule provides.
2073

METADATA SYNCHRONIZATION

2075       Correct  operation  of  DNF depends on having access to up-to-date data
2076       from all enabled repositories but contacting remote  mirrors  on  every
2077       operation  considerably  slows it down and costs bandwidth for both the
2078       client  and  the  repository   provider.   The   metadata_expire   (see
2079       dnf.conf(5))  repository  configuration option is used by DNF to deter‐
2080       mine whether a particular local copy of repository data is  due  to  be
2081       re-synced.  It  is crucial that the repository providers set the option
2082       well, namely to a value where it is guaranteed that if particular meta‐
2083       data was available in time T on the server, then all packages it refer‐
2084       ences will still be available for download from the server in time T  +
2085       metadata_expire.
2086
2087       To further reduce the bandwidth load, some of the commands where having
2088       up-to-date metadata is not critical (e.g. the list command) do not look
2089       at  whether  a  repository is expired and whenever any version of it is
2090       locally available to the user's account, it will be used. For  non-root
2091       use,  see  also the --cacheonly switch. Note that in all situations the
2092       user can force synchronization of all  enabled  repositories  with  the
2093       --refresh switch.
2094

CONFIGURATION FILES REPLACEMENT POLICY

2096       The updated packages could replace the old modified configuration files
2097       with the new ones or keep the older files. Neither of the files are ac‐
2098       tually  replaced.   To the conflicting ones RPM gives additional suffix
2099       to the origin name. Which file should  maintain  the  true  name  after
2100       transaction  is  not  controlled by package manager but is specified by
2101       each package itself, following packaging guideline.
2102

FILES

2104       Cache Files
2105              /var/cache/dnf
2106
2107       Main Configuration
2108              /etc/dnf/dnf.conf
2109
2110       Repository
2111              /etc/yum.repos.d/
2112

SEE ALSO

2114dnf.conf(5), DNF Configuration Reference
2115
2116       • dnf-PLUGIN(8) for documentation on DNF plugins.
2117
2118dnf.modularity(7), Modularity overview.
2119
2120dnf-transaction-json(5), Stored Transaction  JSON  Format  Specifica‐
2121         tion.
2122
2123DNF                 project                homepage                (‐
2124         https://github.com/rpm-software-management/dnf/)
2125
2126       • How          to          report          a           bug           (‐
2127         https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting)
2128
2129YUM project homepage (http://yum.baseurl.org/)
2130

AUTHOR

2132       See AUTHORS in DNF source distribution.
2133
2135       2012-2023, Red Hat, Licensed under GPLv2+
2136
2137
2138
2139
21404.18.2                           Dec 08, 2023                           YUM(8)
Impressum