yum2dnf(8) — Linux manual page

NAME | --SKIP-BROKEN | UPDATE AND UPGRADE COMMANDS ARE THE SAME | CLEAN_REQUIREMENTS_ON_REMOVE ON BY DEFAULT | NO RESOLVEDEP COMMAND | NO DEPLIST COMMAND | EXCLUDES AND REPO EXCLUDES APPLY TO ALL OPERATIONS | THE INCLUDE OPTION HAS BEEN REMOVED | DNF PROVIDES /BIN/<FILE> IS NOT FULLY SUPPORTED | SKIP_IF_UNAVAILABLE COULD BE ENABLED BY DEFAULT | MIRRORLIST_EXPIRE DROPPED | METALINK NOT RECOGNIZED IN THE MIRRORLIST REPO OPTION | ALWAYSPROMPT DROPPED | UPGRADE_REQUIREMENTS_ON_INSTALL DROPPED | DNF HISTORY ROLLBACK CHECK DROPPED | PACKAGES REPLACEMENT WITHOUT YUM SWAP | DEPENDENCY PROCESSING DETAILS ARE NOT SHOWN IN THE CLI | DNF PROVIDES COMPLIES WITH THE YUM DOCUMENTATION OF THE COMMAND | BANDWIDTH LIMITING | INSTALLONLYPKGS CONFIG OPTION | THE USAGE OF DELTA RPM FILES | HANDLING .SRPM FILES AND NON-EXISTENT PACKAGES | PROMOTING PACKAGE TO INSTALL TO A PACKAGE THAT OBSOLETES IT | BEHAVIOR OF --INSTALLROOT OPTION | DIFFERENT PROMPT AFTER TRANSACTION TABLE | LIST COMMAND SHOWS ALL REPO ALTERNATIVES | YUM-LANGPACKS SUBCOMMANDS HAVE BEEN REMOVED | UTILITIES THAT HAVE NOT BEEN PORTED YET | AUTHOR | COPYRIGHT | COLOPHON

YUM2DNF(8)                         DNF                         YUM2DNF(8)

NAME         top

       yum2dnf - Changes in DNF compared to YUM

--SKIP-BROKEN         top

       For install command:

       The --skip-broken option is an alias for --setopt=strict=0. Both
       options could be used with DNF to skip all unavailable packages or
       packages with broken dependencies given to DNF without raising an
       error causing the whole operation to fail. This behavior can be
       set as default in dnf.conf file. See ]8;;#strict-label\strict conf option]8;;\.

       For upgrade command:

       The semantics that were supposed to trigger in YUM with
       --skip-broken are now set for plain dnf update as a default. There
       is no need to use --skip-broken with the dnf upgrade command. To
       use only the latest versions of packages in transactions, there is
       the --best command line switch.

UPDATE AND UPGRADE COMMANDS ARE THE SAME         top

       Invoking dnf update or dnf upgrade, in all their forms, has the
       same effect in DNF, with the latter being preferred. In YUM yum
       upgrade was exactly like yum --obsoletes update.

CLEAN_REQUIREMENTS_ON_REMOVE ON BY DEFAULT         top

       The ]8;;#clean-requirements-on-remove-label\clean_requirements_on_remove]8;;\ switch is on by default in DNF.
       It can thus be confusing to compare the "remove" operation results
       between DNF and YUM as by default DNF is often going to remove
       more packages.

NO RESOLVEDEP COMMAND         top

       The YUM version of this command is maintained for legacy reasons
       only. The user can just use dnf provides to find out what package
       provides a particular file.

NO DEPLIST COMMAND         top

       An alternative to the YUM deplist command to find out dependencies
       of a package is dnf repoquery --deplist using ]8;;#repoquery-command-label\repoquery command]8;;\.

       NOTE:
          Alternatively there is a YUM compatibility support where yum
          deplist is alias for dnf repoquery --deplist command

EXCLUDES AND REPO EXCLUDES APPLY TO ALL OPERATIONS         top

       YUM only respects excludes during installs and upgrades. DNF
       extends this to all operations, among others erasing and listing.
       If you e.g. want to see a list of all installed python-f* packages
       but not any of the Flask packages, the following will work:

          dnf -x '*flask*' list installed 'python-f*'

THE INCLUDE OPTION HAS BEEN REMOVED         top

       Inclusion of other configuration files in the main configuration
       file is no longer supported.

