Yumのインストールでは、Oracle Linux 7.9では特定のバージョンのJDKパッケージを認識できません。

Yumのインストールでは、Oracle Linux 7.9では特定のバージョンのJDKパッケージを認識できません。

yum installを使用してjdk 1.8.0_311をインストールしようとしています。しかし、インストールしようとすると、「何もしません」というエラーメッセージが表示されます。

使った

yum --showduplicates list jdk*

パッケージがあることを確認してください。

jdk-20-headful.aarch64             2000:20.0.1-9.el7                ol7_oci_included
jdk-20-headless.aarch64            2000:20-36.el7                   ol7_oci_included
jdk-20-headless.aarch64            2000:20.0.1-9.el7                ol7_oci_included
jdk1.8.aarch64                     2000:1.8.0_301-fcs               ol7_oci_included
jdk1.8.aarch64                     2000:1.8.0_311-fcs               ol7_oci_included
jdk1.8.aarch64                     2000:1.8.0_331-fcs               ol7_oci_included
jdk1.8.aarch64                     2000:1.8.0_341-fcs               ol7_oci_included
jdk1.8.aarch64                     2000:1.8.0_351-fcs               ol7_oci_included

それから私は走ろうとします。

yum install jdk1.8.aarch64-2000:1.8.0_311-fcs

「なし」エラーが発生します。

yum install jdk1.8.aarch64-2000:1.8.0_311-fcs
Loaded plugins: langpacks, ulninfo
No package jdk1.8.aarch64-2000:1.8.0_311-fcs available.
Error: Nothing to do

ドキュメントによると、これは正しいインストール方法ですが、パッケージを認識しません。バージョンを指定しないと、デフォルトでは使用できない最新バージョン(351)が使用されます。どんな助けでも大変感謝します。ありがとうございます。

答え1

特定のバージョンのパッケージをインストールする構文は次のとおりです。

yum install <package_name>-<version>

<package_name>にはアーキテクチャ名(あなたの場合は.aarch64)を含めないでください。

以下を実行してみてください。

yum install jdk1.8-2000:1.8.0_311-fcs

アーキテクチャを指定するには、次のコマンドを実行します。

yum install jdk1.8-2000:1.8.0_311-fcs.aarch64

答え2

残念ながら、yumは「yum install」、「yumwipe」、「yum listdisplayed」に一貫して反応しません。インストールには、「短縮」pkg名「pkgname-pkgversion」を使用できます。例:

yum install jdk1.8-1.8.0_311-fcs

「yum list install」と「yum wipe」の場合は、「フルパッケージ名」(以前のソリューションで述べたように)を使用するか、glob(正規表現なし)を使用する必要があります。例:

> yum list installed jdk*
Installed Packages
jdk1.8.x86_64                              2000:1.8.0_311-fcs
> yum erase jdk1.8-2000:1.8.0_311-fcs*
> yum erase jdk1.8-*1.8.0_311-fcs*
/* That's similar to abbreviated installation syntax ("pkgname-*pkgversion*"), avoiding "2000" + <architecture> */

「architecture」は、パッケージ名の一部として「yum listdisplay...」の出力にリストされています(上記参照:「jdk1.8.1」)。x86_64「」、しかし「実際の世界」では(例:使用法「yum削除」と「yumリストがインストールされました」)「フルパッケージ名」のバージョン以降です。

jdk1.8-2000:1.8.0_311-fcs.x86_64

なぜこのように実装されたのか、なぜ「yum install」から「2000」を省略できるのかわかりません...

関連情報