我来介绍几种在 RPM 系统中查找文件所属包的方法:
对于已安装的文件,使用
rpm -qf
命令:rpm -qf /path/to/file
使用
dnf provides
命令(适用于已安装或未安装的文件):dnf provides /path/to/file
使用
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 provides
和yum provides
可以查询未安装的文件如果不确定文件的完整路径,可以使用通配符,如:
dnf provides */ls
这些命令在系统维护和故障排查时非常有用,特别是当需要知道某个文件来自哪个软件包时。