特定のバージョンのパッケージをインストールしようとしたときにエラーが発生しました。

特定のバージョンのパッケージをインストールしようとしたときにエラーが発生しました。

このエラーが発生する理由はありますか?

sudo yum downgrade install ipa-server-4.4.0-12.el7.x86_64
Loaded plugins: aliases, auto-update-debuginfo, changelog, fastestmirror, filter-data, fs-snapshot, keys, langpacks, list-data, local, merge-
             : conf, ovl, post-transaction-actions, priorities, protectbase, ps, remove-with-leaves, rpm-warm-cache, show-leaves, tmprepo,
             : tsflags, upgrade-helper, verify, versionlock
Loading mirror speeds from cached hostfile
 * base: mirror.nexcess.net
 * extras: mirror.rackspace.com
 * updates: mirror.net.cen.ct.gov
0 packages excluded due to repository protections
No package install available.
No package ipa-server-4.4.0-12.el7.x86_64 available.
Error: Nothing to do

答え1

まず、コマンドが正しくありません。どちらか一方のみ使用できdowngradeますinstall

第二に、パッケージの正しい名前は指定したものとはipa-server.4.4.0-12.el7.centos異なります(サフィックスはオプションですが、指定した場合は、部分的な部分を含む完全なバージョン文字列の後に実行する必要があります。 yum は動作すると便利です)。見つかりません。.x86_64centos

使用可能なパッケージの正しい名前を表示するには、次のyum list <package-name>コマンドを使用します。正確なダウングレードバージョン仕様を生成するには、リストの名前とリストの正確なバージョン文字列を-(ダッシュ)文字に関連付けて使用します。

特定のバージョンをインストールしたときにCentOS 7システムに表示される外観は次のとおりです。

$ sudo yum install ipa-server-4.4.0-12.el7.centos.x86_64
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.unifiedlayer.com
 * epel: s3-mirror-us-west-1.fedoraproject.org
 * extras: mirrors.sonic.net
 * updates: mirrors.sonic.net
Resolving Dependencies
--> Running transaction check
---> Package ipa-server.x86_64 0:4.4.0-12.el7.centos will be installed

...そして多くの依存関係を解決した後、インストールの要約と承認のプロンプトが表示されます。

最新バージョンをインストールした後、次をsudo yum downgrade ipa-server-4.4.0-12.el7.centos使用してバージョン12に再度ダウングレードしようとすると、次のような競合エラーが発生します。

Error: Package: ipa-server-4.4.0-12.el7.centos.x86_64 (base)
       Requires: ipa-common = 4.4.0-12.el7.centos
       Installed: ipa-common-4.4.0-14.el7.centos.noarch (@updates)
           ipa-common = 4.4.0-14.el7.centos
       Available: ipa-common-4.4.0-12.el7.centos.noarch (base)
           ipa-common = 4.4.0-12.el7.centos

これは、特定のipa-serverバージョンが機能するには特定の「サブパッケージ」が必要で、downgradeコマンドがサブパッケージを直接ダウングレードしないためです。 YUMのマニュアルページには次のものがありますdowngrade

depsolver が必ずしも動作するわけではありませんが、すべてのパッケージを指定すると動作します。

ダウングレードするには、正しい(以前の)バージョン番号と競合するすべての「ipa」パッケージをコマンドに割り当てる必要がありますdowngrade

関連情報