Cmake 为什么yum安装可以工作,而yum搜索和yum信息不能工作?
我在CentOs 8上运行以下命令Cmake 为什么yum安装可以工作,而yum搜索和yum信息不能工作?,cmake,centos,yum,Cmake,Centos,Yum,我在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
$ 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]:
这里发生了什么?为什么
搜索
和信息
失败,但是安装
成功(并且安装了一个稍微不同的包)?由于cmake3
是由cmake
包提供的,该包将由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安装vim
DNF将自动识别vim不是软件包名称,但将查找并安装一个为vim提供所有必需依赖项的软件包。注意:包名匹配优先于包提供的匹配
由于
cmake3
是由cmake
软件包提供的,因此该软件包将由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安装vim
DNF将自动识别vim不是软件包名称,但将查找并安装一个为vim提供所有必需依赖项的软件包。注意:包名匹配优先于包提供的匹配
您是否先尝试了
yum clean all
或yum update
?@doublesharp我做了一个yum clean all
,然后是yum update
,得到了相同的结果。我更新了问题以反映这是否启用了EPEL回购?@doublesharp是的,您是否先尝试了yum clean all
或yum update
。@doublesharp我做了yum clean all
,然后是yum update
,得到了相同的结果。我更新了问题以反映这是启用了EPEL回购吗?@doublesharp是的,它是HHH,因此由于由cmake
软件包安装的二进制文件cmake3
,yum install-cmake3
将使用provides
查找在不存在具有确切名称的软件包的情况下哪个软件包提供该二进制文件?@SteveLorimer:yes,我已经用一个manpage示例扩展了我的答案ahhh,因此由于由cmake
软件包安装的二进制cmake3
,yum-install-cmake3
将使用provides
查找在不存在具有确切名称的软件包的情况下,哪个软件包提供该二进制文件?@SteveLorimer:yes,我用一个manpage示例扩展了我的答案