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
を削除するときに、必要のない新しいパッケージがインストールされないようにするには、何をする必要がありますか?
次のコマンドを使用できます。
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)が必要になります。
すばらしい質問です、私はこれを自分で疑問に思っていました。
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がインストールされていないことを確認してください!
お役に立てれば。 :)
これはおそらく、システム上の別のパッケージが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
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では同じユーティリティの複数のバージョンをインストールできるため)
残りの回答とともに-.bashrc
ファイルをチェックして、Java_HOME環境が存在しないことを確認しましたか?その行を削除すると、Ubuntuをopenjdkから解放するのに役立ちます。例のように:
Java_HOME=/usr/local/Java/jdk1.7.0_45
export PATH=$Java_HOME:$PATH
そのような何かを見る場合、これらの2行を削除し、リブートして下さい。
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*