Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

rpm2(3) [redhat man page]

RPM2(3) 						User Contributed Perl Documentation						   RPM2(3)

NAME
RPM2 - Perl bindings for the RPM Package Manager API SYNOPSIS
use RPM2; my $db = RPM2->open_rpm_db(); my $i = $db->find_all_iter(); print "The following packages are installed (aka, 'rpm -qa'): "; while (my $pkg = $i->next) { print $pkg->as_nvre, " "; } $i = $db->find_by_name_iter("kernel"); print "The following kernels are installed (aka, 'rpm -q kernel'): "; while (my $pkg = $i->next) { print $pkg->as_nvre, " ", int($pkg->size()/1024), "k "; } $i = $db->find_by_provides_iter("kernel"); print "The following packages provide 'kernel' (aka, 'rpm -q --whatprovides kernel'): "; while (my $pkg = $i->next) { print $pkg->as_nvre, " ", int($pkg->size()/1024), "k "; } print "The following packages are installed (aka, 'rpm -qa' once more): "; foreach my $pkg ($db->find_by_file("/bin/sh")) { print $pkg->as_nvre, " "; } my $pkg = RPM2->open_package("/tmp/XFree86-4.1.0-15.src.rpm"); print "Package opened: ", $pkg->as_nvre(), ", is source: ", $pkg->is_source_package, " "; DESCRIPTION
The RPM2 module provides an object-oriented interface to querying both the installed RPM database as well as files on the filesystem. CLASS METHODS
Pretty much all use of the class starts here. There are two main entrypoints into the package -- either through the database of installed rpms (aka the rpmdb) or through a file on the filesystem (such as kernel-2.4.9-31.src.rpm or kernel-2.4.9-31.i386.rpm You can have multiple RPM databases open at once, as well as running multiple queries on each. open_rpm_db(-path => "/path/to/db") As it sounds, it opens the RPM database, and returns it as an object. open_package("foo-1.1-14.noarch.rpm") Opens a specific package (RPM or SRPM). Returns a Header object. RPM DB object methods find_all_iter() Returns an iterator object that iterates over the entire database. find_all() Returns an list of all of the results of the find_all_iter() method. find_by_file_iter($filename) Returns an iterator that returns all packages that contain a given file. find_by_file($filename) Ditto, except it just returns the list find_by_name_iter($package_name) You get the idea. This one is for iterating by package name. find_by_name($package_name) Ditto, except it returns a list. find_by_provides_iter($provides_string) This one iterates over provides. find_by_provides($provides_string) Ditto, except it returns a list. find_by_requires_iter($requires_string) This one iterates over requires. find_by_requires($requires_string) Ditto, except it returns a list. RPM Header object methods stuff goes here TODO
Package installation and removal. Signature validation. HISTORY
0.01 Initial release AUTHOR
Chip Turner <cturner@redhat.com> SEE ALSO
perl. The original RPM module. perl v5.8.0 2002-11-08 RPM2(3)

Check Out this Related Man Page

PMDARPM(1)						      General Commands Manual							PMDARPM(1)

NAME
pmdarpm - RPM packages performance metrics domain agent (PMDA) SYNOPSIS
$PCP_PMDAS_DIR/rpm/pmdarpm [-C] [-d domain] [-l logfile] [-r path] [-U username] DESCRIPTION
pmdarpm is a Performance Metrics Domain Agent (PMDA) which extracts performance metrics reflecting the state of the RPM package database managed by rpm(1). The rpm PMDA exports metrics that describe each package installed on a system, as well as some cumulative totals. When the RPM database changes the PMDA automatically detects this and uses a background thread to asynchronously refresh its values. A brief description of the pmdarpm command line options follows: -C Verify the package iteration code by scanning the RPM database once, then exiting. Only useful for problem diagnosis and testing. -d It is absolutely crucial that the performance metrics domain number specified here is unique and consistent. That is, domain should be different for every PMDA on the one host, and the same domain number should be used for the same PMDA on all hosts. -l Location of the log file. By default, a log file named rpm.log is written in the current directory of pmcd(1) when pmdarpm is started, i.e. $PCP_LOG_DIR/pmcd. If the log file cannot be created or is not writable, output is written to the standard error instead. -r Specify an alternate path to the RPM database (default is /var/lib/rpm/Packages). -U User account under which to run the agent. The default is the unprivileged "pcp" account. INSTALLATION
If you want access to the names, help text and values for the rpm performance metrics, do the following as root: # cd $PCP_PMDAS_DIR/rpm # ./Install If you want to undo the installation, do the following as root: # cd $PCP_PMDAS_DIR/rpm # ./Remove pmdarpm is launched by pmcd(1) and should never be executed directly. The Install and Remove scripts notify pmcd(1) when the agent is installed or removed. FILES
$PCP_PMCDCONF_PATH command line options used to launch pmdarpm $PCP_PMDAS_DIR/rpm/help default help text file for the rpm metrics $PCP_PMDAS_DIR/rpm/Install installation script for the pmdarpm agent $PCP_PMDAS_DIR/rpm/Remove undo installation script for the pmdarpm agent $PCP_LOG_DIR/pmcd/rpm.log default log file for error messages and other information from pmdarpm PCP ENVIRONMENT
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configura- tion file, as described in pcp.conf(5). SEE ALSO
PCPIntro(1), pmcd(1), pcp.conf(5) and pcp.env(5). Performance Co-Pilot PCP PMDARPM(1)
Man Page