изменения DNF по сравнению с YUM (Changes in DNF compared to YUM)
Имя (Name)
yum2dnf - Changes in DNF compared to YUM
--SKIP-BROKEN
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 strict conf option.
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
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
The clean_requirements_on_remove 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
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
An alternative to the YUM deplist
command to find out
dependencies of a package is dnf repoquery --deplist
using
repoquery command.
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
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
Inclusion of other configuration files in the main configuration
file is no longer supported.
DNF PROVIDES /BIN/<FILE> IS NOT FULLY SUPPORTED
After UsrMove 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 982947 and 982664.
SKIP_IF_UNAVAILABLE COULD BE ENABLED BY DEFAULT
In some distributions DNF is shipped with
skip_if_unavailable=True
in the DNF configuration file. 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 Fedora bug 984483.
OVERWRITE_GROUPS DROPPED, COMPS FUNCTIONS ACTING AS IF ALWAYS DISABLED