|
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
|