场景:收到开发需求,需要升级测试环境gcc版本
一顿百度,基本百度的方案可以解决这个问题,但是个人觉得安全起见需要多加个备份,所以写下blog纪录一下。
1.更换源下载安装新版本gcc
cd/etc/yum.repos.d wgethttp://people.centos.org/tru/devtools-2/devtools-2.repo-O/etc/yum.repos.d/devtools-2.repo yum--enablerepo=testing-devtools-2-centos-6installdevtoolset-2-gccdevtoolset-2-gcc-c++
会安装到/opt/rh/devtoolset-2/root/usr/bin目录下
2.备份老的gcc
简单的说一下脚本思路,其实用shell更容易,在学python,所以尽量用起来
因为后面会将新目录下所有的执行文件替换到/usr/bin目录底下,所以以新目录底下的文件为基准,将/usr/bin目录下和新目录下同名的文件备份到Back_dir底下。
#!/usr/bin/python importos Dir="/opt/rh/devtoolset-2/root/usr/bin" Back_dir="/data/scripts/gcc_backup" ifos.path.isdir(Back_dir): pass else: os.makedirs(Back_dir) forFileinos.listdir(Dir): File_path="/usr/bin/"+File os.system('/bin/cp%s%s'%(File_path,Back_dir))
3.命令行执行cp命令替换可执行文件
\cp-a/opt/rh/devtoolset-2/root/usr/bin/*/usr/bin
4.查看是否升级成功