首页 > 解决方案 > 为什么 yum install 可以工作,但是 yum search 和 yum info 不行?

问题描述

我在 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]: 

这里发生了什么?为什么失败,但成功(search并安装略有不同的pacakge)?infoinstall

标签: cmakecentosyum

解决方案


由于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 提供所有必需的依赖项。注意:包名称匹配优先于包提供匹配。


推荐阅读