由于"tar: Error is not recoverable"错误,Java JRE无法安装。

我一直在努力获取Java,已经努力了一整天了。我按照几个教程进行操作,但是始终遇到同样的错误。当我输入“tar -xvf jre-7u4-linux-i586.tar.gz”时,它会显示“无法打开:没有此文件或目录 tar: 错误不可恢复:现在退出”。 我有一个64位系统,所以我不认为这是问题所在。JDK安装得很完美,但是我迷失在为什么JRE无法正常工作的问题上...

3你说你有一个64位的系统,但包装上写着1586。确保你有正确的版本。 - Nathaniel Pisarski
如果您安装了JDK,通常也会包含JRE。 - ish
1你真的下载了那个文件吗? - Thorbjørn Ravn Andersen
你要在哪里写呢?必须在终端窗口中写。 - Thorbjørn Ravn Andersen
8个回答

如果不喜欢使用OpenJDK,您可以从ppa安装Oracle版本(这比手动安装要容易得多,而且您还应该自动接收更新)。通过ppa添加还可以确保您正在使用正确的架构(32位与64位)。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

来源:http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html

"add-apt-repository" 命令不存在 o_O - knocte
1knocte - 我也遇到了同样的问题。RTFG说你需要安装python-software-properties或手动将其添加到/etc/apt/sources.list中。 - lonstar
目前最好的方式。 - Apache

在Ubuntu 12.04上安装Java的最简单方法是运行以下命令。
sudo apt-get install default-jdk

不要搞乱下载任何文件 - 只需使用软件包管理器即可。

1这将给你OpenJDK,它与任何东西都不兼容。 - Jeremy Logan
@fiXedd 要么你不知道自己在说什么,可能就不应该评论;要么你确实知道你在说什么,那你应该更明白。 - Thorbjørn Ravn Andersen
我应该知道得更清楚 :) 但说真的...很多东西在OpenJDK上无法正常工作(或者有些微妙的错误)。 - Jeremy Logan

这组指令是用于64位Java安装

将Java下载到Downloads文件夹中

1 - 打开终端,复制并粘贴以下命令

sudo mkdir -p -v /opt/java/64

按下回车键
cd Downloads && tar xvzf ~/Downloads/jre-7u4-linux-x64.tar.gz

按下回车键
sudo mv -v ~/Downloads/jre1.7.0_04 /opt/java/64

按下回车键
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/64/jre1.7.0_04/bin/java" 1

按下回车键

sudo update-alternatives --set java /opt/java/64/jre1.7.0_04/bin/java

按下回车键
mkdir -v ~/.mozilla/plugins 

按Enter键

现在移除IcedTea插件,若已安装。如果一开始就没有的话,你会看到相应的通知。

sudo apt-get remove icedtea6-plugin

按下回车键
删除以前的Java插件版本(可能存在,运行命令只是为了确保)。如果一开始就没有,您将会收到相应的通知。
rm -v ~/.mozilla/plugins/libnpjp2.so

按下回车键
ln -s /opt/java/64/jre1.7.0_04/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

按Enter键

这些说明是从Easy Linux Tips项目逐字复制的

我自己使用过这些说明,并可以验证它们确实有效。

Easy Linux Tips - 安装Oracle Java


这很好,但OP表明他们正在使用64位系统。你能更新你的回答,包括x64指令吗? - amc
1或者你可以使用PPA sudo add-apt-repository ppa:webupd8team/java来安装它,让安装程序处理上面答案中提到的所有麻烦。但在选择“捷径”之前最好了解一下“绕道”的方法;-) - Kushal
@Kush 我刚刚在回答中添加了那个ppa信息。 - amc
@amc:我评论的答案已经满足了需求,不过PPA只是更简单的解决方法而已 :-) - Kushal

打开软件中心,然后在搜索框中输入jre

java


我对第7版不确定,但在第6版中,OpenJDK和Sun的JRE是不同的。例如,我公司使用的VPN应用程序无法与OpenJDK配合使用,只能与Sun的JRE配合使用。 - Pipe

我曾经遇到过一个朋友的机器出现了同样的问题,我所做的只是安装了openjdk,可以使用以下命令来完成安装。
sudo apt-get install openjdk-7-oracle

以上命令适用于12.04版本,但对于之前的版本,您可以添加一些ppa,或者只需运行以下命令。
sudo apt-get install openjdk-6-jdk

它对我和我的朋友都有效。
希望有所帮助。

这个家伙和我自己都需要Sun JAVA,因为很多东西在openJDK上无法运行,所以人们会问到Sun Java。openJDK并不是没用的,只是相对于Sun Java来说稍微落后一些,因为Sun Java有更多的支持。
所以对于那些需要SUN JAVA(Oracle)的人,这是我做的:我找到了这些命令让我能够正常运行。
我为那些只想要解决方案的人感到遗憾,但现在情况真的很糟糕,人们在没有阅读或了解问题的情况下就给出解决方案。
我遇到了同样的问题,发现有3个网站解决了我的问题,希望这对你有帮助。
我安装了ubuntu 12.04 Server 64位。 硬件规格
Intel Xeon E5-2620 on Intel S2600CP2
主机操作系统 Vmware ESXI 5.0
客户端 ubuntu 12.04 Server 64位
然后我登录了。 我输入以下命令来安装Java 7 64位。
sudo apt-get install python-software-properties << 我相信这个命令安装了apt-get-repository脚本。 sudo apt-get update <<< 更新软件列表

sudo apt-get upgrade <<< 从列表中更新和安装软件。

sudo apt-get dist-upgrade <<< 将Ubuntu服务器的版本升级,例如从11.05升级到12.01。

sudo reboot <<< 必须重新启动。

sudo add-apt-repository ppa:webupd8team/java <<< 添加Oracle Java的存储库。

sudo apt-get update <<< 刷新列表。

sudo apt-get install oracle-java7-installer << 安装Java。

java -version <<< 检查已安装的Java版本。

您应该获得JAVA(TM) 64位 版本

希望这对您有所帮助。


对于64位系统,我之前已经测试并成功运行过。
以下是我之前所做的步骤:
从这里下载Sun JRE 7的tar文件。
解压缩tar文件:
tar -xvzf jre-7u4-linux-x64.tar.gz

将提取的文件夹移动到此位置:
sudo mv jre1.7.0_04 /usr/lib/jvm/

安装新的Java源代码到系统中:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.7.0_04/bin/java 1

选择默认的Java版本:
sudo update-alternatives --config java

Java版本测试:
java -version

验证所有符号链接是否指向新的Java位置:
ls -la /etc/alternatives/java*

对于32位架构,请点击此链接

OpenJDK Java是一个明智的选择,尽管还有更好的选项。 但如果你仍然坚持使用Oracle Java,那么请从他们的网站下载jre-7u4-linux-x64.tar.gz文件,并进行相同的操作。 它会完成工作的。