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。あなたのケースの問題が正確にはわかりませんが、次の 2 つのアプローチのいずれかを使用して修正を試みます。

rpm をインストールし、yum で依存関係を解決する

たとえば、最新バージョンが必要なため、rpm 経由で Nagios をインストールしたい場合は、現在のバージョンを削除しphp(httpd念のため httpd conf とサイトをバックアップ)、1 つのコマンドですべてを再インストールすることができます。

yum localinstall /path/to/nagios.rpm

rpm がインストールされ、依存関係が自動的に解決されます。

リポジトリを有効にしてrpmを回避する

しかし、最後のバージョンは必要ではないかもしれません。有効にするEPEL Repositoryそこから、そして他のリポジトリから必要なパッケージをすべてインストールします。このガイド

答え2

メッセージは、RPMに関してはhttpdもphpもインストールされていないことを示しています。バージョンは示されていないので、いくつかのこれらの機能を提供するパッケージです。少なくとも httpd は実行されているとのことですが、RPM はそれを認識していません。

これは、ソースから直接パッケージをインストールした(または、tarballの内容をシステムにドロップした、またはCentOS用に構築されていないパッケージをインストールした)ようです。その場合は、データをバックアップし、クリーンCentOS + EPEL からインストールし、バックアップから関連データを復元します。依存関係の面でシステム全体を混乱させるのは簡単で、修正するのはほぼ不可能です。

関連情報