(163部分包更新,有些包下载网址失效,此次更新修正部分失效链接。)
(没有太多图示解说,懒的小伙伴可以直接几步复制粘贴完成更换yum)
1、查看所有yum包(需替换的包名)
(用来确认需要更换几个yum包,与下面需下载的包对应)
[root@bogon ~]# rpm -qa | grep yum
2、删除原有yum包
[root@bogon ~]# rpm -qa|grep yum|xargs rpm -e --nodeps
共需要五个包:下载网址:http://mirrors.163.com/centos/7/os/x86_64/Packages/
yum-plugin-fastestmirror
yum-updateonboot
yum-utils
yum-metadata-parser
yum-3.4.3-150.el7
3、下载需要的包(也可以手动网页点击下载到文件夹,安装命令安装)
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-updateonboot-1.1.31-45.el7.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-45.el7.noarch.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-158.el7.centos.noarch.rpm
(如果下载地址失效可以进下载网址找更新后的包对应的版本)
4、安装软件包
[root@bogon ~]# rpm -ivh yum-*
( # 报错, 依赖包的版本不符:
rpm >= 0:4.11.3-22 is needed by yum-3.4.3-154.el7.centos.noarch
解决方法: 将所依赖的python-urlgrabber和rpm包升级
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-4.11.3-35.el7.x86_64.rpm
wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm
# 安装:
rpm -Uvh rpm-4.11.3-35.el7.x86_64.rpm --nodeps
rpm -Uvh python-urlgrabber-3.10-8.el7.noarch.rpm --nodeps
5、重新安装软件包
[root@bogon ~]# rpm -ivh yum-*
或者
[root@bogon ~]# rpm -ivh yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
[root@bogon ~]# rpm -ivh yum-updateonboot-1.1.31-45.el7.noarch.rpm
[root@bogon ~]# rpm -ivh yum-utils-1.1.31-45.el7.noarch.rpm
[root@bogon ~]# rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
[root@bogon ~]# rpm -ivh yum-3.4.3-158.el7.centos.noarch.rpm
6、更新yum源
rm /etc/yum.repos.d/redhat.repo
vim /etc/yum.repos.d/CentOS-Base.repo
# 内容:
#CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$7 - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$7 - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$7 - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$7 - Plus - 163.com
baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
7、清除yum缓存
[root@bogon ~]# yum clean all
8、生成缓存
[root@bogon ~]# yum makecache
9、更新成功, 可以安装软件了
[root@bogon ~]# yum install -y vim