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


38

OpenJDKUbuntu 13.04システムにインストールしたくないのですが、アンインストールしようとすると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ですか?


回答:


29

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

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)が必要になります。


4
本当にJDKが必要な場合は、OpenJDKの代わりにOracleのJDKを使用したいと思います。
フィン

これはうまくいきませんでした。
jgomo3 14年

@ radu-rdeanuこれを行うには、以前にgcjをインストールする必要がありました。私があなたの解決策を試みたとき、aptはgcjがインストールされていないと文句を言いました。gcjをインストールし、あなたが言ったパッケージをすべて削除しました。しかし、その後、javaコマンドはまだそこにありました。そのため、有線環境が必要です。
jgomo3 14年

@ jgomo3出力からわかるように、このことは私には起こりませんでした。どのバージョンの話をgcjしますか?
ラドゥラディアナヌ14年

66

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

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がインストールされていないはずです!

お役に立てれば。:)


2
@ jgomo3この回答は役に立ちますか?特にsudo apt-get remove --purge openjdk*少し?
ランドローニ14年

1
@landroni私はそれをテストしなければなりません。radu-rdeanuソリューションを実行するために、前にgcjをインストールする必要がありました。そうすれば、それを「削除」できます。このソリューションでは、最初にOracle Javaをアンインストールし、次にopenjdkなどをインストールしてから、最後に「自動削除」を試みます。
jgomo3 14年

どのように実行するか教えてください。使用している場合はautoremove、正しいバージョンのopenjdkを指定する必要があることを覚えておいてください。openjdk-6-jreを実行している可能性があります。さらに、openjdkの複数のバージョンを実行している場合、purgeコマンドはそれらのすべてのトレースを削除するため、実行する内容に応じてこれを使用する場合は注意してください。
Raouf Aghrout

2
sudo apt-get purge openjdk*私のために働いたが、Jenkinsインストールもアンインストールした(openjdk 7パッケージに依存する):(
RobertG

1
最初のオプションは7を削除したが6を設置し、第二には、働いていたします。sudo apt-getのパージのOpenJDK *
パブロPazos

4

これが起こる理由

これはおそらく、システム上の別のパッケージがJavaに依存しているために発生します。を削除するときにopenjdk-7-jreapt-getOpenJDKをアンインストールすると、一部のパッケージに依存関係が満たされないことがわかります。これを解決するために、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

3

オラクルの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では同じユーティリティの複数のバージョンをインストールできるため)


1

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

 JAVA_HOME=/usr/local/java/jdk1.7.0_45
 export PATH=$JAVA_HOME:$PATH

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


0

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