首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >百胜降级不移除新包装

百胜降级不移除新包装
EN

Stack Overflow用户
提问于 2016-04-26 06:08:30
回答 4查看 1.7K关注 0票数 2

第1版包含以下软件包

代码语言:javascript
运行
复制
Package A-1.0
Package B-1.0

第2版包含以下软件包

代码语言:javascript
运行
复制
Package A-2.0
Package B-2.0
Package C-2.0

第2版中,Package B-1.0被分成两个包-- package B-2.0package C-2.0

现在,当安装了第2版时,如何将其降级为版本1

yum downgrade A B试图安装与package C-2.0有文件冲突的package B-1.0

yum downgrade A B C不能工作,因为Package C没有旧版本。

是否有一个命令可以擦除新包(package C-2.0)并降低包A和B的等级?

EN

回答 4

Stack Overflow用户

发布于 2016-04-27 13:01:04

如果您升级了几个包,然后只想降低这两个包的级别,那么就不能这样做。不只是使用yum (除非您使用-nodeps和临时中断点)。有高水平的工具,如RH卫星,可以做到这一点。

如果您只是在单独的事务中升级,那么您可以运行:

代码语言:javascript
运行
复制
   yum history list
   yum history undo <ID>

代码语言:javascript
运行
复制
   yum history undo last

它会回滚那个事务。也就是说,在你的例子中,降低了这些包的等级。有关历史命令的详细信息,请参阅yum手册页。

票数 3
EN

Stack Overflow用户

发布于 2016-04-28 08:58:21

现在可能为时已晚,因为您已经发布了A-2.0和B-2.0包,但是您应该做的事情(如果您可以删除A-2.0和B-2.0包,您仍然可以这样做):

在A-2.0和B-2.0的规范文件中添加:Requires: C

这具有多个优点,您可以搜索(以及更多):

  • 更新时将自动安装A和/或B;C。
  • 当卸载时,C A和B将被降级。

然而:

  • 当降级A和B;C将不会被卸载。

有一个替代,用于我的项目:我使用一个

  • meta 1.0:需要A-1.0,B-1.0,冲突C
  • meta-package-2.0:需要A-2.0,B-2.0,C-2.0

(我使用的是一个分支,它有一个不稳定的元包正在准备下一个版本:meta: Requires,B)

票数 2
EN

Stack Overflow用户

发布于 2018-01-22 13:27:24

您可以使用yum在单个事务中执行所有操作之前编写多个操作。

在您的情况下,您可以使用以下方法:

代码语言:javascript
运行
复制
yum shell
yum downgrade A B
yum remove C
run
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36856515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档