Como desinstalar completamente o Java?

147

Como posso remover completamente todos os vestígios de Java no meu sistema?

Eu já sei como instalá-lo , caso precise novamente.

CaldwellYSR
fonte

Respostas:

311
  1. Remova todos os pacotes relacionados ao Java (Sun, Oracle, OpenJDK, plugins IcedTea, GIJ):

    dpkg-query -W -f='${binary:Package}\n' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e '^java-common' | xargs sudo apt-get -y remove
    sudo apt-get -y autoremove
  2. Limpar arquivos de configuração (cuidado. Este comando removeu os arquivos de configuração libsgutils2-2 e virtualbox também):

    dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
  3. Remova a configuração Java e o diretório de cache:

    sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
  4. Remova as JVMs instaladas manualmente:

    sudo rm -rf /usr/lib/jvm/*
  5. Remova as entradas Java, se ainda houver, das alternativas :

    for g in ControlPanel java java_vm javaws jcontrol jexec keytool mozilla-javaplugin.so orbd pack200 policytool rmid rmiregistry servertool tnameserv unpack200 appletviewer apt extcheck HtmlConverter idlj jar jarsigner javac javadoc javah javap jconsole jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic schemagen serialver wsgen wsimport xjc xulrunner-1.9-javaplugin.so; do sudo update-alternatives --remove-all $g; done
  6. Procure por possíveis diretórios Java restantes:

    sudo updatedb
    sudo locate -b '\pack200'

    Se o comando acima produz qualquer saída como /path/to/jre1.6.0_34/bin/pack200remover o diretório que é pai de bin , como este: sudo rm -rf /path/to/jre1.6.0_34.

Eric Carvalho
fonte
6
Você já testou esta resposta? Estou razoavelmente certo de que você tem tudo, mas apenas verifique. :)
Jorge Castro
10
@JorgeCastro, absolutamente. Criei esses comandos um por um, depois os reuni e os executei em diferentes cenários de instalação Java que tenho para fins de teste em algumas estações de trabalho. Eu realmente prestei atenção na saída da grepqual é canalizada apt-get remove, acho que ela cobre quase todas as possibilidades relacionadas à instalação pelos pacotes deb.
Eric Carvalho
2
Embora a sequência de comandos apresentada funcione na maioria dos casos, acho que minha resposta precisa de algumas melhorias. Todos, por favor, sintam-se à vontade para sugerir mudanças que possam melhorá-lo, como uma melhor explicação de cada comando ou apontar um cenário não coberto por eles.
Eric Carvalho
3
+1 para a resposta. Recentemente, encontrei um cenário em que remover o openjdk causa a instalação de outros pacotes java. Uma solução alternativa para esse problema está desativando todo o repositório e, em seguida, execute o comando de remoção.
Anwar
1
@EricCarvalho Ao emitir o comando, sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rfa resposta do terminal foi declarada inválida.
N00b
38

Para remover completamente o OpenJDK no Ubuntu 11.10 (isso pode ou não ser suficiente em outras versões do Ubuntu), execute:

sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*

Se você quiser instruções para remover a versão proprietária do Oracle ("Sun") do Java, precisará especificar como a instalou. (Se você editar sua pergunta para indicar isso e deixar um comentário para esta resposta, tentarei adicionar informações sobre como removê-la também.)

Eliah Kagan
fonte
Eu tentei o acima, e ele foi concluído sem erros no Ubuntu 11, mas depois ainda posso executar o java -version e voltar ao openjdk versão "11.0.3" 16/04/2019
John Little
17

Pode não ser necessário remover completamente o OpenJDK para resolver seu problema. Instale os pacotes sun-java6. Em seguida, use update-java-alternativespara alternar para os pacotes java Sun.

Se você deseja remover completamente o OpenJDK, remova os pacotes default-jdk e / ou default-jre. Pode ser necessário remover alguns pacotes java, mas a maioria deles deve ser feliz depois de instalar os pacotes Sun JDK.

Você pode seguir uma dessas dicas de limpeza quando terminar de remover os pacotes.

BillThor
fonte
Eu já fiz a atualização-java-alternativas. Deveria ter mencionado isso. Também fiz update-alternative --config java. Agora Chrome e Firefox me dizer o meu plugin do Java está bloqueado porque é velho ...
CaldwellYSR
Execute update-java-alternative com a opção --plugin e configure-a novamente para o valor original. Você pode misturar e combinar padrões com esta ferramenta. Os navegadores instalados com o 11.10 podem estar esperando sun-java7.
BillThor
13

Para desinstalar o Oracle Java 7, basta pressionar Ctrl+ Alt+ Tno teclado para abrir o Terminal. Quando abrir, execute o comando abaixo.

sudo update-alternatives --display java

Para verificar a configuração antes de desinstalar o Java.

Em seguida, remova os links simbólicos

(substitua a palavra (versão) pela sua versão Java. FAÇA java -versionpara obter a sua. Portanto, se sua versão for 1.7.0_03, você faria type sudo update-alternatives --remove "java" "/usr/lib/jvm/jdk1.7.0_03/bin/java")

sudo update-alternatives --remove "java" "/usr/lib/jvm/jdk<version>/bin/java"
sudo update-alternatives --remove "javac" "/usr/lib/jvm/jdk<version>/bin/javac"
sudo update-alternatives --remove "javaws" "/usr/lib/jvm/jdk<version>/bin/javaws"

verifique se os links simbólicos foram removidos

java -version
javac -version
which javaws

Os próximos 2 comandos devem ser digitados perfeitamente, para evitar a destruição permanente do sistema .

cd /usr/lib/jvm
sudo rm -rf jdk<version>

Então faça

sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws

Então faça

sudo vi  /etc/environment

Exclua a linha com JAVA_HOME 1



Para desinstalar o OpenJDK (se instalado). Primeiro verifique quais pacotes do OpenJDK estão instalados.

sudo dpkg --list | grep -i jdk

Para remover o openjdk:

sudo apt-get purge openjdk*

Desinstale os pacotes relacionados ao OpenJDK.

sudo apt-get purge icedtea-* openjdk-*

Verifique se todos os pacotes do OpenJDK foram removidos.

sudo dpkg --list | grep -i jdk

1 Fonte: akbarahmed.com

Mitch
fonte
Você não pôde remover a /usr/lib/jvmpasta também? Tanto quanto sei, isso é usado apenas por Java.
Njallam 08/09/12
Suponho que você poderia, você pode adicionar isso lá, ou eu posso com o seu OK.
Mitch
3

Tente este comando:

java -version

Se 1.6 * vier, tente:

sudo apt-get autoremove openjdk-6-jre

Se 1.7 * vier, tente:

sudo apt-get autoremove openjdk-7-jre

Supondo que você não tenha o jdk no seu sistema. Se você usa este comando:

sudo apt-get autoremove openjdk-`<version>`-jdk

substitua pela versão como fizemos no exemplo anterior.

Pranit Bauva
fonte
2

mais fácil é usar sináptico.

clique na guia "seções", role para baixo até java. basta selecionar cada item que você vê com a caixa verde e marcar para remoção completa. repita para todas as seções java e todos os arquivos.

Rob Grune
fonte
1

Concordou com Eliah. O comando "apt-get purge" pode remover completamente esses pacotes.

Supondo que você tenha instalado anteriormente uma cópia do pacote java-6-sun, um acompanhamento ajudará a se livrar do link simbólico quebrado:

sudo update-alternatives --config java

E, em seguida, selecione um caminho correto que você deseja vincular como caminho de chamada Java padrão.

Em seguida, verifique a versão do Java com este comando:

java -version
code_x747
fonte
1

Apenas remova todos os arquivos do JDK ou JRE, por exemplo, ele geralmente está instalado neste local:

/usr/lib/jvm/java-7-oracle

Portanto, remova todos os arquivos que estão na pasta "java-7-oracle" com permissão de root e extraia os arquivos JDK ou JRE mais recentes. É isso agora que você teria a versão mais recente do Java instalada.

PS O nome do seu diretório pode ser diferente do java-7-oracle .

Referência: instruções oficiais de instalação da Oracle

Sohail xIN3N
fonte