RPM: Fehlgeschlagene JRE-Abhängigkeit, obwohl diese JRE-Version installiert ist

RPM: Fehlgeschlagene JRE-Abhängigkeit, obwohl diese JRE-Version installiert ist

Ich versuche, ein Paket zu installieren, aber es schlägt fehl und es wird eine fehlende Abhängigkeit gemeldet:

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

Wenn ich gleichzeitig meine Java-Version überprüfe, erhalte ich Folgendes:

# 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)

Ist es nicht das Java, das das RPM will? Übersehe ich etwas? Sieht das RPM ein anderes Java und wie kann ich das überprüfen?

Antwort1

Der Paketmanager ist genau das – ein Manager für Paketinformationen. Er weiß nicht wirklich, was sich auf Ihrem System befindet, sondern nur, welche Pakete er installiert hat und was er daher davon ausgeht, dass sich auf Ihrem System befindet.

Das offensichtliche Problem bei diesem Design besteht darin, dass die beiden nicht mehr synchron sein können. Wenn Sie beispielsweise JRE manuell installiert haben, indem Sie es von Oracle heruntergeladen haben, hat der Paketmanager keine Ahnung, dass es vorhanden ist, und weist daher nur auf die fehlerhafte Abhängigkeitskette hin.

Es gibt mehrere Optionen, vorausgesetzt, dies ist das Problem (überprüfen Sie Ihre RPM-Paketliste, ich habe die Parameter von RPM vergessen), in der Reihenfolge ihrer Hässlichkeit: (1) Sie können die JRE-Version Ihrer Distribution installieren, was den Paketmanager zufriedenstellt, (2) Sie können den Paketmanager so manipulieren, dass er denkt, die Abhängigkeit „JRE Version 1.7.0“ sei tatsächlich installiert, mit oder ohne sie zu installieren, und dann die Java-Binärdateien unterwandern, um Ihre installierte Version zu verwenden, oder (3) Sie können Tomcat einfach mit der Option --nodeps installieren, um Abhängigkeiten zu ignorieren. Beachten Sie, dass (3) ein heikles Unterfangen ist und Sie im Laufe der Zeit mehr Abhängigkeiten und Unterabhängigkeiten überspringen werden.

verwandte Informationen