前言
使用redhat的yum安装vim软件时,提示 ‘[Errno 256] No more mirrors to try’
一、检查Yum的安装包
使用命令 pm -qa |grep yum 查看是否安装了yum,如果安装了会显示相应的安装包
[root@srv694220526 ~]#
[root@srv694220526 ~]# rpm -qa |grep yum
yum-3.4.3-167.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-rhn-plugin-2.0.1-10.el7.noarch
二、卸载RedHat自带的yum源
卸载,重新输入命令查看是否卸载干净
[root@srv694220526 ~]# rpm -qa | grep yum | xargs rpm -e --nodeps
[root@srv694220526 ~]# rpm -qa |grep yum
[root@srv694220526 ~]#
三、替换成阿里云的镜像
1.下载阿里镜像站下以下文件,有可能后面的版本号不同 ,自己去网站下载对应的版本号,尽量不要复制我的命令
https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
2.因为我的系统连wget命令都没有,所以我使用是curl命令来替代wget下载文件的命令
#curl -O 下载相关的安装包
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-rhn-plugin-2.0.1-10.el7.noarch.rpm
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
#下载 yum 安装包相关的依赖包,安装上述的 yum 安装包时会因缺少相关依赖而被迫中止
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/rpm-4.11.3-45.el7.x86_64.rpm
我的安装过程如下:
[root@srv694220526 opt]# curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1268k 100 1268k 0 0 404k 0 0:00:03 0:00:03 --:--:-- 404k
[root@srv694220526 opt]# curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 28348 100 28348 0 0 126k 0 --:--:-- --:--:-- --:--:-- 126k
[root@srv694220526 opt]# curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-rhn-plugin-2.0.1-10.el7.noarch.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 83040 100 83040 0 0 173k 0 --:--:-- --:--:-- --:--:-- 173k
[root@srv694220526 opt]# crul -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm
-bash: crul: command not found
[root@srv694220526 opt]# curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-54.el7_8.noarch.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 121k 100 121k 0 0 268k 0 --:--:-- --:--:-- --:--:-- 269k
[root@srv694220526 opt]# curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 35216 100 35216 0 0 136k 0 --:--:-- --:--:-- --:--:-- 136k
[root@srv694220526 opt]# curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 108k 100 108k 0 0 267k 0 --:--:-- --:--:-- --:--:-- 267k
[root@srv694220526 opt]# curl -O https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/rpm-4.11.3-45.el7.x86_64.rpm
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1191k 100 1191k 0 0 342k 0 0:00:03 0:00:03 --:--:-- 342k
3.安装yum包及其依赖
3.1 首先需要将两个依赖包进行安装
[root@srv694220526 opt]# rpm -ivh python-urlgrabber-3.10-10.el7.noarch.rpm
# 使用 --force 参数表示强制安装,是因为原系统中已经安装了较低版本的rpm,不使用此参数会导致安装失败
rpm -ivh rpm-4.11.3-43.el7.x86_64.rpm --force
3.2 安装yum包
[root@srv694220526 opt]# rpm -ivh yum* --force --nodeps
warning: yum-3.4.3-168.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:yum-metadata-parser-1.1.4-10.el7 ################################# [ 20%]
2:yum-plugin-fastestmirror-1.1.31-5################################# [ 40%]
3:yum-3.4.3-168.el7.centos ################################# [ 60%]
4:yum-rhn-plugin-2.0.1-10.el7 ################################# [ 80%]
5:yum-utils-1.1.31-54.el7_8 ################################# [100%]
4.载阿里镜像到/etc/yum.repos.d/目录下
#这是下载Centos-7.repo 并从命名成CentOS-Base.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
5. 修改刚下载的文件 将所有$releasever替换为7
vi /etc/yum.repos.d/CentOS-Base.repo
:%s/$releasever/7/g
:wq
6.运行以下命令
yum clean all
yum makecache
yum update
但是在运行 yum makecache命令的时候出现,
file:///media/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /media/repodata/repomd.xml"
Trying other mirror.
这里提示我们换另外一个源,就很奇怪。难道我们刚才安装的阿里云的源没有使用到吗? 经过google一番,发现确实是没用上。我们可以看一下 /etc/yum.repos.d/目录下的源,发现有三个,需要将其他两个重命名
mv redhat.repo redhat.repo.bak
mv rhel.repo rhel.repo.bak
再次运行 yum makecache 会成功,但是/etc/yum.repos.d/又回重新生成redhat.repo源,因为yum 寻包的顺序应该先是本地源,再寻网络源。
所以需要修改配置文件,解决办法就是把本地源关闭。因此还得修改一处地方,将enabled修改为0
vi /etc/yum/pluginconf.d/subscription-manager.conf
更新一下yum源
yum update
这样就大功告成了,可以舒服的使用yum了。
总结
以上就是我给redhat7更换yum源的操作,因为是一台新的机器,遇到各种问题,在此记录一下。