Dealing with rpms from multiple architectures when executing rpm -Uvh
I'm trying to use the
rpm --Uvh command
to apply certain security patches in an automated way to some boxes I have that can't connect outside of the intranet (so I can't use up2date in the normal way).
For the x86 version of the patch in question, Red Hat provides 4 rpms, which I have in a directory:
# ls *.rpm
openssl-0.9.8b-8.3.el5_0.2.i386.rpm* openssl-devel-0.9.8b-8.3.el5_0.2.i386.rpm
openssl-0.9.8b-8.3.el5_0.2.i686.rpm* openssl-perl-0.9.8b-8.3.el5_0.2.i386.rpm
Normally, my script can execute
rpm -Uvh *.rpm
To apply the upgrade.
However, when I try rpm -Uvh --test in this case I get:
rpm -Uvh *.rpm
warning: package openssl = 0.9.8b-8.3.el5_0.2 was already added, skipping openssl < 0.9.8b-8.3.el5_0.2
error: error reading from file openssl-0.9.8b-8.3.el5_0.2.i686.rpm
I guess this is because I'm adding openssl-0.9.8b-8.3.el5_0.2.i386.rpm, as well as the i686 optimized version openssl-0.9.8b-8.3.el5_0.2.i686.rpm (since they are both supplied by RedHat).
[[An aside: Note that the error message is incorrect, it says that it's skipping openssl < 0.9.8b-8.3.el5_0.2, when in fact both versions are equal to 0.9.8b-8.3.el5_0.2.]]
Question: is there a way to tell rpm to choose the correct rpm corresponding to the architecture of the machine (and/or the already-installed openssl rpm's architecture).* Or do I need to write a custom script to 'figure out' which one(s) to keep?
Thanks!
Hopefully Helpful Notes:
OS: RHEL 5 32 bit
rpm version: RPM version 4.4.2
#uname -a:
Linux myhost 2.6.18-8.el5PAE #1 SMP Fri Jan 26 14:28:43 EST 2007 i686 i686 i386 GNU/Linux