我正在 RHEL5 主机上创建 rpmforge 的本地副本。
# reposync --repoid=rpmforge --download_path=/var/www/html/yum
# cd /var/www/html/yum/rpmforge; createrepo --database .
Run Code Online (Sandbox Code Playgroud)
除了远程存储库之外,我还有一个本地存储库的存储库条目。然后我做一个yum clean all
和yum list local-rpmforge
。
# yum list local-rpmforge
Loaded plugins: rhnplugin, security
This system is receiving updates from ULN.
http://${hostname}.${fqdn}/yum/rpmforge/repodata/repomd.xml: [Errno 12] Timeout: <urlopen error timed out>
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: local-rpmforge. Please verify its path and try again.
Run Code Online (Sandbox Code Playgroud)
但是,卷曲 url 让我立即输出!
# curl http://${hostname}.${fqdn}/yum/rpmforge/repodata/repomd.xml
<?xml version="1.0" encoding="UTF-8"?>
<repomd xmlns="http://linux.duke.edu/metadata/repo">
<data type="other_db">
...
Run Code Online (Sandbox Code Playgroud)
(${hostname}
并且${fqdn}
是为了安抚我的安全组而进行的混淆。在实际命令中,给出了明确的内部主机名和子域。这个问题完全是内部问题。不涉及或不需要防火墙或代理。我的测试服务器和客户端在同一个子网上。 wget 下载文件就像 curl 一样容易。)
世界上有什么?这不是唯一失败的存储库,但使用相同方法创建的其他本地存储库也很好。
我再次做到了!这一次,我弄清楚了我一年前做了什么,并重复了一遍。
这个特定的主机拥有本地 yum 存储库,因此/etc/yum.conf
配置了代理信息以退出我的防火墙并下载当前的 RHEL 包。
但是,逗号,我忽略了将行添加proxy=_none_
到内部文件中的内部存储库配置中/etc/yum.repos.d/*.repo
。因此,yum 试图访问防火墙内主机的代理,而防火墙理所当然地拒绝了连接。
所以,上面的最终评论是正确的。它是代理,但意义相反。当我不应该打代理时,我试图打代理。