当前位置: 代码网 > 服务器>服务器>Linux > Centos7如何升级GCC

Centos7如何升级GCC

2026年03月28日 Linux 我要评论
一、环境准备1. 检查当前 gcc 版本gcc --version2. 清理系统环境sudo yum clean allsudo yum update -y二、安装 scl 仓库此处我们使用scl来切

一、环境准备

1. 检查当前 gcc 版本

gcc --version

2. 清理系统环境

sudo yum clean all
sudo yum update -y

二、安装 scl 仓库

此处我们使用scl来切换gcc版本

scl(software collections)提供高版本软件包,且与系统默认工具链隔离。

sudo yum install -y centos-release-scl

三、安装 gcc 9.3

1. 安装 devtoolset-9

sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++

 如果报错如下,是因为centos 7 的scl仓库已停止维护,默认的镜像服务器已失效,导致无法通过yum安装

解决方案 (切换为阿里云镜像环境)

1、查看自己的源环境

主要查看 base是否为阿里云环境 以及 sclo rh 是否为阿里云环境(以下是配图)

yum repolist

2、切换配置信息

# 使用阿里云镜像
sudo wget -o /etc/yum.repos.d/centos-base.repo https://mirrors.aliyun.com/repo/centos-7.repo

修改所有仓库配置为阿里云地址:
sudo sed -i 's|vault.centos.org|mirrors.aliyun.com/centos|g' /etc/yum.repos.d/*.repo

3、验证scl源 (如果和我的不一致可能回导致404 小伙伴可直接复制粘贴)

sudo vi /etc/yum.repos.d/centos-sclo-scl-rh.repo
[centos-sclo-rh]
name=centos-7 - sclo rh
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/centos/rpm-gpg-key-centos-sig-sclo

4、重新构建

切记一定要多  

sudo yum clean all # 清除
sudo yum update -y # 更新

sudo yum makecache #构建
sudo yum clean all
sudo yum makecache

证明没有任何问题

5、手动下载安装文件

理论上各位不需要执行这个步骤 重新执行  sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++  命令即可 如果出现像我一样 可依照我如此下载将文件名称换成自己对于的即可

注意:我当时不知道为什么没有下载下下来 在执行命令时显示有五个文件404不找到  这是我手动配置的地址可以直接下载下来

wget http://vault.centos.org/centos/7/sclo/x86_64/rh/packages/d/devtoolset-9-runtime-9.1-0.el7.x86_64.rpm
wget http://vault.centos.org/centos/7/sclo/x86_64/rh/packages/d/devtoolset-9-binutils-2.32-16.el7.x86_64.rpm
wget http://vault.centos.org/centos/7/sclo/x86_64/rh/packages/d/devtoolset-9-gcc-9.3.1-2.2.el7.x86_64.rpm
wget http://vault.centos.org/centos/7/sclo/x86_64/rh/packages/d/devtoolset-9-gcc-c++-9.3.1-2.2.el7.x86_64.rpm
wget http://vault.centos.org/centos/7/sclo/x86_64/rh/packages/d/devtoolset-9-libstdc++-devel-9.3.1-2.2.el7.x86_64.rpm

6、安装环境

sudo yum install -y policycoreutils-python
sudo yum install -y scl-utils

7、编译安装文件

注意:如果你有其他文件 也仿照此格式添加上

sudo rpm -uvh --force --nodeps devtoolset-9-runtime-9.1-0.el7.x86_64.rpm \
           devtoolset-9-binutils-2.32-16.el7.x86_64.rpm \
           devtoolset-9-gcc-9.3.1-2.2.el7.x86_64.rpm \
           devtoolset-9-gcc-c++-9.3.1-2.2.el7.x86_64.rpm \
           devtoolset-9-libstdc++-devel-9.3.1-2.2.el7.x86_64.rpm
8、验证 gcc 是否安装成功
sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++ 

2. 激活 gcc 9.3 环境

scl enable devtoolset-9 bash

# 验证版本
gcc --version

切换成功!

四、永久切换为gcc 9.3

正常上述步骤后你的机器已经拥有了 9.3的环境,但是因为  scl enable devtoolset-9 bash  只是当前会话有效 当你新开会话之后 gcc 版本就会失效(小伙伴们可以打开一个新的窗口验证一下),所以建议设置成永久使用

1. 修改用户环境变量

# 写入配置信息
echo 'source /opt/rh/devtoolset-9/enable #this is  gcc version' >> ~/.bashrc

# 验证是否添加成功
vim ~/.bashrc

# 刷新配置
source ~/.bashrc

2. 验证生效

打开新客户端 验证 gcc 版本是否生效

亲测可用!

  • 注:这里如果不想启动 只需要把 写入的数据删除掉,打开新窗口就回变回原来的版本
  • 注:大家安装时 一定要注意自己的环境,目前我安装redis用到了 9.x的gcc环境就不做其他演示,个人理解如果想要升级至 gcc 11 也是此流程,文件不同罢了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com