Blame doc/cli_vs_yum.rst

Packit Service 21c75c
..
Packit Service 21c75c
  Copyright (C) 2014-2018 Red Hat, Inc.
Packit Service 21c75c
Packit Service 21c75c
  This copyrighted material is made available to anyone wishing to use,
Packit Service 21c75c
  modify, copy, or redistribute it subject to the terms and conditions of
Packit Service 21c75c
  the GNU General Public License v.2, or (at your option) any later version.
Packit Service 21c75c
  This program is distributed in the hope that it will be useful, but WITHOUT
Packit Service 21c75c
  ANY WARRANTY expressed or implied, including the implied warranties of
Packit Service 21c75c
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
Packit Service 21c75c
  Public License for more details.  You should have received a copy of the
Packit Service 21c75c
  GNU General Public License along with this program; if not, write to the
Packit Service 21c75c
  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
Packit Service 21c75c
  02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
Packit Service 21c75c
  source code or documentation are not subject to the GNU General Public
Packit Service 21c75c
  License and may only be used or replicated with the express permission of
Packit Service 21c75c
  Red Hat, Inc.
Packit Service 21c75c
Packit Service 21c75c
####################################
Packit Service 21c75c
 Changes in DNF CLI compared to YUM
Packit Service 21c75c
####################################
Packit Service 21c75c
Packit Service 21c75c
.. only :: html
Packit Service 21c75c
Packit Service 21c75c
    .. contents::
Packit Service 21c75c
Packit Service 21c75c
======================
Packit Service 21c75c
 ``--skip-broken``
Packit Service 21c75c
======================
Packit Service 21c75c
Packit Service 21c75c
For install command:
Packit Service 21c75c
Packit Service 21c75c
The ``--skip-broken`` option is an alias for ``--setopt=strict=0``. Both options could be used
Packit Service 21c75c
with DNF to skip all unavailable packages or packages with broken dependencies given to DNF
Packit Service 21c75c
without raising an error causing the whole operation to fail. This behavior can be set as default
Packit Service 21c75c
in dnf.conf file. See :ref:`strict conf option <strict-label>`.
Packit Service 21c75c
Packit Service 21c75c
For upgrade command:
Packit Service 21c75c
Packit Service 21c75c
The semantics that were supposed to trigger in YUM with ``--skip-broken`` are now set for plain
Packit Service 21c75c
``dnf update`` as a default. There is no need to use ``--skip-broken`` with the ``dnf upgrade``
Packit Service 21c75c
command. To use only the latest versions of packages in transactions, there is the ``--best``
Packit Service 21c75c
command line switch.
Packit Service 21c75c
Packit Service 21c75c
========================================
Packit Service 21c75c
Update and Upgrade Commands are the Same
Packit Service 21c75c
========================================
Packit Service 21c75c
Packit Service 21c75c
Invoking ``dnf update`` or ``dnf upgrade``, in all their forms, has the same
Packit Service 21c75c
effect in DNF, with the latter being preferred. In YUM ``yum upgrade`` was
Packit Service 21c75c
exactly like ``yum --obsoletes update``.
Packit Service 21c75c
Packit Service 21c75c
================================================
Packit Service 21c75c
 ``clean_requirements_on_remove`` on by default
Packit Service 21c75c
================================================
Packit Service 21c75c
Packit Service 21c75c
The :ref:`clean_requirements_on_remove <clean_requirements_on_remove-label>`
Packit Service 21c75c
switch is on by default in DNF. It can thus be confusing to compare the "remove"
Packit Service 21c75c
operation results between DNF and YUM as by default DNF is often going to remove
Packit Service 21c75c
more packages.
Packit Service 21c75c
Packit Service 21c75c
===========================
Packit Service 21c75c
 No ``resolvedep`` command
Packit Service 21c75c
===========================
Packit Service 21c75c
Packit Service 21c75c
The YUM version of this command is maintained for legacy reasons only. The user
Packit Service 21c75c
can just use ``dnf provides`` to find out what package provides a particular file.
Packit Service 21c75c
Packit Service 21c75c
===========================
Packit Service 21c75c
 No ``deplist`` command
