16

I am doing a system wide yum update on RHEL 5.5 and the IUS EPEL repository is throwing a missing dependency error:

php53-mcrypt-5.3.3-4.ius.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-   5.3.3-4.ius.el5.x86_64 (installed)
Error: Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)

Is there is a way to run YUM update against all the other repositories ignoring the IUS EPEL repo to skip this dependency issue?

Clarification

I am trying to install the updates from the Redhat Network only. I cannot find the repo name so I am unable to do something like sudo yum --disablerepo=* --enablerepo=rhel update as the version of yum I am using does not support multiple repositories listed after --disablerepo.

Update

My temporary workaround is to run sudo yum --exclude=php53* update. I am convinced that there is a better way. This better way includes fixing the actual problem, so I filed a bug with the IUS Community Project as well.

Update #2

Looks like I found the issue with the dependency. I still think there should be a viable workaround.

Thanks!

Robin
  • 341
  • 1
  • 4
  • 9

4 Answers4

26

Try the disable repo switch:

--disablerepo=REPONAME

UPDATE

To find all repositories currently "known" (enabled and disabled):

yum repolist all

Then to find which repository is giving you grief for the above package, try:

yum list php53-mcrypt-5.3.3-4.ius.el5.x86_64 --showduplicates

This will then show which of your repositories provide the above package (you'll see "installed" on the list too, to show the locally installed packages).

Try the disable switch again once you know the repository using the disable repo switch.

yum update --disablerepo=[from above]

Failing the steps above to single-out the repository you want to omit, try having a look through /etc/yum.repos.d/, which is the RHEL default location for repository definitions. Once in this directory, locate all non-standard RHEL base and updates repository files and include enabled=0, e.g.,

[repo]
enabled=0

Hope this helps.

plasmid87
  • 1,888
  • 15
  • 17
  • This might work if I was able to specify multiple repositories. I tried `--disablerepo=epel --disablerepo=ius` and `--disablerepo=epel,ius`. – Robin May 29 '12 at 13:21
  • `yum repolist all` shows that only the following repos are enabled: epel, ius and rhel-x86_64-server-5. Your `--showduplicates` command shows that package as installed from the ius repo. So I tried the following `sudo yum --disablerepo=* --enablerepo=rhel-x86_64-server-5 update` and it is still throwing a dependency error on the same package. As well I tried disabling the repos by changing the `enabled=0` setting under /etc/yum.repos.d/ – Robin May 29 '12 at 13:42
  • I imagine that when you installed the IUS repo, it was configured to be enabled by default. Try this instead: `sudo yum update --disablerepo=ius` assuming that all other repos are enabled by default. Otherwise, try just `sudo yum update --exclude=php53-mcrypt-5.3.3-4.ius.el5.x86_64` to skip this package altogether. – plasmid87 May 29 '12 at 13:48
  • Neither of these options work. I am missing something. – Robin May 29 '12 at 14:05
  • I can only imagine then that something else needs that package upgraded as part of the update process. If you run `sudo yum deplist php53-mcrypt-5.3.3-4.ius.el5.x86_64` it'll show you all dependencies and providers for that particular package. In my experience with PHP packages and RHEL, this is a common problem. Not wanting to deviate from the issue at hand, but I've found [Remi](http://blog.famillecollet.com/pages/Config-en) to provide the best packages for PHP, I have never had a dependency issue with PHP after moving to their repos. – plasmid87 May 29 '12 at 14:29
  • There is also the `--skip-broken` route but I **strongly recommend against this** as a means of fixing the solution properly. If the update issue is vital and blocking, try skip broken and look at reinstalling the PHP packages after it completes. – plasmid87 May 29 '12 at 14:40
  • `sudo yum deplist php53-mcrypt-5.3.3-4.ius.el5.x86_64` returns `Finding dependencies:` with no listed dependencies. – Robin May 29 '12 at 15:09
1

The easiest way to do this is by commenting the lines with your unwanted repo in /etc/yum.repos.d/

Giacomo1968
  • 3,522
  • 25
  • 38
fromnaboo
  • 111
  • 2
1

You can disable multiple repositories on the yum command line:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 --disablerepo=myrepo3

However, if you do that, you must explicitly enable the repo you want:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 \
           --disablerepo=myrepo3 --enablerepo=TheRepoIWant
Eddie C.
  • 487
  • 1
  • 3
  • 12
LukeInDC
  • 11
  • 3
0

You can add enabled=0 to the repository configuration file to disable it.

Example of repository configuration file http://www.cyberciti.biz/tips/rhel5-fedora-core-add-new-yum-repository.html.

Giacomo1968
  • 3,522
  • 25
  • 38
NoNoNo
  • 1,939
  • 14
  • 19