温馨提示×

centos怎么升级gcc版本

小樊
41
2026-07-07 23:37:36
栏目: 智能运维

CentOS 上升级 GCC 版本,常见有几种方式,取决于你的 CentOS 版本和需求。下面按推荐程度给你说明。


一、最推荐:使用 SCL(Software Collections)升级 GCC(安全、干净)

适合:

  • CentOS 7
  • 不想破坏系统自带 GCC
  • 需要较新 GCC(如 7/8/9/10)

1️⃣ 安装 SCL 源

yum install -y centos-release-scl

2️⃣ 查看可用的 GCC 版本

yum list available devtoolset-*-gcc

常见版本:

  • devtoolset-7-gcc
  • devtoolset-8-gcc
  • devtoolset-9-gcc
  • devtoolset-10-gcc

3️⃣ 安装指定 GCC(如 GCC 9)

yum install -y devtoolset-9

4️⃣ 启用新 GCC(临时)

scl enable devtoolset-9 bash

然后验证:

gcc --version

5️⃣ 永久生效(写入环境变量)

echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc
source ~/.bashrc

✅ 优点

  • 不影响系统 GCC
  • 可共存多个版本
  • 官方推荐方式

二、CentOS 8 / Stream(推荐方式)

使用 AppStream

dnf install gcc-toolset-10

启用:

scl enable gcc-toolset-10 bash

或:

source /opt/rh/gcc-toolset-10/enable

三、通过源码编译安装(不推荐新手)

适合:

  • 需要最新 GCC(如 13/14)
  • 服务器环境可控

1️⃣ 下载 GCC 源码

wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz
tar -xf gcc-13.2.0.tar.xz
cd gcc-13.2.0

2️⃣ 下载依赖

./contrib/download_prerequisites

3️⃣ 编译安装

mkdir build && cd build
../configure --prefix=/usr/local/gcc-13 \
             --enable-languages=c,c++ \
             --disable-multilib

make -j$(nproc)
make install

4️⃣ 使用新 GCC

export PATH=/usr/local/gcc-13/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-13/lib64:$LD_LIBRARY_PATH

⚠️ 风险:

  • 编译时间长
  • 容易破坏系统环境

四、查看当前 GCC 版本

gcc --version

五、常见问题

❓ 升级后还是旧版本?

  • 检查 PATH
  • 使用 which gcc
  • SCL 方式需要 source enable

❓ CentOS 7 能装 GCC 10+ 吗?

✅ 可以,用 devtoolset-10 或源码


✅ 推荐方案总结

场景 推荐方式
CentOS 7 devtoolset-9
CentOS 8 / Stream gcc-toolset
最新 GCC 源码编译

如果你愿意,可以告诉我:

  • ✅ CentOS 版本
  • ✅ 想要 GCC 几
  • ✅ 是否生产环境

我可以给你精确命令

0