如何使用YUM列出包装内容?
时间:2020-03-06 14:27:05 来源:igfitidea点击:
我知道如何使用rpm列出软件包的内容(" rpm -qpil package.rpm")。但是,这需要知道.rpm文件在文件系统上的位置。一个更优雅的解决方案是使用程序包管理器,在我的例子中是YUM。 YUM如何用于实现这一目标?
解决方案
我认为我们不能使用yum列出软件包的内容,但是如果本地系统上有.rpm文件(所有已安装软件包的情况很可能如此),则可以使用rpm命令列出该软件包的内容如下:
rpm -qlp /path/to/fileToList.rpm
如果我们没有软件包文件(.rpm),但是已经安装了软件包,请尝试以下操作:
rpm -ql packageName
Yum没有它自己的包类型。百胜经营并帮助管理RPM。因此,我们可以使用yum列出可用的RPM,然后运行rpm -qlp命令以查看该软件包的内容。
有一个名为" yum-utils"的软件包,它基于YUM构建,并包含一个名为" repoquery"的工具可以执行此操作。
$ repoquery --help | grep -E "list\ files" -l, --list list files in this package/group
合并为一个示例:
$ repoquery -l time /usr/bin/time /usr/share/doc/time-1.7 /usr/share/doc/time-1.7/COPYING /usr/share/doc/time-1.7/NEWS /usr/share/doc/time-1.7/README /usr/share/info/time.info.gz
在至少一个RH系统上,具有rpm v4.8.0,yum v3.2.29和repoquery v0.0.11,repoquery -l rpm
不会打印任何内容。
如果我们遇到此问题,请尝试添加--installed标志:repoquery --installed -l rpm。
DNF更新:
要使用dnf代替yum-utils,请使用以下命令:
$ dnf repoquery -l time /usr/bin/time /usr/share/doc/time-1.7 /usr/share/doc/time-1.7/COPYING /usr/share/doc/time-1.7/NEWS /usr/share/doc/time-1.7/README /usr/share/info/time.info.gz