Javaを完全にアンインストールする方法は?


回答:


311
  1. すべてのJava関連パッケージ(Sun、Oracle、OpenJDK、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. 構成ファイルのパージ(注意。このコマンドはlibsgutils2-2およびvirtualbox構成ファイルも削除しました):

    dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
  3. Java構成とキャッシュディレクトリを削除します。

    sudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
  4. 手動でインストールされたJVMを削除します。

    sudo rm -rf /usr/lib/jvm/*
  5. まだ存在する場合は、代替からJavaエントリを削除します。

    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. 残っている可能性のあるJavaディレクトリを検索します。

    sudo updatedb
    sudo locate -b '\pack200'

    上記のコマンド/path/to/jre1.6.0_34/bin/pack200binの親であるディレクトリを削除するなどの出力を生成する場合、次のようになりますsudo rm -rf /path/to/jre1.6.0_34


6
この答えをテストしましたか?私はあなたがそれをすべて手に入れたと合理的に確信していますが、ただダブルチェックします。:)
ホルヘカストロ

10
@JorgeCastro、絶対に。これらのコマンドを1つずつ作成し、それをすべてパイプでつないで、それらをすべて、作業中の一部のワークステーションでテスト目的で使用するさまざまなJavaインストールシナリオで実行しました。grepパイプされた出力に本当に注意を払いapt-get removeました。debパッケージによるインストールに関するほとんどすべての可能性をカバーしていると思います。
エリックカルヴァ

2
提示されたコマンドのシーケンスはほとんどの場合に機能しますが、私の答えには改善が必要だと思います。各コマンドのより良い説明や、それらによってカバーされないシナリオを指摘するなど、それを改善できる変更を提案してください。
エリックカルヴァ

3
答えは+1。最近、openjdkを削除すると他のJavaパッケージがインストールされるシナリオを見つけました。この問題の回避策は、すべてのリポジトリを無効にしてから削除コマンドを実行することです。
アンワール

1
@EricCarvalhoコマンドを発行したときsudo bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf、ターミナルからの応答が無効であると述べられました。
n00b 14年

38

Ubuntu 11.10でOpenJDKを完全に削除するには(他のバージョンのUbuntuではこれで十分な場合と不十分な場合があります)、次を実行します。

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

独自のOracle(「Sun」)バージョンのJavaを削除する手順が必要な場合は、インストール方法を指定する必要があります。(これを示すために質問を編集し、この回答にコメントを残す場合、それを削除する方法についての情報を追加しようとします。)


上記を試してみましたが、Ubuntu 11でエラーなしで完了しましたが、java -versionを実行してopenjdkバージョン "11.0.3"を戻すことができた後2019-04-16
ジョンリトル

17

問題を解決するためにOpenJDKを完全に削除する必要はありません。sun-java6パッケージをインストールします。次に、を使用update-java-alternativesしてSun Javaパッケージに切り替えます。

OpenJDKを完全に削除する場合は、default-jdkパッケージまたはdefault-jreパッケージ、あるいはその両方を削除してください。いくつかのJavaパッケージを削除する必要があるかもしれませんが、Sun JDKパッケージをインストールしたら、それらのほとんどは満足するはずです。

パッケージの削除が完了したら、これらのクリーンアップのヒントのいずれかに従ってください。


すでにupdate-java-alternativesを実行しました。それに言及すべきだった。update-alternatives --config javaも行いました。クロムとFirefoxは、古いのでJavaプラグインがブロックされていると教えてくれます...
CaldwellYSR

--pluginオプションを指定してupdate-java-alternativesを実行し、元の値に戻します。このツールを使用して、デフォルトを組み合わせて一致させることができます。11.10でインストールされたブラウザは、sun-java7を予期している場合があります。
BillThor

13

Oracle Java 7をアンインストールするには、キーボードのCtrl+ Alt+ Tを押し てターミナルを開きます。開いたら、以下のコマンドを実行します。

sudo update-alternatives --display java

Javaをアンインストールする前にセットアップを確認するには。

次に、シンボリックリンクを削除します

(単語(バージョン)をJavaバージョンに置き換えjava -versionます。DOを取得します。バージョンが1.7.0_03の場合、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"

シンボリックリンクが削除されたことを確認します

java -version
javac -version
which javaws

次の2つのコマンドは、システムを永久に破壊しないように、完全に完全に入力する必要があります

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

それから

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

それから

sudo vi  /etc/environment

JAVA_HOME 1の行を削除します



OpenJDKをアンインストールする(インストールされている場合)。最初に、インストールされているOpenJDKパッケージを確認します。

sudo dpkg --list | grep -i jdk

openjdkを削除するには:

sudo apt-get purge openjdk*

OpenJDK関連パッケージをアンインストールします。

sudo apt-get purge icedtea-* openjdk-*

すべてのOpenJDKパッケージが削除されていることを確認します。

sudo dpkg --list | grep -i jdk

1出典: akbarahmed.com


/usr/lib/jvmフォルダーも削除できませんか?私の知る限り、それはJavaでのみ使用されます。
-njallam

できると思いますが、そこに追加するか、OKで追加できます。
ミッチ

3

このコマンドを試してください:

java -version

1.6 *が来たら、試してください:

sudo apt-get autoremove openjdk-6-jre

1.7 *が表示される場合は、次を試してください。

sudo apt-get autoremove openjdk-7-jre

システムにjdkがないと仮定します。このコマンドを使用した場合:

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

前の例で行ったようにバージョンに置き換えます。


2

シナプスを使用する方が簡単です。

「セクション」タブをクリックして、Javaまでスクロールします。緑色のボックスで表示されている各アイテムを選択し、完全に削除するためにマークします。すべてのJavaセクションとすべてのファイルに対して繰り返します。


1

エリアと合意した。「apt-get purge」コマンドは、これらのパッケージを完全に削除できます。

以前にjava-6-sunパッケージのコピーをインストールしていると仮定すると、フォローアップは壊れたシンボリックリンクを取り除くのに役立ちます。

sudo update-alternatives --config java

次に、デフォルトのJava呼び出しパスとしてリンクする正しいパスを選択します。

次に、次のコマンドを使用してJavaのバージョンを確認します。

java -version

1

JDKまたはJREのすべてのファイルを削除するだけです。たとえば、通常は次の場所にインストールされます。

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

そのため、「java-7-oracle」フォルダにあるすべてのファイルをルート権限で削除し、その中の最新のJDKまたはJREファイルを抽出します。これで、最新のJavaバージョンがインストールされます。

PSディレクトリ名はjava-7-oracleと異なる場合があります。

参照:オラクルからの公式インストール手順

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.