Issue
I've got an inherited server in my estate that runs git, I'm just trying to perform security updates on it using # yum update --security
and am running into an issue I'm not sure about, below is the tail of the output:
--> Finished Dependency Resolution
Error: Package: subversion-perl-1.6.11-9.el6_4.x86_64 (@rhel-x86_64-server-optional-6)
Requires: subversion = 1.6.11-9.el6_4
Removing: subversion-1.6.11-9.el6_4.i686 (@rhel-x86_64-server-6)
subversion = 1.6.11-9.el6_4
Updated By: subversion-1.6.11-10.el6_5.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-10.el6_5
Available: subversion-1.6.11-2.el6.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-2.el6
Available: subversion-1.6.11-2.el6_0.2.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-2.el6_0.2
Available: subversion-1.6.11-2.el6_0.3.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-2.el6_0.3
Available: subversion-1.6.11-2.el6_1.4.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-2.el6_1.4
Available: subversion-1.6.11-7.el6.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-7.el6
Error: Package: subversion-ruby-1.6.11-9.el6_4.x86_64 (@rhel-x86_64-server-optional-6)
Requires: subversion = 1.6.11-9.el6_4
Removing: subversion-1.6.11-9.el6_4.i686 (@rhel-x86_64-server-6)
subversion = 1.6.11-9.el6_4
Updated By: subversion-1.6.11-10.el6_5.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-10.el6_5
Available: subversion-1.6.11-2.el6.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-2.el6
Available: subversion-1.6.11-2.el6_0.2.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-2.el6_0.2
Available: subversion-1.6.11-2.el6_0.3.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-2.el6_0.3
Available: subversion-1.6.11-2.el6_1.4.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-2.el6_1.4
Available: subversion-1.6.11-7.el6.i686 (rhel-x86_64-server-6)
subversion = 1.6.11-7.el6
Error: Package: ruby-ri-1.8.7.352-12.el6_4.x86_64 (@rhel-x86_64-server-optional-6)
Requires: ruby-rdoc = 1.8.7.352-12.el6_4
Removing: ruby-rdoc-1.8.7.352-12.el6_4.x86_64 (@rhel-x86_64-server-6)
ruby-rdoc = 1.8.7.352-12.el6_4
Updated By: ruby-rdoc-1.8.7.352-13.el6.x86_64 (rhel-x86_64-server-6)
ruby-rdoc = 1.8.7.352-13.el6
Available: ruby-rdoc-1.8.7.352-7.el6_2.x86_64 (rhel-x86_64-server-6)
ruby-rdoc = 1.8.7.352-7.el6_2
Available: ruby-rdoc-1.8.7.352-10.el6_4.x86_64 (rhel-x86_64-server-6)
ruby-rdoc = 1.8.7.352-10.el6_4
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
The server is RHEL 6.4 and is dedicated to runnig Git (version 1.7.1).
Is this due to multiple copies of the same package but for different architectures? Is there any way around it?
Let me know if you need more info from me.
Cheers
I should add that if I run it with --skip-broken I get the following:
--> Finished Dependency Resolution
Packages skipped because of dependency problems:
ruby-irb-1.8.7.352-13.el6.x86_64 from rhel-x86_64-server-6
ruby-rdoc-1.8.7.352-13.el6.x86_64 from rhel-x86_64-server-6
subversion-1.6.11-10.el6_5.i686 from rhel-x86_64-server-6
subversion-1.6.11-10.el6_5.x86_64 from rhel-x86_64-server-6
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:
1. You have an upgrade for ruby-libs which is missing some
dependency that another package requires. Yum is trying to
solve this by installing an older version of ruby-libs of the
different architecture. If you exclude the bad architecture
yum will tell you what the root cause is (which package
requires what). You can try redoing the upgrade with
--exclude ruby-libs.otherarch ... this should give you an error
message showing the root cause of the problem.
2. You have multiple architectures of ruby-libs installed, but
yum can only see an upgrade for one of those arcitectures.
If you don't want/need both architectures anymore then you
can remove the one with the missing update and everything
will work.
3. You have duplicate versions of ruby-libs installed already.
You can use "yum check" to get yum show these errors.
...you can also use --setopt=protected_multilib=false to remove
this checking, however this is almost never the correct thing to
do as something else is very likely to go wrong (often causing
much more problems).
Protected multilib versions: ruby-libs-1.8.7.352-12.el6_4.i686 != ruby-libs-1.8.7.352-13.el6.x86_64
You could try running: rpm -Va --nofiles --nodigest
Solution
It turns out it was a n00b issue, although I had the @rhel-x86_64-server-optional-6 channel, I hadn't cleared the yum cache!
# yum clean all
# yum repolist
Sorted it.
Answered By - malco