Tugger the SLUGger!SLUG Mailing List Archives

[SLUG] Can you trust rpm when it reports multiple bash installs?


I thought it would be good to run apt-get on an old RH 6.2 system here,
too.  I installed and ran the appropriate version of apt-get for RH 6.2,
and it reported that there were multiple versions of bash installed.

I checked, and it does look like there's a problem:

# rpm -qa | grep bash
bash-1.14.7-22
bash2-2.03-8
bash2-doc-2.03-8
bash-1.14.7-23.6x

Fair enough, I thought, we don't need that old 1.14 version:

[root@coo luke]# rpm -e bash-1.14.7-22
error: package bash-1.14.7-22 is not installed

How strange.  Perhaps the rpm database needs rebuilding?

[root@coo luke]# rpm --rebuilddb
[root@coo luke]# rpm -qa | grep bash
bash-1.14.7-22
bash2-doc-2.03-8
bash2-2.03-8
bash-1.14.7-23.6x

[root@coo luke]# rpm -e bash-1.14.7-22
[root@coo luke]# rpm -qa | grep bash
bash2-doc-2.03-8
bash2-2.03-8
bash-1.14.7-23.6x

Okay, that's looking better.

But if I try to remove version 1.14.7-23.6x I get many, many errors:

# rpm -e bash-1.14.7-23.6x
error: removing these packages would break dependencies:
        bash   is needed by info-4.0-5
        bash is needed by etcskel-2.3-1
        bash is needed by sysreport-1.0-3.2
        /bin/bash is needed by MAKEDEV-2.5.2-1
        /bin/bash is needed by XFree86-3.3.6-20
[etc. etc.]

How can I check to see whether there really are two versions of bash
installed?  The idea of doing a forcible erase and then discovering
that /bin/bash really has gone fills me with dread.

There is only /bin/bash - no other bash on my PATH on this old machine.

How can I guarantee that using rpm to uninstall an apparently duplicate
bash won't trash the installation?

# rpm --version
RPM version 4.0.2


luke