第1版包含以下软件包
Package A-1.0
Package B-1.0
第2版包含以下软件包
Package A-2.0
Package B-2.0
Package C-2.0
在第2版中,Package B-1.0
分为两个包 - package B-2.0
和package C-2.0
。
现在安装第2版时,如何降级为第1版?
yum downgrade A B
尝试安装与package B-1.0
存在文件冲突的package C-2.0
。
yum downgrade A B C
不起作用,因为Package C
没有旧版本。
是否有一个命令可以删除新包(package C-2.0
)并降级包A和B?
答案 0 :(得分:3)
如果您升级了多个软件包然后只想降级这两个软件包,则无法完成。不使用yum(除非你使用--nodeps和临时break deps)。 RH Satellite等高级工具可以做到这一点。
如果您只升级单独交易中的那些,那么您可以运行:
yum history list
yum history undo <ID>
或
yum history undo last
它将回滚该交易。即在你的情况下降级这些包。 有关历史命令的详细信息,请参阅yum的手册页。
答案 1 :(得分:2)
可能为时已晚,因为您已经发布了A-2.0和B-2.0软件包,但您应该做什么(如果您可以删除A-2.0和B-2.0软件包,仍然可以做到):
在A-2.0和B-2.0的spec文件中添加:Requires: C
您可以搜索多种优势(以及更多):
然而:
我用于项目的替代:我使用元数据包:
(我使用一个带有不稳定元数据包的分支准备下一个版本:meta-package:需要A,B)
答案 2 :(得分:1)
在单个事务中执行所有操作之前,您可以使用yum shell编写多个操作。
在您的情况下,您可以使用以下内容:
yum shell
yum downgrade A B
yum remove C
run