CentOs7卸载与安装yum
(一)前言
先前本地服务器的yum存在问题,无法进行yum相关的任何操作,一直提示CRITICAL:yum.main:
Error: rpmdb failed release provides. Try: rpm --rebuilddb,百度搜索诸多方法无效,最终决定卸载再安装yum
(二)卸载yum
(1)检查本机是否安装yum
rpm -qa |grep yum
如果有安装yum,会出现类似如下的结果,反之则无
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-plugin-fastestmirror-1.1.31-50.el7.noarch
yum-3.4.3-161.el7.centos.noarch
(2)如果已经安装yum,则卸载yum(不检查依赖,直接删除)
rpm -qa|grep yum|xargs rpm -e --nodeps
(三)安装yum
(1)进入官网http://mirror.centos.org/centos/7/os/x86_64/Packages/ ,下载yum的rpm文件
(2)主要下载三个yum相关的rpm文件,因为网关的文件一直会更新,所以这里就不贴出我所使用的yum版本号,可以自行去官网查找对应的最新版的rpm文件,这里没有下载python的rpm包,因为之前服务器已经有了,所以不重复下载
1、yum-*.rpm
2、yum-metadata-parser-*.rpm
3、yum-plugin-fastestmirror-*.rpm
4、python-iniparse-*.rpm(可选)
(3)查找到的rpm文件复制全路径类似于(这是目前最新的版本,以后可能会变,用最新的,免得wget的时候出现404)
http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-3.4.3-161.el7.centos.noarch.rpm
http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm
http://mirror.centos.org/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm(可选)
(4)wget下载,找到一个空目录,放置下载的rpm包
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-3.4.3-161.el7.centos.noarch.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm(可选)
(5)安装下载好的rpm包,如果服务器没有安装python的那个rpm,则先安装python的包,如果已安装则直接安装yum的包(–nodeps --force,不检查依赖强制安装,不然会提示依赖错误,不允许安装)
rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm(可选)
rpm -ivh yum-3.4.3-161.el7.centos.noarch.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm --nodeps --force
(四)修改yum配置
(1)进入到系统yum源的目录下:
cd /etc/yum.repos.d
(2)下载yum源:
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
(3)改名成默认repo
mv CentOS7-Base-163.repo CentOS7-Base.repo (这步可做可不做)
(五)yum操作
(1)运行makecache 生成缓存
yum makecache
(2)运行yum clean all(等同于 yum cleanheaders ; yum cleanpackages);
yum clean all
(3)更新yum文件
yum update
(六)第五步的操作如果出现前言所提的问题,可以通过以下步骤来解决
cd /var/lib/rpm
rm -rf __db.*
rpm --rebuilddb
(七)如果在使用yum的时候,提示404,修改/etc/yum.repos.d/CentOS-Base.repo 的baseurl,设置成可以访问得到的路径,类似如下,可以自行先浏览器访问一下,能访问得到就可以了
baseurl=http://mirrors.cloud.tencent.com/centos/7.6.1810/centosplus/$basearch/