Replacing packages with versiuon from another repository

Hi all,

this is more a general Linux resp. Centos/RHEL question, but maybe someone can chime in?

I had an issue a while ago with “Yum update failing: yum update --disablerepo=interworx-cp*”. Stupidly overlooking the --disablerepo=interworx-cp* (That command is for OS level updates, not InterWorx related ones–that’s what the disable-repo flag means–it’s updating from any repos with an update except for InterWorx) I opened a ticket with IW. And even though the problem was not IW related, Jenna was so kind and put me on the right track. THANKS JENNA!!

The issue was that the package libxml2 was from a repo that is no longer on the server (city-fan), so it was trying to update the package from a different repo that has a different version:

Protected multilib versions: libxml2-2.9.1-6.el7_2.3.i686 != libxml2-2.9.7-3.0.cf.rhel7.x86_64

I’m a bit further along now and have solved my problem on a test server (hopefully the correct way):

Since the installed version has a higher version number i.e. is “newer”, I had to persuade Yum to downgrade. With “yum downgrade libxml2” I learned that libxml2 is required by Python2-libxml2:

--> Finished Dependency Resolution
Error: Package: python2-libxml2-2.9.7-3.0.cf.rhel7.x86_64 (@city-fan.org)
           Requires: libxml2(x86-64) = 2.9.7-3.0.cf.rhel7
           Removing: libxml2-2.9.7-3.0.cf.rhel7.x86_64 (@city-fan.org)
               libxml2(x86-64) = 2.9.7-3.0.cf.rhel7
           Downgraded By: libxml2-2.9.1-6.el7_2.3.x86_64 (base)
               libxml2(x86-64) = 2.9.1-6.el7_2.3

So I uninstalled it via “yum remove python2-libxml2” (with the following dependencies: interworx-cli interworx-cli interworx-horde interworx-hotfix interworx-php-fpm interworx-roundcube yum-utils), then replaced it via “yum downgrade libxml2” with the correct version from the official repository and then manually reinstalled libxml2-python (it is named differently!) and the dependencies.

After that all updates went through without any hiccups again.

So my first question to the Pros here, do you think the way I did it was clean and correct? If so, I would repeat the procedure on the other (production) servers.

And of course I have a follow-up question: Via " yum list installed | grep @city-fan.org" I find the following packages