DNF PROVIDES /BIN/<FILE> IS NOT FULLY SUPPORTED         top

       After ]8;;https://fedoraproject.org/wiki/Features/UsrMove\UsrMove]8;;\ there's no directory /bin on Fedora systems and no
       files get installed there, /bin is only a symlink created by the
       filesystem package to point to /usr/bin. Resolving the symlinks to
       their real path would only give the user a false sense that this
       works, while in fact provides requests using globs such as:

          dnf provides /b*/<file>

       will fail still (as they do in YUM now). To find what provides a
       particular binary, use the actual path for binaries on Fedora:

          dnf provides /usr/bin/<file>

       Also see related Fedora bugzillas ]8;;https://bugzilla.redhat.com/show_bug.cgi?id=982947\982947]8;;\ and ]8;;https://bugzilla.redhat.com/show_bug.cgi?id=982664\982664]8;;\.

SKIP_IF_UNAVAILABLE COULD BE ENABLED BY DEFAULT         top

       In some distributions DNF is shipped with skip_if_unavailable=True
       in the ]8;;#conf-ref-label\DNF configuration file]8;;\. The reason for the change is that
       third-party repositories can often be unavailable. Without this
       setting in the relevant repository configuration file YUM
       immediately stops on a repository synchronization error, confusing
       and bothering the user.

       See the related ]8;;https://bugzilla.redhat.com/show_bug.cgi?id=984483\Fedora bug 984483]8;;\.

OVERWRITE_GROUPS DROPPED, COMPS FUNCTIONS ACTING AS IF ALWAYS DISABLED
       %%%SH%%%
       This config option has been dropped. When DNF sees several groups
       with the same group ID it merges the groups' contents together.

MIRRORLIST_EXPIRE DROPPED         top

       To simplify things for the user, DNF uses metadata_expire for both
       expiring metadata and the mirrorlist file (which is a kind of
       metadata itself).

METALINK NOT RECOGNIZED IN THE MIRRORLIST REPO OPTION         top

       The following part of yum.conf(5) no longer applies for the
       mirrorlist option:
          As a special hack if the mirrorlist URL contains the word
          "metalink" then the value of mirrorlist is copied to metalink
          (if metalink is not set).

       The relevant repository configuration files have been fixed to
       respect this, see the related ]8;;https://bugzilla.redhat.com/show_bug.cgi?id=948788\Fedora bug 948788]8;;\.

ALWAYSPROMPT DROPPED         top

       Unsupported to simplify the configuration.

UPGRADE_REQUIREMENTS_ON_INSTALL DROPPED         top

       Dropping this config option with blurry semantics simplifies the
       configuration. DNF behaves as if this was disabled. If the user
       wanted to upgrade everything to the latest version she'd simply
       use dnf upgrade.

DNF HISTORY ROLLBACK CHECK DROPPED         top

       Since DNF tolerates the use of other package managers, it is
       possible that not all changes to the RPMDB are stored in the
       history of transactions. Therefore, DNF does not fail if such a
       situation is encountered and thus the force option is not needed
       anymore.

PACKAGES REPLACEMENT WITHOUT YUM SWAP         top

       Time after time one needs to remove an installed package and
       replace it with a different one, providing the same capabilities
       while other packages depending on these capabilities stay
       installed. Without (transiently) breaking consistency of the
       package database this can be done by performing the remove and the
       install in one transaction. The common way to set up such a
       transaction in DNF is to use dnf shell or use the --allowerasing
       switch.

       E.g. say you want to replace A (providing P)  with B (also
       providing P, conflicting with A) without deleting C (which
       requires P) in the process. Use:

          dnf --allowerasing install B

       This command is equal to yum swap A B.

       DNF provides swap command but only dnf swap A B syntax is
       supported

DEPENDENCY PROCESSING DETAILS ARE NOT SHOWN IN THE CLI         top

       During its depsolving phase, YUM outputs lines similar to:

          ---> Package rubygem-rhc.noarch 0:1.16.9-1.fc19 will be an update
          --> Processing Dependency: rubygem-net-ssh-multi >= 1.2.0 for package: rubygem-rhc-1.16.9-1.fc19.noarch

       DNF does not output information like this. The technical reason is
       that depsolver below DNF always considers all dependencies for
       update candidates and the output would be very long. Secondly,
       even in YUM this output gets confusing very quickly especially for
       large transactions and so does more harm than good.

       See the related ]8;;https://bugzilla.redhat.com/show_bug.cgi?id=1044999\Fedora bug 1044999]8;;\.

