背景:重新启用许久未使用的服务器,发现已经无法使用yum命令来安装软件,经排查本服务器使用的系统版本为red hat 6.9,之前使用的yum源为Centos6的,猜测是由于Centos6已经停止维护导致无法加载相关依赖导致的问题,故重装yum源。操作过程记录如下:
首先查看系统版本,检查是否为64位操作系统:
lsb_release -a
uname -a
可见,系统为64的red hat6.9
查看已安装yum
rpm -qa|grep yum
删除已安装的yum
rpm -aq|grep yum|xargs rpm -e --nodeps
创建目录保存安装yum需要的包
cd /data
mkdir yuminstall
cd /yuminstall
执行命令下载安装包
wget https://vault.centos.org/6.9/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm
wget https://vault.centos.org/6.9/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
wget https://vault.centos.org/6.9/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
安装yum
rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm --nodeps --force
同时安装剩下两个包,以解决依赖冲突
rpm -ivh yum-3.2.29-81.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
更换yum源
下载此yum源配置:https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
将此配置文件移动到目录:/etc/yum.repos.d
并将旧的yum源配置进行重命名备份:例如:mv redhat.repo redhat.repo.bak
修改yum源配置将其中的6.10全部替换为自己的系统版本6.9
vi Centos-6-Vault-Aliyun.repo
:%s/6.10/6.9/g
:wq!
清除缓存,重建软件包信息缓存,以提高查询速度
yum clean all
yum makecache
最后,执行yum更新
sudo yum update
由于gcc版本太低,很多软件用不了,故需要升级gcc,这里贴一个本人参考的大佬写的手动安装教程:(编译使用make一个核心编译太慢了,建议使用make -j命令进行编译,默认使用服务器所有核心进行并发编译,速度会快很多)
【推荐】CentOS安装gcc-4.9.4+更新环境+更新动态库 - brishenzhou - 博客园
由于上述博客下载较慢,本人下载时是用了另外的镜像站的:
wget --no-check-certificate https://www.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-4.9.4/gcc-4.9.4.tar.gz
contrib/download_prerequisites文件中的镜像站也换了同一个:
vim contrib/download_prerequisites
#将其中的链接前缀
wget ftp://gcc.gnu.org/pub/gcc/infrastructure
全部替换为
wget --no-check-certificate http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/infrastructure
升级glibc(注意风险较高,建议升级之前自己多找资料查看,做好失败后的处理方案),这里也提供下我参考的博客(我也是失败了一次,再次重装居然成功了)