web-dev-qa-db-ja.com

OpenJDKをアンインストールする方法は?

Ubuntu 13.04システムにOpenJDKをインストールしたくないのですが、openjdk-7-jreをアンインストールしようとすると、次のメッセージが表示されます。

$ Sudo apt-get purge openjdk-7-jre
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  gcj-4.7-base gcj-4.7-jre gcj-4.7-jre-headless gcj-4.7-jre-lib gcj-jre gcj-jre-headless icedtea-6-jre-cacao icedtea-6-jre-jamvm libgcj-common libgcj13 libgcj13-awt
  openjdk-6-jre-headless openjdk-6-jre-lib
Suggested packages:
  fastjar gcj-4.7-jdk gcj-jdk libgcj13-dbg Sun-Java6-fonts fonts-ipafont-gothic fonts-ipafont-mincho ttf-telugu-fonts ttf-oriya-fonts ttf-kannada-fonts
  ttf-bengali-fonts
The following packages will be REMOVED:
  default-jre* icedtea-7-plugin* icedtea-netx* icedtea-plugin* libatk-wrapper-Java* libatk-wrapper-Java-jni* openjdk-7-jre*
The following NEW packages will be installed:
  gcj-4.7-base gcj-4.7-jre gcj-4.7-jre-headless gcj-4.7-jre-lib gcj-jre gcj-jre-headless icedtea-6-jre-cacao icedtea-6-jre-jamvm libgcj-common libgcj13 libgcj13-awt
  openjdk-6-jre-headless openjdk-6-jre-lib
0 upgraded, 13 newly installed, 7 to remove and 4 not upgraded.
Need to get 57,0 MB/57,2 MB of archives.
After this operation, 156 MB of additional disk space will be used.
Do you want to continue [Y/n]?

openjdk-7を削除するときに、必要のない新しいパッケージがインストールされないようにするには、何をする必要がありますか?

38
Fynn

次のコマンドを使用できます。

Sudo apt-get purge openjdk-8-jre openjdk-8-jre-headless openjdk-7-jre gcj-4.7-base gcj-4.7-jre openjdk-6-jre-headless

この方法では、新しいパッケージはインストールされません。上記のコマンドの出力は次のとおりです。

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'gcj-4.7-base' is not installed, so not removed
Package 'gcj-4.7-jre' is not installed, so not removed
Package 'openjdk-6-jre-headless' is not installed, so not removed
The following packages will be REMOVED:
  default-jre* icedtea-7-plugin* icedtea-netx* libatk-wrapper-Java*
  libatk-wrapper-Java-jni* libreoffice-base* minecraft-installer*
  openjdk-7-jre*
0 upgraded, 0 newly installed, 8 to remove and 6 not upgraded.
After this operation, 10,3 MB disk space will be freed.
Do you want to continue [Y/n]? n

しかし、これを行うことはお勧めしません。 1日でOpenJDK(6または7)が必要になります。

29
Radu Rădeanu

すばらしい質問です、私はこれを自分で疑問に思っていました。

Ubuntu 13.04でopenjdk-7-jreを削除するには、次を使用できることがわかりました。

Sudo apt-get autoremove openjdk-7-jre

「y」を押し、この変更を確認するプロンプトが表示されたらEnterを押します。これにより、インストールされた追加の依存ライブラリもすべてクリーンアップされます。

また、次のコマンドを使用して追加のクリーンアップを実行できることもわかりました。

Sudo apt-get purge openjdk*

次のコマンドを使用する場合:

Java -version

Openjdk-7-jreがインストールされていないことを確認してください!

お役に立てれば。 :)

64
Raouf Aghrout

これが起こる理由

これはおそらく、システム上の別のパッケージがJavaに依存しているために発生します。 openjdk-7-jreを削除する際、apt-getは、OpenJDKをアンインストールすると、一部のパッケージに依存関係が満たされないことがわかります。これを解決するために、Javaを提供する別のパッケージをインストールします。

これの原因を調べるには、ターミナルで次のコマンドを実行します。

