web-dev-qa-db-ja.com

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

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

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

ss #1

248
slm

yumを介して利用できる特定のバージョンを確認するには、--showduplicatesスイッチ。 「package name.architecture version」のようなリストが表示されます。

$ 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

引数を正しく作成しているかどうか確信が持てない場合は、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

依存関係のチェックを行ってから、不足している部分をダウンロードしていることに注意してください。詳細については、こちらの回答を参照してください。 リポジトリからファイルをダウンロードし、後でインターネット接続なしでインストールする方法

参考文献

336
slm

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

yum localinstall /path/to/package.rpm

必要なパッケージを入手するには、rpmfind.comでパッケージ名を検索するとよいでしょう。

6
cuonglm

オプションコマンドを使用することもできます。

yum install --nogpgcheck pckg-name-version   
0