web-dev-qa-db-ja.com

Debianで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)

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)
4
some1

私にとっては:

Sudo apt-get remove openjdk-6*
Sudo apt-get remove icedtea*
9
DavidG

これに出くわしたのは、特定の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.
_
2
K i r k H 4 2 0