如何删除 RPM 数据库中的精确重复项(相同架构)

如何删除 RPM 数据库中的精确重复项(相同架构)

在一个系统上,我的 RPM DB 中有两个完全相同的条目:

# rpm -qa | fgrep gvfs-fuse
gvfs-fuse-1.40.0-1.1.x86_64
gvfs-fuse-1.40.0-1.1.x86_64

显然没有什么可以有所帮助:

# rpm -e --justdb --nodeps gvfs-fuse-1.40.0-1.1.x86_64
error: "gvfs-fuse-1.40.0-1.1.x86_64" specifies multiple packages:
  gvfs-fuse-1.40.0-1.1.x86_64
  gvfs-fuse-1.40.0-1.1.x86_64

# rpm --rebuilddb

# rpm -qa | fgrep gvfs-fuse
gvfs-fuse-1.40.0-1.1.x86_64
gvfs-fuse-1.40.0-1.1.x86_64

有没有一种方法可以更具体地指定要删除(从数据库中)的包,以便选择其中一个?

答案1

您可以删除这两个实例:

rpm -e --justdb --nodeps --allmatches gvfs-fuse-1.40.0-1.1.x86_64

然后重新安装单个 rpm(在这种情况下您需要下载):

rpm -i --justdb --nodeps gvfs-fuse-1.40.0-1.1.x86_64.rpm

或者如果您不介意重新安装文件(并再次执行前/后脚本):

yum/zypper install gvfs-fuse-1.40.0-1.1

相关内容