我有这个模块:
class bash {
package { "shells/bash":
ensure => "installed",
}
}
执行之后,我在 Puppet 仪表板中发现了这一点:
从缺失更改为存在失败:无法获取端口索引:425 无法建立连接。
我不知道为什么会发生这种情况,几周前没有发生这种情况,但现在每次都在几台不同的机器上发生。
详细模式:
$ puppet agent --test --debug --verbose I see
debug: Puppet::Type::Package::ProviderFreebsd: Executing '/usr/sbin/pkg_info -aoQ'
debug: Package: shells/bash: origin => {:port_category=>"shells", :port_name=>"bash"}
debug: Package: shells/bash: source => #<URI::FTP:0x801d3fca8 URL:ftp://ftp.freebsd.org/%2Fpub/FreeBSD/ports/amd64/packages-8-stable/>
debug: Fetching INDEX: #<URI::FTP:0x801d31108 URL:ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/INDEX.bz2>
err: /Stage[main]/Bash/Package[shells/bash]/ensure: change from absent to present failed: Could not fetch ports INDEX: 425 Can't build data connection: Operation timed out.
我可以连接 ftp.freebsd.org(telnet ftp.freebsd.org 21)
答案1
您能连接到http://www.freebsd.org没有代理?
也许您没有配置 HTTP 代理?或者您是否覆盖了 /etc/make.conf 中的 ${MASTER_SITE_INDEX}?
这看起来像是“make fetchindex”的输出。如果您转到 /usr/ports 并输入“make fetchindex”,会发生什么情况?
答案2
从 FreeBSD 机器运行puppet agent --test --debug
。它应该会为您提供有关正在执行的失败命令的精确信息,然后您可以自己执行该命令以进一步调试它。