web-dev-qa-db-ja.com

openjdkをアンインストールすると、zypper openSUSEに代替のインストールが自動的にトリガーされるのはなぜですか?

OpenSUSE 13.1をインストールしましたが、Oraclejdkをインストールしたいと思います。私が意図したのは、最初にopen_jdk/ice teaをアンインストールすることでした。とにかくそれらは必要ないのですが、他のOracle以外のJavaパッケージをインストールしないとアンインストールできないようです。

us...r@linux-rvhj:/tmp/mc-junip> Sudo zypper rm Java-1_7*
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 4 NEW packages are going to be installed:
  gcc48-gij gcc-gij Java-1_5_0-gcj-compat libgcj48 

The following 3 packages are going to be REMOVED:
  icedtea-web Java-1_7_0-openjdk Java-1_7_0-openjdk-headless 

4 new packages to install, 3 to remove.
Overall download size: 9.3 MiB. After the operation, 25.8 MiB will be freed.
Continue? [y/n/p/? shows all options] (y): 

代替手段を強制せずにパッケージをアンインストールするにはどうすればよいですか?そして、なぜzypperはこのように動作するのですか?他のパッケージの依存関係が削除された場合の状況を防ぐには?

2
ps-aux

これは直接的な答えではありませんが(私はSUSE/zypperユーザーではありません)、実際の問題の説明に基づいた推奨事項です。「Oraclejdkをインストールしたい。 私が意図したのは、最初にopen_jdk/iceteastuffをアンインストールすることでした")。

アイスティーをアンインストールする必要はありません必要パッケージマネージャーを使用したこの面倒は、しないでくださいアンインストールすると生活が楽になることを最初に示しています。両方をインストールしても害はありません。必要に応じて、Oracleバージョンを優先するようにシステムを構成できます。 SUSEのフリーでないリポジトリではなく、Oracleから直接パッケージを使用するつもりだと思います(そのようなものがある場合)。 Oracleのlinuxtar.gzパッケージ(not「RPM」とマークされているもの。システムが64ビットの場合は「x64」が必要であることに注意してください)を使用し、次の手順に従います。開梱します。

次に、実行可能パスにbinディレクトリを配置する必要があります。これは好きなように行うことができますが、このシステム全体で行う一般的な方法は、.shファイルを/etc/profile.dに追加して

export PATH=/path_to_Java/bin:$PATH

これを有効にするには、もう一度ログインしてから、echo $PATHで再確認する必要があります。最初のディレクトリが優先されるため、Javaを呼び出すものはすべてOracleバージョンを呼び出すようになり、パッケージマネージャはJRE/JDKを必要とするWRTに満足します。

1
goldilocks