packages=(default-jre default-jre-headless icedtea-6-plugin icedtea-7-plugin Java-compiler Java-jdk Java-runtime Java-runtime-headless Java-sdk Java-virtual-machine Java2-jdk Java2-runtime Java2-runtime-headless Java2-sdk Java5-jdk Java5-runtime Java5-runtime-headless Java5-sdk Java6-jdk Java6-runtime Java6-runtime-headless Java6-sdk Java7-jdk Java7-runtime Java7-runtime-headless Java7-sdk openjdk-6-jdk openjdk-6-jre openjdk-6-jre-headless openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless Oracle-Java7-bin Oracle-Java7-fonts Oracle-Java7-jdk Oracle-Java7-jre Oracle-Java7-plugin Sun-Java6-bin Sun-Java6-fonts Sun-Java6-jdk Sun-Java6-jre Sun-Java6-plugin)
for pkg in "${packages[@]}"; do
    apt_cache_out="$(apt-cache --installed rdepends "$pkg" | grep -E '^ [| ]\S')"
    if (( $? == 0 )); then
        echo -----------------------
        echo "$pkg"
        echo "$apt_cache_out"
    fi
done

出力例(短縮):

-----------------------
openjdk-7-jre
 |libreoffice-filter-mobiledev
 |libreoffice
 |libreoffice-writer
 |libreoffice-base
 |libreoffice-filter-mobiledev
 |libreoffice
 |libreoffice-writer
 |libreoffice-base

これは、すべてのLibreOfficeパッケージがopenjdk-7-jreに依存していることを示しています。これらのパッケージがインストールされている限り、代替Javaを自動的にインストールせずにOpenJDKをアンインストールすることはできません。

openjdk-7-jreを削除するには

(他のパッケージをインストールせずに)openjdk-7-jreを削除する場合は、それに依存するすべてのパッケージを最初にアンインストールする必要があります。

出力例から、それは次のようになります。

Sudo apt-get remove Oracle-Java7-installer libreoffice-filter-mobiledev libreoffice libreoffice-writer libreoffice-base libreoffice-filter-mobiledev libreoffice libreoffice-writer libreoffice-base
4
kiri

OracleのJDKを使用したいと言っていることに気付きました。代わりにOracleのJDKをインストールする場合は、それをダウンロードして、選択した場所に抽出できます。

次に、update-alternativesを使用して、Javaがインストールされている場所をシステムに通知します。 update-alternativesの構文がわからない場合は、フロントエンドであるgalternativesを使用できます。

たとえば...ここでは、OracleのJDKをかなり広範囲に使用しています。

/ opt/Java /に展開します。

次に、Oracle JavaのすべてのバイナリがJava関連のものの主要なユーティリティであるため、update-alternativesを使用して以下を実行します。

for j in `ls /opt/Java/bin` ; do update-alternatives --install /usr/bin/"$j" "$j" /opt/Java/bin/"$j" 1 ; done

これは、以前に抽出したすべてのOracle Javaユーティリティを使用し、Javaの他のバージョンがインストールされている場合にそれらを最優先にします。 (Ubuntuでは同じユーティリティの複数のバージョンをインストールできるため)

3
longviewbits

残りの回答とともに-.bashrcファイルをチェックして、Java_HOME環境が存在しないことを確認しましたか?その行を削除すると、Ubuntuをopenjdkから解放するのに役立ちます。例のように:

 Java_HOME=/usr/local/Java/jdk1.7.0_45
 export PATH=$Java_HOME:$PATH

そのような何かを見る場合、これらの2行を削除し、リブートして下さい。

1
Faron

OpenJDKをアンインストールするには、ターミナルでこれらのコマンドを実行する必要があります。これらのキーctrl + shift + enterを使用して端末を取得できます。

Openjdkのみを削除します。

$ Sudo apt-get remove openjdk*

Openjdkと依存関係を削除します。

$ Sudo apt-get remove --auto-remove openjdk*

Openjdkとその構成ファイルを削除します。

$ Sudo apt-get purge openjdk*

Openjdkと依存関係およびその構成ファイルを削除します。

$ Sudo apt-get purge --auto-remove openjdk*
0