Difference between revisions of "RPM Commands"

From Free Knowledge Base- The DUCK Project: information for everyone
Jump to: navigation, search
m
m
Line 11: Line 11:
 
RPM is an acronym for Red Hat Package Manger.  It was developed by Redhat and is now  
 
RPM is an acronym for Red Hat Package Manger.  It was developed by Redhat and is now  
 
being used by many Linux distributions.   
 
being used by many Linux distributions.   
 +
 +
== QUICK COMMAND REFERENCE ==
  
 
Get a list of all RPM packages installed on system:
 
Get a list of all RPM packages installed on system:

Revision as of 18:44, 31 May 2007

REDHAT _ _ _ _ _ _ _ _ _ _ _
 _     ___ _   _ _   ___  __
| |   |_ _| \ | | | | \ \/ /
| |    | ||  \| | | | |\  / 
| |___ | || |\  | |_| |/  \ 
|_____|___|_| \_|\___//_/\_\ 

RPM COMMANDS
..............................................................................

RPM is an acronym for Red Hat Package Manger. It was developed by Redhat and is now being used by many Linux distributions.

QUICK COMMAND REFERENCE

Get a list of all RPM packages installed on system:

rpm -qa

Looking for a specific package or group of packages? Use grep:

rpm -qa|grep up2date

Remove an unwanted rpm package from the system:

rpm -e up2date-gnome-2.8.39-1.7.2

Forcing removal can be done by saying "don't do dependency check"

rpm -e --nodeps packagename

What's necessary or required for this package:

rpm -qR vim-minimal-6.1-18.8x.1.i386.rpm

Install a package:

rpm -i vim-minimal-6.1-18.8x.1.i386.rpm

Install with status and information:

rpm -ihvv --percent vim-minimal-6.1-18.8x.1.i386.rpm

List files in rpm package when the rpm has not been installed

rpm -qpl vim-minimal-6.1-18.8x.1.i386.rpm

Rebuild RPM database:

(solves "rpmdb: unable to join the environment" problem)
rpm --rebuilddb

Upgrade/Freshen

Using the freshen option is the same as upgrade except the package will only be upgraded if a previous version is installed. Upgrade will install the package even if a previous version does not exist.
rpm -F packagename.rpm
rpm -U packagename.rpm


RPM MANIPULATION

All of these apps will convert rpm files to tar.gz files.

rpm2targz, rpm2tgz, rpm2cpio, alien, etc.

Extract a single file from rpm package without installing entire package

First use rpm -qpl <packagename>|grep <filename> to determine the path to which the file will be installed. Now use rpm2cpio

rpm2cpio <packagename> | cpio -ivd ./path/<filename>

The period will create the path and place <filename> within that structure under whatever directory you are currently in.

example:

find the dovecot init script in dovecot-0.99.14-1.1.el3.rf.i386.rpm)
 rpm -qpl dovecot-0.99.14-1.1.el3.rf.i386.rpm  |grep init

(looks like the path is /etc/rc.d/init.d/dovecot)

 rpm2cpio dovecot-0.99.14-1.1.el3.rf.i386.rpm | cpio -ivd ./etc/rc.d/init.d/dovecot

(created a ./etc/.... inside of the directory I am in: relative to pwd)

rpm2cpio turns an RPM into a standard CPIO archive that you can extract certain files from with the cpio command.

rpm2cpio package | cpio -iv --make-directories full-path

You may also convert the rpm to a cpio archive

rpm2cpio package > cpio-archive-file

If you want to remove a list of RPMs without typing each on separately, you can use the xargs command with rpm.

 rpm -qa | grep xine