Packit Service 21c75c
===========================
Packit Service 21c75c
Packit Service 21c75c
An alternative to the YUM ``deplist`` command to find out dependencies of a package
Packit Service 21c75c
is ``dnf repoquery --deplist`` using :ref:`repoquery command
Packit Service 21c75c
<repoquery_command-label>`.
Packit Service 21c75c
Packit Service 21c75c
.. note::  Alternatively there is a YUM compatibility support where
Packit Service 21c75c
           ``yum deplist`` is alias for ``dnf repoquery --deplist`` command
Packit Service 21c75c
Packit Service 21c75c
====================================================
Packit Service 21c75c
 Excludes and repo excludes apply to all operations
Packit Service 21c75c
====================================================
Packit Service 21c75c
Packit Service 21c75c
YUM only respects excludes during installs and upgrades. DNF extends this to all
Packit Service 21c75c
operations, among others erasing and listing. If you e.g. want to see a list of
Packit Service 21c75c
all installed ``python-f*`` packages but not any of the Flask packages, the
Packit Service 21c75c
following will work::
Packit Service 21c75c
Packit Service 21c75c
    dnf -x '*flask*' list installed 'python-f*'
Packit Service 21c75c
Packit Service 21c75c
=======================================
Packit Service 21c75c
The ``include`` option has been removed
Packit Service 21c75c
=======================================
Packit Service 21c75c
Packit Service 21c75c
Inclusion of other configuration files in the main configuration file is no longer supported.
Packit Service 21c75c
Packit Service 21c75c
====================================================
Packit Service 21c75c
``dnf provides /bin/<file>`` is not fully supported
Packit Service 21c75c
====================================================
Packit Service 21c75c
Packit Service 21c75c
After `UsrMove <https://fedoraproject.org/wiki/Features/UsrMove>`_ there's no
Packit Service 21c75c
directory ``/bin`` on Fedora systems and no files get installed there,
Packit Service 21c75c
``/bin`` is only a symlink created by the ``filesystem`` package to point to
Packit Service 21c75c
``/usr/bin``. Resolving the symlinks to their real path would only give the
Packit Service 21c75c
user a false sense that this works, while in fact provides requests using globs
Packit Service 21c75c
such as::
Packit Service 21c75c
Packit Service 21c75c
    dnf provides /b*/<file>
Packit Service 21c75c
Packit Service 21c75c
will fail still (as they do in YUM now). To find what provides a particular
Packit Service 21c75c
binary, use the actual path for binaries on Fedora::
Packit Service 21c75c
Packit Service 21c75c
    dnf provides /usr/bin/<file>
Packit Service 21c75c
Packit Service 21c75c
Also see related Fedora bugzillas `982947
Packit Service 21c75c
<https://bugzilla.redhat.com/show_bug.cgi?id=982947>`_ and `982664
Packit Service 21c75c
<https://bugzilla.redhat.com/show_bug.cgi?id=982664>`_.
Packit Service 21c75c
Packit Service 21c75c
.. _skip_if_unavailable_default:
Packit Service 21c75c
Packit Service 21c75c
====================================================
Packit Service 21c75c
 ``skip_if_unavailable`` could be enabled by default
Packit Service 21c75c
====================================================
Packit Service 21c75c
Packit Service 21c75c
In some distributions DNF is shipped with ``skip_if_unavailable=True`` in
Packit Service 21c75c
the :ref:`DNF configuration file <conf_ref-label>`. The reason for the change
Packit Service 21c75c
is that third-party repositories can often be unavailable. Without this setting
Packit Service 21c75c
in the relevant repository configuration file YUM immediately stops on a
Packit Service 21c75c
repository synchronization error, confusing and bothering the user.
Packit Service 21c75c
Packit Service 21c75c
See the related `Fedora bug 984483 <https://bugzilla.redhat.com/show_bug.cgi?id=984483>`_.
Packit Service 21c75c
Packit Service 21c75c
============================================================================
Packit Service 21c75c
 ``overwrite_groups`` dropped, comps functions acting as if always disabled
Packit Service 21c75c
============================================================================
Packit Service 21c75c
Packit Service 21c75c
This config option has been dropped. When DNF sees several groups with the same
Packit Service 21c75c
group ID it merges the groups' contents together.
Packit Service 21c75c
Packit Service 21c75c
===============================
Packit Service 21c75c
 ``mirrorlist_expire`` dropped
