执行yum update更新提示Operation too slow传输过慢报错如何解决
CentOS 7 执行yum update报下载超时修复方案
报错信息
readline-6.2-11.el7.x86_64.rpm FAILED
[Errno 12] Timeout on readline-6.2-11.el7.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
问题原因
这个报错和系统配置、rpm包本身无关,纯粹是当前配置的yum镜像源连通性差、传输速率过低,触发了yum默认的「30秒内传输速率低于1000字节/秒就中断连接」的规则,导致包下载失败。
修复步骤
- 清理旧缓存
先把之前下载到一半的坏包、过期元数据清掉,避免后续更新读取缓存报错:yum clean all rm -rf /var/cache/yum - 替换高速镜像源(根治方案)
先备份原有失效的源配置文件,方便出问题回滚:
新建同名mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakCentOS-Base.repo文件,填入国内公开可用的CentOS 7镜像源配置即可,不用继续用当前出问题的低速率海外源。 - 调整yum阈值参数(可选,适配网络波动)
要是本地网络本身不稳定,可以编辑/etc/yum.conf,在[main]配置段末尾加两行参数,放宽超时和速率限制:
改完后yum最长会等300秒拉取包,速率低于100字节/秒才会中断,不会因为短暂的网络卡顿直接报错。timeout=300 minrate=100 - 重新执行更新
重新拉取源的元数据缓存,再跑更新命令即可:yum makecache yum update -y
临时处理方案
如果暂时不想换源,单次执行更新的时候手动加长超时时间、跳过异常包重试就行:
yum update --setopt=timeout=600 --skip-broken
内容的提问来源于stack exchange,提问作者pars click
相关产品推荐
相关产品推荐

