RPM 小脚本在 $1 中传递(当操作完成时,将留在系统中的同名包的数量)因此他们可以确定是否正在发生包升级或删除。由于我无法控制的原因,我相信下一个版本的包可能与第一个版本有不同的包名。我试图创建一个新包 "obsoletes"旧的并使用它升级。然而,旧包 postun scriptlet 仍然得到 $1 == 0 并且我的 postun 清理脚本运行了。
这有点边缘情况,因为从技术上讲,还有 0 个包具有该名称,但我认为过时的情况可能会假装在升级期间仍有一个包具有该名称。有没有一种方法可以测试包被废弃时的情况,以便 scriptlet 可以确定正在进行升级而不是删除包?
最佳答案
你能试试这个命令来检查操作系统中的rpm包吗
转数-qa | grep -i "(RPMNAME)"
关于centos - 当正在安装废弃另一个 RPM 的 RPM 时如何检测升级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48070042/