Abe*_*bel 5 rpm private repository http-status-code-404 centos7
我一直在为我工作的公司建立一个私人回购。一开始它工作正常,但是今天,当我尝试安装我构建的新 rpm 时,我遇到了这个丑陋的错误:
http://<server_name>/centos/7/repodata/a6ecd0c880b1f5128974cd147a53cd84d7dab269b9055215b6fbe99fb98f6d7a-primary.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found-:-- ETA
Run Code Online (Sandbox Code Playgroud)
我已经试过了:
yum clean all
rm -rf /var/cahe/yum
yum repolist
Run Code Online (Sandbox Code Playgroud)
又是同样的错误。
我已经删除了 repo 服务器上 repodata 下的所有内容,并再次使用以下命令重新创建了 repo:
createrepo /path/to/repo/directory
Run Code Online (Sandbox Code Playgroud)
重新创建 repo 后,我又跑了
yum clean all
rm -rf /var/cahe/yum
yum repolist
Run Code Online (Sandbox Code Playgroud)
但仍然没有任何作用
我 100% 确定客户端配置没问题,因为我是目前唯一一个使用服务器的人,上周它运行良好。
否则,可以在 http 中访问 repo,我可以使用 Web 浏览器查看所有包和 repodata。如果一个执行
curl http://<server_name>/centos/7/repodata/repomd.xml
Run Code Online (Sandbox Code Playgroud)
从客户端,我得到了正确的文件。
我已经意识到主数据库名称的名称在客户端中不是正确的(即使在运行之后yum clean all; rm-rf /var/cache/yum; yum update
)。我该如何解决这个问题?我整个下午都在研究这个问题,但没有任何改变
存储库目录中的权限设置正常(三重检查)
我错过了什么???
预先感谢您的帮助
我想我昨天晚上已经找到了答案,至少目前我没有面临之前描述的问题。
解决方案很简单,避免客户端保留存储库的本地缓存。/etc/yum.conf
这可以在客户端文件中包含下一行来完成:
http_caching=none
Run Code Online (Sandbox Code Playgroud)
设置此选项后,每次客户端执行yum update
或yum repolist
从存储库服务器下载所有 repodata,因此所有文件都是最新版本。
我仍然不明白为什么如果我删除客户端中的所有本地缓存,并且yum clean all; rm -rf /var/cache/yum
客户端继续搜索旧的 repodata 文件。如果有人有答案,请分享。这几天让我抓狂。
不管怎样,谢谢你的提示和建议
归档时间: |
|
查看次数: |
7209 次 |
最近记录: |