パッケージXの特定のバージョンをインストールするようにyumに指示するにはどうすればよいですか?


226

YUMリポジトリで特定のRPMの2つ(またはそれ以上)のバージョンが使用可能な場合、yum必要なバージョンをインストールするように指示するにはどうすればよいですか?

Kojiビルドサービスを見ると、いくつかのバージョンがあります。

    SS#1

回答:


310

どの特定のバージョンが利用できるかを確認yumするには、--showduplicatesスイッチを使用できます。「パッケージ名。アーキテクチャバージョン」のようなリストが表示されます。

$ yum --showduplicates list httpd | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit
Loading mirror speeds from cached hostfile
 * fedora: mirror.steadfast.net

Available Packages
httpd.x86_64                        2.4.6-6.fc20                         fedora 
httpd.x86_64                        2.4.10-1.fc20                        updates

特定のバージョンをインストールする限りですか?次のように、アーキテクチャ名を削除して、パッケージの名前にバージョン情報を追加できます。

$ sudo yum install <package name>-<version info>

たとえば、この場合、古いバージョンの2.4.6-6をインストールしたい場合、次のようにします。

$ sudo yum install httpd-2.4.6-6

パッケージを指定するときにリリース情報を含めることもできます。この場合、私はFedora 20(F20)を扱っているので、リリース情報は「fc20」であり、アーキテクチャー情報もです。

$ sudo yum install httpd-2.4.6-6.fc20
$ sudo yum install httpd-2.4.6-6.fc20.x86_64

レポクエリ

引数を正しく構築しているかどうかわからない場合は、相談することrepoqueryもできます。

$ sudo yum install yum-utils  # (to get `repoquery`)
$ repoquery --show-duplicates httpd-2.4*
httpd-0:2.4.6-6.fc20.x86_64
httpd-0:2.4.10-1.fc20.x86_64

ダウンロードとインストール

次のオプションのいずれかを使用して、Webから特定のRPMをダウンロードし、それを使用yumしてインストールすることもできます。

$ yum --downloadonly <package>
-or-
$ yumdownloader <package>

そして、次のようにインストールします:

$ sudo yum localinstall <path to rpm>

パッケージXに必要なものをすべてダウンロードしたい場合はどうすればよいですか?

$ yumdownloader --resolve <package>

$ yumdownloader --resolve vim-X11
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
--> Running transaction check
---> Package vim-X11.x86_64 2:7.3.315-1.fc14 set to be reinstalled
--> Finished Dependency Resolution
vim-X11-7.3.315-1.fc14.x86_64.rpm                              | 1.1 MB     00:01

依存関係のチェックを行ってから、不足しているピースをダウンロードしていることに注意してください。ここでそれをカバーする私の答えを参照してください:リポジトリからファイルをダウンロードし、インターネット接続なしで後でインストールする方法は?

参照資料


1
見つかった最新バージョン@updatesと、見つかったOSの初期バージョンの間のパッケージでは動作しないと思います@fedora。たとえば、インストールしようとするとhttpd-2.4.8-1yumパッケージは利用できません。
質問オーバーフロー14

@QuestionOverflow-フォローしていません。そのバージョンは、レポで利用可能として表示されません。
slm

1
yumログの実際の例を使用して、もう一度試してみましょう。python-libs-2.7.5-12.fc20.x86_64かつて私のコンピューターにインストールされていましたが、その後交換されました。今、私はこの特定のパッケージをインストールしたいと仮定するとyumdownloader python-libs-2.7.5-12*言うでしょうNo Match for argument python-libs-2.7.5-12* Nothing to download。私が言いたいのは、一度新しいパッケージが到着すると、古いパッケージはyumからアクセスできなくなるということです。最新のパッケージまたは初期バージョンのみをインストールできますが、その間のバージョンはインストールできません。
質問オーバーフロー14

2
@QuestionOverflow-そのシナリオではyum downgrade ...、パッケージが既にインストールされていて、後でそれに戻ろうとしている場合に使用する必要があると思います。私のQIでは、まだインストールされていないパッケージの特定のバージョンを手動で選択する方法を示しようとしました。docs.fedoraproject.org/en-US/Fedora/14/html/…–
slm

いいえ、特定のパッケージにアップグレードしても機能しません。私はこれを数日前に新規インストールで実験しました。最新のパッケージへのyum更新のみが可能であり、必要なバージョンへの更新はできません。
質問オーバーフロー14

6

別のオプションとして、rpmファイルをダウンロードしてyumから実行するように指示できますlocalinstall

yum localinstall /path/to/package.rpm

必要なパッケージを入手するには、rpmfind.comでパッケージ名を検索してください。


すべてではありませんが、ほとんどのバージョンのrpmファイルを含むURLがありますか?
質問オーバーフロー14

@QuestionOverflow:rpmfind.net
cuonglm

4
yum --downloadonly <package>続き、が続きyum localinstall <path to package>ます。ユーティリティも使用できyumdownloader <package>ます。
slm

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.