在 SLES 11 SP3 上安裝 jre-8u51-linux-x64.rpm:依賴項失敗
我嘗試使用 SLES 11 SP3 系統更新我的 Java 安裝
rpm -i jre-8u51-linux-x64.rpm
(出於某些原因,我想執行原始 Java 而不是 SUSE 提供的 IBM Java),我收到以下錯誤消息:
error: Failed dependencies: /usr/sbin/alternatives is needed by jre1.8.0_51-1.8.0_51-fcs.x86_64
我看到 SLES 11
/usr/sbin/update-alternatives
取代了/usr/sbin/alternatives
. 我不熟悉 rpm 打包的細節,如何修復 rpm 包以安裝在我的盒子上?請提供詳細資訊,而不僅僅是更大的圖片。PS Java 安裝適用於執行某些服務(包括 Fedora Commons 儲存庫)的 servlet 容器(Apache tomcat)。
編輯(更新):
jre-8u65-linux-x64.rpm
不再需要依賴項,但 rpm 仍然需要 /usr/sbin/alternatives 才能成功完成(因此要麼將其作為軟連結提供,要麼按照接受的答案中的描述編輯 rpm 文件)。
這裡有一些警告:
- 下面的文章假設您使用 Firefox 作為您的瀏覽器。
- 如果您有多個瀏覽器,請適當更新第 4 步。
- 該文章可能是錯誤的 Service Pack,但這應該可以幫助您入門。
來自Novell 知識庫文章 7010472:(引用)
免責聲明
該支持知識庫為 NetIQ/Novell/SUSE 客戶和對我們的產品和解決方案感興趣的各方提供了一種有價值的工具,以獲取資訊、想法並相互學習。材料僅供貴組織內的資訊、個人或非商業用途,並按“原樣”提供,不提供任何形式的保證。
情況
由於許可證更改,SUSE 不再能夠在分發版中或通過更新渠道提供 Oracle/Sun Java。因此需要從 java.com 站點下載 Java 並手動安裝。
這也意味著我們無法為 Oracle Java 提供支持。任何支持問題都應送出給 Oracle。以下資訊作為潛在的解決方案提供,但不能保證。
解析度
- 使用
YaST -> Software -> Software Management
和刪除所有以前的 Java 版本(例如 java-1_6_0-sun、icedtea-web)。如果您安裝了 Java 的 openjdk 版本,請不要刪除它。這是 LibreOffice 中的 Java 功能所必需的。- 下載甲骨文Java
檢查您是否有 i586 或 x86_64 版本的 Mozilla Firefox(這可能與系統架構不同)。最簡單的方法是打開控制台並輸入:
rpm -q --queryformat '%{arch}\n' MozillaFirefox
如果出現 x86_64,請使用標記為“Linux x64 RPM”的版本。
訪問http://java.com/並點擊免費 Java 下載。根據需要下載“Linux RPM”(32 位)或“Linux x64 RPM”(64 位)。 3. 作為 root 使用者,使用以下命令從終端安裝下載的 rpm:
rpm -Uvh <file-name>
當然替換成從 java.com 下載的 rpm 文件的路徑和名稱。 4. 啟用 Firefox 外掛。
以將要執行 firefox 的使用者身份登錄,打開終端視窗並執行以下操作:
mkdir -v ~/.mozilla/plugins
(如果它已經存在也沒關係)
rm ~/.mozilla/plugins/libnpjp2.so
ln -s /usr/java/jre1.7.0_05/lib/amd64/libnpjp2.so ~/.mozilla/plugins/
(“jre1.7.0_05”需要與剛剛安裝的版本相匹配) 5. 關閉 Firefox 瀏覽器的所有實例,然後再次打開它。瀏覽到http://java.com/en/download/installed.jsp以驗證 java 是否已正確安裝。
更新
在閱讀了我評論中提到的論壇後,決定以下方法有效(參見rjfleck 的第 2 頁文章):
使用
rpmrebuild
確保您不是 root,因為您希望修改後的 rpm 在您的使用者目錄中。設置您喜歡的編輯器,例如
setenv EDITOR xemacs
或者:
EDITOR=xemacs;export EDITOR
如果
EDITOR
未設置,則預設為vi
. 請參閱rpmrebuild 聯機幫助頁。rpmrebuild -e -p jdk-<version>-linux-x64.rpm
- rpm 解壓後,您選擇的
EDITOR
應該打開。使用所選編輯器的搜尋和替換功能將所有出現的 替換alternatives
為update-alternatives
。- 保存並退出更新的文件,然後重新打包 rpm。
- 如果要求繼續,請回答 Y。
它應該輸出 rpm 保存到的位置,例如
/usr/people/<your username>/rpmbuild/RPMS/x86_64/jdk-<version>-fcs.x86_64.rpm