[CentOS] A newbie question about searching an installed packet

Thu Nov 8 20:02:42 UTC 2018
Kenneth Porter <shiva at sewingwitch.com>

On 11/8/2018 11:52 AM, Pierre Malard wrote:
> As write in subject, I’m a newbie about CentOS an all RedHat declines. I wrote a Shell script for ours Debians (all sort of Debian like) which verify which packets are present before running. I thought I had found an equivalent with « yum list installed | grep <packet> » command but I have sometime alerts about a lock because an other instance of « yum » is running.

Yum is a layer on top of the RPM package database. Yum manages 
dependencies and figures out which additional packages to install (or 
remove) when you want to install a new package. Yum regularly runs a 
cron job to check for updates to existing packages and that cron job 
locks the yum database. That's probably why your interactive job 
complains that it can't lock the database.

To just query what's installed, you can use the lower-level RPM 
commands. They don't require a lock on the yum database. The RPM 
database is only locked when you actually install or remove a package.

I use this to see if a package is installed:

rpm -qa | grep -i package-name

I use the same command when I can't remember the exact name and 
capitalization of a package. That's why I include the -i in the grep 
command.