YUMリポジトリで特定のRPMの2つ(またはそれ以上)のバージョンが利用可能な場合、yum
に必要なバージョンをインストールするように指示するにはどうすればよいですか?
Kojiビルドサービスを見ると、いくつかのバージョンがあることがわかります。
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
に相談することもできます。
$ 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
依存関係のチェックを行ってから、不足している部分をダウンロードしていることに注意してください。詳細については、こちらの回答を参照してください。 リポジトリからファイルをダウンロードし、後でインターネット接続なしでインストールする方法 。
別のオプションとして、rpm
ファイルをダウンロードしてから、yum
にlocalinstall
を実行するように指示できます。
yum localinstall /path/to/package.rpm
必要なパッケージを入手するには、rpmfind.comでパッケージ名を検索するとよいでしょう。
オプションコマンドを使用することもできます。
yum install --nogpgcheck pckg-name-version