RPM:対応するJREバージョンがインストールされていても、jreの依存関係が失敗しました。

RPM:対応するJREバージョンがインストールされていても、jreの依存関係が失敗しました。

パッケージをインストールしようとしていますが、依存関係の欠落は報告されません。

# rpm -ivh *
error: Failed dependencies:
    jre >= 1.7.0 is needed by Tomcat-7.0.37-1.noarch

一方、Javaのバージョンを確認すると、次のような結果が表示されます。

# java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) Server VM (build 24.0-b56, mixed mode)

rpmはJavaが欲しくないですか?私は何を逃したことがありませんか? rpmに別のJavaが表示されますか?どうやって確認できますか?

ベストアンサー1

パッケージマネージャはパッケージ情報マネージャです。システムに何があるのか​​実際には知らず、インストールされたパッケージだけがわかるので、システムに何があるのか​​を想定します。

このデザインの明白な問題は、2つが同期しない可能性があることです。たとえば、OracleからJREをダウンロードして手動でインストールした場合、パッケージマネージャはJREが存在するかどうかを知らないため、機能しない依存関係チェーンを指します。

問題があると仮定すると、いくつかのオプションがあります(rpmパッケージのリストを確認してください。rpmの引数を忘れました)。醜い順序で次のようになります。 (1) パッケージ管理サーバを起動するディストリビューションの JRE バージョンをインストールできます。 2)インストールの有無にかかわらず、依存関係「jreバージョン1.7.0」が実際にインストールされていると思うようにパッケージマネージャをパージしてから、インストールされたバージョンを使用するようにJavaバイナリを破壊できます。または (3) 依存関係を無視するには、--nodeps オプションを使用して tomcat をインストールできます。 (3)は滑りやすい斜面なので、時間の経過とともにより多くの依存関係と下位の依存関係をスキップします。

おすすめ記事