使用yum安装报错:[Errno 256] No more mirrors to try

背景:我使用yum方式安装软件时,比如zabbix这种软件,我们在安装时一般都是直接到zabbix官网,按照官方的步骤进行安装,但是有一个问题,官方的服务器不在国内,时常会在安装时导致超时报错。此时解决思路就因该是将官方源替换成国内的镜像源,例如阿里云、163的镜像源。要点就是网络问题!网络问题!网络问题!

注意安装zabbix时也要选择阿里云的镜像repo,地址如下:

rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm

报错信息:

 

 

安装  3 软件包 (+7 依赖软件包)

总计:7.2 M
总下载量:5.8 M
安装大小:29 M
Is this ok [y/d/N]: y

Downloading packages:
No Presto metadata available for zabbix
zabbix-server-mysql-4.4.6-1.el FAILED                                          6 kB  00:01:00 ETA 
http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-server-mysql-4.4.6-1.el7.x86_64.rpm: [Errno 14] curl#18 - "transfer closed with 2193329 bytes remaining to read"
正在尝试其它镜像。
zabbix-agent-4.4.6-1.el7.x86_6 FAILED                                          3 kB  01:07:08 ETA 
http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.6-1.el7.x86_64.rpm: [Errno 12] Timeout on http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.6-1.el7.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
正在尝试其它镜像。
zabbix-web-4.4.6-1.el7.noarch. FAILED                                          0 kB  00:04:53 ETA 
http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-web-4.4.6-1.el7.noarch.rpm: [Errno 14] curl#18 - "transfer closed with 2625420 bytes remaining to read"
正在尝试其它镜像。
zabbix-agent-4.4.6-1.el7.x86_6 FAILED                                          6 kB  00:09:43 ETA 
http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.6-1.el7.x86_64.rpm: [Errno 14] curl#18 - "transfer closed with 83410 bytes remaining to read"
正在尝试其它镜像。


Error downloading packages:
  zabbix-web-4.4.6-1.el7.noarch: [Errno 256] No more mirrors to try.
  zabbix-server-mysql-4.4.6-1.el7.x86_64: [Errno 256] No more mirrors to try.
  zabbix-agent-4.4.6-1.el7.x86_64: [Errno 256] No more mirrors to try.

 

解决方案大致有三种:

一、更新yum

  yum clean all

  yum makecache

  yum update -y

二、若不行,可能是因为DNS不稳定吧,因为yum安装时会从三个”repo源“(base,extras,updates)随机获取地址

(1)编辑网络配置:vi /etc/sysconfig/network-scripts/ifcfg-eth0

在本地网关DNS1下,添加aliyun网关 DNS2=223.5.5.5(可以理解为:将base,updates的“repo源”换为aliyun的)

重启网络服务:service network restart

(2)上步骤若还不行,请继续以下步骤(换yum源,可以理解为上一步的plus,再将extras换为aliyun的源)

 先备份老源:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

 CentOS7系统:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

具体方法参考阿里云官方:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11iDH0bA

(3)刷新并生成缓存

  yum clean all

  yum makecache

三、分析总结法

首先该问题的出现是由于网络的震荡导致,这是重点。

(1)将源更换成阿里云的官方源,步骤参考如上

(2)同时将zabbix的官方源更换成阿里云里面的zabbix镜像源,因为zabbix官方源根本网络不通,因为国家防火墙的拦截,导致网络不通。

 

这是阿里源的zabbix镜像地址: https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/

修改系统中早期生成的zabbix.repo文件,如下:主要是把baseurl替换成阿里云的zabbix镜像地址即可。

修改完了记得,清理再重组:yum clean all  yum makecache

[zabbix]
name=aliyun - zabbix - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/$basearch/
enabled=1
gpgcheck=0

 

 如图示,国内的zabbix镜像源网络是通的,所以此时可以正常安装zabbix,问题得到解决。

验证:如图示,zabbix-agent已经可以正常安装

 

 

  

 

 

 

posted @ 2020-02-25 09:25  802.11  阅读(56142)  评论(0编辑  收藏  举报