我来介绍几种在 RPM 系统中查找文件所属包的方法:

  1. 对于已安装的文件,使用 rpm -qf 命令:

    rpm -qf /path/to/file
  2. 使用 dnf provides 命令(适用于已安装或未安装的文件):

    dnf provides /path/to/file
  3. 使用 yum provides 命令(与 dnf provides 类似):

    yum provides /path/to/file

举个实际例子:

# 比如要查找 ls 命令属于哪个包
rpm -qf /bin/ls
# 输出: coreutils-8.32-30.el9.x86_64

# 或者使用 dnf
dnf provides /bin/ls

几点说明:

  • rpm -qf 只能查询已经安装的文件
  • dnf providesyum provides 可以查询未安装的文件
  • 如果不确定文件的完整路径,可以使用通配符,如:

    dnf provides */ls

这些命令在系统维护和故障排查时非常有用,特别是当需要知道某个文件来自哪个软件包时。

最后修改:2024 年 11 月 23 日
如果觉得我的文章对你有用,请随意赞赏