What to do when rpm verification fails

Paul Howarth paul at city-fan.org
Fri Jul 7 17:38:34 UTC 2006


T. Horsnell wrote:
>> T. Horsnell wrote:
>>>> T. Horsnell wrote:
>>>>> 1. I seem to have some duplicate package names (this is on an x86_64
>>>>>    system which has only been 'up2date'ed once immediately after
>>>>>    installation) e.g:
>>>>>
>>>>> [root at ls1 ~]$ rpm -q tcp_wrappers
>>>>> tcp_wrappers-7.6-37.2
>>>>> tcp_wrappers-7.6-37.2
>>>> You may have both x86_64 and i386 versions installed.
>>>>
>>>> Try:
>>>>
>>>> $ rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' tcp_wrappers
>>> Aha. I do indeed have both i386 and x86_64 versions installed for the ones
>>> which rpm -V is complaining about. But why does this confuse rpm?
>> I wouldn't have thought it would.
>>
>>> Can I tell it to only do one sort?
>> Try:
>> $ rpm -V tcp_wrappers.i386
>> $ rpm -V tcp_wrappers.x86_64
>>
> 
> I just did this.
> $ rpm -V tcp_wrappers.x86_64	reports no errors
> $ rpm -V tcp_wrappers.i386	complains.
> 
> Getting warm here.
> 
> $rpm -ql tcp_wrappers-7.6-37.2.i386
> [root at ls1 ~]$ rpm -ql tcp_wrappers-7.6-37.2.i386
> /usr/include/tcpd.h
> /usr/lib/libwrap.a
> /usr/lib/libwrap.so
> /usr/lib/libwrap.so.0
> /usr/lib/libwrap.so.0.7.6
> /usr/sbin/safe_finger
> /usr/sbin/tcpd
> /usr/sbin/try-from
> /usr/share/doc/tcp_wrappers-7.6
> /usr/share/doc/tcp_wrappers-7.6/BLURB
> /usr/share/doc/tcp_wrappers-7.6/Banners.Makefile
> /usr/share/doc/tcp_wrappers-7.6/CHANGES
> /usr/share/doc/tcp_wrappers-7.6/DISCLAIMER
> /usr/share/doc/tcp_wrappers-7.6/README
> /usr/share/doc/tcp_wrappers-7.6/README.IRIX
> /usr/share/doc/tcp_wrappers-7.6/README.NIS
> /usr/share/man/man3/hosts_access.3.gz
> /usr/share/man/man5/hosts.allow.5.gz
> /usr/share/man/man5/hosts.deny.5.gz
> /usr/share/man/man5/hosts_access.5.gz
> /usr/share/man/man5/hosts_options.5.gz
> /usr/share/man/man8/tcpd.8.gz
> 
> [root at ls1 ~]$ rpm -ql tcp_wrappers-7.6-37.2.x86_64
> /usr/include/tcpd.h
> /usr/lib64/libwrap.a
> /usr/lib64/libwrap.so
> /usr/lib64/libwrap.so.0
> /usr/lib64/libwrap.so.0.7.6
> /usr/sbin/safe_finger
> /usr/sbin/tcpd
> /usr/sbin/try-from
> /usr/share/doc/tcp_wrappers-7.6
> /usr/share/doc/tcp_wrappers-7.6/BLURB
> /usr/share/doc/tcp_wrappers-7.6/Banners.Makefile
> /usr/share/doc/tcp_wrappers-7.6/CHANGES
> /usr/share/doc/tcp_wrappers-7.6/DISCLAIMER
> /usr/share/doc/tcp_wrappers-7.6/README
> /usr/share/doc/tcp_wrappers-7.6/README.IRIX
> /usr/share/doc/tcp_wrappers-7.6/README.NIS
> /usr/share/man/man3/hosts_access.3.gz
> /usr/share/man/man5/hosts.allow.5.gz
> /usr/share/man/man5/hosts.deny.5.gz
> /usr/share/man/man5/hosts_access.5.gz
> /usr/share/man/man5/hosts_options.5.gz
> /usr/share/man/man8/tcpd.8.gz
> 
> So if rpm is computing the md5sum of the installed binaries and
> comparing it to that stored in the rpm database, does it check
> whether the installed binary is i386 or x86_64? 

My understanding of what happens when different-arch packages are 
installed is:

* rpm won't let it happen if both packages own the same file and
   the files are not exactly the same

* the only exceptions to the previous rule are for binaries, where
   the "superior" version (x86_64 in this case) gets its package
   installed and the other-arch version doesn't get installed.

This may be completely wrong though; I don't have an x86_64 box myself 
(yet).

However, it would explain what you're seeing.

Paul.




More information about the users mailing list