yumはrpmをインストールしますが、古いバージョンを維持します。

yumはrpmをインストールしますが、古いバージョンを維持します。

2つのrpmファイルがあり、各ファイルには異なるバージョンのJava SDKが含まれています。どちらもインストールしたいので、一方をインストールしてから別のものをインストールしましたが、最新のものをインストールすると古いものが上書きされました。

$ ls ./ibm-java*
./ibm-java-x86_64-sdk-6.0-16.15.x86_64.rpm
./ibm-java-x86_64-sdk-8.0-2.0.x86_64.rpm

$ sudo yum install ibm-java-x86_64-sdk-6.0-16.15.x86_64.rpm
...
$ ls /opt/ibm/
java-x86_64-60
$ sudo yum install ibm-java-x86_64-sdk-8.0-2.0.x86_64.rpm 
...
$ ls /opt/ibm/
java-x86_64-80

同時にインストールする方法はありますか?私はyumのオプションを見ましたが、関連するものを見ませんでした。

答え1

説明で述べたように、両方のパッケージは同じパスを使用できます。たとえば、Javaパッケージは通常インストールされます(例外文書/usr/bin)を物理ファイルに追加します。/usr/bin、または(システムに応じて)でこれを明示的に見つけるためのいくつかの方法があります。代替たとえば、ディレクトリです/etc/alternatives

明示的な競合がなくても、パッケージャでは古いバージョンの一部を廃止予定とみなして、誰かが以前のバージョンを維持するのを困難にする可能性があります。

最新のパッケージをインストールする前に、常に古いディレクトリの内容をtarにしてから、最新のパッケージをインストールした後(以前のyumパッケージが削除された場合)に復元できます。これにより、yum以前のバージョンが不明になり、特定のPATHアプリケーションに設定するなど、アプリケーションがそのバージョンを使用できるようにするために必要なすべてのタスクを実行できます。

答え2

この質問は古くなっていますが、おそらく検索結果の一番上にあるので、この質問を検索している私などの他の人に有効な回答を提供できます。

yum install --setopt=installonlypkgs=jdk1.8 jdk1.8

あるいは、このオプションを使用してyum.confに "provides"を永久に含めることもできます。このパラメータを使用するときは注意してください。このパラメータを設定すると、デフォルトでカーネルパッケージに対してこのオプションを無効にすることを明示的に無効にするかどうかわからないため、同時にインストールされたカーネルパッケージに対してこのオプションを誤って無効にすることができます。 。

関連情報