yumは、どのリポジトリが特定のパッケージを提供しているか教えてくれますか?
-
10-07-2019 - |
質問
質問の短いバージョン:特定のパッケージがインストールされているマシンを使用している場合、そのパッケージを提供するリポジトリの構成を教えてくれるyumコマンドはありますか? (あるいは、どのリポジトリがまだインストールされていないパッケージを提供するか。)
何らかのコンテキストが必要な場合の背景:私たちには、yumリポジトリの迷路があります。特定のrpmパッケージがインストールされているマシンと、リポジトリの迷路が明らかに不十分に設定されている別のマシンがあるため、そのマシンに必要なパッケージをインストールできません。新しいマシンに必要最小限のリポジトリを追加する必要があります。あるマシンから別のマシンへリポジトリをショットガンすることはできません。外出してrpmを取得するのは選択肢ではありません。再現性が必要なためです。
解決
yum list packagename
これにより、パッケージが出力の3番目の列にあるリポジトリが表示されます。
すでにインストールされているパッケージの場合、3番目の列に「インストール済み」と表示されるだけで機能しません。その場合は、たとえば" rpm -qi packagename&quot ;、通常、ベンダー、パッケージャー、ビルドホストタグは、パッケージがどのリポジトリに属しているかを示します。また、パッケージのバージョン番号に追加されるレポシンボルが非常に一般的です。
他のヒント
repoquery -i {packagename}
これにより、実際のリポジトリ名と役に立たない「インストール済み」が表示されます。そのyumが返されます。 repoqueryはyum-utilsによって提供されます。
yum -v search
を使用すると、パッケージとそれが存在するレポを表示できます。-showduplicates
を追加すると、すべてのバージョンが表示されますそのパッケージ。
クレジット: http://www.spinics.net/linux/fedora /yum/msg11975.html
単一のパッケージの場合、これを見つけることができます
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に置き換えます。 yum repolist
を使用して、有効なすべてのリポジトリのIDを確認できます。
特定のインストール済みパッケージのリポジトリを検出する方法は次のとおりです。
rpm -qi {packagename}
または
repoquery -i {packagename}
参照:
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]: