yum info
を使用して選択したパッケージの詳細を検索すると、リポジトリが「インストール済み」としてリストされます。それはすべてうまくいっていますが、インストールされたパッケージについては、どのリポジトリからインストールされているのかを知りたいので、同じリポジトリから関連するパッケージを確実にインストールできます。
$: yum info mysql-server
Loaded plugins: fastestmirror
Installed Packages
Name : mysql-server
Arch : x86_64
Version : 5.0.77
Release : 4.el5_6.6
Size : 22 M
Repo : installed
Summary : The MySQL server and related files.
URL : http://www.mysql.com
License : GPLv2 with exceptions
Description: MySQL is a multi-user, multi-threaded SQL database server. MySQL is a
: client/server implementation consisting of a server daemon (mysqld)
: and many different client programs and libraries. This package contains
: the MySQL server and some accompanying files and directories.
この特定のパッケージがどのリポジトリからインストールされたかを確認するにはどうすればよいですか?
YUMの最新バージョンは、この情報を提供します。
たとえば、YUM3.2.29を使用するFedora15システムでは次のようになります。
#yum info mysql-server ロードされたプラグイン:fastestmirror、langpacks、presto、refresh-packagekit インストールされたパッケージ 名前:mysql-server Arch:x86_64 バージョン:5.5.14 リリース:2.fc15 サイズ:42 M リポジトリ:インストール済み リポジトリから:更新 概要:MySQLサーバーと関連ファイル URL:http://www.mysql.com ライセンス:例外を除くGPLv2 説明:MySQLはマルチユーザー、マルチスレッドです。 SQLデータベースサーバー。 MySQLは :サーバーデーモン(mysqld) :および多くの異なるクライアントプログラムとライブラリで構成されるクライアント/サーバー実装です。このパッケージには が含まれています:MySQLサーバーとそれに付随するいくつかのファイルとディレクトリ。
システムで利用可能なこの情報を提供するYUMの新しいバージョンがあるかどうかを確認できます。
私がこれに出くわしたのと同じくらい不幸だった人々のために、更新された-もう少し便利な-答え...
Fedora(およびおそらくCentos&RHEL)の場合例:
dnf whatprovides postgresql-server
何とか何とか何とかからのメタデータを使用する
postgresql-server-9.3.9-1.fc21.x86_64:PostgreSQLサーバーを作成して実行するために必要なプログラム
Repo : @System
postgresql-server-9.3.5-4.fc21.x86_64:PostgreSQLサーバーを作成して実行するために必要なプログラム
Repo : Fedora
postgresql-server-9.3.9-1.fc21.x86_64:PostgreSQLサーバーを作成して実行するために必要なプログラム
Repo : updates
ご覧のとおり、現在インストールされているパッケージの@System
と、インストール元の可能性のあるリポジトリとバージョンが一覧表示されます。ここで重要なのは、リストされている最後のアイテムであり、バージョンの詳細と名前は、インストールされているものと正確に一致します。したがって、Fedoraアップデートリポジトリからインストールされました。 Dnfは、yumと同様に、情報オプションもサポートしています。
dnf info postgresql-server
ただし、私のシステムでは、yumコマンドとは異なり、dnf出力にFrom repo
フィールドが表示されないため、YMMVです。
これを判断する最良の方法は、各パッケージのパッケージ署名キーからです。これを行う簡単な方法がなかったので、誰かがプログラムを作成しました Keychecker 。
この小さなスクリプトは、システムにインストールされているRPMのOriginのリポジトリを効果的に識別する方法についての会話から生まれました。 RPMデータベースがこれに保存する最も近いものは、パッケージの署名に使用されるGPGキーです。このスクリプトは、使用されているキーを調べ、リスト形式またはcsv形式(-mオプションで呼び出された場合)で出力します。人々はそれが好きだったので、ここでそれはより広い聴衆にリリースされます:)
EPEL経由で入手できます。インストールされているすべてのパッケージが、署名されたキーでグループ化されて出力されます。キーの説明により、それがどのリポジトリからのものであるかが明確になります。評判の良いリポジトリは、パッケージに署名します。