DNF PROVIDES COMPLIES WITH THE YUM DOCUMENTATION OF THE COMMAND         top

       When one executes:

          yum provides sandbox

       YUM applies extra heuristics to determine what the user meant by
       sandbox, for instance it sequentially prepends entries from the
       PATH environment variable to it to see if it matches a file
       provided by some package. This is an undocumented behavior that
       DNF does not emulate. Just typically use:

          dnf provides /usr/bin/sandbox

       or even:

          dnf provides '*/sandbox'

       to obtain similar results.

BANDWIDTH LIMITING         top

       DNF supports the throttle and bandwidth options familiar from YUM.
       Contrary to YUM, when multiple downloads run simultaneously the
       total downloading speed is throttled. This was not possible in YUM
       since downloaders ran in different processes.

INSTALLONLYPKGS CONFIG OPTION         top

       Compared to YUM, DNF appends list values from the installonlypkgs
       config option to DNF defaults, where YUM overwrites the defaults
       by option values.

THE USAGE OF DELTA RPM FILES         top

       The boolean deltarpm option controls whether delta RPM files are
       used. Compared to YUM, DNF does not support deltarpm_percentage
       and instead chooses some optimal value of DRPM/RPM ratio to decide
       whether using deltarpm makes sense in the given case.

HANDLING .SRPM FILES AND NON-EXISTENT PACKAGES         top

       DNF will terminate early with an error if a command is executed
       requesting an installing operation on a local .srpm file:

          $ dnf install fdn-0.4.17-1.fc20.src.rpm tour-4-6.noarch.rpm
          Error: Will not install a source rpm package (fdn-0.4.17-1.fc20.src).

       The same applies for package specifications that do not match any
       available package.

       YUM will only issue a warning in this case and continue installing
       the "tour" package. The rationale behind the result in DNF is that
       a program should terminate with an error if it can not fulfill the
       CLI command in its entirety.

PROMOTING PACKAGE TO INSTALL TO A PACKAGE THAT OBSOLETES IT         top

       DNF will not magically replace a request for installing package X
       to installing package Y if Y obsoletes X. YUM does this if its
       obsoletes config option is enabled but the behavior is not
       properly documented and can be harmful.

       See the related ]8;;https://bugzilla.redhat.com/show_bug.cgi?id=1096506\Fedora bug 1096506]8;;\ and ]8;;http://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages\guidelines for renaming and
       obsoleting packages in Fedora]8;;\.

BEHAVIOR OF --INSTALLROOT OPTION         top

       DNF offers more predictable behavior of installroot. DNF handles
       the path differently from the --config command-line option, where
       this path is always related to the host system (YUM combines this
       path with installroot). Reposdir is also handled slightly
       differently, if one path of the reposdirs exists inside of
       installroot, then repos are strictly taken from installroot (YUM
       tests each path from reposdir separately and use installroot path
       if existed). See the detailed description for -]8;;#installroot-label\-installroot]8;;\
       option.

DIFFERENT PROMPT AFTER TRANSACTION TABLE         top

       DNF doesn't provide download functionality after displaying
       transaction table. It only asks user whether to continue with
       transaction or not.  If one wants to download packages, they can
       use the 'download' command.

LIST COMMAND SHOWS ALL REPO ALTERNATIVES         top

       DNF lists all packages from all repos, which means there can be
       duplicates package names (with different repo name). This is due
       to providing users possibility to choose preferred repo.

YUM-LANGPACKS SUBCOMMANDS HAVE BEEN REMOVED         top

       Translations became part of core DNF and it is no longer necessary
       to manage individual language packs.

       Following sub-commands were removed:

       • langavailable

       • langinstall

       • langremove

       • langlist

       • langinfo
