如何在安装废弃另一个 RPM 的 RPM 时检测升级

Dan*_*n R 5 redhat centos fedora rpm rpm-spec

RPM 脚本小程序以$1(此名称的程序包的数量,当操作完成时将留在系统上)传递,因此它们可以确定是否正在升级或删除程序包。由于我无法控制的原因,我相信包的下一个版本可能与第一个版本具有不同的包名称。我试图创建一个“过时”旧包并使用它升级的新包。然而,旧包 postun scriptlet 仍然得到 $1 == 0 并且我的 postun 清理脚本运行了。

这有点边缘情况,因为从技术上讲,还有 0 个具有该名称的软件包,但我认为过时的情况可能会假装在升级过程中仍然存在具有该名称的软件包。有没有一种方法可以测试包被淘汰时的情况,以便脚本可以确定正在发生升级而不是包删除?

小智 -2

你可以尝试这个命令来检查操作系统中的rpm包吗

rpm-qa| grep -i "(RPMNAME)"