Linux rpm安装但不能擦除。 为什么?

我的Perl代码以root身份安装了几个(4)rpm文件。 下一次安装会在安装新版本之前删除它们( rpm -e )。 一个不会删除,使用rpm -e给出它没有安装的错误。 但是,稍后安装更新的文件时,会显示消息已经安装。

手动尝试删除给出相同的结果。 我的问题是如何强制从rpm数据库中删除某些东西,为什么存在这种矛盾(不是从rpm -e安装的,而是从rpm -Uvhrpm -ivh安装的)?

  1. 安装完成后,使用软件包名称,而不是软件包文件名。
  2. 在升级之前,您不需要删除软件包。 这样做意味着一个或两个包装都被打破了。

它没有被擦除的原因可能是因为其中一个脚本失败。 手动操作并注意错误。 如果它提到一个失败的脚本,尝试用rpm -e --noscripts擦除它

rpm -e --force 不会强行删除一个软件包, rpm -e --nodeps 通过停止它来检查其他的依赖关系。

有可能你的RPM数据库在某种程度上变形了,你可以试试一下rpm --rebuilddb