提供文件的rpm


11

列出哪些rpm可以提供特定文件的命令是什么:提供已安装文件的rpm或可以提供未安装文件的rpm?

Answers:


10

对于已经安装的文件/软件包:

[jb @ smokey〜] $ rpm -qf / etc / sudoers
sudo-1.6.9p13-8.fc9.x86_64

对于尚未安装的文件和软件包:

[jb @ smokey〜] $ yum提供了“ / etc / sudoers”
sudo-1.6.9p13-8.fc9.x86_64:允许指定用户的受限root用户访问
回购:updates-newkey
来自:
文件名:/ etc / sudoers  

sudo-1.6.9p13-4.fc9.x86_64:允许指定用户的受限root用户访问
回购:软呢帽
来自:
文件名:/ etc / sudoers

sudo-1.6.9p13-8.fc9.x86_64:允许指定用户的受限root用户访问
回购:已安装
来自:
其他:提供匹配项:/ etc / sudoers

请注意,“ yum whatprovides”是模式匹配,因此,如果不确定要查找的文件在目录结构中的哪个位置,只需用引号和星号将其包围:

百胜提供“ * foo *”

同样,如果您确定要查找的是二进制文件,则可以执行以下操作:

百胜提供“ * bin / foo”

5

我不知道尚未安装的文件,但是对于已经安装的文件,可以使用rpm -qif:

rpm -qif / bin / ls
名称:coreutils重定位:(不可重定位)
版本:5.97供应商:Red Hat,Inc.
发行:23.el5建立日期:2009年7月13日星期一
安装日期:2009年9月11日星期五上午MDT构建主机: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. 
网址:
摘要: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建立日期:MDT 2006年8月8日星期二12:10:03
安装日期:(未安装)构建主机:hs20-bc1-6.build.redhat.com
组:开发/库/ Java源RPM:jzlib-1.0.7-4jpp.1.src.rpm
大小:280436许可:BSD风格
签名:DSA / SHA1,2007年1月18日星期四,美国标准时间上午8:49:50,密钥ID 5326810137017186
打包者:Red Hat,Inc. 
网址: 
简介:纯Java中JZlib的JZlib重新实现
说明:
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”。


2

在基于yum的存储库中,您可以尝试类似 yum provides */filename


1

afaik,纯转速是不可能的。rpm仅针对带有option的已安装软件包提供此功能--whatprovides

当您可以使用yum时,请尝试yum provides <filename>在存储库中搜索。


1

如果您不想(或不能)使用yum(例如在脱机计算机上),则可以通过以下方式在未安装的RPM中进行搜索:

# rpm -qp --filesbypkg *rpms-to-search-in* | grep *file-to-search-for*

这可能会花费一些时间,因此在大型存储库(例如,安装DVD)上的* .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”字符串中显而易见)。


-3

恐怕我不确定如何使用RPMS,但是对于Debian和Ubuntu,您可以使用该程序 apt-file

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.