我们在安装Redis6的时候会编译出错,大概率是因为centos7的gcc版本,centos7的默认版本是4.8.5,需要将gcc版本升级到9,如果服务器是互联网环境,可以直接通过yum命令升级
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
#需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
#如果要长期使用gcc 9.3的话:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
但是内网环境升级gcc就很麻烦,特别是下载gcc版本然后再安装基本无法安装,那我们就曲线救国一下,完全可以弯道超车,具体方案流程是,在互联网环境升级号的gcc压缩,或者网上下载gcc安装之后的程序包devtoolset-9,然后再内网环境解压配置环境参数,实测可用,
下面以互联网服务器gcc版本9.3.1为例
##首先查看gcc安装位置
which gcc
##得到gcc所在目录 /opt/rh/devtoolset-9/root/usr/bin/gcc
##进入到/opt/rh 目录压缩 devtoolset-9
cd /opt/rh
tar -czvf devtoolset-9.tar.gz devtoolset-9/
##将压缩包上传到内网服务器,然后解压缩到 /opt/rh 目录,没有的话创建
cd /opt/
tar -xzvf devtoolset-9.tar.gz
mv devtoolset-9 /opt/rh/devtoolset-9
##使配置生效,并修改配置文件
source /opt/rh/devtoolset-9/enable
##刷新配置文件
vi /etc/profile
source /etc/profile
然后查看gcc版本,发现已经更改成功