Não é possível instalar o java após o upgrade do apt-get

2

Quando executo o java -version, obtenho isto:

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

Eu segui vários guias on-line para instalar o java. Eu segui todos os passos, mas ainda assim recebo esse erro. Talvez eu tenha feito errado - não sei.

Saída de: dpkg -l jdk*

dpkg-query: no packages found matching jdk*

Saída de: ls -l /usr/bin/java

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

Saída de: sudo add-apt-repository ppa:webupd8team/java

add-apt-repository: command not found

Saída de: file "$(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

Saída de ldd "$(readlink -e "$(type -P java)")

not a dynamic executable

Versão do Debian, Ouput de uname -a :

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

@ Teresa E Junior

Desculpe, não posso comentar essas postagens por algum motivo, problema de link estático. As python-software-properties retornaram esse erro, que é o que eu recebo para a maioria dos programas que eu tento instalar:

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

Além disso, eu corri o comando que você mencionou acima, e digitar java -version ainda não faz nada.

Joseph R, isso foi tudo que eu digitei:

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

Mas as duas primeiras linhas que você me deu funcionaram.

A saída de 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

Joseph, apliquei sua correção na atualização e tudo estava indo bem ... até:

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)

Então eu tentei apt-get -f install , mas isso ainda falhou ...

    
por Debian4Ever 24.11.2013 / 15:27

2 respostas

2

Isso soa como o problema perene de não conseguir executar um aplicativo de 32 bits em uma máquina de 64 bits. Discutimos esse problema muitas vezes aqui (consulte a seção Referências no final da minha resposta para perguntas semelhantes).

Supondo que você esteja usando o Debian Wheezy, você precisa adicionar a arquitetura i386 primeiro para fazer download de bibliotecas de 32 bits:

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

No entanto, não faça isso. Parece, como Teresa intuiu, que a sua instalação do Java é de uma fonte de terceiros, e é por isso que é de 32 bits, enquanto você tem um sistema operacional de 64 bits. Eu recomendo que você instale o Java dos repositórios:

# apt-get install openjdk-7-jre

deve fazer o truque.

Atualizar

Baseado em sua informação adicional, por favor adicione os repositórios estáveis do Debian ao seu /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

Notas

  • O openjdk-7-jre foi criado para instalar o Java Runtime Environment, versão 7, que é o mais recente (nos repositórios estáveis do Debian) no momento da escrita. Para outras versões, substitua o 7 apropriadamente.
  • Dependendo das suas convicções em relação à liberdade do software, talvez você queira remover as partes contrib e non-free do comando acima, pois elas permitem que você instale softwares proprietários e de código fechado.

Referências

por 24.11.2013 / 20:36
1

Na verdade, você já tem o Java instalado em /usr/local/java/jdk1.7.0_45/ , que não é um caminho oficial no Debian, mas deve ser o resultado da instalação de um pacote de terceiros (por exemplo, o pacote do site da Oracle). Apenas não está ligado a /usr/bin . Você pode usar o Java diretamente, executando-o em /usr/local/ ou vinculando-o a /usr/bin :

sudo update-alternatives --install /etc/alternatives/java java /usr/local/java/jdk1.7.0_45/bin/java 1

Isso deve ser o suficiente. Tente executar /usr/bin/java para ver se funciona.

Agora, considerando o outro método que você estava tentando, há uma confusão na sua pergunta: você está usando o Debian e seguindo instruções sobre como instalar o Java no Ubuntu . Você também pode tentar instalar o Java a partir do WebUpd8 PPA no Debian, mas não posso garantir que funcionaria:

python-software-properties contém o comando add-apt-repository :

sudo apt-get install python-software-properties

Então você poderia continuar seguindo as instruções de Andrew, como você foi. O pior que acontecerá é o APT se recusar a instalar o Java para você.

    
por 24.11.2013 / 18:12

Tags