我正在尝试在运行 perl 5.8.9 的 CentOS 5 服务器上设置 opsview(Nagios)
当我尝试启动它时,它找不到RRDs.pm
。结果,我也找不到。它不在 CPAN 上,我无法确定哪个包可以提供它。 yum provides "*/RRDs.pm"
没有返回任何结果。
编辑:所以我们已经确定了应该随包装一起提供perl-rrdtool
,但不幸的是没有。我该怎么做?
答案1
RRDs.pm 应由提供perl-rrd工具,但你表明你已经安装了该程序。
您的脚本找不到 RRDs.pm,但 RRDs.pm 可能仍安装在您的系统上,只是不在 PERL 期望找到它的位置。
这些命令之一告诉您什么?
(您可能需要locate
先使用/etc/cron.daily/mlocate
或类似的 cron 命令来更新数据库)
locate RRDs.pm
或者:
find / -type f -name RRDs.pm
答案2
运行以下命令在 RHEL6 上修复了我的这个问题。
yum install rrdtool-perl
答案3
你必须安装 rrdtool,CentOS 默认不提供此包,但你可以使用Dag Wiers 的存储库
$ cd /etc/yum.repos.d
$ vim dag.repo
插入以下行:
[dag]
name=Dag RPM Repository
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
并 :wq (保存) 文件。此后,只需通过 yum 安装该软件包即可。
$ yum install rrdtool
答案4
Loaded plugins: langpacks, product-id, subscription-manager
This system is registered to Red Hat Subscription Management, but is not receiving updates. You can use subscription-manager to assign subscriptions.
http://apt.sw.be/redhat/el7Server/en/x86_64/dag/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: apt.sw.be; Name or service not known"
Trying other mirror.
其中一个配置的存储库失败(Dag RPM 存储库),yum 没有足够的缓存数据来继续。此时 yum 唯一能安全做的事情就是失败。有几种方法可以“修复”此问题:
联系存储库的上游并让他们解决问题。
重新配置存储库的 baseurl/etc.,以指向有效的上游。如果您使用的发行版本比存储库支持的版本更新(并且以前的发行版本的软件包仍然有效),这通常非常有用。
禁用存储库,这样 yum 默认不会使用它。然后,Yum 将忽略该存储库,直到您再次永久启用它或使用 --enablerepo 进行临时使用:
yum-config-manager --disable dag
配置要跳过的故障存储库(如果不可用)。请注意,yum 在运行大多数命令时都会尝试联系存储库,因此每次都必须尝试并失败(因此 yum 会慢得多)。但如果这是一个非常暂时的问题,这通常是一个很好的折衷方案:
yum-config-manager --save --setopt=dag.skip_if_unavailable=true
失败:来自 dag 的 repodata/repomd.xml:[Errno 256] 没有更多镜像可供尝试。 http://apt.sw.be/redhat/el7Server/en/x86_64/dag/repodata/repomd.xml:[Errno 14] curl#6 - “无法解析主机:apt.sw.be;名称或服务未知”