─────────────────────────────────────────────────────────────────────────────────────────────────
  Original YUM tool                     DNF command/option       Package
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum check                             ]8;;#repoquery-command-label\dnf repoquery]8;;\            dnf
                                        --unsatisfied
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-langpacks                                                  dnf
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-aliases                    ]8;;#alias-command-label\dnf alias]8;;\                dnf
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-auto-update-debug-info     option in                dnf-plugins-core
                                        debuginfo-install.conf
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-changelog                                           dnf-plugins-core
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-copr                       ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/copr.html\dnf copr]8;;\                 dnf-plugins-core
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-fastestmirror              fastestmirror option     dnf
                                        in ]8;;https://dnf.readthedocs.io/en/latest/conf_ref.html\dnf.conf]8;;\
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-fs-snapshot                                         dnf-plugins-extras-snapper
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-local                                               dnf-plugins-core
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-merge-conf                                          dnf-plugins-extras-rpmconf
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-post-transaction-actions                            dnf-plugins-core
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-priorities                 priority option in ]8;;https://dnf.readthedocs.io/en/latest/conf_ref.html\‐     dnf
                                        dnf.conf]8;;\
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-remove-with-leaves         ]8;;#autoremove-command-label\dnf autoremove]8;;\           dnf
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-show-leaves                                         dnf-plugins-core
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-tmprepo                    --repofrompath option    dnf
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-tsflags                    tsflags  option in ]8;;https://dnf.readthedocs.io/en/latest/conf_ref.html\‐     dnf
                                        dnf.conf]8;;\
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-plugin-versionlock                                         python3-dnf-plugin-versionlock
─────────────────────────────────────────────────────────────────────────────────────────────────
  yum-rhn-plugin                                                 dnf-plugin-spacewalk
┌─────────────────────────────────────┬────────────────────────┬────────────────────────────────┐
│                                     │                        │                                │
│      Plugins that have not been port│ed yet:                  │                                │
│                                     │                        │                                │
│      yum-plugin-filter-data, yum-plu│gin-keys, yum-plugin-list│-data,                           │
│      yum-plugin-protectbase, yum-plu│gin-ps, yum-plugin-puppet│verify,                          │
│      yum-plugin-refresh-updatesd, yu│m-plugin-rpm-warm-cache, │                                │
│      yum-plugin-upgrade-helper, yum-│plugin-verify            │                                │
│                                     │                        │                                │
│      Feel free to file an ]8;;https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting#new-feature-request\RFE]8;;\ for mi│ssing functionality if yo│u need it.                       │
│                                     │                        │                                │
│      All ported YUM tools are now im│plemented as DNF plugins.│                                │
├─────────────────────────────────────┼────────────────────────┼───────────────                 │
│ Original YUM tool       New DNF comm│and      Package         │                                │
├─────────────────────────────────────┼────────────────────────┼───────────────                 │
│ debuginfo-install       ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/debuginfo-install.html\dnfdnf-plugins-core│                                │
│                         debuginfo-in│stall]8;;\                    │                                │
├─────────────────────────────────────┼────────────────────────┼───────────────                 │
│ find-repos-of-install   ]8;;https://dnf.readthedocs.io/en/latest/command_ref.html\dnf list ins│talled]8;;\   dnf             │                                │
├─────────────────────────────────────┼────────────────────────┼───────────────                 │
│ needs-restarting        ]8;;https://dnf-plugins-extras.readthedocs.io/en/latest/tracer.html\dnf tracer]8;;\  │        dnf-plugins-extr│as-tracer                        │
├─────────────────────────────────────┼────────────────────────┼───────────────                 │
│ package-cleanup         ]8;;#list-command-label\dnf list]8;;\, ]8;;#repoquery-command-label\dn│f        dnf, dnf-plugins│-core                            │
│                         repoquery]8;;\   │                        │                                │
├─────────────────────────────────────┼────────────────────────┼───────────────                 │
│ repoclosure             ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/repoclosure.html\dnf repoclos│ure]8;;\      dnf-plugins-extr│as-repoclosure                   │
───────────────────────────────────────────────────────────────────────────────
  repodiff                ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/repodiff.html\dnf repodiff]8;;\         dnf-plugins-core
───────────────────────────────────────────────────────────────────────────────
  repo-graph              ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/repograph.html\dnf repograph]8;;\        dnf-plugins-extras-repograph
───────────────────────────────────────────────────────────────────────────────
  repomanage              ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/repomanage.html\dnf repomanage]8;;\       dnf-plugins-extras-repomanage
───────────────────────────────────────────────────────────────────────────────
  repoquery               ]8;;#repoquery-command-label\dnf repoquery]8;;\        dnf
───────────────────────────────────────────────────────────────────────────────
  reposync                ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/reposync.html\dnf reposync]8;;\         dnf-plugins-core
───────────────────────────────────────────────────────────────────────────────
  repotrack               ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/download.html\dnf download]8;;\         dnf-plugins-core
                          --resolve
                          --alldeps
───────────────────────────────────────────────────────────────────────────────
  yum-builddep            ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/builddep.html\dnf builddep]8;;\         dnf-plugins-core
