RPM 安装返回退出代码 1

RPM 安装返回退出代码 1

我正在开发一个嵌入式系统,并创建了一些 RPM。一些 RPM 中存在以下问题。

当我在版本 1 上安装/升级 RPM 版本 2 或在版本 2 上安装 RPM 版本 1 时,安装给出的退出代码为 0。

但是,当我在现有安装的基础上安装完全相同版本的 RPM 时,它会返回退出代码 1。但是,大多数其他 RPM 都没有这种行为(在现有安装的基础上安装 RPM 时退出代码为 1)

这是设计使然吗?有一个自定义脚本可以根据退出代码检测未成功的安装,因此我需要此 RPM 安装返回 0。我正在使用以下命令。

rpm -Uv --force <rpm-file>

我尝试生成更详细的日志,但返回 0 的情况和返回 1 的情况之间完全没有区别。

答案1

要强制返回代码 0,您可以使用以下技巧:rpm -Uv --force <rpm-file> || true

虽然您确实应该让您的脚本查询已安装的版本(rpm -q <package>),并且只有当您对安装的情况不满意时才尝试安装。

相关内容