yum provides */ifconfig 能查到提供 ifconfig 的包(如 net-tools),因为该命令按文件路径匹配,而 ifconfig 实际位于 /sbin/ifconfig,不带通配符的 yum provides ifconfig 无法匹配路径,故失败。

直接用 yum provides 就能查,但必须带路径通配符,否则大概率查不到。
为什么 yum provides ifconfig 会失败
因为 yum provides 默认匹配的是「包提供的文件路径」,不是命令名本身。系统里 ifconfig 实际是 /sbin/ifconfig,而 yum provides ifconfig 会去搜文件名叫 ifconfig 的独立文件(不带路径),这种文件几乎不存在。
- 正确写法是
yum provides */ifconfig或yum provides /sbin/ifconfig - 通配符
*让 yum 在所有路径下模糊匹配,覆盖/usr/bin/、/bin/、/sbin/等常见位置 - 如果已知大致路径(比如
ip通常在/usr/sbin/),可缩窄为yum provides /usr/sbin/ip,响应更快
yum provides 在不同系统上的行为差异
CentOS 7 / RHEL 7 默认可用;CentOS 8+ 已用 dnf 替代 yum,但命令兼容:dnf provides */ifconfig 同样有效。注意:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 某些精简镜像(如最小化安装的 CentOS)可能没装
yum-utils,导致yum provides报错Command 'provides' not found—— 此时需先运行yum install -y yum-utils - 若提示
No matches found,先确认该命令确实存在:which ifconfig或command -v ifconfig,避免查一个根本没装的命令 - 仓库元数据过期也会查不到结果,可加
--refresh强制更新缓存:yum provides --refresh */ip
查不到时的替代方案:用 rpm -qf
如果命令已经装好,且你知道它的绝对路径,rpm -qf 是更轻量、更确定的方式:
-
rpm -qf $(which ip)→ 直接返回提供该二进制文件的包名,比如iproute-5.19.0-1.el7.x86_64 - 它不依赖仓库配置或网络,只要文件存在、是 RPM 安装的,就一定能查到
- 但前提是命令已安装;对未安装的命令(比如你想提前知道装哪个包才能有
htop),还是得靠yum provides */htop
真正容易被忽略的是路径通配这个细节——很多人卡在第一步,反复试 yum provides ifconfig 却没结果,其实只差一个 */。另外,yum provides 查出来的是包名,不是命令名,别指望它返回“net-tools”这种人类友好的名字,而是类似 net-tools-2.0-0.52.git20190429.el7.x86_64 这种完整 RPM 包标识。

















