+-
debian – apt-get upgrade后无法安装java
当我执行 java -version时,我得到了这个:

bash: /usr/bin/java: No such file or directory

我按照多个在线指南来安装java.我按照所有步骤,但我仍然得到了这个错误.也许我做错了 – 我不知道.

输出:dpkg -l jdk *

dpkg-query: no packages found matching jdk*

输出:ls -l /usr/bin/java

lrwxrwxrwx 1 root root 22 Nov 16 17:21 /usr/bin/java -> /etc/alternatives/java

输出:sudo add-apt-repository ppa:webupd8team / java

add-apt-repository: command not found

输出:文件“$(readlink -e”$(type -P java)“)”

/usr/local/java/jdk1.7.0_45/bin/java: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, BuildID[sha1]=0x6849323f527575e206a1b6449617e809158e82be, not stripped

输出ldd“$(readlink -e”$(type -P java)“)

not a dynamic executable

Debian版本,uname的输出-a:

Linux Cyneox 3.7-trunk-amd64 #1 SMP Debian 3.7.2-0+kali8 x86_64 GNU/Linux

@Teresa E Junior

对不起,由于某些原因,我无法评论这些帖子,静态链接问题.
python-software-properties返回了这个错误,这是我尝试安装的大多数程序所得到的:

    E: Package 'python-software-properties' has no installation candidate

另外,我运行了你上面提到的命令,输入java -version仍然没有做任何事情.

约瑟夫R,这是我输入的所有内容:

root@Cyneox:/usr/bin# apt-get install ia32-libs ia32-libs:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'ia32-libs' has no installation candidate
E: Unable to locate package ia32-libs

root@Cyneox:/usr/bin# apt-get install openjdk-7-jre
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package openjdk-7-jre is not available, but is referred to by another      package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'openjdk-7-jre' has no installation candidate

但是你给我的前两行有效.

cat /etc/apt/sources.list /etc/apt/sources.list.d/*的输出:

# 

# deb cdrom:[Debian GNU/Linux 7.0 _Kali_ - Official Snapshot amd64 LIVE/INSTALL Binary 20130905-07:57]/ kali contrib main non-free

#deb cdrom:[Debian GNU/Linux 7.0 _Kali_ - Official Snapshot amd64     LIVE/INSTALL     Binary 20130905-07:57]/ kali contrib main non-free

## Security updates
# Line commented out by installer because it failed to verify:
#deb http://security.kali.org/kali-security kali/updates main contrib non-free
deb http://http.debian.net/debian/ wheezy-backports main contrib
deb http://archive.canonical.com/ lucid partner
cat: /etc/apt/sources.list.d/*: No such file or directory

约瑟夫,我在更新中应用了你的修复程序,一切顺利……直到:

Setting up openjdk-7-jre-headless:amd64 (7u25-2.3.10-1~deb7u1) ...
update-alternatives: error: cannot stat file '/etc/alternatives/java': Too many levels of symbolic links
dpkg: error processing openjdk-7-jre-headless:amd64 (--configure):
 subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of ca-certificates-java:
 ca-certificates-java depends on openjdk-6-jre-headless (>= 6b16-1.6.1-2) | java6-runtime-headless; however:
  Package openjdk-6-jre-headless is not installed.
  Package java6-runtime-headless is not installed.
  Package openjdk-7-jre-headless:amd64 which provides java6-runtime-headless is not configured yet.

dpkg: error processing ca-certificates-java (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of openjdk-7-jre:amd64:
 openjdk-7-jre:amd64 depends on openjdk-7-jre-headless (= 7u25-2.3.10-1~deb7u1); however:
  Package openjdk-7-jre-headless:amd64 is not configured yet.

dpkg: error processing openjdk-7-jre:amd64 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of icedtea-7-jre-jamvm:amd64:
 icedtea-7-jre-jamvm:amd64 depends on openjdk-7-jre-headless (= 7u25-2.3.10-1~deb7u1); however:
  Package openjdk-7-jre-headless:amd64 is not configured yet.

dpkg: error processing icedtea-7-jre-jamvm:amd64 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of openjdk-7-jre-lib:
 openjdk-7-jre-lib depends on openjdk-7-jre-headless (>= 7~b130~pre0); however:
  Package openjdk-7-jre-headless:amd64 is not configured yet.

dpkg: error processing openjdk-7-jre-lib (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 openjdk-7-jre-headless:amd64
 ca-certificates-java
 openjdk-7-jre:amd64
 icedtea-7-jre-jamvm:amd64
 openjdk-7-jre-lib
E: Sub-process /usr/bin/dpkg returned an error code (1)

然后我尝试了apt-get -f install,但仍然失败了……

最佳答案
这听起来像是一个无法在64位计算机上运行32位应用程序的长期问题.我们在这里多次讨论过这个问题(请参阅我在回答类似问题末尾的参考资料部分).

假设你正在运行Debian Wheezy,你需要首先添加i386架构来下载32位库:

# dpkg --add-architecture i386
# apt-get update
# apt-get install ia32-libs ia32-libs:i386

但是,不要这样做.正如Teresa所说,似乎您的Java安装来自第三方来源,这就是为什么在拥有64位操作系统时它是32位的原因.我建议你从repos安装Java:

# apt-get install openjdk-7-jre

应该做的伎俩.

更新

根据您的其他信息,请将Debian稳定的回购添加到您的/etc/sources.list:

# echo 'deb http://ftp.debian.org/debian/ stable main contrib non-free' >>/etc/apt/sources.list
# apt-get update # may take a while
# apt-get install openjdk-7-jre

笔记

> openjdk-7-jre用于安装Java Runtime Environment,版本7,这是最新的(在Debian稳定的回购中).对于其他版本,请适当更换7.
>根据您对软件自由的信念,您可能希望删除上述命令的contrib和非free部分,因为它们使您能够安装专有的闭源软件.

参考

> Running a 32-bit application in Debian Wheezy 64 bits: Missing libraries
> Getting “Not found” message when running a 32-bit binary on a 64-bit system

点击查看更多相关文章

转载注明原文:debian – apt-get upgrade后无法安装java - 乐贴网