Por que desinstalar o openjdk aciona automaticamente uma instalação das alternativas no zypper openSUSE?

2

Instalei o openSUSE 13.1 e quero instalar o Oracle jdk. O que eu pretendia era primeiro desinstalar o open_jdk / chá gelado, já que eu não precisaria deles de qualquer maneira, mas parece que não posso desinstalá-los sem ter outros pacotes java não-Oracle instalados.

us...r@linux-rvhj:/tmp/mc-junip> sudo zypper rm java-1_7*
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 4 NEW packages are going to be installed:
  gcc48-gij gcc-gij java-1_5_0-gcj-compat libgcj48 

The following 3 packages are going to be REMOVED:
  icedtea-web java-1_7_0-openjdk java-1_7_0-openjdk-headless 

4 new packages to install, 3 to remove.
Overall download size: 9.3 MiB. After the operation, 25.8 MiB will be freed.
Continue? [y/n/p/? shows all options] (y): 

Como faço para desinstalar os pacotes sem precisar de nenhuma alternativa? E por que o zypper se comporta assim? Para evitar situações em que as dependências de outros pacotes sejam removidas?

    
por Arkonix 12.07.2014 / 21:30

1 resposta

1

Esta não é uma resposta direta (não sou usuário do SUSE / zypper), mas é uma recomendação baseada na sua descrição do seu problema real: "Eu quero instalar o Oracle jdk. O que eu pretendi era primeiro desinstalar o open_jdk / ice tea stuff ").

Você não precisa desinstalar o chá gelado, e essa complicação com o gerenciador de pacotes é a primeira indicação de que a vida será mais fácil se você não desinstalar isto. Não faz mal nenhum ter ambos instalados, e o sistema pode ser configurado para preferir a versão do Oracle, se é isso que você deseja. Estou presumindo que você está pretendendo usar o pacote diretamente da Oracle e não algum repositório não-livre da SUSE (se houver algo assim). Use o pacote linux tar.gz da Oracle (o que não é marcado como RPM), você precisa do "x64" se o seu sistema é de 64 bits, e siga as instruções para descompactá-lo .

Agora você precisa colocar o diretório bin em seu caminho executável. Você pode fazer isso da maneira que quiser, mas uma maneira normativa de fazer todo esse sistema é adicionar um arquivo .sh a /etc/profile.d e

export PATH=/path_to_java/bin:$PATH

Você terá que fazer login novamente para tornar isso efetivo e, em seguida, verificar novamente w / echo $PATH . Os diretórios no início terão precedência, então qualquer coisa que invoque java agora estará invocando a versão do Oracle, e o gerenciador de pacotes ficará satisfeito com as coisas do WRT que requerem um JRE / JDK.

    
por 12.07.2014 / 22:31