Packit Service 21c75c
===============================
Packit Service 21c75c
Packit Service 21c75c
To simplify things for the user, DNF uses ``metadata_expire`` for both expiring
Packit Service 21c75c
metadata and the mirrorlist file (which is a kind of metadata itself).
Packit Service 21c75c
Packit Service 21c75c
===========================================================
Packit Service 21c75c
 metalink not recognized in the ``mirrorlist`` repo option
Packit Service 21c75c
===========================================================
Packit Service 21c75c
Packit Service 21c75c
The following part of ``yum.conf(5)`` no longer applies for the ``mirrorlist``
Packit Service 21c75c
option:
Packit Service 21c75c
Packit Service 21c75c
    As a special hack if the mirrorlist URL contains the word "metalink" then
Packit Service 21c75c
    the value of mirrorlist is copied to metalink (if metalink is not set).
Packit Service 21c75c
Packit Service 21c75c
The relevant repository configuration files have been fixed to respect this, see
Packit Service 21c75c
the related `Fedora bug 948788
Packit Service 21c75c
<https://bugzilla.redhat.com/show_bug.cgi?id=948788>`_.
Packit Service 21c75c
Packit Service 21c75c
=================================
Packit Service 21c75c
 ``alwaysprompt`` dropped
Packit Service 21c75c
=================================
Packit Service 21c75c
Packit Service 21c75c
Unsupported to simplify the configuration.
Packit Service 21c75c
Packit Service 21c75c
.. _upgrade_requirements_on_install_dropped:
Packit Service 21c75c
Packit Service 21c75c
=============================================
Packit Service 21c75c
 ``upgrade_requirements_on_install`` dropped
Packit Service 21c75c
=============================================
Packit Service 21c75c
Packit Service 21c75c
Dropping this config option with blurry semantics simplifies the
Packit Service 21c75c
configuration. DNF behaves as if this was disabled. If the user wanted to
Packit Service 21c75c
upgrade everything to the latest version she'd simply use ``dnf upgrade``.
Packit Service 21c75c
Packit Service 21c75c
========================================
Packit Service 21c75c
 ``dnf history rollback`` check dropped
Packit Service 21c75c
========================================
Packit Service 21c75c
Packit Service 21c75c
Since DNF tolerates the use of other package managers, it is possible that not
Packit Service 21c75c
all changes to the RPMDB are stored in the history of transactions. Therefore, DNF
Packit Service 21c75c
does not fail if such a situation is encountered and thus the ``force`` option
Packit Service 21c75c
is not needed anymore.
Packit Service 21c75c
Packit Service 21c75c
.. _allowerasing_instead_of_swap:
Packit Service 21c75c
Packit Service 21c75c
============================================================
Packit Service 21c75c
 Packages replacement without ``yum swap``
Packit Service 21c75c
============================================================
Packit Service 21c75c
Packit Service 21c75c
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.
Packit Service 21c75c
Packit Service 21c75c
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::
Packit Service 21c75c
Packit Service 21c75c
  dnf --allowerasing install B
Packit Service 21c75c
Packit Service 21c75c
This command is equal to ``yum swap A B``.
Packit Service 21c75c
Packit Service 21c75c
DNF provides swap command but only ``dnf swap A B`` syntax is supported
Packit Service 21c75c
Packit Service 21c75c
========================================================
Packit Service 21c75c
 Dependency processing details are not shown in the CLI
Packit Service 21c75c
========================================================
Packit Service 21c75c
Packit Service 21c75c
During its depsolving phase, YUM outputs lines similar to::
Packit Service 21c75c
Packit Service 21c75c
  ---> Package rubygem-rhc.noarch 0:1.16.9-1.fc19 will be an update
Packit Service 21c75c
  --> Processing Dependency: rubygem-net-ssh-multi >= 1.2.0 for package: rubygem-rhc-1.16.9-1.fc19.noarch
