Ich bin darauf gestoßen, weil ich ein Lehrbuch für die Android-Programmierung durcharbeite, das eine bestimmte Java SE und JRE (8u121) verwenden möchte und verlangt, dass alle anderen Java-Pakete entfernt werden, bevor ich mit der Installation fortfahre. Nachdem ich die obigen Ideen gelesen hatte, ging ich mit:
sudo apt-get remove openjdk*
und das Ergebnis war:
bryan@kali:~$ java -version
bash: /usr/bin/java: No such file or directory
Das oben Gesagte deutet also darauf hin, dass von keiner Version Java gefunden wird. Welches ist das OP wollte (denke ich).
Falls jemand diesen Thread findet, weil er Java deinstalliert, um eine alte Version zu installieren, habe ich eine Anleitung beigefügt, die ich gefunden habe. Die ersten beiden Codes helfen Ihnen bei der Installation, wenn Sie keine GUI hatten. Wenn Sie einen Tarball haben, überspringen Sie diese. Der letzte Codeblock enthält einige Teile, die Sie bearbeiten müssen, wenn Sie nicht dieselbe Version installieren.
{Kopieren / Einfügen beginnen}
Wenn Sie versuchen, Java JDK remote zu installieren und keinen Zugriff auf die grafische Benutzeroberfläche und den Webbrowser haben, verwenden Sie die folgende Curl-Methode, um Java JDK über eine Befehlszeile herunterzuladen.
Ermitteln Sie zunächst mit dem Befehl curl eine korrekte Download-URL:
$ curl -s http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html | grep "otn-pub" | cut -d \" -f12
Der obige Befehl gibt eine Reihe von URLs für Ihre Auswahl aus. Um den Download der gewünschten Java-Datei zu starten, kopieren Sie deren URL und starten Sie den Download mit dem Befehl curl, während Sie die angeforderte Jave-Lizenz akzeptieren. Zum Beispiel:
$ curl -LOb "oraclelicense=a" http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz
Java JDK installieren Zu diesem Zeitpunkt sollten wir einen geeigneten Java JDK-Tarball in unserem aktuellen Arbeitsverzeichnis haben:
$ ls
jdk-8u121-linux-x64.tar.gz
Erstellen Sie ein Java JDK-Zielinstallationsverzeichnis:
# mkdir /opt/java-jdk
Extrahieren Sie den zuvor heruntergeladenen Java JDK-Tarball:
# tar -C /opt/java-jdk -zxf jdk-8u121-linux-x64.tar.gz
Oracle Java als Standard festlegen Derzeit erkennt das System unsere Java JDK-Installation nicht:
$ update-alternatives --list java
update-alternatives: error: no alternatives for java
$ java
bash: java: command not found
Verwenden Sie den Befehl update-alternatives, um sowohl Java als auch Javac als Teil der Java-Umgebung des Systems einzuschließen.
# 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
{Kopieren / Einfügen beenden}
Okay, nachdem ich gefolgt bin, wollte ich bestätigen, dass es funktioniert ...
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)
Das ist es! Das wollen wir.
Dann wurde ich besorgt, dass es "passendes Update" kann nur rückgängig machen, was ich getan habe, indem Sie das Paket aktualisieren (unsicher). Also habe ich sie auf Eis gelegt. Halten entfernen: 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
bedeutet nur, dass es zur Deinstallation ausgewählt, aber nicht tatsächlich deinstalliert wird.