使用 rpm -qf /path/to/file 可查询文件所属的已安装包,如 rpm -qf /bin/ls 返回 coreutils-8.30-12.el8.x86_64,表明该文件属于 coreutils 包;注意文件必须存在且路径为绝对路径,若文件未安装则可用 rpm -qlp package-name.rpm 查看包内容。
在linux系统中,特别是基于RPM的发行版(如centos、RHEL、Fedora),可以通过以下方法查询某个文件属于哪个已安装的rpm包。
使用 rpm -qf 查询文件所属的包
命令格式:
rpm -qf /path/to/file
这个命令会根据文件的完整路径,反向查询其所属的软件包。
示例:
rpm -qf /bin/ls
输出可能为:
coreutils-8.30-12.el8.x86_64
说明 /bin/ls 文件属于 coreutils 这个rpm包。
注意事项
使用此命令时需注意以下几点:
- 文件必须已经存在于系统中,否则会提示“没有那个文件或目录”
- 路径必须是绝对路径,不能使用相对路径
- 如果文件是由多个包之一提供的(极少数情况),只会显示其中一个所属包
如果文件未安装,如何查询?
若你想查询某个尚未安装的rpm包会安装哪些文件,可以使用:
rpm -qlp package-name.rpm
该命令用于查看rpm包内容,适用于下载了.rpm文件但还未安装的情况。
基本上就这些。日常排查文件来源时,rpm -qf 是最直接有效的方法。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容