欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Centos 7 阿里yum源 [Errno 14] HTTP Error 404 – Not Found 问题解决方案

程序员文章站 2022-03-03 16:58:48
...

Linux、CentOS、VMware问题集合可以看这篇文章

Linux各种问题报错集合 一篇文章解决Linux基本能遇到的所有问题 未来会持续更新
Centos7 阿里yum源 [Errno 14] HTTP Error 404 – Not Found 问题解决方案
这个问题的原因是阿里源没有配置好或者不是最新的,需要重新配置阿里源

我更新是选择了的阿里的源,同样也可以选择网易163或者其他的。
网址:阿里云开源镜像站

更换源方法如下:

在镜像站首页找到自己的Linux版本(我的是CentOS 7.6),点击help。新打开的网页中详细的说明了如何备份,如何更换镜像源(在Linux的Terminal也就是命令行中):输入:
  1、备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/​

CentOS5:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS6:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS7:

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

3、之后运行yum makecache生成缓存

yum makecache

PS:
  更换完源进行下载或者生成缓存时可能遇到以下错误:​
  1.

    [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found" Trying other mirror.

  [Errno 14] PYCURL ERROR 7 - "couldn't connect to host" Trying other mirror.

  [Errno 256] No more mirrors to try.

有效的解决方法:​

yum clean all

rpm --rebuilddb

执行完上述两条语句重新使用yum下载或者生成缓存即可成功
 2.报错:

Loaded plugins: fastestmirror, langpacks, priorities
Repository epel is listed more than once in the configuration
Cleaning repos: base epel extras updates
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[[email protected] yum.repos.d]# yum makecache  
Loaded plugins: fastestmirror, langpacks, priorities
Repository epel is listed more than once in the configuration
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
http://mirrors.aliyun.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below wiki article 

解决方法:
问题是HTTP请求失败,尝试本地访问之前wget下来的 CentOS-Base.repo 发现其中的:

http://mirrors.aliyun.com/centos/ r e l e a s e v e r / o s / releasever/os/ releasever/os/basearch/

等URL通过http的形式根本无法访问,此时将变量 r e l e a s e v e r 改 为 7 ( 我 的 系 统 是 c e n t o s 7 ) , 发 现 可 以 访 问 了 , 顺 便 将 所 有 的 变 量 releasever改为7(我的系统是centos 7),发现可以访问了,顺便将所有的变量 releasever7centos7访便releasever都改为7。感觉这个变量$releasever根本就没起作用呀。

改完之后,执行yum clean all 以及 yum makecache 成功。

命令如下

 sed -i s#\$releasever#7#g CentOS-Base.repo
相关标签: Linux linux