EL7
这应该等效于yum list installed
,但具有机器可读的输出:
repoquery --installed '*' --queryformat='%{name} %{evr} %{ui_from_repo}' | column -t
显然,制作一个列出可能字段的手册页太麻烦了;但是您可以查看https://github.com/rpm-software-management/yum/blob/master/yum/packages.py并使用您要列出的对象类的任何属性。
例如,如果您要列出已安装的包,则可以使用 的字段YumInstalledPackage
,因此可以使用其基类YumHeaderPackage
、YumAvailablePackage
和PackageObject
的字段RpmBase
。
这是一个例子:
$ repoquery --installed '*' --qf='%{name} %{evr} %{ui_from_repo}' | head -n 10 | column -t
GeoIP 1.5.0-14.el7 @rhos-13.0-rhel-7-signed
MySQL-python 1.2.5-1.el7 @rhos-13.0-rhel-7-signed
NetworkManager 1:1.18.0-5.el7 @anaconda/7.7
NetworkManager-config-server 1:1.18.0-5.el7 @anaconda/7.7
NetworkManager-libnm 1:1.18.0-5.el7 @anaconda/7.7
NetworkManager-team 1:1.18.0-5.el7 @anaconda/7.7
NetworkManager-tui 1:1.18.0-5.el7 @anaconda/7.7
OpenIPMI 2.0.27-1.el7 @rhos-13.0-rhel-7-signed
OpenIPMI-libs 2.0.27-1.el7 @rhos-13.0-rhel-7-signed
OpenIPMI-modalias 2.0.27-1.el7 @rhos-13.0-rhel-7-signed
值得阅读记录属性的注释,ui_from_repo
以了解该字段的可能格式。
EL8
我发现添加--installed
导致 的值ui_from_repo
变为@System
. 但是有一个from_repo
领域似乎有效。
(事实证明可以使用 输出有效字段dnf repoquery --querytags
)。
$ dnf repoquery --installed '*' --qf='%{name} %{evr} %{from_repo}' | head -n 10 | column -t
389-ds-base 1.4.3.16-19.module+el8.4.0+11894+f5bb5c43 rhel-8-for-x86_64-appstream-rpms
389-ds-base-libs 1.4.3.16-19.module+el8.4.0+11894+f5bb5c43 rhel-8-for-x86_64-appstream-rpms
NetworkManager 1:1.30.0-10.el8_4 rhel-8-for-x86_64-baseos-rpms
NetworkManager-libnm 1:1.30.0-10.el8_4 rhel-8-for-x86_64-baseos-rpms
NetworkManager-team 1:1.30.0-10.el8_4 rhel-8-for-x86_64-baseos-rpms
NetworkManager-tui 1:1.30.0-10.el8_4 rhel-8-for-x86_64-baseos-rpms
PackageKit 1.1.12-6.el8 rhel-8-for-x86_64-appstream-rpms
PackageKit-glib 1.1.12-6.el8 rhel-8-for-x86_64-appstream-rpms
abattis-cantarell-fonts 0.0.25-6.el8 rhel-8-for-x86_64-appstream-rpms