2015-04-22 82 views
6

我想成功更新我的jdk在紅帽系統中的一些安全方面的原因,並更新到jdk7u79爲紅帽

Redhat在其站點上發佈了一些java漏洞,名稱爲Oracle java,用於RHEL服務器

我需要爲在RHEL網站提到的更新我的jdk?來自oracle站點的jdk與Oracle Java for RHEL Server不同。

Reference

+1

您是否閱讀過鏈接網站?有一個明確的聲明:*建議所有java-1.7.0-oracle用戶升級到這些更新的 軟件包,它們提供Oracle Java 7 Update 79並解決這些問題。*因此,RedHat *提供的Java * Otacle Java。 –

+0

我提出過這個問題,因爲當你單獨安裝jre時,軟件包將不可見。非常感謝Uwe .. – Shriram

回答

5

甲骨文的Java VS openjava

  • 的Oracle JDK以前被稱爲SUN JDK,那就是甲骨文收購之前。此前,這是Java語言的官方專有實現。接管後,它被命名爲Oracle JDK,Oracle團隊維護JDK。

  • OpenJDK是Java標準版平臺的開源實現,其貢獻來自Oracle和開放Java社區。 OpenJDK是來自Java SE 7的Java標準版的官方參考實現。

  • OpenJDK以許可證GPL v2發佈,其中Oracle JDK根據Oracle二進制代碼許可協議進行許可。

  • 事實上,甲骨文JDK的構建過程中建立從OpenJDK的源代碼。因此,Oracle JDK和OpenJDK之間沒有主要的技術差異。

  • 除了基本代碼,Oracle JDK還包括Oracle的Java Plugin和Java WebStart的實現。還包括第三方封閉源代碼和開源組件,例如graphics rasterizer和Rhino。 OpenJDK的字體渲染器和Oracle JDK飛行記錄是甲骨文JDK和OpenJDK的之間的顯着的主要區別。

  • 將Oracle JDK的商業組件與可免費下載的Oracle JDK捆綁在一起,並使我們能夠使用顯式標誌運行它們。

  • JRockit是Oracle的JVM,從Java SE 7開始,H​​otSpot和JRockit合併成一個JVM。所以現在我們只有合併的HotSpot JVM可用。

  • 有多少在Oracle JDK的商業許可費用沒有任何官方信息。要獲得商業Oracle JDK許可證,我們需要直接聯繫Oracle銷售人員。

  • OpenJDK的是完全自由的,並且可以按照GPL v2的許可使用。

  • 有些情況下,人們聲稱他們在運行OpenJDK時遇到問題,並在切換到Oracle JDK時得到解決。這些是在公共論壇上提出的索賠,無法驗證。考慮到Oracle JDK從OpenJDK獲得它的來源這些事實很難證明。

  • 主要的Linux發行版如Ubuntu,Fedora和Red Hat Enterprise Linux提供OpenJDK或其變種作爲其默認的Java SE實現。 Twitter擁有自己的JDK。

  • 像Android Studio,IntelliJ IDEA,Minecraft等軟件預計會使用Oracle JDK。事實上,警告。

  • OpenJDK的圖6是一個反向移植到儘量與Oracle JDK 6兼容它從OpenJDK 7的b20和爪哇截取的圖7層的功能除去,並使其成爲與Java兼容SE 6.

  • OpenJDK的8源代碼位於http://hg.openjdk.java.net/jdk8 OpenJDK 8和OpenJDK 9的目標與OpenJDK 7沒有變化。它們看起來相同,即爲Java Standard Edition提供開源參考實現。

+1

這個答案包含真正有趣的信息!如果你能提供一些信息來源,或者從你從哪裏獲得知識,那麼評論會更好。 – Lii

+0

請參閱http://javapapers.com/java/oracle-jdk-vs-openjdk-and-java-jdk-development-process/上的原創內容 – dellasavia

3

甲骨文Java是基於OpenJDK與一些專有位補充說:

- 有時,這些位應該以提高性能(JRockit的痕跡......),

- 有時,這些位將提高兼容性(因爲他們從SUN繼承而來,應用程序作者自SUN時代開始測試它們)。歸因於Oracle/Sun java的許多「穩定性」僅僅是應用程序作者學習避免Oracle/Sun專有位的缺陷,並添加了在jvms上沒有這些缺陷的解決方案(另請參閱:IE6)

Red Hat Java僅基於openjdk

- 純openjdk更好地與系統集成。 openjdk傢伙盡力刪除剩餘的java-isms,並使用與其他系統應用相同的約定。甲骨文知道,SUN幾乎用拜占庭式的專利技術組合來殺死Java,但它無法維護。 Oracle長期需要的任何東西都將以openjdk結尾。對於openjdk實現來說,實現與Oracle的專有位一致來殺死它們就足夠了 - 當類似的免費技術可用時,沒有$$$維護專有技術。

- 當Redhat在解決此版本中的問題時(只要當前的API被保留),Red Hat就很容易回收爲當前redhat java中的下一個openjdk版本編寫的代碼,而Oracle則傾向於在提出之前等待下一個openjdk版本。

據我所知,Oracle對SUN處理java 1.6的方式感到非常厭惡(它被稱爲java 1.6,但開發不是線性的,桌面/服務器/ windows/linux jvms與一個版本中添加的位不同由於編碼快捷方式和複雜的許可協議而不能用於另一種方式,每種方式都會以其他方式落後於其他方式)。 Oracle有意維護一個經典的線性開發管道:openjdk next→當前openjdk→oracle java

無論您使用哪種版本,都需要應用其維護人員發佈的安全更新。使用Oracle java作爲Red Hat Java的更新是無用的,反之亦然,它的代碼略有不同,但安全漏洞略有不同。兩家公司都有能力出衆的工程師,並在openjdk主幹中共享安全修復。發佈固定版本時取決於禁運協議和安全修補策略。除非存在嚴重的漏洞,否則Oracle將傾向於在預先規劃的少量版本中批量修復。只要有一些與安全相關的問題需要修復,無論是大還是小。紅帽構建流程比Oracle使用的流程更靈活。 Linux構建過程100%自動化,而Oracle需要擔心Windows & co。

最後,在RHEL中發佈的Oracle Java是重新打包Oracle文件以使用本機Linux打包技術,並使用與openjdk包相同的路徑(等)約定(可輕鬆替換另一個),而Oracle Java正如Oracle發佈的那樣,仍然遵循着人們在Linux上認爲合適的SUN Solaris/windows非常奇怪的命名和路徑約定。它應該沒有Oracle公司發佈的Oracle Java(相同版本)那麼多的安全漏洞,只是更方便部署。它被設計成只是另一個Linux軟件包集合,可以使用本地軟件包部署系統部署在許多Linux服務器上。當你有數百臺服務器進行管理時,這對於不必特殊處理jvm非常有幫助。

每年2月紅帽和甲骨文公司的頂級java人員在fosdem公開會面,並介紹他們當前的優先事項。如果您有興趣,可以查閱他們過去在fosdem公共檔案中的演示文稿。