GeoIP.x86_64                       1.6.12-1.0.cf.rhel7        @city-fan.org
GeoIP-GeoLite-data.noarch          2018.02-1.el7              @city-fan.org
GeoIP-GeoLite-data-extra.noarch    2018.02-1.el7              @city-fan.org
city-fan.org-release.noarch        2-1.rhel7                  @city-fan.org
curl.x86_64                        7.58.0-4.0.cf.rhel7        @city-fan.org
geoipupdate.x86_64                 2.5.0-1.el7                @city-fan.org
libcurl.x86_64                     7.58.0-4.0.cf.rhel7        @city-fan.org
libcurl-devel.x86_64               7.58.0-4.0.cf.rhel7        @city-fan.org
libgcrypt.x86_64                   1.5.6-1.0.cf.rhel7         @city-fan.org
libgpg-error.x86_64                1.27-5.0.cf.rhel7          @city-fan.org
libidn.x86_64                      1.33-4.0.el7               @city-fan.org
libmetalink.x86_64                 0.1.3-4.rhel7              @city-fan.org
libpsl.x86_64                      0.7.0-1.el7                @city-fan.org
libssh2.x86_64                     1.8.0-5.0.cf.rhel7         @city-fan.org
libssh2-devel.x86_64               1.8.0-5.0.cf.rhel7         @city-fan.org
libxslt.x86_64                     1.1.30-5.0.cf.rhel7        @city-fan.org
perl-Algorithm-Diff.noarch         1.1903-5.rhel7             @city-fan.org
perl-Archive-Tar.noarch            2.26-1.rhel7               @city-fan.org
perl-Archive-Zip.noarch            1.60-1.rhel7               @city-fan.org
perl-B-Hooks-EndOfScope.noarch     0.21-2.rhel7               @city-fan.org
perl-Class-Data-Inheritable.noarch 0.08-22.rhel7              @city-fan.org
perl-Class-Inspector.noarch        1.32-1.rhel7               @city-fan.org
perl-Class-Load.noarch             0.24-1.rhel7               @city-fan.org
perl-Class-Method-Modifiers.noarch 2.12-3.rhel7               @city-fan.org
perl-Class-Singleton.noarch        1.5-5.rhel7                @city-fan.org
perl-Clone.x86_64                  0.39-1.rhel7               @city-fan.org
perl-Compress-Raw-Bzip2.x86_64     2.074-396.rhel7            @city-fan.org
perl-Compress-Raw-Zlib.x86_64      1:2.076-1.rhel7            @city-fan.org
perl-DBI.x86_64                    1.640-1.rhel7              @city-fan.org
perl-Data-OptList.noarch           0.110-2.rhel7              @city-fan.org
perl-DateTime.x86_64               2:1.45-1.0.cf.rhel7        @city-fan.org
perl-DateTime-Locale.noarch        1.17-1.0.cf.rhel7          @city-fan.org
perl-DateTime-TimeZone.noarch      2.17-1.0.cf.rhel7          @city-fan.org
perl-Devel-Caller.x86_64           2.06-14.el7                @city-fan.org
perl-Devel-LexAlias.x86_64         0.05-15.el7                @city-fan.org
perl-Devel-StackTrace.noarch       1:2.03-1.rhel7             @city-fan.org
perl-Digest-BubbleBabble.noarch    0.02-15.rhel7              @city-fan.org
perl-Digest-SHA.x86_64             1:6.01-1.rhel7             @city-fan.org
perl-Dist-CheckConflicts.noarch    0.11-7.rhel7               @city-fan.org
perl-Error.noarch                  1:0.17025-1.rhel7          @city-fan.org
perl-Eval-Closure.noarch           0.14-1.rhel7               @city-fan.org
perl-Exception-Class.noarch        1.44-1.rhel7               @city-fan.org
perl-Exporter-Tiny.noarch          1.000000-1.rhel7           @city-fan.org
perl-File-ShareDir.noarch          1.104-1.rhel7              @city-fan.org
perl-Filter.x86_64                 2:1.58-1.rhel7             @city-fan.org
perl-HTTP-Tiny.noarch              0.070-1.rhel7              @city-fan.org
perl-IO-Compress.noarch            2.074-1.rhel7              @city-fan.org
perl-IO-Multiplex.noarch           1.16-5.rhel7               @city-fan.org
perl-IO-Socket-INET6.noarch        2.72-10.rhel7              @city-fan.org
perl-IO-Socket-IP.noarch           0.39-1.rhel7               @city-fan.org
perl-IO-Socket-SSL.noarch          2.054-1.rhel7              @city-fan.org
perl-IO-String.noarch              1.08-27.rhel7              @city-fan.org
perl-IO-Zlib.noarch                1:1.10-377.rhel7           @city-fan.org
perl-List-MoreUtils.noarch         0.428-1.rhel7              @city-fan.org
perl-List-MoreUtils-XS.x86_64      0.428-1.rhel7              @city-fan.org
perl-MIME-Types.noarch             2.17-1.rhel7               @city-fan.org
perl-MRO-Compat.noarch             0.13-1.rhel7               @city-fan.org
perl-Mail-Sender.noarch            1:0.903-1.rhel7            @city-fan.org
perl-Mail-Sendmail.noarch          0.80-1.rhel7               @city-fan.org
perl-MailTools.noarch              2.20-1.rhel7               @city-fan.org
perl-Module-Implementation.noarch  0.09-9.rhel7               @city-fan.org
perl-Module-Runtime.noarch         0.016-1.rhel7              @city-fan.org
perl-Net-CIDR-Lite.noarch          0.21-16.rhel7              @city-fan.org
perl-Net-DNS.noarch                1.15-1.0.cf.rhel7          @city-fan.org
perl-Net-Daemon.noarch             0.48-14.rhel7              @city-fan.org
perl-Net-IP.noarch                 1.26-10.rhel7              @city-fan.org
perl-Net-LibIDN.x86_64             0.12-24.rhel7              @city-fan.org
perl-Net-SMTP-SSL.noarch           1.04-1.rhel7               @city-fan.org
perl-Net-SSLeay.x86_64             1.84-1.0.cf.rhel7          @city-fan.org
perl-Net-Server.noarch             2.009-1.rhel7              @city-fan.org
perl-NetAddr-IP.x86_64             4.079-2.rhel7              @city-fan.org
perl-Package-Constants.noarch      1:0.06-5.rhel7             @city-fan.org
                                   0.17-2.rhel7               @city-fan.org