Packit Service 21c75c
Packit Service 21c75c
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.
Packit Service 21c75c
Packit Service 21c75c
See the related `Fedora bug 1044999
Packit Service 21c75c
<https://bugzilla.redhat.com/show_bug.cgi?id=1044999>`_.
Packit Service 21c75c
Packit Service 21c75c
===================================================================
Packit Service 21c75c
``dnf provides`` complies with the YUM documentation of the command
Packit Service 21c75c
===================================================================
Packit Service 21c75c
Packit Service 21c75c
When one executes::
Packit Service 21c75c
Packit Service 21c75c
  yum provides sandbox
Packit Service 21c75c
Packit Service 21c75c
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::
Packit Service 21c75c
Packit Service 21c75c
  dnf provides /usr/bin/sandbox
Packit Service 21c75c
Packit Service 21c75c
or even::
Packit Service 21c75c
Packit Service 21c75c
  dnf provides '*/sandbox'
Packit Service 21c75c
Packit Service 21c75c
to obtain similar results.
Packit Service 21c75c
Packit Service 21c75c
==================
Packit Service 21c75c
Bandwidth limiting
Packit Service 21c75c
==================
Packit Service 21c75c
Packit Service 21c75c
DNF supports the ``throttle`` and ``bandwidth`` options familiar from YUM.
Packit Service 21c75c
Contrary to YUM, when multiple downloads run simultaneously the total
Packit Service 21c75c
downloading speed is throttled. This was not possible in YUM since
Packit Service 21c75c
downloaders ran in different processes.
Packit Service 21c75c
Packit Service 21c75c
===================================
Packit Service 21c75c
 ``installonlypkgs`` config option
Packit Service 21c75c
===================================
Packit Service 21c75c
Packit Service 21c75c
Compared to YUM, DNF appends list values from the ``installonlypkgs`` config option to DNF defaults, where YUM overwrites the defaults by option values.
Packit Service 21c75c
Packit Service 21c75c
==============================
Packit Service 21c75c
 The usage of Delta RPM files
Packit Service 21c75c
==============================
Packit Service 21c75c
Packit Service 21c75c
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.
Packit Service 21c75c
Packit Service 21c75c
================================================
Packit Service 21c75c
 Handling .srpm files and non-existent packages
Packit Service 21c75c
================================================
Packit Service 21c75c
Packit Service 21c75c
DNF will terminate early with an error if a command is executed requesting an installing operation on a local ``.srpm`` file::
Packit Service 21c75c
Packit Service 21c75c
  $ dnf install fdn-0.4.17-1.fc20.src.rpm tour-4-6.noarch.rpm
Packit Service 21c75c
  Error: Will not install a source rpm package (fdn-0.4.17-1.fc20.src).
Packit Service 21c75c
Packit Service 21c75c
The same applies for package specifications that do not match any available package.
Packit Service 21c75c
Packit Service 21c75c
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.
Packit Service 21c75c
Packit Service 21c75c
=============================================================
Packit Service 21c75c
 Promoting package to install to a package that obsoletes it
