Rpm
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,我該如何檢查?
包管理器就是這樣 - 一個包資訊的管理器,它並不真正知道你的系統上有什麼,它安裝了什麼包,因此它假設你的系統上有什麼。
這種設計的一個明顯問題是兩者可能會變得不同步,例如,如果您通過從 oracle 下載 JRE 手動安裝它,那麼包管理器不知道它在那裡,因此它的工作是指出失敗的依賴鏈。
有多個選項,假設這是問題(檢查你的 rpm 包列表,我忘記了 rpm 的參數),按醜陋的順序排列:(1)你可以安裝 JRE 的發行版,這將使包管理器高興,(2)您可以捏造軟體包管理器,使其認為實際安裝了依賴“jre version 1.7.0”,無論是否安裝它,然後顛覆 java 二進製文件以使用您安裝的版本,或者(3)您可以只安裝 tomcat 與–nodeps 選項忽略依賴關係。請注意(3)是一個滑坡,隨著時間的推移,您最終會跳過更多的依賴關係和子依賴關係。