Centos7 离线升级gcc/切换gcc

redis编译安装需要的gcc版本5.0以上,centos7默认的gcc版本是4.8.5,公司的内网虚拟机无法联网,所以需要离线升级gcc版本。看到网上的离线升级大部分的教程都是源码编译,源码编译的时候,还需手动下载依赖包等,反正就是比较麻烦,性能一般的服务器耗时长2-3小时。于是我又试出来另外一种方法,方便简单。闲话不多说,请看效果!

方法简介:找一台可以联网的机器,使用yum安装好gcc版本控制工具包,压缩后,直接复制到不能联网的机器,修改环境变量即可!具体操作如下

一、虚拟机【能联网的】

1、安装centos-release-scl源

yum -y install centos-release-scl

2、安装devtoolset,注意,如果想安装9版本的,就改成devtoolset-9-gcc*,以此类推

# PS:如果不清楚有哪些本版可以使用 yum list |grep devtoolset查询,注意:需要先安装centos-release-scl才可以查询到 !!!
yum -y install devtoolset-9-gcc* 

3、激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本

scl enable devtoolset-9 bash

4、查看一下gcc版本

gcc -v

5、查询已安装的devtoolset所在目录

# 查询已安装的gcc包
[root@localhost rh]# rpm -qa |grep gcc
gcc-4.8.5-16.el7.x86_64
gcc-c++-4.8.5-16.el7.x86_64
libgcc-4.8.5-16.el7.x86_64
gcc-gfortran-4.8.5-16.el7.x86_64
devtoolset-9-gcc-9.3.1-2.el7.x86_64
devtoolset-9-gcc-c++-9.3.1-2.el7.x86_64
# 查询gcc包安装的具体位置,查询结果:安装目录为/opt/rh/devtoolset-9
[root@localhost rh]# rpm -ql devtoolset-9-gcc-9.3.1-2.el7.x86_64
[root@localhost rh]# rpm -ql devtoolset-9-gcc-c++-9.3.1-2.el7.x86_64

6、压缩 /opt/rh/devtoolset-9/

cd /opt/rh/ tar -czvf devtoolset-9.tar.gz devtoolset-9/

二、虚拟机【离线】

1、将压缩包复制到离线服务器,解压到/opt/rh/目录,解压后的目录为/opt/rh/devtoolset-9

tar -xzvf devtoolset-9.tar.gz -C /opt/rh/

2、临时切换版本

source /opt/rh/devtoolset-9/enable

3、永久切换,需要修改/etc/profile文件

# gcc环境变量,建议添加至最后一行 
vim /etc/profile 

############## 需要添加的文本 - 开始 ##############
source /opt/rh/devtoolset-9/enable 
############## 需要添加的文本 - 结束 ##############

# 刷新环境变量
source /etc/profile

4、查看一下gcc版本

gcc -v
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