42

うまくいけば、質問の短いバージョン: 特定のパッケージがインストールされているマシンを使用している場合、そのパッケージを提供する構成済みのリポジトリを教えてくれる yum コマンドはありますか? (または、まだインストールされていないパッケージを提供するリポジトリを指定します。)

コンテキストが必要な場合の背景: yum リポジトリーの迷路があります。特定の rpm パッケージがインストールされているマシンと、構成されたリポジトリの迷路が明らかに不十分な別のマシンがあるため、必要なパッケージをそのマシンにインストールできません。必要最小限のリポジトリを新しいマシンに追加する必要があります。あるマシンから別のマシンにリポジトリをショットガンで移動することはできません。そして、これを再現可能にする必要があるため、外に出てrpmを取得することはオプションではありません.

4

7 に答える 7

45
yum list packagename

出力の 3 列目に、パッケージがどのリポジトリからのものかが表示されます。

既にインストールされているパッケージの場合、3 番目の列には「インストール済み」とだけ表示されるため、これは機能しません。その場合、たとえば「rpm -qi packagename」を実行できます。通常、Vendor、Packager、および Build Host タグは、パッケージが属するリポジトリを示します。また、パッケージのバージョン番号にいくつかのリポジトリ シンボルが追加されることもよくあります。

于 2009-03-11T19:03:49.023 に答える
30
repoquery -i {packagename} 

これにより、実際のリポジトリ名と、yum が返す役に立たない「インストール済み」が表示されます。repoquery は yum-utils によって提供されます。

于 2012-01-06T15:40:27.520 に答える
3

単一のパッケージの場合、これを見つけることができます

PACKAGE=ruby-enterprise
repoquery --qf "%{repoid}" $PACKAGE

$PACKAGEを関心のあるパッケージの名前に置き換えます。

特定のリポジトリから来たすべてのパッケージを見つけることができます

REPO=ruby-enterprise-opt
repoquery --repoid=$REPO -a --qf "%{name}" | sort > repo_packages
rpm -qa --qf "%{name}\n" | sort > installed_packages
comm -1 -2 repo_packages installed_packages

$REPOを関心のあるリポジトリの ID に置き換えます。で有効なすべてのリポジトリの ID を確認できますyum repolist

于 2012-04-11T04:16:08.870 に答える
0
yum reinstall [package_name]

次に、確認を求められたら、システムを変更しないように N を選択できます。

centos でのサンプル出力:

Resolving Dependencies
--> Running transaction check
---> Package mc.x86_64 1:4.6.1a-35.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================
 Package                      Arch                             Version                                   Repository                      Size
==============================================================================================================================================
Reinstalling:
 mc                           x86_64                           1:4.6.1a-35.el5                           base                           2.1 M

Transaction Summary
==============================================================================================================================================
Remove        0 Package(s)
Reinstall     1 Package(s)
Downgrade     0 Package(s)

Total download size: 2.1 M
Is this ok [y/N]:
于 2014-10-24T06:48:15.233 に答える