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

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: (
           Requires: libxml2(x86-64) =
           Removing: (
               libxml2(x86-64) =
           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" I find the following packages

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

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.



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


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.