πŸ“¦ How to check the provider of installed RPM packages on Linux

We recently learned:

🐧 How to list installed packages on Linux

This is a quick guide to checking the installed RPM provider on your system.

In some scenarios, a custom rpm package may not be compatible or supported on a particular system or environment.

This guide will help you identify the vendor of rpm packages that are third party or not from the OS vendor.

List of RPM Package Vendor Information

To list all rpm’s with vendor information, use the –query format (–of) parameter.

# rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH} %{VENDOR}n'

Output example:

# 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 of third party or non-native packages

To list all packages that are not provided by CentOS, run the following command:

# rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH} %{VENDOR}n" | awk '{if($2!="CentOS") print$0;}'

Sample output from a CentOS 8 server:

# 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 information

If you would like to know more about a specific rpm package!

1.request installed rpm

# rpm -qi [rpm_name]

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 Buildsys <[email protected]>
Vendor      : 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.</[email protected]>

2.query for a package that exists in the specified location:

# rpm -qpi [rpm_with_absolute_path]

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 Buildsys <[email protected]>
Vendor      : CentOS
URL         : http://web.archive.org/web/20070819111735/www.hcs.harvard.edu/~dholland/computers/old-netkit.html
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</[email protected]>

See also:

πŸ“¦ How to display the contents of a Linux package

Sidebar