Mi sono imbattuto in questo perché sto lavorando a un libro di istruzioni per la programmazione Android che vuole utilizzare uno specifico Java SE e JRE (8u121) e richiede che tutti gli altri pacchetti java vengano rimossi prima di continuare con l'installazione. Quindi dopo aver letto le idee di cui sopra sono andato con:
sudo apt-get remove openjdk*
e il risultato fu:
bryan@kali:~$ java -version
bash: /usr/bin/java: No such file or directory
Quindi quanto sopra suggerisce che non è stato trovato java di nessuna versione. Qual è l'OP che volevo fare (penso).
Nel caso in cui qualcuno trovi questo thread perché sta disinstallando Java in modo da poter installare una vecchia versione, ho incluso un walk-through che ho trovato. I primi due codici ti aiutano a installarlo se non disponevi di una GUI. Se hai un tarball, salta quelli. L'ultimo blocco di codice ha alcune parti che dovrai modificare se non stai installando la mia stessa versione.
{inizia copia / incolla}
Nel caso in cui si stia tentando di installare Java JDK in remoto e non si abbia assolutamente accesso all'interfaccia utente grafica e al browser Web, utilizzare il seguente metodo di arricciatura per scaricare Java JDK mediante una riga di comando.
Innanzitutto, ottieni un URL di download corretto utilizzando il comando curl:
$ curl -s http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html | grep "otn-pub" | cut -d \" -f12
Il comando sopra mostra un sacco di URL per la tua selezione. Per avviare il download del file Java desiderato, copiare il relativo URL e avviare il download utilizzando il comando curl mentre si accetta la licenza Jave richiesta. Per esempio:
$ curl -LOb "oraclelicense=a" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz
Installa Java JDK In questa fase, dovremmo avere un tarball Java JDK appropriato nella nostra directory di lavoro corrente:
$ ls
jdk-8u121-linux-x64.tar.gz
Creare una directory di installazione JDK Java di destinazione:
# mkdir /opt/java-jdk
Estrarre il tarball Java JDK precedentemente scaricato:
# tar -C /opt/java-jdk -zxf jdk-8u121-linux-x64.tar.gz
Imposta Oracle Java come predefinito Attualmente, il sistema non riconosce la nostra installazione JDK Java:
$ update-alternatives --list java
update-alternatives: error: no alternatives for java
$ java
bash: java: command not found
Utilizzare il comando update-alternatives per includere sia java che javac come parte dell'ambiente Java del sistema. Sostituire il percorso seguente ai binari java ove appropriato per riflettere la versione java scaricata:
# 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
{fine copia / incolla}
Va bene, quindi dopo che ho seguito che volevo confermare che funziona ...
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)
Questo è tutto! Questo è quello che vogliamo.
Poi mi sono preoccupato che "apt update" potesse semplicemente annullare ciò che ho fatto aggiornando il pacchetto (incerto). Quindi li ho messi in attesa. Per rimuovere la sospensione: apt-mark unhold.
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.
deinstall
significa solo che è selezionato per la disinstallazione, ma non effettivamente disinstallato.