RPM: dependencia de jre fallida, aunque esa versión de JRE esté instalada

RPM: dependencia de jre fallida, aunque esa versión de JRE esté instalada

Estoy intentando instalar un paquete y no se puede informar que falta una dependencia:

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

Al mismo tiempo, cuando reviso mi versión de Java, esto es lo que obtengo:

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

¿No es el java lo que quiere el rpm? ¿Me estoy perdiendo de algo? ¿Las rpm ven un Java diferente y cómo puedo comprobarlo?

Respuesta1

El administrador de paquetes es solo eso: un administrador de información de paquetes, realmente no sabe qué hay en su sistema, solo qué paquetes instaló y, por lo tanto, qué supone que hay en su sistema.

El problema obvio con este diseño es que los dos pueden no estar sincronizados, digamos, si instaló JRE manualmente descargándolo de Oracle, entonces el administrador de paquetes no tiene idea de que está ahí y por lo tanto hace su trabajo de señalar el error. cadena de dependencia.

Hay múltiples opciones, asumiendo que este es el problema (verifique su lista de paquetes rpm, olvidé los parámetros de rpm) en orden de feo: (1) Puede instalar su versión de distribución de JRE, lo que hará feliz al administrador de paquetes, (2) Puede modificar el administrador de paquetes para que crea que dicha dependencia "jre versión 1.7.0" está realmente instalada, con o sin instalación, luego subvertir los binarios de Java para usar su versión instalada, o (3) simplemente puede instalar Tomcat con el Opción --nodeps para ignorar las dependencias. Tenga en cuenta que (3) es una pendiente resbaladiza y terminará saltándose más dependencias y subdependencias con el tiempo.

información relacionada