[Yum] how to handle missing dependencies?

Gary Funck gary at intrepid.com
Sun Jul 16 19:12:21 UTC 2006


Update wants to update lm_sensors:

# yum -C check-update
lm_sensors.i386                          2.10.0-43.rhfc5.at     atrpms
lm_sensors.x86_64                        2.10.0-43.rhfc5.at     atrpms
lm_sensors-devel.x86_64                  2.10.0-43.rhfc5.at     atrpms

But it can't:

# yum -d 1 update
Error: Missing Dependency: libsysfs.so.1 is needed by package lm_sensors

Question:  Is there a way to tell yum to update everything that
it can, and to ignore those packages which can't be updated at the moment?
I ask, because this update, which I don't care about right now, was holding
up all other updates.  I worked around this by updating by hand and
excluding
the lm_sensors related packages.  I know that I can manually add lm_sensors
in as an exclude in yum.conf, but that isn't really what I want to do,
because
eventually I may want to arrange to update the package, and don't want it
to be silently forgotten for now.

Back to resolving the dependency.  The FAQ:
http://wiki.linux.duke.edu/YumFaq#Q6
says:

"One relatively easy way to fix this is to remove whatever package "needs"
the packages that are about to be upgraded/obsoleted and then reinstall that
package after you have upgraded everything else. In the example, remove
junit, upgrade, then reinstall junit"

----

Given my example, I presume that I need to arrange to remove lm_sensors
along
wiht the packages that depend upon it.

Through trial and error, it seems this command will do the trick:

# rpm -e --allmatches lm_sensors lm_sensors-devel net-snmp net-snmp-utils
freeradius net-snmp-devel ethereal php-snmp freeradius-mysql

(Is there a script generally available that calculates the transitive
closure needed when removing a particular package?  It would save a few
steps.)

That's a fairly long list of things, and I'm just a little worried that when
I
install the newer version of lm_sensors that some of these packages may
not like the newer version.  Is it usually the case that they'll happily
accept the newer version?

I realize that the version of lm_sensors in this case is outside the FC5
distribution, and is likely somewhat experimental.  For that reason, I'm
not particularly keen to update it, but would like to understand the
mechanics of resolving the dependencies, so am running the example by
y'all.  Is this generally the approoach to follow?  Is there any way to
tell yum just to ignore things it can't update?




More information about the Yum mailing list