With 64-bit machines it's often the case that there are two versions of
a given RPM, i386 and x86_64:
# rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" vte
vte-0.11.11-6 (i386)
vte-0.11.11-6 (x86_64)
But although rpm -e allows you to specify "--allmatches" to erase all RPMs
with a given name, there doesn't appear to be any way to selectively erase
just the RPM for one of the two architectures while leaving the other one
intact. This is as of RHEL4.
It's not always possible to just erase both rpms and then re-add one of
them, because sometimes the RPM in question is a critical RPM and one of
the architecture versions of the RPM *must* be present at all times, and
so deleting both of them will render the system unusable. The rpm command
really needs a way to erase just one of the RPMs.
Am I missing some option that will allow this?
- John