Come disinstallare completamente Java?


Risposte:


311
  1. Rimuovere tutti i pacchetti relativi a Java (Sun, Oracle, OpenJDK, plugin 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. Elimina i file di configurazione (attenzione. Questo comando ha rimosso anche i file di configurazione libsgutils2-2 e virtualbox):

    dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
  3. Rimuovere la directory di configurazione e cache Java:

    sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
  4. Rimuovere le JVM installate manualmente:

    sudo rm -rf /usr/lib/jvm/*
  5. Rimuovi le voci Java, se ce ne sono ancora, dalle alternative :

    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. Cerca le possibili directory Java rimanenti:

    sudo updatedb
    sudo locate -b '\pack200'

    Se il comando precedente produce alcun output come /path/to/jre1.6.0_34/bin/pack200rimuovere la directory che è madre di bin , in questo modo: sudo rm -rf /path/to/jre1.6.0_34.


6
Hai provato questa risposta? Sono ragionevolmente certo che hai tutto, ma solo un doppio controllo. :)
Jorge Castro,

10
@JorgeCastro, assolutamente. Ho creato questi comandi uno per uno, poi li ho instradati tutti insieme e li ho eseguiti tutti in diversi scenari di installazione Java che ho a scopo di test in alcune workstation al lavoro. Ho davvero prestato attenzione all'output di grepquello che viene convogliato apt-get remove, penso che copra quasi tutte le possibilità riguardanti l'installazione da pacchetti deb.
Eric Carvalho,

2
Sebbene la sequenza di comandi presentata funzioni nella maggior parte dei casi, penso che la mia risposta abbia bisogno di alcuni miglioramenti. Tutti, per favore, sentitevi liberi di suggerire cambiamenti che possano migliorarlo, come una migliore spiegazione di ogni comando o sottolineando uno scenario non coperto da loro.
Eric Carvalho,

3
+1 per la risposta. Recentemente ho trovato uno scenario in cui la rimozione di openjdk provoca l'installazione di altri pacchetti java. Una soluzione alternativa a questo problema consiste nel disabilitare tutto il repository e quindi eseguire il comando di rimozione.
Anwar,

1
@EricCarvalho Quando ho emesso il comando, sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rfla risposta dal terminale è stata dichiarata non valida.
n00b

38

Per rimuovere completamente OpenJDK su Ubuntu 11.10 (questo potrebbe essere o non essere sufficiente su altre versioni di Ubuntu), eseguire:

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

Se si desidera istruzioni per la rimozione della versione proprietaria di Oracle ("Sun") di Java, è necessario specificare la modalità di installazione. (Se modifichi la tua domanda per indicarlo e lasci un commento a questa risposta, proverò ad aggiungere informazioni su come rimuoverlo.)


Ho provato quanto sopra, e si è completato senza errori su Ubuntu 11, ma dopo riesco ancora a eseguire java -version e tornare alla versione openjdk "11.0.3" 2019-04-16
John Little

17

Potrebbe non essere necessario rimuovere completamente OpenJDK per risolvere il problema. Installa i pacchetti sun-java6. Quindi utilizzare update-java-alternativesper passare ai pacchetti java Sun.

Se vuoi rimuovere completamente OpenJDK, rimuovi i pacchetti default-jdk e / o default-jre. Potrebbe essere necessario rimuovere alcuni pacchetti java, ma la maggior parte di essi dovrebbe essere felice dopo aver installato i pacchetti Sun JDK.

Potresti voler seguire uno di questi suggerimenti per la pulizia una volta terminata la rimozione dei pacchetti.


Ho già fatto l'aggiornamento-java-alternative. Avrei dovuto dirlo. Ho anche fatto update-alternatives --config java. Ora Chrome e Firefox mi dicono che il mio plugin Java è bloccato perché è vecchio ...
CaldwellYSR

Esegui update-java-alternatives con l'opzione --plugin e ripristinalo al valore originale. Puoi mescolare e abbinare i valori predefiniti con questo strumento. I browser installati con 11.10 potrebbero essere in attesa di sun-java7.
BillThor il

13

Per disinstallare Oracle Java 7, basta premere Ctrl+ Alt+ Tsulla tastiera per aprire Terminale. Quando si apre, esegui il comando seguente.

sudo update-alternatives --display java

Per verificare l'installazione prima di disinstallare Java.

Quindi, rimuovere i collegamenti simbolici

(sostituisci la parola (versione) con la tua versione Java. DO java -versionper ottenere la tua. Quindi se la tua versione è 1.7.0_03, lo faresti 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"

verificare che i collegamenti simbolici siano stati rimossi

java -version
javac -version
which javaws

I successivi 2 comandi devono essere digitati perfettamente per evitare la distruzione permanente del sistema .

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

Quindi fa

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

Quindi fa

sudo vi  /etc/environment

Elimina la riga con JAVA_HOME 1



Per disinstallare OpenJDK (se installato). Per prima cosa controlla quali pacchetti OpenJDK sono installati.

sudo dpkg --list | grep -i jdk

Per rimuovere openjdk:

sudo apt-get purge openjdk*

Disinstallare i pacchetti relativi a OpenJDK.

sudo apt-get purge icedtea-* openjdk-*

Verificare che tutti i pacchetti OpenJDK siano stati rimossi.

sudo dpkg --list | grep -i jdk

1 fonte: akbarahmed.com


Non potresti rimuovere anche la /usr/lib/jvmcartella? Per quanto ne so, viene utilizzato solo da Java.
njallam,

Suppongo che tu possa, puoi aggiungerlo lì dentro o posso farlo con il tuo OK.
Mitch

3

Prova questo comando:

java -version

Se arriva 1.6 *, prova:

sudo apt-get autoremove openjdk-6-jre

Se arriva 1,7 *, prova:

sudo apt-get autoremove openjdk-7-jre

Supponendo che non hai jdk nel tuo sistema. Se hai usato questo comando:

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

sostituire con la versione come abbiamo fatto nell'esempio precedente.


2

più facile è usare sinaptico.

fare clic sulla scheda "sezioni" scorrere fino a java. seleziona semplicemente ogni elemento che vedi con la casella verde e segna per la completa rimozione. ripetere per tutte le sezioni Java e tutti i file.


1

Concordato con Eliah. Il comando "apt-get purge" può rimuovere completamente quei pacchetti.

Supponendo di aver precedentemente installato una copia del pacchetto java-6-sun, un follow-up aiuterà a sbarazzarsi del collegamento simbolico interrotto:

sudo update-alternatives --config java

Quindi selezionare un percorso corretto che si desidera collegare come percorso di chiamata Java predefinito.

Quindi controlla la versione di Java con questo comando:

java -version

1

Rimuovi semplicemente tutti i file di JDK o JRE, ad esempio di solito è installato in questa posizione:

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

Quindi rimuovere tutti i file risiede nella cartella "java-7-oracle" con il permesso di root ed estrarre gli ultimi file JDK o JRE in esso. Questo è tutto ora avresti installato l'ultima versione di Java.

PS Il nome della tua directory potrebbe essere diverso da java-7-oracle .

Riferimento: istruzioni di installazione ufficiali di Oracle

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.