【问题标题】:Why does yum install work, but yum search and yum info not?为什么 yum install 可以工作,但是 yum search 和 yum info 不行?
【发布时间】:2020-12-29 18:01:36
【问题描述】:

我在 CentOs 8 上运行以下命令

$ cat /etc/redhat-release 
CentOS Linux release 8.2.2004 (Core) 

我从一个干净且更新的 yum 数据库开始:

$ yum clean all
46 files removed

$ yum update
CentOS-8 - AppStream                                                                                                                                                                                           18 MB/s | 5.8 MB     00:00    
CentOS-8 - Base                                                                                                                                                                                                15 MB/s | 2.2 MB     00:00    
CentOS-8 - Extras                                                                                                                                                                                             121 kB/s | 7.9 kB     00:00    
CentOS-8 - PowerTools                                                                                                                                                                                         9.0 MB/s | 1.9 MB     00:00    
Extra Packages for Enterprise Linux Modular 8 - x86_64                                                                                                                                                        271 kB/s | 117 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                                                                                                                                                                 26 MB/s | 8.0 MB     00:00    
yum Dependencies resolved.
Nothing to do.
Complete!

如果我用 yum 搜索 cmake3 包,或者尝试显示详细信息,它不起作用:

$ yum search cmake3
Last metadata expiration check: 0:01:03 ago on Fri 11 Sep 2020 07:47:47 AM UTC.
No matches found.

$ yum info cmake3
Last metadata expiration check: 0:02:24 ago on Fri 11 Sep 2020 07:47:47 AM UTC.
Error: No matching Packages to list

如果我尝试安装 cmake3 包,它会安装 cmake

$ yum install cmake3
Last metadata expiration check: 0:22:10 ago on Fri 11 Sep 2020 07:47:47 AM UTC.
Dependencies resolved.
==============================================================================================================================================================================================================================================
 Package                                                       Architecture                                        Version                                                       Repository                                              Size
==============================================================================================================================================================================================================================================
Installing:
 cmake                                                         x86_64                                              3.11.4-7.el8                                                  AppStream                                              8.1 M
Installing dependencies:
 cmake-data                                                    noarch                                              3.11.4-7.el8                                                  AppStream                                              1.3 M
 cmake-filesystem                                              x86_64                                              3.11.4-7.el8                                                  AppStream                                               40 k
 cmake-rpm-macros                                              noarch                                              3.11.4-7.el8                                                  AppStream                                               39 k
 libuv                                                         x86_64                                              1:1.23.1-1.el8                                                AppStream                                              134 k

Transaction Summary
==============================================================================================================================================================================================================================================
Install  5 Packages

Total download size: 9.7 M
Installed size: 29 M
Is this ok [y/N]: 

这里发生了什么?为什么searchinfo 失败,而install 成功(并且安装了稍微不同的包)?

【问题讨论】:

  • 你试过yum clean all还是yum update先?
  • @doublesharp 我做了一个yum clean all,然后是yum update,仍然得到相同的结果。我更新了问题以反映这一点
  • 是否启用了 EPEL 存储库?
  • @doublesharp 是的

标签: cmake centos yum


【解决方案1】:

由于cmake3cmake 包提供,该包将由yum install 安装,因为不存在具有确切cmake3 名称的包:

# yum provides cmake3
cmake-3.11.4-7.el8.x86_64 : Cross-platform make system
Repo        : AppStream
Matched from:
Provide    : cmake3 = 3.11.4-7.el8

yum 联机帮助页中有一个类似的示例(在 RHEL8 中重定向到 dnf):

dnf install vim

DNF 将自动识别 vim 不是包名,但会查找并安装一个包,该包为 vim 提供所有必需的依赖项。注意:包名匹配优先于包名匹配。

【讨论】:

  • 啊,所以由于cmake 包安装了二进制文件cmake3yum install cmake3 将使用provides 来查找哪个包提供该二进制文件(如果没有包)有确切名称的存在吗?
  • @SteveLorimer:是的,我已经用手册页示例扩展了我的答案
猜你喜欢
  • 1970-01-01
  • 2017-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多