如何使用同一个命令降级并删除 rpm?

如何使用同一个命令降级并删除 rpm?

我遇到一个问题,为了满足 RPM 依赖关系,我需要在同一个命令中删除软件包并将其降级。

想象一下以下情况

  • A v2.0 依赖于 B、C
  • B v2.0 依赖于 C > 1.0
  • C 语言版本 1.1

  • v1.0 依赖于 C
  • 版本 1.0

如果我发出

$ rpm -Uvh --oldpackage Av1.0.rpm Cv1.0.rpm

它会失败并显示“B 依赖于 C > 1.0”

如果我发出

$ rpm -e B

它会失败并显示“A 需要 B”,所以我似乎陷入了两难境地。显而易见的解决方案是在降级之前使用“--nodeps”并删除 B,但我以编程方式创建这些命令,因此我希望使用依赖项解析作为对错误脚本的健全性检查。

有没有什么办法可以执行降级而不强制破坏 RPM 依赖性健全性检查?

答案1

yum shell允许您在单个事务中执行所有操作之前指定多个操作。

答案2

如果愿意,您可以在删除 B 之前将 --nodeps 选项用于 -U。(或者 --force 是几个好标志的组合;-)

相关内容