Packit Service 21c75c
=============================================================
Packit Service 21c75c
Packit Service 21c75c
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.
Packit Service 21c75c
Packit Service 21c75c
See the related `Fedora bug 1096506
Packit Service 21c75c
<https://bugzilla.redhat.com/show_bug.cgi?id=1096506>`_ and `guidelines for renaming and obsoleting packages in Fedora <http://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages>`_.
Packit Service 21c75c
Packit Service 21c75c
====================================
Packit Service 21c75c
Behavior of ``--installroot`` option
Packit Service 21c75c
====================================
Packit Service 21c75c
Packit Service 21c75c
DNF offers more predictable behavior of installroot. DNF handles the path differently
Packit Service 21c75c
from the ``--config`` command-line option, where this path is always related to the host
Packit Service 21c75c
system (YUM combines this path with installroot). Reposdir is also handled slightly
Packit Service 21c75c
differently, if one path of the reposdirs exists inside of installroot, then
Packit Service 21c75c
repos are strictly taken from installroot (YUM tests each path from reposdir
Packit Service 21c75c
separately and use installroot path if existed). See the detailed description for
Packit Service 21c75c
\-\ :ref:`-installroot <installroot-label>` option.
Packit Service 21c75c
Packit Service 21c75c
========================================
Packit Service 21c75c
Different prompt after transaction table
Packit Service 21c75c
========================================
Packit Service 21c75c
Packit Service 21c75c
DNF doesn't provide download functionality after displaying transaction table. It only asks user whether to continue with transaction or not.
Packit Service 21c75c
If one wants to download packages, they can use the 'download' command.
Packit Service 21c75c
Packit Service 21c75c
========================================
Packit Service 21c75c
List command shows all repo alternatives
Packit Service 21c75c
========================================
Packit Service 21c75c
Packit Service 21c75c
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
Packit Service 21c75c
possibility to choose preferred repo.
Packit Service 21c75c
Packit Service 21c75c
Packit Service 21c75c
===============================================
Packit Service 21c75c
``yum-langpacks`` subcommands have been removed
Packit Service 21c75c
===============================================
Packit Service 21c75c
Translations became part of core DNF and it is no longer
Packit Service 21c75c
necessary to manage individual language packs.
Packit Service 21c75c
Packit Service 21c75c
Following sub-commands were removed:
Packit Service 21c75c
Packit Service 21c75c
* langavailable
Packit Service 21c75c
* langinstall
Packit Service 21c75c
* langremove
Packit Service 21c75c
* langlist
Packit Service 21c75c
* langinfo
Packit Service 21c75c
Packit Service 21c75c
Packit Service 21c75c
###############################################
Packit Service 21c75c
 Changes in DNF plugins compared to YUM plugins
Packit Service 21c75c
###############################################
Packit Service 21c75c
Packit Service 21c75c
=======================================  ================================================================  ===================================
Packit Service 21c75c
Original YUM tool                        DNF command/option                                                Package
Packit Service 21c75c
---------------------------------------  ----------------------------------------------------------------  -----------------------------------
Packit Service 21c75c
``yum check``                            :ref:`dnf repoquery <repoquery_command-label>` ``--unsatisfied``  ``dnf``
Packit Service 21c75c
``yum-langpacks``                                                                                          ``dnf``
Packit Service 21c75c
``yum-plugin-aliases``                   :ref:`dnf alias <alias_command-label>`                            ``dnf``
Packit Service 21c75c
``yum-plugin-auto-update-debug-info``    option in ``debuginfo-install.conf``                              ``dnf-plugins-core``
Packit Service 21c75c
``yum-plugin-changelog``                                                                                   ``dnf-plugins-core``
Packit Service 21c75c
``yum-plugin-copr``                      `dnf copr`_                                                       ``dnf-plugins-core``
Packit Service 21c75c
``yum-plugin-fastestmirror``             ``fastestmirror`` option in `dnf.conf`_                           ``dnf``
Packit Service 21c75c
``yum-plugin-fs-snapshot``                                                                                 ``dnf-plugins-extras-snapper``
Packit Service 21c75c
``yum-plugin-local``                                                                                       ``dnf-plugins-core``
Packit Service 21c75c
``yum-plugin-merge-conf``                                                                                  ``dnf-plugins-extras-rpmconf``
Packit Service 21c75c
``yum-plugin-post-transaction-actions``                                                                    ``dnf-plugins-core``
Packit Service 21c75c
``yum-plugin-priorities``                ``priority`` option in `dnf.conf`_                                ``dnf``
Packit Service 21c75c
``yum-plugin-remove-with-leaves``        :ref:`dnf autoremove <autoremove_command-label>`                  ``dnf``
Packit Service 21c75c
``yum-plugin-show-leaves``                                                                                 ``dnf-plugins-core``
Packit Service 21c75c
``yum-plugin-tmprepo``                   ``--repofrompath`` option                                         ``dnf``
Packit Service 21c75c
``yum-plugin-tsflags``                   ``tsflags``  option in `dnf.conf`_                                ``dnf``
Packit Service 21c75c
``yum-plugin-versionlock``                                                                                 ``python3-dnf-plugin-versionlock``
Packit Service 21c75c
``yum-rhn-plugin``                                                                                         ``dnf-plugin-spacewalk``
Packit Service 21c75c
=======================================  ================================================================  ===================================
Packit Service 21c75c
Packit Service 21c75c
Plugins that have not been ported yet:
Packit Service 21c75c
Packit Service 21c75c
``yum-plugin-filter-data``,
Packit Service 21c75c
``yum-plugin-keys``,
Packit Service 21c75c
``yum-plugin-list-data``,
Packit Service 21c75c
``yum-plugin-protectbase``,
Packit Service 21c75c
``yum-plugin-ps``,
Packit Service 21c75c
``yum-plugin-puppetverify``,
Packit Service 21c75c
``yum-plugin-refresh-updatesd``,
Packit Service 21c75c
``yum-plugin-rpm-warm-cache``,
Packit Service 21c75c
``yum-plugin-upgrade-helper``,
Packit Service 21c75c
``yum-plugin-verify``
Packit Service 21c75c
Packit Service 21c75c
Feel free to file an RFE_ for missing functionality if you need it.
Packit Service 21c75c
Packit Service 21c75c
#################################################
Packit Service 21c75c
 Changes in DNF plugins compared to YUM utilities
