yum makecache报错:Metadata file does not match checksum

背景

使用squid搭建了一台yum源代理机,缓存策略是能缓存尽量缓存,过期时间是一年,最近客户端使用该代理时一直出现Metadata file does not match checksum报错。

分析

1、在不使用代理的情况下,命令执行成功,因此可以排除yum源异常的可能。
2、在yum源代理机上执行yum makecache命令,同样成功,排除yum源代理网络异常的可能。
3、使用代理访问其他yum源,也是没问题,基本排除客户端到代理机的网络问题。

谷歌得知,出现报错的文件primary.xml.gz、filelists.xml.gz、和other.xml.gz就是metadata信息,而repomd.xml就是校验数据,其使用的是sha1进行校验的。

[root@localhost updates]# sha1sum filelists.xml.gz 
1bbfa5c78c891a067cce6edf5add1c6a7d548d13  filelists.xml.gz
[root@localhost updates]# grep "filelists.xml.gz"  -A 1 repomd.xml 
    <location href="repodata/filelists.xml.gz"/>
    <checksum type="sha">1bbfa5c78c891a067cce6edf5add1c6a7d548d13</checksum>
[root@localhost updates]# 

这两者不相等的话,那就应该是缓存搞的怪了,事实上也是如此。

在代理机上将这几个文件使用PURGE将缓存清理掉,重新执行yun makecache终于不报错了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值