gcc --version确认系统当前GCC版本,避免升级冲突。/etc、/home等关键目录及配置文件,防止操作失误导致数据丢失。sudo yum update更新系统所有软件包至最新版本,确保后续安装兼容。SCL允许在不影响系统默认GCC的情况下,安装和使用多个GCC版本,适合需要多版本共存的场景。
sudo yum install centos-release-scl添加SCL软件源。sudo yum install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils安装GCC 9及其配套工具链。scl enable devtoolset-9 bash启动新shell会话,此时gcc --version将显示新版本。source /opt/rh/devtoolset-9/enable添加到~/.bashrc或~/.bash_profile,每次登录自动加载新版本。适合需要特定GCC版本(如最新稳定版)或无法通过仓库获取的场景。
ftp.gnu.org/gnu/gcc)下载所需版本(如11.2.0),运行wget https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz下载,再用tar -xf gcc-11.2.0.tar.gz解压。sudo yum groupinstall "Development Tools"安装基础开发工具,再运行sudo yum install gmp-devel mpfr-devel libmpc-devel安装GCC编译所需的库文件。build子目录并进入,运行../configure --prefix=/usr/local/gcc-11.2.0 --enable-languages=c,c++配置编译参数(--prefix指定安装路径,--enable-languages指定支持的语言)。make -j$(nproc)(nproc获取CPU核心数,加速编译),编译完成后运行sudo make install安装到指定路径。~/.bashrc,添加export PATH=/usr/local/gcc-11.2.0/bin:$PATH(优先使用新版本)和export LD_LIBRARY_PATH=/usr/local/gcc-11.2.0/lib64:$LD_LIBRARY_PATH(指定库文件路径),运行source ~/.bashrc使配置生效。通过第三方仓库(如Remi)安装预编译的GCC版本,适合追求简单快捷的用户。
sudo yum install epel-release添加EPEL(Extra Packages for Enterprise Linux)仓库。sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm添加Remi仓库。sudo yum-config-manager --enable remi-toolchain启用Remi中的GCC工具链模块。sudo yum install gcc-11(以GCC 11为例)安装目标版本。gcc --version确认升级成功。update-alternatives命令配置(如sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc-11.2.0/bin/gcc 100),但需谨慎操作,避免影响系统服务。sudo yum remove gcc卸载,但需保留旧版本以防新版本出现问题(如无法编译旧项目)。