Rhel

關於來自 rpm、yum 和 repoquery 的軟體包的相互矛盾的答案

  • March 19, 2015

我在 RHEL 6.5 系統上有一些軟體包,它們表現出以下令人費解的行為:

  1. 安裝包;
  2. rpm -q報告軟體包已安裝;
  3. yum search表明該軟體包在那裡可用;
  4. repoquery --whatprovides不輸出任何東西。

一個例子:

$ yum install boost-openmpi
Loaded plugins: dellsysid, product-id, refresh-packagekit, rhnplugin, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
This system is receiving updates from RHN Classic or RHN Satellite.
Setting up Install Process
Nothing to do
$ rpm -q boost-openmpi
boost-openmpi-1.41.0-18.el6.x86_64
$ yum search boost-openmpi
Loaded plugins: dellsysid, product-id, refresh-packagekit, rhnplugin, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
This system is receiving updates from RHN Classic or RHN Satellite.
==================================================================================== N/S Matched: boost-openmpi ====================================================================================
boost-openmpi.x86_64 : Runtime component of Boost.MPI library
boost-openmpi-devel.x86_64 : Shared library symlinks for Boost.MPI
boost-openmpi-python.x86_64 : Python runtime component of Boost.MPI library

 Name and summary matches only, use "search all" for everything.
$ repoquery --plugins --queryformat="%{NAME}_|-%{VERSION}_|-%{RELEASE}_|-%{ARCH}_|-%{REPOID}"   --all --quiet --whatprovides boost-openmpi
$

我對 yum 等的理解是否正確,如果最後一個命令在報告包存在並已安裝之前的所有其他內容時也應該返回一些東西?(系統上安裝的幾乎所有其他軟體包也會在該repoquery步驟中報告一些內容。)如果我的理解是正確的,我該如何解決問題以便 repoquery 再次找到該軟體包?

yum search 還會查看已安裝的軟體包,使用“yum search -v”來獲取額外資訊(比如在哪裡找到的)。我的猜測是您已經安裝了這些,但不可用,您可以使用“yum list extras”(或更好的“yum list distro-extras”輕鬆檢查,但我認為這不在 el6 中)。

引用自:https://unix.stackexchange.com/questions/190755