DevHeads.net

A newbie question about searching an installed packet

Hi,

I’m french and literally one. So I’m not really easy with Sheakespeare language. So, accept my apologies.

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.

I don’t understand why a simple « yum list » impose that! I suppose, like with « aptitude search », it is an understanding scorie.

I’m sure there is an other way to do what I want to do: just verify if a packet is, or not, installed.

Help?

Thanks

Comments

Re: A newbie question about searching an installed pack

By Kenneth Porter at 11/08/2018 - 15:02

On 11/8/2018 11:52 AM, Pierre Malard wrote:
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.