您的位置:首页 > 理论基础 > 计算机网络

linux下yum更新出现HTTP Error 404 NOT FOUND错误的办法

2016-02-15 11:29 761 查看
Fedora下yum安装软件包时提示标题所示的错误信息,原因估计是yum查找软件包依赖时使用的是过时的缓存,清空更新之后,再次安装软件,问题消失,

具体指令如下:



# yum clean all

# yum update

前天在编译软件时,需要 libtool 包,运行 sudo yum install libtool 总是提示HTTP 404 page not found,开始以为是网络出问题了,因为最近几个月网络抽风似乎是正常现象 。

后来查了一下资料,才知道是本地缓存出了问题,解决方法如下:

1、sudo yum clean all

2、rpm rebuilddb
http://tech.lezi.com/archives/47
最近两天使用yum的163源,出现404错误

1
[root@localhost
yum.repos.d]# yum makecache
2
...
3
...
4
http://mirrors.163.com/centos/5/os/i386/repodata/repomd.xml: [Errno
14] HTTP Error 404: Not Found
5
Trying
other mirror.
6
...
用浏览器却可以打开http://mirrors.163.com/centos/5/os/i386/repodata/repomd.xml这个文件。后来发现是ipv6的问题,使用curl,不带-4参数也是404错误,使用-4参数后就能访问到该文件。

01
[root@localhost
yum.repos.d]# curlhttp://mirrors.163.com/centos/5/os/i386/repodata/repomd.xml
02
<!DOCTYPE
HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
03
<html><head>
04
<title>404
Not Found</title>
05
</head><body>
06
<h1>Not
Found</h1>
07
<p>The
requested URL /centos/5/os/i386/repodata/repomd.xml was not found on this server.</p>
08
<hr>
09
<address>Apache
Server at mirrors.163.com Port 80</address>
10
</body></html>
强制使用IPv4

01
[root@localhost
yum.repos.d]# curlhttp://mirrors.163.com/centos/5/os/i386/repodata/repomd.xml -4
02
<?xml
version="1.0" encoding="UTF-8"?>
03
<repomd
xmlns="http://linux.duke.edu/metadata/repo">
04
<data
type="other_db">
05
...
06
...
07
<checksum
type="sha">c0745a5c86eabe53dfc06811be5344544a21089e</checksum>
08
<timestamp>1272326316</timestamp>
09
</data>
10
</repomd>


解决方案

以下方案二者选一即可

将mirrors.163.com的IPv4地址写入到/etc/hosts文件

1
[root@localhost
~]
#
echo `host mirrors.163.com|cut -d' ' -f 4` mirrors.163.com >> /etc/hosts
重命名/lib/modules/2.6.x/kernel/net/ipv6后重启。

1
[root@localhost
~]
#
mv /lib/modules/2.6.x/kernel/net/ipv6 /lib/modules/2.6.x/kernel/net/ipv6.bak
2
[root@localhost
~]
#
init 6
ps: 如果你在你的linux机器上用git clone复制sourceforge.net的源代码时,提示密码错误,而Windows上同样的密码可以,也是这个问题,使用方案2即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: