found pre-existing rpmdb problem(s)

原文地址:http://guoshaoguang.com/blog/2013/07/11/found-pre-existing-rpmdb-problems/

背景

经常在yum update的时候,出现类似如下的error

You could try using �Cskip-broken to work around the problem
** Found 2 pre-existing rpmdb problem(s), ‘yum check’ output follows:
PackageKit-0.5.8-19.el6.centos.i686 has missing requires of PackageKit-yum = (’0′, ’0.5.8′, ’19.el6.centos’)
PackageKit-0.5.8-19.el6.centos.i686 has missing requires of PackageKit-yum-plugin = (’0′, ’0.5.8′, ’19.el6.centos’)

原因

这个主要是因为在系统upgrade的时候,残存了上一个版本的软件包,比如升级到了fc19,但是还有类似***.fc17的软件包。

解决方法

yum clean all

yum distro-sync         �C使软件的版本与源里同步

yum reinstall ***  对于***出问题的包,可以使用这个重新安装适合当前操作系统版本的软件。

package-cleanup --problems    --可以列出当前RM数据库中有依赖问题的包
package-cleanup --dupes       --扫描有多个副本的包

package-cleanup �Corphans   �C列出在当前配置的repos中不可用的包

package-cleanup �Ccleandupes  �C可以清除旧的副本,这个对于诸如***is a duplicate with ***比较有用。

rpm �Crebuilddb

yum update

如果上面的方法仍然无法解决,就可以直接remove掉问题包了,然后在重新安装一下,或许最新发行版已经不提供对该包的支持和更新了。


你可能感兴趣的:(centos,yum)