───────────────────────────────────────────────────────────────────────────────
  yum-config-manager      ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/config_manager.html\dnf config-manager]8;;\   dnf-plugins-core
───────────────────────────────────────────────────────────────────────────────
  yum-debug-dump          ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/debug.html\dnf debug-dump]8;;\       dnf-plugins-extras-debug
───────────────────────────────────────────────────────────────────────────────
  yum-debug-restore       ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/debug.html\dnf debug-restore]8;;\    dnf-plugins-extras-debug
───────────────────────────────────────────────────────────────────────────────
  yumdownloader           ]8;;https://dnf-plugins-core.readthedocs.io/en/latest/download.html\dnf download]8;;\         dnf-plugins-core
┌───────────────────────┬────────────────────┬────────────────────────────────┐
│                       │                    │                                │
│      Detailed table fo│r package-cleanup rep│lacement:                        │
│           ┌───────────┼──────────────┬─────┼────────────────────┐           │
│           │ package-cl│eanup --dupes  dnf │repoquery            │           │
│           │           │              │ --du│plicates             │           │
│           ├───────────┼──────────────┼─────┼────────────────────┤           │
│           │ package-cl│eanup --leaves dnf │repoquery --unneeded │           │
│           ├───────────┼──────────────┼─────┼────────────────────┤           │
│           │ package-cl│eanup          dnf │repoquery --extras   │           │
│           │ --orphans │              │     │                    │           │
│           ├───────────┼──────────────┼─────┼────────────────────┤           │
│           │ package-cl│eanup          dnf │repoquery            │           │
│           │ --problems│              │ --un│satisfied            │           │
│           ├───────────┼──────────────┼─────┼────────────────────┤           │
│           │ package-cl│eanup          dnf │remove --duplicates  │           │
│           │ --cleandup│es             │     │                    │           │
│           ├───────────┼──────────────┼─────┼────────────────────┤           │
│           │ package-cl│eanup          dnf │remove               │           │
│           │ --oldkerne│ls             --ol│dinstallonly         │           │
│           ├───────────┼──────────────┼─────┼────────────────────┤           │
│           │ package-cl│eanup          dnf │remove $(dnf         │           │
│           │ --oldkerne│ls --keep=2    repo│query --installonly  │           │
│           │           │              │ --la│test-limit=-2)       │           │
│           └───────────┼──────────────┴─────┼────────────────────┘           │
│                       │                    │                                │
│YUM-UPDATEONBOOT AND YUM│-CRON %%%SH%%%       │                                │
│      DNF does not have│a direct replacement│of yum-updateonboot and         │
│      yum-cron commands│.  However, the simil│ar result can be achieved by     │
│      dnf automatic com│mand (see DNF Automat│ic).                             │
│                       │                    │                                │
       You can either use the shortcut:

          $ systemctl enable --now dnf-automatic-install.timer

       Or set apply_updates option of /etc/dnf/automatic.conf to True and
       use generic timer unit:

          $ systemctl enable --now dnf-automatic.timer

       The timer in both cases is activated 1 hour after the system was
       booted up and then repetitively once every 24 hours. There is also
       a random delay on these timers set to 5 minutes. These values can
       be tweaked via dnf-automatic*.timer config files located in the
       /usr/lib/systemd/system/ directory.

UTILITIES THAT HAVE NOT BEEN PORTED YET         top

       repo-rss, show-changed-rco, show-installed, verifytree,
       yum-groups-manager

       Take a look at the ]8;;https://dnf.readthedocs.io/en/latest/user_faq.html\FAQ]8;;\ about YUM to DNF migration. Feel free to
       file an ]8;;https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting#new-feature-request\RFE]8;;\ for missing functionality if you need it.

AUTHOR         top

       See AUTHORS in DNF source distribution.

COPYRIGHT         top

       2012-2020, Red Hat, Licensed under GPLv2+

COLOPHON         top

       This page is part of the dnf (DNF Package Manager) project.
       Information about the project can be found at 
       ⟨https://github.com/rpm-software-management/dnf⟩.  It is not known
       how to report bugs for this man page; if you know, please send a
       mail to man-pages@man7.org.  This page was obtained from the
       project's upstream Git repository
       ⟨https://github.com/rpm-software-management/dnf.git⟩ on
       2025-02-02.  (At that time, the date of the most recent commit
       that was found in the repository was 2025-01-27.)  If you discover
       any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page,
       or you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a
       mail to man-pages@man7.org

4.22.0                         Feb 02, 2025                    YUM2DNF(8)