openSUSE 13.1をインストールし、Oracle jdkをインストールしたいと思います。私の意図はとにかく必要ないので、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はなぜこのように動作しますか?他のパッケージの依存関係が削除されるのを防ぐには?
答え1
これは直接的な答えではありませんが(私はSUSE / zypperユーザーではありません)、実際の問題の説明に基づく提案です。 「Oracle jdkをインストールしたいのですが、私の意図は最初にopen_jdk / ice teaエントリを削除することです」。
あなたはしません必要パッケージマネージャに問題がある間にIced Teaを削除することは、次の最初のシグナルです。いいえ削除してください。両方のバージョンをインストールしても問題はなく、必要に応じてシステムをデフォルトのOracleバージョンに構成できます。 SUSE非無料リポジトリ(そのようなものがある場合)ではなく、Oracleで直接パッケージを使用したいとします。 OracleのLinuxtar.gz
ソフトウェアパッケージを使用してください(つまり、いいえ「RPM」と表示されています。システムが64ビットの場合は「x64」が必要です。その後、解凍の指示に従ってください。
bin
このディレクトリを実行可能ファイルパスに入れる必要があります。必要に応じてこれを実行できますが、システム全体で実行する標準的な方法は、.sh
ファイルを/etc/profile.d
次の場所に追加することです。
export PATH=/path_to_java/bin:$PATH
適用するには、再度ログインして再確認する必要がありますecho $PATH
。最初のディレクトリが優先されるので、すべての呼び出しはjava
Oracleバージョンを呼び出し、パッケージマネージャはWRTにJRE / JDKエントリが必要であることに満足しています。