Regrettably, rpm does not return an exit status as do most commands (more correctly it seems to always return zero). This might be because it's too complex to simply decide "yes" or "no".
So one solution is to look at the output. We can do a compare very similar to the way you did, but checking for a string match, rather than strict equality, which can cause problems because of whitespace, among other things.
Here's an example:
Code:
#!/bin/bash -
# @(#) user1 Demonstrate rpm query.
uname -rv
bash --version
rpm --version
echo
P=${1?" must specify package name."}
rpm -qa "$P" > t1
my_size=$( wc -l < t1 )
echo " Size of report file is $my_size lines"
if [[ $( rpm -qa $P ) =~ ${P} ]]
# if [[ $( rpm -qa $P ) == *${P}* ]]
then
echo " Package $P is installed."
else
echo " Package $P not found."
fi
exit 0
Producing a success:
Code:
./user1 bash
2.6.22.17-0.1-default #1 SMP 2008/02/10 20:01:04 UTC
GNU bash, version 3.2.25(1)-release (i586-suse-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
RPM version 4.4.2
Size of report file is 1 lines
Package bash is installed.
And a failure:
Code:
./user1 junk
2.6.22.17-0.1-default #1 SMP 2008/02/10 20:01:04 UTC
GNU bash, version 3.2.25(1)-release (i586-suse-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
RPM version 4.4.2
Size of report file is 0 lines
Package junk not found.
You can look a the output from rpm on file t1. Both forms of the "if" seemed to work for me, and you can look through man bash or a tutorial to see the details on the "if" ... cheers, drl
Hey,
I've a problem installing a package. rpm -ivh brings the errors:
libjvm.so is needed by
libverify.so is needed by
But I have installed the Java SDK like requested and the files are on the disk. But I have no idea how to find out, why rpm cann't find them.
I have also... (2 Replies)
Hi,
i'm designing a unix script and i want to know if there is a shell command or a way to see if perl is installed in the system.
thanks in advance! (5 Replies)
Hi All,
I want to check if the perl DBI package is already installed my AIX unix machine. is there any command to check this? Please help.
Thanks,
Am (2 Replies)
Hi,
I have a query in linux and please find the details of it
I have a command in linux and i want to know which rpm has provided that command.
ie: if we take ifconfig command ,i want to know what is the rpm package used to get that command.
Regards
Arun.Kakarla (3 Replies)
How to make RPM not write to RPM database if RPM fails to deploy?
IE I create an rpm spec file that contains the following
if
then
exit 1
fi
My rpm will fail at deployment, but if I do rpm -qa , I can see the rpm in the rpm db (3 Replies)
Hey there,
i run 1: on my server (RHEL 6) and getting response that the libodbc is not installed. If i use yum for installation, it tells me, there is no package like this ( 2: ). Since in the description of Definiens is mentioned that the Run-time dependency is unixODBC (libodbc.so.1), I assume... (2 Replies)
Hello,
i have installed a package by using the command
sudo rpm -i filepackage.rpm
package filepackage is already installed
when i try to remove it, i get an error saying "is not installed":
sudo rpm -e filepackage.rpm
error: package filepackage is not installed
How can... (4 Replies)
i would like to package up an rpm from pre-installed files, say i have a program called "widget" installed under "/opt/widget"
/opt/widget/bin/*
/opt/widget/lib/*
/opt/widget/etc/*
/opt/widget/log/*
and i want to create an rpm from those already installed files, what would the spec file... (2 Replies)
How can I check if "Autosys" is installed on my Linux and Solaris servers ?
I prefer Autosys instead of Crontab. (4 Replies)
Discussion started by: mohtashims
4 Replies
LEARN ABOUT CENTOS
scap-as-rpm
scap-as-rpm(8) System Administration Utilities scap-as-rpm(8)NAME
scap-as-rpm - manual page for scap-as-rpm
DESCRIPTION
usage: scap-as-rpm [-h] [--pkg-name PKG_NAME] [--pkg-version PKG_VERSION]
[--pkg-release PKG_RELEASE] [--pkg-summary PKG_SUMMARY] [--pkg-license PKG_LICENSE] [--pkg-scap-location PKG_SCAP_LOCATION]
[--rpm-destination RPM_DESTINATION] [--srpm-destination SRPM_DESTINATION] FILE [FILE ...]
Takes given SCAP input(s) and makes an RPM package that contains them. The result RPM can be installed using # yum install ./pack-
age-name-1-1.rpm which will put the contents into /usr/share/xml/scap. No dependency on openscap or scapworkbench is enforced in the output
package so you can use any SCAP-capable scanner to evaluate the content.
positional arguments:
FILE List of files that should be put into the result package. These should be SCAP XML files but such requirement is not enforced.
optional arguments:
-h, --help
show this help message and exit
--pkg-name PKG_NAME
Name of the RPM package, if none is provided the basename of the first SCAP input is used. Ex.: xyzsecurity-guide
--pkg-version PKG_VERSION
--pkg-release PKG_RELEASE
--pkg-summary PKG_SUMMARY
Optional short description of the package.
--pkg-license PKG_LICENSE
Short name of the license that you want to publish the package under. Ex.: GPLv2+, BSD, ...
--pkg-scap-location PKG_SCAP_LOCATION
Folder where SCAP files are supposed to be installed. Each package will have its own folder inside this folder. RPM variables can
be used and will be expanded as usual. It is recommended to keep the default settings.
--rpm-destination RPM_DESTINATION
The folder (absolute or relative to CWD) where the result RPM shall be saved.
--srpm-destination SRPM_DESTINATION
The folder (absolute or relative to CWD) where the result SRPM shall be saved.
scap-as-rpm November 2013 scap-as-rpm(8)