2015-04-22 79 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公共档案中的演示文稿。