rpm deduplication question

Andre Robatino robatino at fedoraproject.org
Sat Dec 4 21:00:33 UTC 2010


Robert G. (Doc) Savage <dsavage <at> peaknet.net> writes:

> 
> I don't know when/how this happened, but I'm sure there's a faster way
> to fix this problem.  My trusty old 32-bit F13 laptop seems to have
> several duplicate packages on it. For example:
> 
> # rpm -qa | grep foofile
> foofile-1.0-fc14.noarch
> foofile-1.0-fc13.noarch
> 
> The fc14 file is a "sooner" that shouldn't be there. If I use rpm -e to
> remove it, I suspect I'm removing all the files that also belong to the
> fc13 package. If I try to remove the fc13 package with the intent of
> immediately re-installing it, dependency hell often breaks out.

See if you can remove the package, if so then verify the remaining package with
"rpm -V foofile-1.0-fc13.noarch". If it doesn't verify, you can "yum reinstall
foofile-1.0-fc13.noarch". I had a similar problem recently during an interrupted
yum transaction, and was able to remove one of the packages, and the remaining
one verified properly.

You might want to also look at yum shell (man yum-shell) which allows you to do
several transactions at once as long as dependencies are satisfied at the end.
 
> Isn't there an rpm argument set that will allow me to simply
> "overinstall" a currently-installed package, replacing any missing
> files? I've tried 'rpm -ivh --replacepkgs' without success. The man page
> for rpm could be a bit clearer.

You might need --replacefiles and/or --oldpackage as well (all 3 together are
equivalent to --force), but you could just use "yum reinstall <package>" as
mentioned above.






More information about the users mailing list