centos7系统升级gcc到gcc8及以上版本

因为centos停止维护了,导致mirror.centos.org这个域名也失效了,这就让我们在使用yum命令升级一些组件的时候,发生一些域名问题。

比如,我这次要把gcc 4.x版本 升级到 gcc 8.x版本, 使用yum安装就遇到域名失效了问题,这里记录了解决办法。

问题解决

跟换阿里云镜像域名

进入/etc/yum.repos.d/目录, 将CentOS-SCLo-scl.repoCentOS-SCLo-scl-rh.repo两个文件备份,

然后修改里面的baseurl 或者 mirrorlist, 用mirrors.aliyun.com替换原先的已经过期的域名。

CentOS-SCLo-scl.repo最终效果如下:

1
2
3
4
5
6
7
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
#baseurl=https://vault.centos.org/centos/7/sclo/$basearch/sclo/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

CentOS-SCLo-scl-rh.repo最终效果如下:

1
2
3
4
5
6
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

然后执行

1
2
3
4
# 清理yum缓存
yum clean all
# 重新构建缓存
yum makecache

重新安装devtoolset-8

1
2
yum install -y centos-release-scl
yum install -y devtoolset-8-gcc*

验证安装成功

激活devtoolset-8环境(临时生效)

1
2
scl enable devtoolset-8 bash
gcc --version # 应显示gcc 8.x.x

激活gcc8

进入终端的配置文件:~/.bashrc/etc/profile, 添加如下命令:

1
source /opt/rh/devtoolset-8/enable

然后 source对应的文件,或者重启终端,命令生效。

我因为要安装vllm环境,需要C++ 17的版本,所以需要gcc11的环境,按照上述步骤升级的gcc11,效果如下:

1
2
3
4
5
6
7
# $ yum install -y devtoolset-11-gcc*
$ gcc --version

gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

centos7系统升级gcc到gcc8及以上版本
https://www.hancher.top/2025/03/12/linux-centos7-gcc-upgrade/
作者
寒澈
发布于
2025年3月12日
许可协议