【问题标题】:How do I revert GCC version from 4.8.3 to 4.8.2?如何将 GCC 版本从 4.8.3 恢复到 4.8.2?
【发布时间】:2015-06-27 07:06:26
【问题描述】:

我不小心更新了工作机器上的 GCC 版本。我们使用需要 GCC 4.8.2 的非常具体的设置,因此我必须恢复 GCC 更新。我在 CentOS 7 上运行。

【问题讨论】:

  • 这不是一件容易的事。我认为您需要使用 GCC 4.8.2 在系统中构建您计划使用的所有库。
  • 你是如何更新你的 GCC 的?使用包管理器?
  • 如果存储库仍然有以前的 RPM(很多应该),您可以尝试 yum downgrade gcc-4.8.2。不过,您可能需要为此返回 7.0 存储库。
  • yum 支持 undo 命令,所以如果你使用 yum 进行 GCC 更新,你可以撤销你的更新
  • @gomons 我想是的。我正在重新启动我的计算机,所以我点击了“重新启动并更新软件包”。

标签: linux gcc centos


【解决方案1】:

打印 yum 历史并发现不必要的更新:

yum history

它会打印如下内容:

ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     8 | root <root>              | 2011-10-03 14:40 | Install        |    1   
     7 | root <root>              | 2011-09-21 04:24 | Install        |    1 ##
     6 | root <root>              | 2011-09-21 04:23 | Install        |    1 ##
     5 | root <root>              | 2011-09-16 13:35 | Install        |    1   
     4 | root <root>              | 2011-09-16 13:33 | Erase          |    1   
     3 | root <root>              | 2011-09-14 14:36 | Install        |    1   
     2 | root <root>              | 2011-09-12 15:48 | I, U           |   80   
     1 | System <unset>           | 2011-09-12 14:57 | Install        | 1025 

比撤消它:

yum history undo 8

如果旧包不再在 repo 中,撤消命令可能会失败,因此您可以尝试包含存档 repo。

【讨论】:

  • 别忘了备份你的系统
  • 我运行了你的建议,它说“降级失败......”。我仍在调查为什么会这样说。可能是因为yum没有完成更新,所以我会尝试运行sudo yum-complete-transaction --cleanup-only,然后再次调用history undo命令。
  • 旧包还在 repo 中吗?
  • 有可能,您应该包含用于撤消的存档存储库
  • 我该怎么做?对不起,我不知道你说的回购是什么意思!
【解决方案2】:

经过数小时的实验,这是我找到的解决方案:

解决方案是从 .rpm 文件安装 gcc-4.8.2。幸运的是,yum 似乎缓存了以前的 rpm 文件。

我去了/var/cache/yum/x86_64/7/updates/packages,发现一堆.rpm包,包括gcc-4.8.2 rpm文件!

我尝试运行sudo yum localinstall gcc-4.8.2-16.2.el7_0.x86_64.rpm,但它说它的某些依赖项是错误的版本。

为了解决这个问题,我在有问题的依赖项上调用了sudo yum remove,即 libgomp 和 cpp。然后,我使用 yum 缓存目录中的 4.8.2 .rpm 文件为这两个软件包调用了 sudo yum localinstall

然后我又跑了sudo yum localinstall gcc-4.8.2-16.2.el7_0.x86_64.rpm,成功了!

【讨论】:

    猜你喜欢
    • 2017-11-25
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    相关资源
    最近更新 更多