Hello,
I have a question about working principles of yum.
Here are the details:
Installed package: GeoIP.i386 1.4.4-1.el5.centos Repo: CentOS Extras Priority for CentOS Extras repo: 1
"yum update" wants to replace the above package with the following:
Package: geoip.i386 1.4.5-1.el5.rf Repo: rpmforge Priority for rpmforge: 15
And yes, the following is already in the priorities.conf [main] enabled=1
Why does yum try to replace the package from a repo with higher priority? Isn't "yum priorities" supposed to keep it?
Regards, Mufit
Mufit Eribol wrote:
Installed package: GeoIP.i386 1.4.4-1.el5.centos Repo: CentOS Extras Priority for CentOS Extras repo: 1
"yum update" wants to replace the above package with the following:
Package: geoip.i386 1.4.5-1.el5.rf Repo: rpmforge Priority for rpmforge: 15
Why does yum try to replace the package from a repo with higher priority? Isn't "yum priorities" supposed to keep it?
Strange, because it works here:
[root@shutdown Documentation]# yum -v update | grep -i geoip --> geoip-devel-1.4.0-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-1.4.0-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-1.4.4-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-1.4.5-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-devel-1.4.4-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-devel-1.4.5-1.el5.rf.x86_64 from rpmforge excluded (priority) --> GeoIP-devel-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) --> GeoIP-devel-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) --> GeoIP-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) --> GeoIP-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) [root@shutdown Documentation]#
Cheers,
Ralph
Ralph Angenendt wrote:
Strange, because it works here:
[root@shutdown Documentation]# yum -v update | grep -i geoip --> geoip-devel-1.4.0-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-1.4.0-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-1.4.4-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-1.4.5-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-devel-1.4.4-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-devel-1.4.5-1.el5.rf.x86_64 from rpmforge excluded (priority) --> GeoIP-devel-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) --> GeoIP-devel-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) --> GeoIP-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) --> GeoIP-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) [root@shutdown Documentation]#
Here is what I get,
[root@server ~]# yum -v update | grep -i geoip ---> Package geoip.i386 0:1.4.5-1.el5.rf set to be updated Checking deps for geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.1.2)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libz.so.1', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libGeoIPUpdate.so.0', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.0)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.3)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.4)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.1)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('config(geoip)', 'EQ', ('0', '1.4.5', '1.el5.rf')) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('rtld(GNU_HASH)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.3.4)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('/sbin/ldconfig', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.1.3)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libGeoIP.so.1', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u ---> Package geoip-devel.i386 0:1.4.5-1.el5.rf set to be updated Checking deps for geoip-devel.i386 0-1.4.5-1.el5.rf - u looking for ('libGeoIPUpdate.so.0', None, (None, None, None)) as a requirement of geoip-devel.i386 0-1.4.5-1.el5.rf - u looking for ('geoip', 'EQ', ('0', '1.4.5', '1.el5.rf')) as a requirement of geoip-devel.i386 0-1.4.5-1.el5.rf - u looking for ('libGeoIP.so.1', None, (None, None, None)) as a requirement of geoip-devel.i386 0-1.4.5-1.el5.rf - u Checking deps for GeoIP.i386 0-1.4.4-1.el5.centos - None Checking deps for GeoIP-devel.i386 0-1.4.4-1.el5.centos - None geoip i386 1.4.5-1.el5.rf rpmforge 750 k replacing GeoIP.i386 1.4.4-1.el5.centos geoip-devel i386 1.4.5-1.el5.rf rpmforge 7.1 k replacing GeoIP-devel.i386 1.4.4-1.el5.centos
[root@server ~]# rpm -qa |grep geoip [root@server ~]#
[root@server ~]# rpm -qa|grep GeoIP GeoIP-data-20080301-1.el5.centos GeoIP-devel-1.4.4-1.el5.centos GeoIP-1.4.4-1.el5.centos [root@server ~]#
I have no clue about what is going on?
Regards, Mufit
on 10-14-2008 3:14 AM Mufit Eribol spake the following:
Ralph Angenendt wrote:
Strange, because it works here:
[root@shutdown Documentation]# yum -v update | grep -i geoip --> geoip-devel-1.4.0-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-1.4.0-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-1.4.4-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-1.4.5-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-devel-1.4.4-1.el5.rf.x86_64 from rpmforge excluded (priority) --> geoip-devel-1.4.5-1.el5.rf.x86_64 from rpmforge excluded (priority) --> GeoIP-devel-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) --> GeoIP-devel-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) --> GeoIP-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) --> GeoIP-1.4.4-2.el5.kb.x86_64 from kbs-CentOS-Testing excluded (priority) [root@shutdown Documentation]#
Here is what I get,
[root@server ~]# yum -v update | grep -i geoip ---> Package geoip.i386 0:1.4.5-1.el5.rf set to be updated Checking deps for geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.1.2)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libz.so.1', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libGeoIPUpdate.so.0', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.0)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.3)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.4)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.1)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('config(geoip)', 'EQ', ('0', '1.4.5', '1.el5.rf')) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('rtld(GNU_HASH)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.3.4)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('/sbin/ldconfig', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libc.so.6(GLIBC_2.1.3)', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u looking for ('libGeoIP.so.1', None, (None, None, None)) as a requirement of geoip.i386 0-1.4.5-1.el5.rf - u ---> Package geoip-devel.i386 0:1.4.5-1.el5.rf set to be updated Checking deps for geoip-devel.i386 0-1.4.5-1.el5.rf - u looking for ('libGeoIPUpdate.so.0', None, (None, None, None)) as a requirement of geoip-devel.i386 0-1.4.5-1.el5.rf - u looking for ('geoip', 'EQ', ('0', '1.4.5', '1.el5.rf')) as a requirement of geoip-devel.i386 0-1.4.5-1.el5.rf - u looking for ('libGeoIP.so.1', None, (None, None, None)) as a requirement of geoip-devel.i386 0-1.4.5-1.el5.rf - u Checking deps for GeoIP.i386 0-1.4.4-1.el5.centos - None Checking deps for GeoIP-devel.i386 0-1.4.4-1.el5.centos - None geoip i386 1.4.5-1.el5.rf rpmforge 750 k replacing GeoIP.i386 1.4.4-1.el5.centos geoip-devel i386 1.4.5-1.el5.rf rpmforge 7.1 k replacing GeoIP-devel.i386 1.4.4-1.el5.centos
[root@server ~]# rpm -qa |grep geoip [root@server ~]#
[root@server ~]# rpm -qa|grep GeoIP GeoIP-data-20080301-1.el5.centos GeoIP-devel-1.4.4-1.el5.centos GeoIP-1.4.4-1.el5.centos [root@server ~]#
I have no clue about what is going on?
Regards, Mufit
Just to be thorough, run this; rpm -qa | grep priorities
Mufit Eribol wrote on Tue, 14 Oct 2008 12:44:07 +0300:
Priority for CentOS Extras repo: 1
double-check that! For instance, if this repo is not enabled, the priority will not work!
Kai
Kai Schaetzl wrote:
Priority for CentOS Extras repo: 1
double-check that! For instance, if this repo is not enabled, the priority will not work!
Kai
Checked that, already enabled. Here is an excerpt from CentOS-Base.repo:
... #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&rep... gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 protect=0 priority=1 ...
"yum update" prints the following info on the screen: ... Excluding Packages in global exclude list Finished 355 packages excluded due to repository priority protections Setting up Update Process ...
So, it seems priorities plugin is there and working. I am stumped!
All the best, Mufit
Mufit Eribol wrote on Tue, 14 Oct 2008 18:32:34 +0300:
Checked that, already enabled.
I meant: is that *repo* enabled? But it seems the problem was different, anyway. obsoletes strikes again.
Kai
Hi,
On Tue, Oct 14, 2008 at 05:44, Mufit Eribol hme@onart.com.tr wrote:
Installed package: GeoIP.i386 1.4.4-1.el5.centos Repo: CentOS Extras Priority for CentOS Extras repo: 1
"yum update" wants to replace the above package with the following:
Package: geoip.i386 1.4.5-1.el5.rf Repo: rpmforge Priority for rpmforge: 15
The package names are different, so probably "geoip" (from RPMforge) obsoletes "GeoIP" from CentOS.
In that case, for priorities to work and exclude the one that obsoletes the other, you have to set this option in the [main] section of /etc/yum/pluginconf.d/priorities.conf:
check_obsoletes=1
Look for the thread about perl-DBD-mysql vs. perl-DBD-MySQL, it's probably the same issue.
HTH, Filipe
Filipe Brandenburger wrote:
Hi,
The package names are different, so probably "geoip" (from RPMforge) obsoletes "GeoIP" from CentOS.
In that case, for priorities to work and exclude the one that obsoletes the other, you have to set this option in the [main] section of /etc/yum/pluginconf.d/priorities.conf:
check_obsoletes=1
Look for the thread about perl-DBD-mysql vs. perl-DBD-MySQL, it's probably the same issue.
HTH, Filipe
Yes Filipe, that's it!
Obviously, I overlooked this option in priorities.conf.
The below text is from http://wiki.centos.org/PackageManagement/Yum/Priorities:
"Some packages specify obsoletes in their metadata. This property of a package specifies which old packages with a different name the package replaces. This can intefere with the priority protection of packages, if a package from a low-priority repository contains an obsoletion for package from a high-priority repository. For instance, if the gconfmm2 package was installed from a high-priority repository, and another package (say gconfmm20) claims to replace the obsolete gconfmm2 package, Yum will replace the gconfmm2 package with the gconfmm20 package. This plugin can prevent such upgrades, by adding the following line to the main section of /etc/yum/pluginconf.d/priorities.conf: check_obsoletes=1 "
This option works nice.
Thank you for the hint.
Mufit
Hi,
On Tue, Oct 14, 2008 at 13:47, Mufit Eribol hme@onart.com.tr wrote:
check_obsoletes=1
Yes Filipe, that's it! This option works nice.
Thank you for the hint.
No problem! :-)
By the way, in a previous thread ("rpmforge, perl-dbd-mysql, yum, priorities, centos, and you") it was suggested that this option should be made default in CentOS... developers, any words on that? Is the "priorities" plug-in CentOS specific or is it upstream provided? In the latter case, could we open a bug upstream for that?
Filipe