Packit Service 21c75c
#################################################
Packit Service 21c75c
Packit Service 21c75c
All ported YUM tools are now implemented as DNF plugins.
Packit Service 21c75c
Packit Service 21c75c
=========================  ================================================ =================================
Packit Service 21c75c
Original YUM tool          New DNF command                                  Package
Packit Service 21c75c
-------------------------  ------------------------------------------------ ---------------------------------
Packit Service 21c75c
``debuginfo-install``      `dnf debuginfo-install`_                         ``dnf-plugins-core``
Packit Service 21c75c
``find-repos-of-install``  `dnf list installed`_                            ``dnf``
Packit Service 21c75c
``needs-restarting``       `dnf tracer`_                                    ``dnf-plugins-extras-tracer``
Packit Service 21c75c
``package-cleanup``        :ref:`dnf list <list_command-label>`,
Packit Service 21c75c
                           :ref:`dnf repoquery <repoquery_command-label>`   ``dnf``, ``dnf-plugins-core``
Packit Service 21c75c
``repoclosure``            `dnf repoclosure`_                               ``dnf-plugins-extras-repoclosure``
Packit Service 21c75c
``repodiff``               `dnf repodiff`_                                  ``dnf-plugins-core``
Packit Service 21c75c
``repo-graph``             `dnf repograph`_                                 ``dnf-plugins-extras-repograph``
Packit Service 21c75c
``repomanage``             `dnf repomanage`_                                ``dnf-plugins-extras-repomanage``
Packit Service 21c75c
``repoquery``              :ref:`dnf repoquery <repoquery_command-label>`   ``dnf``
Packit Service 21c75c
``reposync``               `dnf reposync`_                                  ``dnf-plugins-core``
Packit Service 21c75c
``repotrack``              `dnf download`_ --resolve --alldeps              ``dnf-plugins-core``
Packit Service 21c75c
``yum-builddep``           `dnf builddep`_                                  ``dnf-plugins-core``
Packit Service 21c75c
``yum-config-manager``     `dnf config-manager`_                            ``dnf-plugins-core``
Packit Service 21c75c
``yum-debug-dump``         `dnf debug-dump`_                                ``dnf-plugins-extras-debug``
Packit Service 21c75c
``yum-debug-restore``      `dnf debug-restore`_                             ``dnf-plugins-extras-debug``
Packit Service 21c75c
``yumdownloader``          `dnf download`_                                  ``dnf-plugins-core``
Packit Service 21c75c
=========================  ================================================ =================================
Packit Service 21c75c
Packit Service 21c75c
Detailed table for ``package-cleanup`` replacement:
Packit Service 21c75c
Packit Service 21c75c
==========================================       ===============================================================
Packit Service 21c75c
``package-cleanup --dupes``                      ``dnf repoquery --duplicates``
Packit Service 21c75c
``package-cleanup --leaves``                     ``dnf repoquery --unneeded``
Packit Service 21c75c
``package-cleanup --orphans``                    ``dnf repoquery --extras``
Packit Service 21c75c
``package-cleanup --problems``                   ``dnf repoquery --unsatisfied``
Packit Service 21c75c
``package-cleanup --cleandupes``                 ``dnf remove --duplicates``
Packit Service 21c75c
``package-cleanup --oldkernels``                 ``dnf remove --oldinstallonly``
Packit Service 21c75c
``package-cleanup --oldkernels --keep=2``        ``dnf remove $(dnf repoquery --installonly --latest-limit=-2)``
Packit Service 21c75c
==========================================       ===============================================================
Packit Service 21c75c
Packit Service 21c75c
=============================
Packit Service 21c75c
yum-updateonboot and yum-cron
Packit Service 21c75c
=============================
Packit Service 21c75c
Packit Service 21c75c
DNF does not have a direct replacement of yum-updateonboot and yum-cron commands.
Packit Service 21c75c
However, the similar result can be achieved by ``dnf automatic`` command (see :doc:`automatic`).
Packit Service 21c75c
Packit Service 21c75c
You can either use the shortcut::
Packit Service 21c75c
Packit Service 21c75c
  $ systemctl enable --now dnf-automatic-install.timer
