在私人仓库中未找到 primary.sqlite.bz2

在私人仓库中未找到 primary.sqlite.bz2

我一直在为我工作的公司设置一个私人仓库。一开始它运行正常,但今天,当我尝试安装我构建的新 rpm 时,出现了这个难看的错误:

http://<server_name>/centos/7/repodata/a6ecd0c880b1f5128974cd147a53cd84d7dab269b9055215b6fbe99fb98f6d7a-primary.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found-:-- ETA

我已经尝试过了:

yum clean all
rm -rf /var/cahe/yum
yum repolist

又出现同样的错误。

我已删除 repo 服务器上 repodata 下的所有内容,并使用以下命令再次重新创建 repo:

createrepo /path/to/repo/directory

重新创建仓库后我再次运行

yum clean all
rm -rf /var/cahe/yum
yum repolist

但仍然没有任何效果

我 100% 确定客户端配置没有问题,因为目前我是唯一一个使用服务器的人,而且上周它运行良好。

否则,可以通过 http 访问 repo,我可以使用 Web 浏览器查看所有包和 repodata。如果执行

curl http://<server_name>/centos/7/repodata/repomd.xml

从客户端,我得到了正确的文件。

我意识到客户端中的主数据库名称不正确(即使在运行之后也是如此yum clean all; rm-rf /var/cache/yum; yum update)。请问我该如何修复此问题?我整个下午都在研究这个问题,但没有任何变化

repo 目录中的权限设置正确(三重检查

我错过了什么???

预先感谢您的帮助

答案1

我认为我昨晚已经找到了答案,至少目前我没有遇到之前描述的问题。

解决方案很简单,避免客户端保留存储库的本地缓存。这可以通过在/etc/yum.conf客户端文件中包括下一行来实现:

http_caching=none

设置此选项后,每次客户端执行yum updateyum repolist时,它都会从存储库服务器下载所有 repodata,因此所有文件都处于其最新版本。

我仍然不明白为什么如果我删除了客户端中的所有本地缓存​​,yum clean all; rm -rf /var/cache/yum客户端还会继续搜索旧的 repodata 文件。如果有人有答案,请分享。过去几天它让我抓狂不已。

无论如何,谢谢你的提示和建议

答案2

我遇到了类似的错误并想在这里分享我的发现。

私人公司存储库服务器位于某种网络加速器后面。因此,我必须关闭其中的缓存和优化。

此后,错误消失。

相关内容