温馨提示×

centos gcc如何降级版本

小樊
44
2026-07-07 23:43:26
栏目: 智能运维

CentOS 上把 gcc 降级 通常有几种常见做法,取决于你的 CentOS 版本和你需要的 gcc 版本。下面按 推荐程度 给你说明。


一、CentOS 7:使用 SCL(最推荐、最安全 ✅)

CentOS 7 官方仓库里 gcc 版本较高(4.8 / 7+),但可以通过 Software Collections (SCL) 安装旧版本。

1️⃣ 安装 SCL 源

yum install -y centos-release-scl

2️⃣ 查看可用的 gcc 版本

yum list available devtoolset-*

常见版本:

  • devtoolset-3 → gcc 4.9
  • devtoolset-4 → gcc 5
  • devtoolset-6 → gcc 6
  • devtoolset-7 → gcc 7

3️⃣ 安装指定 gcc 版本(例如 gcc 4.9)

yum install -y devtoolset-3-gcc devtoolset-3-gcc-c++

4️⃣ 临时启用(只对当前 shell 生效)

scl enable devtoolset-3 bash
gcc --version

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

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

优点

  • 不影响系统自带 gcc
  • 稳定、安全
  • 商业环境首选

二、CentOS 6:使用 SCL(类似)

yum install -y centos-release-scl
yum install -y devtoolset-3-gcc devtoolset-3-gcc-c++
scl enable devtoolset-3 bash

⚠️ CentOS 6 已 EOL,建议升级系统。


三、直接替换系统 gcc(不推荐 ⚠️)

1️⃣ 查看系统 gcc

gcc --version
rpm -qa | grep gcc

2️⃣ 卸载当前 gcc

yum remove gcc gcc-c++

3️⃣ 安装旧版本 gcc

yum install gcc-4.8 gcc-c++-4.8

⚠️ 风险

  • 可能破坏系统依赖
  • 一些系统工具依赖 gcc

四、源码编译旧版本 gcc(最灵活,但最复杂)

适用于:

  • 需要非常老的 gcc(如 4.4 / 4.6)
  • SCL 不提供

示例:gcc 4.8

wget https://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz
tar -xzf gcc-4.8.5.tar.gz
cd gcc-4.8.5
./contrib/download_prerequisites
mkdir build && cd build
../configure --prefix=/usr/local/gcc-4.8 \
             --enable-languages=c,c++ \
             --disable-multilib
make -j$(nproc)
make install

使用:

export PATH=/usr/local/gcc-4.8/bin:$PATH

五、如何确认当前 gcc 版本

gcc --version
which gcc

六、推荐方案总结 ✅

场景 推荐方式
CentOS 7 SCL devtoolset
临时切换 gcc scl enable
多版本共存 SCL
极老 gcc 源码编译
生产环境 ❌ 不建议直接替换系统 gcc

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

  • ✅ CentOS 具体版本(6 / 7 / 8)
  • ✅ 目标 gcc 版本(如 gcc 4.8 / 5 / 7)

我可以给你 精确到命令 的方案。

0