| From: D. Hugh Redelmeier <hugh@xxxxxxxxxx> | It is even worse that this. As I prepared this message, I found a | problem with too many ghostscripts: | | # rpm -qf --queryformat '%{name}-%{version}-%{release}.%{arch}\n' /usr/bin/gs | ghostscript-8.15.3-4.fc6.i386 | ghostscript-8.15.3-4.fc6.x86_64 | ghostscript-8.15.4-1.fc6.x86_64 | ghostscript-8.15.4-1.fc6.i386 I found that about 25 more packages were curdled this way, i.e. that the system thought two versions for the same arch were simultaneously installed. I think that only kernel and gpg-pubkey packages allow that in general. This took a fair bit of manual intervention to "fix". To find the problematic packages: rpm -qa --queryformat '%{name}.%{arch}\n' | egrep -v '^gpg-pubkey|^kernel\.x86_64|^kernel-xen\.x86_64' | sort | uniq -d | xargs rpm -q --queryformat '%{name}-%{version}-%{release}.%{arch}\n' For each of these packages, pick the version that is the latest (a simple sort does not work because version numbers don't sort nicely). Then find out where a copy of the .rpm resides and issue the command like this: rpm -U --replacepkgs http://download.fedora.redhat.com/pub/fedora/linux/extras/6/x86_64/xine-lib-1.1.6-2.fc6.x86_64.rpm Some of the packages are intertwined with dependencies. If this blocks the update command then you have to issue the command with several packages at once. In fact, I issued all updates from Fedora Core updates repo in a single command. This runs a risk of overflowing the limit on shell command length. I don't know if this fixed any observable problem. ==> this isn't something the Fedora project should expect users to do! | Surprisingly, some packages that were installed in both i386 and | x86_64 forms "shared" files that were different. This seems like a | bug. And it gets "rpm --verify" upset. [This turns out to be wrong | but it should be right. See later.] For example, two versions of | ghostscript-8.15.4-1.fc6 are installed and they fight over the | contents of /usr/bin/gs. | | ==> packages in a multiarch system that are meant to coexist should | have only identical files at the same path. More examples: # rpm --verify --nomtime arts-1.5.6-0.1.fc6.i386 S.5..... /usr/bin/artscat S.5..... /usr/bin/artsd S.5..... /usr/bin/artsplay S.5..... /usr/bin/artsrec S.5..... /usr/bin/artsshell S.5..... /usr/bin/artswrapper # rpm --verify --nomtime evolution-data-server-1.8.3-6.fc6.i386 S.5..... /usr/libexec/camel-index-control-1.2 S.5..... /usr/libexec/camel-lock-helper-1.2 S.5..... /usr/libexec/evolution-data-server-1.8 # rpm --verify --nomtime kdelibs-3.5.6-0.3.fc6.i386 <lots of stuff> # rpm --verify --nomtime mkinitrd-5.1.19.0.3-1.i386 S.5..... /sbin/grubby # rpm --verify --nomtime cyrus-sasl-devel-2.1.22-4.i386 S.5..... /usr/bin/sasl2-sample-client S.5..... /usr/bin/sasl2-sample-server S.5..... /usr/sbin/sasl2-shared-mechlist S.5..... /usr/sbin/sasl2-static-mechlist There are more but I won't bore you more by extending the list.