perl-Package-Generator.noarch      1.106-7.rhel7              @city-fan.org
perl-Package-Stash.noarch          0.37-5.rhel7               @city-fan.org
perl-Package-Stash-XS.x86_64       0.28-16.rhel7              @city-fan.org
perl-PadWalker.x86_64              2.3-1.rhel7                @city-fan.org
perl-Params-Util.x86_64            1.07-16.rhel7              @city-fan.org
perl-Params-Validate.x86_64        1.29-3.rhel7               @city-fan.org
                                   0.26-1.rhel7               @city-fan.org
perl-Perl-Tidy.noarch              20180101-1.rhel7           @city-fan.org
perl-Pod-Escapes.noarch            1:1.07-365.rhel7           @city-fan.org
perl-Pod-Simple.noarch             1:3.35-1.rhel7             @city-fan.org
perl-Ref-Util.noarch               0.203-1.rhel7              @city-fan.org
perl-Ref-Util-XS.x86_64            0.117-1.rhel7              @city-fan.org
perl-Role-Tiny.noarch              2.000006-1.rhel7           @city-fan.org
perl-Socket6.x86_64                0.28-5.rhel7               @city-fan.org
perl-Specio.noarch                 0.42-1.rhel7               @city-fan.org
perl-Sub-Exporter.noarch           0.987-10.rhel7             @city-fan.org
                                   0.001013-1.rhel7           @city-fan.org
perl-Sub-Identify.x86_64           0.14-4.rhel7               @city-fan.org
perl-Sub-Install.noarch            0.928-9.rhel7              @city-fan.org
perl-Sub-Name.x86_64               0.21-5.rhel7               @city-fan.org
perl-Sys-Hostname-Long.noarch      1.5-8.rhel7                @city-fan.org
perl-Taint-Runtime.x86_64          0.03-27.rhel7              @city-fan.org
perl-Term-ReadKey.x86_64           2.37-1.rhel7               @city-fan.org
perl-Test-Harness.noarch           3.39-1.rhel7               @city-fan.org
perl-Text-Diff.noarch              1.45-1.rhel7               @city-fan.org
perl-TimeDate.noarch               1:2.30-9.rhel7             @city-fan.org
perl-Try-Tiny.noarch               0.30-1.rhel7               @city-fan.org
perl-Variable-Magic.x86_64         0.62-1.rhel7               @city-fan.org
perl-XML-LibXML.x86_64             1:2.0132-2.0.rhel7         @city-fan.org
perl-XML-NamespaceSupport.noarch   1.12-1.rhel7               @city-fan.org
perl-XML-SAX.noarch                0.99-17.rhel7              @city-fan.org
perl-XML-SAX-Base.noarch           1.09-1.rhel7               @city-fan.org
perl-interpreter.noarch            4:5.16.3-100.rhel7         @city-fan.org
perl-namespace-autoclean.noarch    0.28-6.rhel7               @city-fan.org
perl-namespace-clean.noarch        0.27-2.rhel7               @city-fan.org
perl-parent.noarch                 1:0.236-1.rhel7            @city-fan.org
perl-version.x86_64                5:0.99.18-1.rhel7          @city-fan.org

In order to be safe from similar yum update problems in the future, I would have to replace them all. Is this only possible manually, i.w. package by package or does anyone know a more elegant way to do this?

Or would you rather wait until another update problem occurs and then fix that?

Any input is welcome.

Cheers,

Michael

Hi Michael

I hope your well

I?ll come back to this later, but my first thought was to add new repo and refresh yum then yum update/install so it grabbed the package

Many thanks

John

Hi John,

still spending every weekend with extensive reconstruction on our house, but it’s a lot of fun. How are you?

Regarding your answer, we are way past that. The issue is not how to remove the repo, but how to replace packages installed by an already removed repo. The installed packages are sometimes differently named and often have a higher version number, so the simple yum stuff won’t help. As written, I have found a way how to do what I want. I just wanted to do a sanity check, if I did it the right way.

Cheers,
Michael