列出哪些rpms可以提供特定文件的命令是什么:提供已安装文件的rpm或可提供未安装文件的rpms?
对于已经安装的文件/包:
[jb @ smokey〜] $ rpm -qf / etc / sudoers 须藤-1.6.9p13-8.fc9.x86_64
对于尚未安装的文件和软件包:
[jb @ smokey〜] $ yum whatprovides“/ etc / sudoers” sudo-1.6.9p13-8.fc9.x86_64:允许指定用户有限的访问权限 回购:更新 - 新密钥 匹配从: 文件名:/ etc / sudoers sudo-1.6.9p13-4.fc9.x86_64:允许指定用户使用受限制的根访问权限 回购:fedora 匹配从: 文件名:/ etc / sudoers sudo-1.6.9p13-8.fc9.x86_64:允许指定用户有限的访问权限 回购:已安装 匹配从: 其他:提供匹配:/ etc / sudoers
请注意,“yum whatprovides”是模式匹配,所以如果您不确定您要查找的文件在目录结构中的位置,请使用引号和星号来包围它:
yum whatprovides“* foo *”
同样,如果你确定你正在寻找的是一个二进制文件,你可以这样做:
yum whatprovides“* bin / foo”
我不知道已经安装的文件,但是对于已经安装的文件,您可以使用rpm -qif:
rpm -qif / bin / ls 名称:coreutils重定位:(不可重定位) 版本:5.97销售商:Red Hat,Inc. 版本:23.el5版本date:Mon 13 Jul 2009 04:21:27 MDT 安装date:星期五2009年九月11日04:46:01 MDTbuild设主机:hs20-bc1-7.build.redhat.com 组:系统环境/基础源RPM:coreutils-5.97-23.el5.src.rpm 大小:9053874授权方式:GPLv2 + 签名:DSA / SHA1,2009年7月28日星期二03:42:40 MDT,密钥ID 5326810137017186 打包商:Red Hat,Inc. URL: 简介:GNU核心实用程序:shell脚本中常用的一组工具 说明: 这些是GNU核心实用程序。 这个包是组合的 旧的GNU fileutils,sh-utils和textutils软件包。
如果您已经下载了RPM,则可以查询以查看要安装的内容:
rpm -qilp ./Server/jzlib-1.0.7-4jpp.1.i386.rpm 警告:./Server/jzlib-1.0.7-4jpp.1.i386.rpm:标题V3 DSA签名:NOKEY,密钥ID 37017186 名称:jzlib重定位:(不可重定位) 版本:1.0.7销售商:Red Hat,Inc. 发布:4jpp.1构builddate:星期二08八月2006 12:10:03 PM MDT 安装date:(未安装)生成主机:hs20-bc1-6.build.redhat.com 组:开发/库/ Java源代码RPM:jzlib-1.0.7-4jpp.1.src.rpm 大小:280436许可证:BSD风格 签名:DSA / SHA1,星期四18一月08 08:49:50 MST,密钥ID 5326810137017186 打包商:Red Hat,Inc. URL: 简介:JZlib在纯Java中重新实现zlib 说明: zlib旨在成为一个自由的,通用的,法律上不受阻碍的 - 也就是说,没有被任何专利所覆盖 - 无损数据压缩 库,几乎可以在任何计算机硬件和操作系统上使用。 zlib由Jean-loup Gailly(压缩)和Mark Adler编写 (减压)。 /usr/lib/gcj/jzlib/jzlib-1.0.7.jar.db /usr/lib/gcj/jzlib/jzlib-1.0.7.jar.so /usr/share/doc/jzlib-1.0.7 /usr/share/doc/jzlib-1.0.7/LICENSE.txt /usr/share/java/jzlib-1.0.7.jar /usr/share/java/jzlib.jar
如果您不在乎所有关于RPM的信息,您可以从选项中省略“-i”。
在基于yum的仓库中,你可以尝试像yum provides */filename这样的东西
afaik,纯转速是不可能的。 rpm只提供了这个选项 – --whatprovides安装的软件包。
当你可以使用yum时,尝试yum provides <filename>来在存储库中search。
如果您不想(或不能)使用yum(例如,在离线机器上),您可以通过执行内部search未安装的RPM
# rpm -qp --filesbypkg *rpms-to-search-in* | grep *file-to-search-for*
这可能需要一些时间,因此在大型存储库(例如安装DVD)中search* .rpm时要耐心等待。 但是,与“-qpl”不同,“-qp –filesbypkg”将列出文件和它所属的RPM,例如:
# rpm -qpl p*.rpm|grep libpq.so.4 /usr/lib/libpq.so.4 /usr/lib64/libpq.so.4 # rpm -qp --filesbypkg p*.rpm|grep libpq.so.4 postgresql-libs /usr/lib/libpq.so.4 postgresql-libs /usr/lib64/libpq.so.4
在这种情况下,明显的重复是由于存在i386和x86_64包(从“lib64”string中显而易见)。
恐怕我不知道如何用RPMS来做,但是在Debian和Ubuntu中,你可以使用apt-file程序