RPM数据库通常如何损坏?

我们正在自动化一些卸载/安装RPM的部署脚本。 我见过不止一台主机,rpm -qa返回类似于:

# rpm -qa | grep tcl tcl-8.5.7-6.el6.x86_64 tcl-8.5.7-6.el6.x86_64 tcl-8.5.7-6.el6.x86_64 tcl-8.5.7-6.el6.x86_64 tcl-8.5.7-6.el6.x86_64 tcl-8.5.7-6.el6.x86_64 

这是怎么发生的使用rpm -e和rpm -i? 有没有办法来防止这种情况? 如果我在这种情况下运行rpm -e,我会得到

 # rpm -e tcl-8.5.7-6.el6 error: "tcl-8.5.7-6.el6" specifies multiple packages: tcl-8.5.7-6.el6.x86_64 tcl-8.5.7-6.el6.x86_64 tcl-8.5.7-6.el6.x86_64 tcl-8.5.7-6.el6.x86_64 tcl-8.5.7-6.el6.x86_64 tcl-8.5.7-6.el6.x86_64 

所以我不得不使用-vv --allmatches --nodeps --noscripts --notriggers开关

匿名,

如果你还没有尝试rpm --rebuilddb ,你有没有办法?

http://www.rpm.org/max-rpm/rpm.8.html

或者,你是在使用yum install而不是rpm ? 百胜通常会更好地照顾你的数据库。