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)
Aptでパッケージを検索する簡単な方法はないようですので、dpkgを使用して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
Java-commonの削除に進みますが、終了してもJavaはまだインストールされており、Java-versionは同じことを示しています。
何も変わらず、Java-commonパッケージはdpkg検索に表示されます。何が足りないのですか?
また、OpenJDKを削除しました。これは、「削除」に設定されているようです。
# dpkg --get-selections | less | grep openjdk
openjdk-6-jre deinstall
openjdk-6-jre-headless install
openjdk-6-jre-lib install
Javaはまだそこにあります。
# 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)
私にとっては:
Sudo apt-get remove openjdk-6*
Sudo apt-get remove icedtea*
これに出くわしたのは、特定のAndroidSEとJRE(8u121)を使用したいJavaプログラミングの指導書を作成していて、他のすべてのJavaインストールを続行する前にパッケージを削除します。だから上記のアイデアを読んだ後、私は一緒に行きました:
_Sudo apt-get remove openjdk*
_
そして結果は:
_bryan@kali:~$ Java -version
bash: /usr/bin/Java: No such file or directory
_
したがって、上記は、どのバージョンにもJavaが見つからないことを示しています。 OPがやりたかったのはどれですか(私は思います)。
古いバージョンをインストールできるようにJavaをアンインストールしているために誰かがこのスレッドを見つけた場合に備えて、私が見つけたウォークスルーを含めました。最初の2つのコードは、GUIがない場合にインストールするのに役立ちます。 tarballをお持ちの場合は、それらをスキップしてください。最後のコードブロックには、同じバージョンをインストールしない場合に編集する必要のある部分がいくつかあります。
{コピー/貼り付けを開始}
JavaJDKをリモートでインストールしようとしていて、グラフィカルユーザーインターフェイスとWebブラウザーにまったくアクセスできない場合は、次のcurlメソッドを使用してコマンドラインを使用してJavaJDKをダウンロードします。
まず、curlコマンドを使用して正しいダウンロードURLを取得します。
_$ curl -s http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html | grep "otn-pub" | cut -d \" -f12
_
上記のコマンドは、選択したURLの束を出力します。目的のJavaファイルのダウンロードを開始するには、そのURLをコピーし、要求されたJaveライセンスを受け入れながらcurlコマンドを使用してダウンロードを開始します。例えば:
_$ curl -LOb "oraclelicense=a" http://download.Oracle.com/otn-pub/Java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.tar.gz
_
インストールJavaJDKこの段階では、現在の作業ディレクトリ内に適切なJavaJDK tarballがあるはずです。
_$ ls
jdk-8u121-linux-x64.tar.gz
_
ターゲットJavaJDKインストールディレクトリを作成します。
_# mkdir /opt/Java-jdk
_
以前にダウンロードしたJavaJDKtarballを抽出します。
_# tar -C /opt/Java-jdk -zxf jdk-8u121-linux-x64.tar.gz
_
OracleJavaをデフォルトとして設定現在、システムはJavaJDKインストールを認識しません。
_$ update-alternatives --list Java
update-alternatives: error: no alternatives for Java
$ Java
bash: Java: command not found
_
Update-alternativesコマンドを使用して、Javaとjavacの両方をシステムのJava環境の一部として含めます。必要に応じて、以下のパスをJavaバイナリに置き換えてください。ダウンロードしたJavaバージョンを反映します:
_# 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
_
{コピー/貼り付けを終了}
さて、私がフォローした後、それが機能することを確認したかったので...
_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)
_
それでおしまい!それが私たちが望んでいることです。
それから私はそれが「aptupdate」がパッケージを更新することによって私がしたことを単に元に戻すかもしれないことを心配しました(わからない)。だから私はそれらを保留にしました。保留を解除するには:apt-markunhold。
_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.
_