为什么 Debian Wheezy 中没有 sun-java 以及我该如何解决这个问题?

为什么 Debian Wheezy 中没有 sun-java 以及我该如何解决这个问题?

Sun 的 java 在 Debian Lenny 和 Debian Squeeze repos(非免费)中,但在 wheezy 中没有12。 为什么?

编辑:经过进一步研究,我发现 java 已被删除。原因:

ROM;安全问题和较新版本无法重新分发3

仍然存在以下问题:

在哪里可以获得适用于 Debian Wheezy 的 sun-java 软件包?

答案1

我不确定是否是因为许可原因,因为 Sun/Oracle Java 存在于 Squeeze 和 Sid 中。

如果你需要在 Wheezy 上使用 Sun/Oracle Java,最简单的方法可能是安装 Squeeze 或 Sid 版本。你可以apt这样做:钉住

固定允许您运行一个版本(稳定版、测试版、不稳定版)中的某些软件包,而无需升级整个系统。

我现在不会这样做,因为我发现这些opendjk包足以满足我的所有需要​​,但我过去确实对许多其他包使用过固定功能。

答案2

http://wiki.debian.org/Java有一个链接可以帮助你从上游 tarball 生成 debian 软件包。

这也许是最好的答案:每次 Oracle 的人员生成新版本时都生成一个包,但我更喜欢不同的答案:使用带有脚本的包来执行从 tar.gz 安装的繁琐任务。

这就是为什么我生成了一个不包含 Java 框架的包,但它告诉系统恰恰相反。

这样,我只需手动下载 tar.gz 并运行脚本即可升级。

我知道这个包和脚本还有待改进,但对我来说已经足够了。它适用于 i386 和 amd64。

如果你想尝试,你可以从这里下载 http://babel.ls.fi.upm.es/~vpablos/others/packages/debian/

答案3

我不知道正确的安装方法sun-java,但这是我针对 Wheezy 提出的(不太好的)解决方案。

在这个例子中,我的Java版本是JDK 64位。

  1. 下载jdk-6u30-linux-x64.binwww.oracle.com

  2. 解压jdk-6u30-linux-x64.bin/usr/lib/jvm

    cp jdk-6u30-linux-x64.bin /usr/lib/jvm
    cd /usr/lib/jvm
    chmod 777 jdk-6u30-linux-x64.bin
    ./jdk-6u30-linux-x64.bin
    rm jdk-6u30-linux-x64.bin
    
  3. 创建指向新目录的符号链接/usr/lib/jvm/jdk1.6.0_30

    ln -s /usr/lib/jvm/jdk1.6.0_30 /usr/lib/jvm/java-sun
    

    (这将节省下次更新的时间。只需删除链接/usr/lib/jvm/java-sun并创建新的符号链接。)

  4. 为网络浏览器创建符号链接:

    ln -s /usr/lib/jvm/java-sun/jre/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/javaplugin.so
    

    使用指向以下网址的网络浏览器进行测试www.java.com

    rm /usr/bin/java
    ln -s /usr/lib/jvm/java-sun/bin/java /usr/bin/java
    rm /usr/bin/javac
    ln -s /usr/lib/jvm/java-sun/bin/javac /usr/bin/javac
    

    等等..

希望您能找到更好的解决方案。

答案4

您可以尝试安装适用于 Ubuntu 的软件包。

你可以得到它们这里(已编辑)。

目前 sun-java 位于伙伴存储库,不在多元宇宙和以前一样。

你会注意到没有适用于 Ubuntu 11.10 的版本。我认为与 Debian 的问题相同。

相关内容