RPM 依赖性故障排除

RPM 依赖性故障排除

我正在尝试安装 Nagios rpm,但收到以下错误

error: Failed dependencies:
        httpd is needed by nagios-4.0.2-2.el6.x86_64
        php is needed by nagios-4.0.2-2.el6.x86_64

我对 Linux 也是新手,但我假设 httpd 已经在运行,因为当我运行时它service httpd status已经在运行。

我在这里遗漏了什么?

答案1

四处阅读看起来

  • RPM 包管理器无法跟踪依赖关系

  • YUM 添加自动更新和依赖管理

为此,我宁愿yum尽可能使用。我不确切知道您的情况的问题,但我会尝试使用以下两种方法之一来修复它:

使用 yum 安装 rpm 并解决依赖关系

php可以说,您确实想通过 rpm 安装 nagios,因为您想要最新版本,您可以尝试删除和的当前版本httpd(备份 httpd conf 和站点,以防万一)并使用一个命令重新安装所有内容

yum localinstall /path/to/nagios.rpm

它会自动安装 rpm 并解决依赖关系。

启用存储库并避免 rpm

但也许最后一个版本不是必需的,那么你可以使能够EPEL Repository并从那里和其他存储库安装所有需要的软件包。看看本指南

答案2

该消息表明,就 RPM 而言,既未安装 httpd,也未安装 php。它没有引用版本,因此只需要一些提供这些功能的包。你说至少 httpd 正在运行,所以 RPM 不知道这一点。

这看起来像是您直接从源代码安装的软件包(或者将 tarball 的内容放入系统中,或者安装了不是为 CentOS 构建的软件包)。如果是这样的话,建议您备份数据,然后进行操作干净的从CentOS + EPEL安装,并从备份中恢复相关数据。让系统变得混乱(依赖方面)很容易,而且几乎不可能修复。

相关内容