使用yum whatprovides可查询文件所属软件包,如yum whatprovides /usr/bin/ls显示coreutils提供该文件,支持通配符模糊查找,新系统可用dnf替代,已安装文件可用rpm -qf查询。

在Linux中,当你需要知道某个文件是由哪个软件包提供的,可以使用包管理器的相关功能来查询。在基于RPM 的系统(如CentOS、RHEL、Fedora早期版本)中,yum whatprovides 是一个非常实用的命令。
使用 yum whatprovides 查找文件所属包
该命令用于查找提供特定文件的软件包,即使该文件尚未安装在系统中也能查询。
基本语法如下:
yum whatprovides “文件名或路径”
例如,你想查找 /usr/bin/ls 是由哪个包提供的:
yum whatprovides /usr/bin/ls
系统会返回类似结果:
coreutils-8.30-10.el8.x86_64 : The GNU core utilities
Repo : base
Matched from:
Filename : /usr/bin/ls
这说明 /usr/bin/ls 文件由 coreutils 包提供。
支持通配符查询
如果不确定完整路径,可以使用通配符 * 进行模糊匹配。
比如查找所有可能提供 python3 可执行文件的包:
yum whatprovides “*bin/python3*”
这个命令会列出所有包含匹配路径的软件包,帮助你找到正确的安装源。
知网AI智能写作
知网AI智能写作,写文档、写报告如此简单
152 查看详情
未安装 yum?使用 dnf 替代(Fedora/CentOS 8+)
在较新的系统中,如CentOS 8、RHEL 8 或 Fedora,yum 已被 dnf 取代,但用法几乎一致:
dnf whatprovides /path/to/file
例如:
dnf whatprovides /usr/sbin/httpd
它会显示提供 Apache 服务器可执行文件的包,通常是 httpd。
补充:已安装文件可用 rpm -qf 查询
如果文件已经存在于系统中,可以直接使用 rpm 命令反向查询:
rpm -qf /usr/bin/ls
输出结果为:
coreutils-8.30-10.el8.x86_64
注意:此方法仅适用于已安装的文件。
基本上就这些。根据系统使用 yum 或 dnf 的 whatprovides 功能,能快速定位文件来源,对排查依赖或安装缺失命令非常有帮助。
以上就是如何在Linux中查找文件所属包 Linux yum whatprovides查询的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/725025.html
微信扫一扫
支付宝扫一扫