Linux – packages excluded due to repository priority protections

centos-6linux

I am not able to update my PHP in centos 6.

I have centos base, epel and rpmforge repos.

yum update php
Error: Package: php-tidy-5.3.3-14.el6_3.x86_64 (@updates)
Requires: php-common = 5.3.3-14.el6_3
Removing: php-common-5.3.3-14.el6_3.x86_64 (@updates)
php-common = 5.3.3-14.el6_3
Updated By: php-common-5.3.3-23.el6_4.x86_64 (updates)
php-common = 5.3.3-23.el6_4
Available: php-common-5.3.3-22.el6.x86_64 (base)
php-common = 5.3.3-22.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
.. install failed!

I believe php-tidy has been excluded due to repo priority.
How do it fix it?

EDIT
epel.repo has "priority = 10"
Could it be a reason?

yum update -d3

gives list of excluded updates.
–> php-tidy-5.3.3-22.el6.x86_64 from base excluded (priority)

Best Answer

You may wish to disable extra repositories while trying to upgrade packages.

There are some tricks that you can try when you have multiple repositories that contain different versions of the same package. CentOS has this wiki article with some tips and tricks for specifying a certain repository to use.

Using this information, running

yum --disablerepo "*" --enablerepo "updates" update php

should clear up this issue.

Related Question