為CentOS 6、7升級gcc至4.8、4.9、5.2、6.3、7.3等高版本

CentOS 7雖然已經出了很多年了,但依然會有很多人選擇安裝CentOS 6,CentOS 6有些依賴包和軟件都比較老舊,如今天的主角gcc編譯器,CentOS 6的gcc版本為4.4,CentOS 7為4.8。gcc 4.8最主要的一個特性就是全面支持C++11,如果不清楚什么用的也沒關系,簡單說一些C++11標準的程序都需要gcc 4.8以上版本的gcc編譯器編譯,如MySQL 8.0版本(8.0.16以上版本是C++14標準,需gcc 5.3以上版本)。
CentOS 6雖然是gcc 4.4的老舊版本,但是也可以升級gcc來安裝gcc 4.8,我們今天就不采用編譯安裝的方法了,gcc安裝起來非常費時,我們采用CentOS的一個第三方庫SCL(軟件選集),SCL可以在不覆蓋原系統軟件包的情況下安裝新的軟件包與老軟件包共存并且可以使用scl命令切換,不過也有個缺點就是只支持64位的。
確定當前gcc版本,執行命令:gcc --version
一般如果需要升級gcc至4.8或更高版本,建議直接采用安裝SCL源之后安裝devtoolset-6(devtoolset-6目前gcc版本為6.3),因為devtoolset-4及之前的版本都已經結束支持,只能通過其他方法安裝
升級到gcc 6.3:devtoolset-6已經結束支持,請安裝devtoolset-7
需要注意的是scl命令啟用只是臨時的,退出shell或重啟就會恢復原系統gcc版本。
如果要長期使用gcc 6.3的話:
這樣退出shell重新打開就是新版的gcc了
以下其他版本同理,修改devtoolset版本號即可。
VPS偵探 http://www.0794baidu.com
升級到gcc 7.3:
yum -y install devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-binutils
scl enable devtoolset-7 bash
需要注意的是scl命令啟用只是臨時的,退出shell或重啟就會恢復原系統gcc版本。
如果要長期使用gcc 7.3的話:
升級到gcc 8.3:
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
scl enable devtoolset-8 bash
需要注意的是scl命令啟用只是臨時的,退出shell或重啟就會恢復原系統gcc版本。
如果要長期使用gcc 8.3的話:
升級到gcc 9.3:
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
需要注意的是scl命令啟用只是臨時的,退出shell或重啟就會恢復原系統gcc版本。
如果要長期使用gcc 9.3的話:
再說一下已經停止支持的devtoolset4(gcc 5.2)及之前版本的安裝方法
升級到gcc 4.8:
yum -y install devtoolset-2-gcc devtoolset-2-gcc-c++ devtoolset-2-binutils
scl enable devtoolset-2 bash
升級到gcc4.9:
yum -y install devtoolset-3-gcc devtoolset-3-gcc-c++ devtoolset-3-binutils
scl enable devtoolset-3 bash
升級到gcc 5.2
yum install devtoolset-4-gcc devtoolset-4-gcc-c++ devtoolset-4-binutils -y
scl enable devtoolset-4 bash
升級完成后一定要運行:gcc --version 看一下版本號變成升級后的gcc版本才算升級成功。
好了,至此各個主要gcc版本的安裝教程,如有問題可以本文回復或者VPS論壇發帖。
-----------------------------------------------------------------------------------------------------------------
最后更新:2020年5月13日
>>轉載請注明出處:VPS偵探 本文鏈接地址:http://www.0794baidu.com/manage/centos-6-upgrade-gcc.html










什么系統及版本?執行那一步時的報錯信息及完整的錯誤信息
提示 Requires policycoreutils-python
如何解決
scl enable devtoolset-7 bash
需要注意的是scl命令啟用只是臨時的,退出shell或重啟就會恢復原系統gcc版本。
如果要長期使用gcc 8.3的話:
echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile
我按照樓主的步驟安裝了8.3 沒有出錯 但為什么再次查看還是原來的版本 需要用什么命令讓他生效嗎
你看一下/etc/profile 中是否存在source /opt/rh/devtoolset-9/enable 該行
請問為什么修改環境變量,也就是執行 echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile 后,退出shell后還是會恢復原系統gcc版本。
真的nb好吧,centors6踩了無數坑
謝謝
踩坑無數,終于看到一篇靠譜簡單的文章了,贊一個。
一臺centos 6的服務器試了試,安裝mysql 8成功,666