在CentOS8系統中,預設gcc版本已經是8.x.x版本,但是在一些場景中,還是需要高版本的gcc,本文基于阿裡雲ECS更新gcc。
在CentOS8版本中,紅帽也提供了開發工具包管理gcc版本,install的包名從devtoolset-x變成了gcc-toolset-x,通過該方式更新gcc好處就是随時可以切換gcc版本,不破壞原有gcc環境。
截至本文發稿前gcc-toolset僅支援gcc9、gcc10版本
gcc-toolset-9對應gcc9.x.x版本
gcc-toolset-10對應gcc10.x.x版本
例:更新gcc至10.x.x版本
配置阿裡雲yum源
vi /etc/yum.repos.d/Centos-8.repo
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=
http://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
$releasever/extras/$basearch/os/
gpgkey=
http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official[AppStream]
name=CentOS-$releasever - AppStream - mirrors.aliyun.com
$releasever/AppStream/$basearch/os/
[8-AppStream]
name=CentOS-$releasever - 8-AppStream
http://mirrors.aliyun.com/centos/8-stream/AppStream/$basearch/os/
gpgcheck=0
安裝gcc-toolset-10
dnf install gcc-toolset-10
激活gcc版本,使其生效
scl enable gcc-toolset-10 bash
此時通過gcc --version指令可以看到,gcc版本已經變成10.x.x,值得注意的是這僅僅在目前bash生效,如果需要永久生效,可以請自行添加環境變量。