Como eu removo o Java no Debian?

4
java -version
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze2)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)

Não parece ser uma maneira fácil de procurar pacotes no apt, então estou usando o dpkg para procurar por pacotes relacionados ao java:

# dpkg --get-selections | less | grep java
ca-certificates-java            install
java-common                     install
javascript-common               install
libaccess-bridge-java           install
libaccess-bridge-java-jni       install
libdb4.7-java-gcj               deinstall
libhsqldb-java-gcj              deinstall
sun-java6-bin                   deinstall
sun-java6-jre                   deinstall
tzdata-java                     install

Eu continuo a remover o java-common, mas quando ele termina o java ainda está instalado e o java -version ainda mostra a mesma coisa.

Nada muda, o pacote java-common ainda aparece na pesquisa do dpkg. O que estou perdendo?

Eu também removi o OpenJDK, que parecia configurá-lo para "deinstall":

# dpkg --get-selections | less | grep openjdk
openjdk-6-jre                   deinstall
openjdk-6-jre-headless          install
openjdk-6-jre-lib               install

O Java ainda está lá.

# java -version
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze2)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
    
por some1 16.06.2013 / 02:38

3 respostas

9

Para mim, foi:

sudo apt-get remove openjdk-6*
sudo apt-get remove icedtea*
    
por 10.01.2014 / 03:41
2

Eu me deparei com isso porque estou trabalhando em um livro de instruções para programação android que deseja usar um Java SE e JRE específico (8u121) e solicita que todos os outros pacotes Java sejam removidos antes de continuar com a instalação. Então, depois de ler as ideias acima, eu fui com:

sudo apt-get remove openjdk*

e o resultado foi:

bryan@kali:~$ java -version
bash: /usr/bin/java: No such file or directory

Portanto, o acima sugere que não há nenhum java encontrado em qualquer versão. Qual é o OP queria fazer (eu acho).

Caso alguém encontre esse segmento porque está desinstalando o Java para que possa instalar uma versão antiga, incluí um passo a passo que encontrei. Os dois primeiros códigos ajudam você a instalá-lo se não tiver interface gráfica. Se você tiver um tarball, pule esses. O último codeblock tem algumas partes que você precisará editar se não estiver instalando minha mesma versão.

{begin copy / paste}

Caso você esteja tentando instalar o Java JDK remotamente e não tenha absolutamente nenhum acesso à Interface Gráfica com o Usuário e ao navegador da Web, use o seguinte método de curl para baixar o Java JDK usando uma linha de comando.

Primeiro, obtenha um URL de download correto usando o comando curl:

$ curl -s http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html | grep "otn-pub" | cut -d \" -f12

O comando acima gera um monte de URLs para sua seleção. Para iniciar o download do arquivo Java desejado, copie sua URL e inicie o download usando o comando curl enquanto aceita a licença do Jave solicitada. Por exemplo:

$ curl -LOb "oraclelicense=a" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz

Instalar o Java JDK Neste estágio, devemos ter um tarball Java JDK apropriado em nosso diretório de trabalho atual:

$ ls
jdk-8u121-linux-x64.tar.gz

Crie um diretório de instalação de destino do Java JDK:

# mkdir /opt/java-jdk

Extraia o tarball do Java JDK baixado anteriormente:

# tar -C /opt/java-jdk -zxf jdk-8u121-linux-x64.tar.gz

Definir o Oracle Java como padrão Atualmente, o sistema não reconhece nossa instalação do Java JDK:

$ update-alternatives --list java
update-alternatives: error: no alternatives for java
$ java
bash: java: command not found

Use o comando update-alternatives para incluir java, javac e javac como parte do ambiente Java do sistema. Substitua o caminho abaixo pelos binários java onde for apropriado para refletir sua versão do java baixada:

# update-alternatives --install /usr/bin/java java /opt/java-jdk/jdk1.8.0_121/bin/java 1   
update-alternatives: using /opt/java-jdk/jdk1.8.0_121/bin/java to provide /usr/bin/java (java) in auto mode
# update-alternatives --install /usr/bin/javac javac /opt/java-jdk/jdk1.8.0_121/bin/javac 1
update-alternatives: using /opt/java-jdk/jdk1.8.0_121/bin/javac to provide /usr/bin/javac (javac) in auto mode

{end copy / paste}

Ok, então, depois que eu a segui, quis confirmar que isso funciona ...

bryan@kali:~/Desktop$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

É isso! É isso que queremos.

Depois fiquei preocupado que o 'apt update' pudesse apenas desfazer o que eu fiz atualizando o pacote (inseguro). Então eu os coloquei em espera. Para remover a espera: o apt-mark solta.

bryan@kali:~/Desktop$ sudo apt-mark hold openjdk-8*
openjdk-8-jre set on hold.
openjdk-8-jre-headless set on hold.
openjdk-8-doc set on hold.
openjdk-8-jdk set on hold.
openjdk-8-dbg set on hold.
openjdk-8-demo set on hold.
openjdk-8-jdk-headless set on hold.
openjdk-8-source set on hold.
openjdk-8-jre-dcevm set on hold.
openjdk-8-jre-zero set on hold.
    
por 31.03.2018 / 12:17
-1

Você já tentou:

  1. sudo apt-get remove '*jre*'
  2. sudo apt-get remove '*icedtea*'

Estes são apenas regex's que devem corresponder a qualquer coisa com "icedtea" ou "jre" no nome.
Espero que isso ajude!

    
por 16.06.2013 / 03:08