Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
linux:rpm [2006/10/25 23:28]
a created
linux:rpm [2010/12/12 11:46] (current)
a
Line 1: Line 1:
 +===== Useful command list =====
 +
 **To install a package (i=install v=verbose h=show hash marks):** **To install a package (i=install v=verbose h=show hash marks):**
    rpm -ivh package.rpm    rpm -ivh package.rpm
Line 19: Line 21:
 **To see what package owns a file:** **To see what package owns a file:**
    rpm -qf filename    rpm -qf filename
 +
 +example:
 +
 +   # rpm -qf /usr/bin/free
 +     procps-3.2.8-14.fc14.x86_64
 +
 +alternative with yum
 +
 +   # yum search deallocvt
 +   Warning: No matches found for: deallocvt
 +   No Matches found
 +
 +This is where yum's whatprovides (provides works in recent yum versions) command works really well:
 +
 +   # yum whatprovides */deallocvt
 +   kbd-1.15-11.fc14.x86_64 : Tools for configuring the console
 +   Repo        : fedora
 +   Matched from:
 +   Filename    : /usr/bin/deallocvt
 +
 **To rebuild the RPM database:** **To rebuild the RPM database:**
    rpm --rebuilddb    rpm --rebuilddb
Line 29: Line 51:
 **Mass uninstall of packages that match a pattern:** **Mass uninstall of packages that match a pattern:**
    rpm -qa | grep pattern | xargs rpm -e     rpm -qa | grep pattern | xargs rpm -e 
 +
 +**How to extract contents of an RPM package**
 +   rpm2cpio package.rpm | cpio -dimv
 +
 +As the name implies, rpm2cpio takes an RPM package file and converts it to a cpio archive. The -i flag to the cpio command indicates that cpio is reading in the archive to extract files, and the -d flag tells cpio to construct directories as necessary. The -v flag tells cpio to list file names as files are extracted, and the -m flag tells cpio to retain previous file modification times when creating files.
 +
 +===== Building a dummy/empty RPM =====
 +
 +To create such a fake RPM file, first ensure that you have the rpm-build package installed. Then, save this text somewhere as
 +''dummy.spec'':
 +
 +   Summary: Dummy Package to provide tomcat5
 +   Name: dummy-tomcat
 +   Version: 1.0
 +   Release: 1
 +   Group: System Environment/Base
 +   License: Beerware
 +   BuildArch: noarch
 +   Provides: tomcat5, tomcat5-admin-webapps
 +   
 +   %description
 +   
 +   This meta-package fools other packages to think you have tomcat5 installed
 +   
 +   %files
 +   
 +Now, run the command: **rpmbuild -bb dummy.spec**
 +
 +It will create a dummy-1.0-1.noarch.rpm which when installed, will
 +provide tomcat5 (assuming your software looks at the provides list
 +rather than the name list).
 +
 +
linux/rpm.1161811691.txt.gz ยท Last modified: 2009/05/25 00:34 (external edit)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 ipv6 ready