Packit Service 21c75c
Packit Service 21c75c
Or set ``apply_updates`` option of ``/etc/dnf/automatic.conf`` to True and use generic timer unit::
Packit Service 21c75c
Packit Service 21c75c
  $ systemctl enable --now dnf-automatic.timer
Packit Service 21c75c
Packit Service 21c75c
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.
Packit Service 21c75c
Packit Service 21c75c
Packit Service 21c75c
=======================================
Packit Service 21c75c
Utilities that have not been ported yet
Packit Service 21c75c
=======================================
Packit Service 21c75c
Packit Service 21c75c
``repo-rss``,
Packit Service 21c75c
``show-changed-rco``,
Packit Service 21c75c
``show-installed``,
Packit Service 21c75c
``verifytree``,
Packit Service 21c75c
``yum-groups-manager``
Packit Service 21c75c
Packit Service 21c75c
Take a look at the FAQ_ about YUM to DNF migration. Feel free to file an RFE_ for missing functionality if you need it.
Packit Service 21c75c
Packit Service 21c75c
.. _dnf debuginfo-install: http://dnf-plugins-core.readthedocs.org/en/latest/debuginfo-install.html
Packit Service 21c75c
.. _dnf list installed: http://dnf.readthedocs.org/en/latest/command_ref.html
Packit Service 21c75c
.. _dnf tracer: http://dnf-plugins-extras.readthedocs.org/en/latest/tracer.html
Packit Service 21c75c
.. _dnf repoclosure: http://dnf-plugins-extras.readthedocs.org/en/latest/repoclosure.html
Packit Service 21c75c
.. _dnf repodiff: http://dnf-plugins-core.readthedocs.org/en/latest/repodiff.html
Packit Service 21c75c
.. _dnf repograph: http://dnf-plugins-extras.readthedocs.org/en/latest/repograph.html
Packit Service 21c75c
.. _dnf repomanage: http://dnf-plugins-extras.readthedocs.org/en/latest/repomanage.html
Packit Service 21c75c
.. _dnf reposync: http://dnf-plugins-core.readthedocs.org/en/latest/reposync.html
Packit Service 21c75c
.. _dnf download: http://dnf-plugins-core.readthedocs.org/en/latest/download.html
Packit Service 21c75c
.. _dnf builddep: http://dnf-plugins-core.readthedocs.org/en/latest/builddep.html
Packit Service 21c75c
.. _dnf config-manager: http://dnf-plugins-core.readthedocs.org/en/latest/config_manager.html
Packit Service 21c75c
.. _dnf debug-dump: http://dnf-plugins-extras.readthedocs.org/en/latest/debug.html
Packit Service 21c75c
.. _dnf debug-restore: http://dnf-plugins-extras.readthedocs.org/en/latest/debug.html
Packit Service 21c75c
.. _dnf copr: http://rpm-software-management.github.io/dnf-plugins-core/copr.html
Packit Service 21c75c
.. _dnf.conf: http://dnf.readthedocs.org/en/latest/conf_ref.html
Packit Service 21c75c
.. _RFE: https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting#new-feature-request
Packit Service 21c75c
.. _FAQ: http://dnf.readthedocs.io/en/latest/user_faq.html