使用SCL升级CentOS、RHEL、Anolis系列OS的gcc版本

0    204    3

Tags:

👉 本文共约2727个字,系统预计阅读时间或需11分钟。

CentOS 7BigCloud 7 以及Anolis 7等系列OS的默认gcc版本为4.8.5,有时编译程序或者驱动源码需要更高版本的gcc,本文以升级至8.3.1版本为例,仅仅需要分别执行下面几条命令即可,无需手动下载源码编译。

一、查看默认gcc版本

分别查看CentOS 7BigCloud 7以及Anolis 7等系列OS的默认gcc版本,查询结果如下:

二、升级gcc版本

网上有很多博客会教我们通过gcc 源码进行编译,随后进行安装,从而升级到我们想要的版本,但是这种方法小编也进行了尝试,结果在我的机器上始终编译报错,而且根本不知道问题出在哪里,这种方式实施的过程中在不同的平台及机器可能遇见各种各样的问题,比较麻烦且容易出错。

因此,本文我们采用CentOS的一个第三方库SCL(软件选集)来进行gcc版本的升级,SCL可以在不覆盖原系统软件包的情况下安装新的软件包与老软件包共存并且可以使用scl命令切换,不过也有个缺点就是只支持64位的。

Software collections(SCLs)是一个Linux软件多版本共存的解决方案,适用于RHEL/CentOS/Fedora。SCL不修改已安装的软件版本,也不会与其产生冲突。SCL的创建就是为了给 RHEL/CentOS 用户提供一种以方便、安全地安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞乱。

1、安装scl源

首先,要解决的第一个问题就是 yum 源的问题。CentOS 7 最晚在2024年6月30后停止更新维护,在此之前在 CentOS 7 可以通过 yum 直接安装 SCL 源基本都是可以正常使用的。

安装完成后,会默认在 /etc/yum.repos.d 下生成 2 个 repo 源文件:

  • CentOS-SCLo-scl.repo

  • CentOS-SCLo-scl-rh.repo

随后,更新 yum 源的缓存:

2、安装centos-release-scl与centos-release-scl-rh

3、安装devtoolset工具

devtoolset 本身也有不同的版本,因为我们想要将gcc 升级到8.3.1,所以这里我们安装的是 devtoolset-8-gcc

如果想安装7.x版本的,就改成devtoolset-7-gcc,以此类推:

全部文件都会被安装在/opt/rh/目录下,如下:

另外,我们可以用SCL来管理软件集,如安装gcc,首先查看可安装的版本:

随后,即可用选择合适的版本安装。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复