web-dev-qa-db-ja.com

CentOSでパッケージがインストールされたリポジトリを見つけるにはどうすればよいですか?

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.

この特定のパッケージがどのリポジトリからインストールされたかを確認するにはどうすればよいですか?

5
jorelli

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の新しいバージョンがあるかどうかを確認できます。

3
Patches

私がこれに出くわしたのと同じくらい不幸だった人々のために、更新された-もう少し便利な-答え...

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です。

2
geewhizardry

これを判断する最良の方法は、各パッケージのパッケージ署名キーからです。これを行う簡単な方法がなかったので、誰かがプログラムを作成しました Keychecker

この小さなスクリプトは、システムにインストールされているRPMのOriginのリポジトリを効果的に識別する方法についての会話から生まれました。 RPMデータベースがこれに保存する最も近いものは、パッケージの署名に使用されるGPGキーです。このスクリプトは、使用されているキーを調べ、リスト形式またはcsv形式(-mオプションで呼び出された場合)で出力します。人々はそれが好きだったので、ここでそれはより広い聴衆にリリースされます:)

EPEL経由で入手できます。インストールされているすべてのパッケージが、署名されたキーでグループ化されて出力されます。キーの説明により、それがどのリポジトリからのものであるかが明確になります。評判の良いリポジトリは、パッケージに署名します。

0
carlwgeorge