YUM4/DNF for CentOS 7 updates

Tuesday , 17, April 2018 8 Comments

I am pleased to announce some significant updates to our ConfigManagement Special Interest Group for YUM4.  This provides YUM4, based on DNF technology, for testing on CentOS Linux 7/x86_64.  These updates are based on feedback from our prior test release last October. It includes signed packages, core DNF plugins, and uses a version of RPM very similar to and compatible with the upcoming version of CentOS 7.5.

This initiative is based on a partnership with the upstream YUM and DNF maintainers for the future of package management.  Our testing thus far indicates no major problems, but we would love to find out how it fits into your existing YUM 3 workflows. So please consider filling out the short survey - your feedback helps us all get better.

YUM 4 provides significant improvements such as fast dependency resolution and a stable, documented API. See the references below for detailed improvements. We have made every effort to preserve the existing end-user experience that is available with YUM 3. This is the primary reason for making YUM 4 available for testing now.

“What’s with the YUM4 name?”

We recognize that we need to enable users to test YUM4 (/usr/bin/yum4) within their existing workflows in order to fully understand compatibility while retaining YUM version 3 (/usr/bin/yum) as the default.  Yes, they can both be used on the same system, switching back and forth.  We do not recommend this behavior, but it should work with the only known issue being that each version retains its own separate history.  So using the Rollback capability is not recommended as each version will not be aware of the other’s history. Note that the YUM4 name is temporary for the coexistence of versions 3 & 4.

“So, what all has changed?”

The documentation does a great job explaining the differences in great detail. In short, your existing experience using yum to install, remove, and update are identical. However, there are changes such as some of the plugins and yum utilities are now consolidated into `dnf-plugins-core`. Some of the yum CLI options changed and are either converted for you automatically or silently ignored when that behavior is automatically included. Existing custom plugins written for YUM 3 will not work with YUM 4. Please reference the DNF API Reference and Changes in DNF hook API compared to YUM 3 links for further information.

“I found a bug, what should I do?”

Please report any found bugs on Red Hat Bugzilla against Fedora/dnf component (make sure to mention versions and that you use package from CentOS).

And remember to submit feedback in the short survey to help us understand how it can be improved further.

“Three step install, get started right away”

# yum install centos-release-yum4
# yum install yum4
# yum4 install dnf-plugins-core

“I was already testing a previous version of YUM4.  How do I update?”

# yum4 update centos-release-yum4
# yum4 update yum4

 

Many thanks to the CentOS Project team for their assistance in making this happen!

Tags:, ,
8 thoughts on “ : YUM4/DNF for CentOS 7 updates”
  • Thomas says:

    The yum, yum4, dnf thing leaves me with some questions:

    * Will CentOS 7.x yum sometimes rebased to yum4 ?
    * is the dnf command deprecated and will it be called yum again on fedora/CentOS8?

  • Dejan Lekic says:

    I am not sure this is a good idea... Even the decision to move away from yum to dnf by Fedora was probably a bad one. `yum` should be a symlink to whatever tool is the "current" package manager. On Fedora `yum` should be a link to the `dnf` on new CentOS it should be a symlink to `yum4` etc. Ofc the interface changes should be kept minimal...

    • Cody says:

      Unsure if code tags are allowed here so:

      lrwxrwxrwx 1 root root 3 Nov 29 01:48 /usr/bin/yum -> dnf

      But as for `dnf' do you realise how atrocious the logging is? Whereas for `yum' it's nice and clean. Bad enough for a desktop but even worse for a server!

      At least there is `yum-deprecated' but `dnf' is a ghastly piece of work and I really hope that they never get rid of `yum-deprecated' because it's far far superior no matter what they say. I can think of other Red Hat sponsored ideas in recent years that are also ghastly but I'll not get into that.

  • Terry says:

    Here's how you can test this out with RHEL:

    1. Setup the repository

    wget http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-yum4-1-2.el7.centos.noarch.rpm
    wget http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-configmanagement-1-1.el7.centos.noarch.rpm
    yum install centos-release-yum4-1-2.el7.centos.noarch.rpm centos-release-configmanagement-1-1.el7.centos.noarch.rpm

    2. Install YUM4/DNF

    yum install -y yum4 dnf-plugins-core

    3. Optionally, install newer utilities (reposync, yumdownloader, and similar). This will replace the yum-utils package with the dnf-utils package, but is not required to test most YUM4 compatibility and workflows.

    yum4 install dnf-utils createrepo_c --allowerasing

  • Marcel Metz says:

    This is the first time for me hearing from YUM4.

    So is `yum4` a new and separate package manager competing with `dnf` but sharing `libdnf`, `libsolv` and other libraries or is this a backported (to what extent?) `dnf`?

    Why was there a need for a separate package manager if the former is true. What is the rationale behind introducing the `yum4` name if the latter is true?

    How much deviate those 3 tools from each other, especially `dnf` and `yum4`?

    • Cody says:

      Well if it's more like `yum' I'm all for it; `dnf' is a terrible piece of work. The logging is an absolute disaster and for a server it's even worse. `yum' logging is nice and clean and if they had to try replacing it with `dnf' they should have done it properly. But just like a certain daemon sponsored by Red Hat in recent years they failed in that department.

  • Please give us your valuable comment

    Your email address will not be published. Required fields are marked *