运维问题.解决国内云(金山/阿里/互联先锋)和国外AWS(亚马逊)无法升级GCC4.7.2的问题?

国内升级脚本:

#!/usr/bin/env bash
# -*- coding: utf-8 -*-
#
# Authors: limanman
# OsChina: http://my.oschina.net/pydevops/
# Purpose:
#
   
GCC_V='4.7.2'
# sudo yum -y groupinstall "chinese-support"
sudo yum -y install vim wget
sudo yum -y groupinstall "Development Tools"
sudo yum -y install glibc-static libstdc++-static cmake glibc.i686 glibc-devel
wget http://ftp.gnu.org/gnu/gcc/gcc-${GCC_V}/gcc-${GCC_V}.tar.gz  -O gcc-${GCC_V}.tar.gz    
tar xzf gcc-${GCC_V}.tar.gz    
cd gcc-${GCC_V}    
./contrib/download_prerequisites    
cd ..    
mkdir build_gcc${GCC_V}    
cd build_gcc${GCC_V}    
sudo ../gcc-${GCC_V}/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib    
sudo make -j23    
sudo make install    
cd ..    
rm -rf build_gcc${GCC_V} gcc-${GCC_V} gcc-${GCC_V}.tar.gz

:<<EOF
mkdir -p /xm-workspace/xm-back/
mv /usr/bin/gcc /xm-workspace/xm-back/gcc_org
ln -s /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.7.2 /usr/bin/gcc 
rm -rf  /usr/lib64/libstdc++.so.6
cp -rfp /usr/local/lib64/libstdc++.so.6.0.17 /usr/lib64/libstdc++.so.6.0.17
ln /usr/lib64/libstdc++.so.6.0.17 /usr/lib64/libstdc++.so.6
EOF

国外升级脚本:

#!/usr/bin/env bash
# -*- coding: utf-8 -*-
#
# Authors: limanman
# OsChina: http://my.oschina.net/pydevops/
# Purpose:
#
  
GCC_V='4.7.2'
# sudo yum -y groupinstall "chinese-support"
sudo yum -y install vim wget
sudo yum -y groupinstall "Development Tools"
sudo yum -y install glibc-static libstdc++-static cmake glibc.i686 glibc-devel
wget http://ftp.gnu.org/gnu/gcc/gcc-${GCC_V}/gcc-${GCC_V}.tar.gz  -O gcc-${GCC_V}.tar.gz    
tar xzf gcc-${GCC_V}.tar.gz    
cd gcc-${GCC_V}    
./contrib/download_prerequisites    
cd ..    
mkdir build_gcc${GCC_V}    
cd build_gcc${GCC_V}    
sudo make distclean
sudo ../gcc-${GCC_V}/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib --disable-bootstrap
sudo make -j23
sudo make install    
cd ..    
rm -rf build_gcc${GCC_V} gcc-${GCC_V} gcc-${GCC_V}.tar.gz

:<<EOF
mkdir -p /xm-workspace/xm-back/
mv /usr/bin/gcc /xm-workspace/xm-back/gcc_org
ln -s /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.7.2 /usr/bin/gcc 
rm -rf  /usr/lib64/libstdc++.so.6
cp -rfp /usr/local/lib64/libstdc++.so.6.0.17 /usr/lib64/libstdc++.so.6.0.17
ln /usr/lib64/libstdc++.so.6.0.17 /usr/lib64/libstdc++.so.6
EOF

说明:因为线上需求,必须批量升级Centos6.5 GCC到4.7.X,以上脚本已经过测试,也许有些系统不兼容所以零时注释:<<EOF ..... EOF, 可手动测试下在拿到线上跑,以免造成不必要的麻烦.

你可能感兴趣的:(运维问题.解决国内云(金山/阿里/互联先锋)和国外AWS(亚马逊)无法升级GCC4.7.2的问题?)