This is a quick how-to post on checking the vendor of the installed rpms on a system. In some scenarios, a custom rpm package may not be compatible or supported on the specific system or environment. This post will help you identify the vendor of rpm which are either thrid party or not native to the OS provider.
List vendor information of RPMs
To List all the rpm with the vendor infromation, use the –queryformat(–qf) option.
# rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH} %{VENDOR}\n'
Example output:
[root@geeklab ~]# rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH} %{VENDOR}\n' python3-pyparted-3.11.0-13.el8.x86_64 CentOS python3-gobject-base-3.28.3-1.el8.x86_64 CentOS libvirt-daemon-driver-secret-4.5.0-42.module_el8.2.0+320+13f867d7.x86_64 CentOS gnome-screenshot-3.26.0-3.el8.x86_64 CentOS fontpackages-filesystem-1.44-22.el8.noarch CentOS libevdev-1.8.0-1.el8.x86_64 CentOS cronie-1.5.2-4.el8.x86_64 CentOS lua-json-1.3.2-9.el8.noarch CentOS mesa-libglapi-19.3.4-2.el8.x86_64 CentOS baobab-3.28.0-4.el8.x86_64 CentOS xkeyboard-config-2.28-1.el8.noarch CentOS ...
List 3rd Party or non-native Packages
To list all package which are not provided by CentOS, run the following command:
# rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} %{VENDOR}\n" | awk '{if($2!="CentOS") print$0;}'
Example output from a CentOS 8 server:
[root@geeklab ~]# rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} %{VENDOR}\n" | awk '{if($2!="CentOS") print$0;}' gpg-pubkey-8483c65d-5ccc5b19-(none) (none) amazon-ssm-agent-2.3.1644.0-1-x86_64 Amazon.com gpg-pubkey-6963f07f-57fad2ec-(none) (none)
More info
If you want to learn more of the specific rpm package, it could be help by checking the package info:
1. query the installed rpm
# rpm -qi [rpm_name]
For example:
# rpm -qi tree Name : tree Version : 1.7.0 Release : 15.el8 Architecture: x86_64 Install Date: Thu 27 Aug 2020 05:24:23 PM UTC Group : Unspecified Size : 111603 License : GPLv2+ Signature : RSA/SHA256, Tue 02 Jul 2019 01:53:45 AM UTC, Key ID 05b555b38483c65d Source RPM : tree-1.7.0-15.el8.src.rpm Build Date : Sat 11 May 2019 03:54:52 PM UTC Build Host : x86-01.mbox.centos.org Relocations : (not relocatable) Packager : CentOS BuildsysVendor : CentOS URL : http://mama.indstate.edu/users/ice/tree/ Summary : File system tree viewer Description : The tree utility recursively displays the contents of directories in a tree-like format. Tree is basically a UNIX port of the DOS tree utility.
2. query a package which exist on the specified location:
# rpm -qpi [rpm_with_absolute_path]
For example:
# rpm -qpi /tmp/telnet-0.17-73.el8_1.1.x86_64.rpm Name : telnet Epoch : 1 Version : 0.17 Release : 73.el8_1.1 Architecture: x86_64 Install Date: (not installed) Group : Applications/Internet Size : 156776 License : BSD Signature : RSA/SHA256, Mon 13 Apr 2020 06:13:23 PM UTC, Key ID 05b555b38483c65d Source RPM : telnet-0.17-73.el8_1.1.src.rpm Build Date : Mon 13 Apr 2020 05:58:20 PM UTC Build Host : x86-01.mbox.centos.org Relocations : (not relocatable) Packager : CentOS BuildsysVendor : CentOS URL : example.com Summary : The client program for the Telnet remote login protocol Description : Telnet is a popular protocol for logging into remote systems over the Internet. The package provides a command line Telnet client