在线安装
修改yum源
因为centos6官方停止yum源,因此需要自己手动改一下
echo > /etc/yum.repos.d/CentOS-Base.repo
vi /etc/yum.repos.d/CentOS-Base.repo 修改为如下内容
[base]
name=CentOS-$releasever - Base
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
# baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=https://vault.centos.org/6.10/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
# released updates
[updates]
name=CentOS-$releasever - Updates
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
# baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=https://vault.centos.org/6.10/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
# additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
# baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=https://vault.centos.org/6.10/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
cd /etc/yum.repos.d/
ls | grep -v 'CentOS-Base.repo' | xargs rm # 删除其他的repo文件
yum clean all && yum makecache
在线升级gcc
# 下载gcc yum源
wget --no-check-certificate https://copr.fedorainfracloud.org/coprs/mayeut/devtoolset-8/repo/epel-6/mayeut-devtoolset-8-epel-6.repo -O /etc/yum.repos.d/devtoolset-8.repo
# 生成缓存 验证yum源是否可用
yum makecache
# 安装devtoolset
yum install devtoolset-8-gcc devtoolset-8-binutils devtoolset-8-gcc-c++
# 临时使用gcc
scl enable devtoolset-8 bash
# 此时查看gcc -v就是8版本了, 但是临时的,退出terminal则失效
gcc -v
离线安装
1. 获取gcc-7.3.0.tar.gz源码包,可以通过网址https://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz下载
2. 解压源码包
tar -xf gcc-7.3.0.tar.gz
cd gcc-7.3.0
3. 运行 download_prerequisites 脚本
./contrib/download_prerequisites
4. 建立编译输出目录,将所有的中间文件都放到该目录
mkdir gcc-build-7.3.0
cd gcc-build-7.3.0
5. 配置
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
参数解释:
–enable-checking=release 增加一些检查,也可以–disable-checking生成的编译器在编译过程中不做额外检查
–enable-languages=c,c++ 你要让你的gcc支持的编程语言
–disable-multilib 取消多目标库编译(取消32位库编译)
6. 编译(耗时一个小时左右)
make
7. 编译完成之后,需要把原来的GCC卸载,换成7.3.0版本的
找到已安装的gcc和gcc-c++包
rpm -q gcc
rpm -q gcc-c++
删除已经安装低版本
rpm -e [包名]
包名为上一步中显示的包,例如
rpm -e gcc-4.8.5-16.el7_4.2.x86_64
rpm -e gcc-c++-4.8.5-16.el7_4.2.x86_64
8 安装
sudo make install
9 验证版本
查看gcc的安装位置:which gcc
然后再查看版本 /usr/local/bin/gcc -v,通常gcc都安装在该处位置
10 将新的gcc添加到环境变量中
sudo ln -s /usr/local/bin/gcc /usr/bin/gcc
sudo ln -s /usr/local/bin/gcc /usr/bin/cc
参考链接:
GCC源码安装
GCC 7.3.0编译安装
CentOS 7 升级安装 gcc7
centos6使用devtoolset快速升级GCC版本4.8/5.2/8.3