440 lines
15 KiB
Groff
440 lines
15 KiB
Groff
.\" rpm - Red Hat Package Manager
|
|
.TH rpm 8 "15 July 1996" "Red Hat Software" "Red Hat Linux"
|
|
.SH NAME
|
|
rpm \- Red Hat Package Manager
|
|
.SH SYNOPSIS
|
|
\fBrpm\fP [options]
|
|
.SH DESCRIPTION
|
|
\fBrpm\fP is a powerful \fIpackage manager\fP, which can be used to
|
|
build, install, query, verify, update, and uninstall individual
|
|
software packages. A \fIpackage\fP consists of an archive of files,
|
|
and package information, including name, version, and description.
|
|
|
|
There are ten basic modes of operation, and each takes a different
|
|
set of options. They are \fIInstall\fP, \fIQuery\fP,
|
|
\fIVerify\fP, \fISignature check\fP, \fIUninstall\fP, \fIBuild\fP,
|
|
\fIRebuild Database\fP, \fIfix permissions\fP, \fIset owners and groups\fR,
|
|
and \fIShow RC\fP.
|
|
|
|
Install mode:
|
|
.br
|
|
.I "\fB rpm \-i [install\-options] <package_file>+\fP"
|
|
.br
|
|
Query mode:
|
|
.br
|
|
.I "\fB rpm \-q [query\-options]\fP"
|
|
.br
|
|
Verify mode:
|
|
.br
|
|
.I "\fB rpm \-V|\-y|\-\-verify [verify\-options]\fP"
|
|
.br
|
|
Signature Check mode:
|
|
.br
|
|
.I "\fB rpm \-\-checksig <package_file>+\fP"
|
|
.br
|
|
Uninstall mode:
|
|
.br
|
|
.I "\fB rpm \-e <package_name>+\fP"
|
|
.br
|
|
Build mode:
|
|
.br
|
|
.I "\fB rpm \-[b|t]\fIO\fB [build\-options] <package_spec>+\fP"
|
|
.br
|
|
Rebuild database:
|
|
.br
|
|
.I "\fB rpm \-\-rebuilddb"
|
|
.br
|
|
Fix permissions:
|
|
.br
|
|
.I "\fB rpm \-\-setperms [query\-package\-specifiers]\fP"
|
|
.br
|
|
Set owners and groups:
|
|
.br
|
|
.I "\fB rpm \-\-setugids [query\-package\-specifiers]\fP"
|
|
.br
|
|
Show RC:
|
|
.br
|
|
.I "\fB rpm \-\-showrc"
|
|
.br
|
|
|
|
.SH GENERAL OPTIONS
|
|
These options can be used in all the different modes.
|
|
.IP "\fB\-vv\fP"
|
|
Print lots of ugly debugging information.
|
|
.IP "\fB\-\-keep\-temps\fP"
|
|
Do not remove temporary files (/tmp/rpm\-*). Primarily only useful
|
|
for debugging rpm.
|
|
.IP "\fB\-\-quiet\fP"
|
|
Print as little as possible \- normally only error messages will be
|
|
displayed.
|
|
.IP "\fB\-\-help\fP"
|
|
Print a longer usage message then normal.
|
|
.IP "\fB\-\-version\fP"
|
|
Print a single line containing the version number of rpm being used.
|
|
.IP "\fB\-\-rcfile <file>\fP"
|
|
Use \fB<file>\fP instead of \fB/etc/rpmrc\fP and \fB$HOME/.rpmrc\fP.
|
|
.IP "\fB\-\-root <dir>\fP"
|
|
Use the directory given as top level directory for all operations.
|
|
|
|
.SH INSTALL OPTIONS
|
|
The general form of an rpm install command is
|
|
.PP
|
|
\fBrpm \-i [install\-options] <package_file>+\fP
|
|
.PP
|
|
The <package_file> may be specified as an ftp style URL, in which case
|
|
the package will be downloaded before being installed. See \fBFTP
|
|
OPTIONS\fP for information on RPM's built in ftp support.
|
|
.PP
|
|
.IP "\fB\-\-force\fP"
|
|
Same as using both \-\-replacepkgs, \-\-replacefiles, and
|
|
\-\-oldpackage.
|
|
.IP "\fB\-h, \-\-hash\fP"
|
|
Print 50 hash marks as the package archive is unpacked. Use
|
|
with \fB\-v\fP for a nice display.
|
|
.IP "\fB\-\-oldpackage\fP"
|
|
Allow an upgrade to replace a newer package with an older one.
|
|
.IP "\fB\-\-percent\fP"
|
|
Print percentages as files are unpacked from the package archive. This
|
|
is intended to make RPM easy to run from other tools.
|
|
.IP "\fB\-\-replacefiles\fP"
|
|
Install the packages even if they replace files from other, already
|
|
installed, packages.
|
|
.IP "\fB\-\-replacepkgs\fP"
|
|
Install the packages even if some of them are already installed on this
|
|
system.
|
|
.IP "\fB\-\-root \fI<dir>\fP"
|
|
Do the installation on the system rooted at \fI<dir>\fP. Note that
|
|
this means the database will be updated under \fI<dir>\fP and any
|
|
\fIpre\fP or \fIpost\fP scripts are run after a chroot() to \fI<dir>\fP.
|
|
.IP "\fB\-\-nodeps\fP"
|
|
Don't do a dependency check before installing the new package.
|
|
.IP "\fB\-\-noscripts\fP"
|
|
Don't execute the preinstall or postinstall scripts.
|
|
.IP "\fB\-\-excludedocs\fP"
|
|
Don't install any files which are marked as documentation (which includes
|
|
man pages and texinfo documents).
|
|
.IP "\fB\-\-includedocs\fP"
|
|
Install documentation files. This is only needed if \fIexcludedocs: 1\fP
|
|
is specified in an rpmrc file.
|
|
.IP "\fB\-\-nodeps\fP"
|
|
Don't check dependencies before installing the packages.
|
|
.IP "\fB\-\-test\fP"
|
|
Do not install the package, simply check for and report potential
|
|
conflicts.
|
|
.IP "\fB\-U, \-\-upgrade\fP"
|
|
Upgrade the package currently installed to the version in the new RPM.
|
|
This is the same as install, except all other version of the package
|
|
are removed from the system.
|
|
|
|
|
|
|
|
.SH QUERY OPTIONS
|
|
The general form of an rpm query command is
|
|
.PP
|
|
\fBrpm \-q [query\-options]\fP
|
|
.PP
|
|
You may specify the format that package information should be printed
|
|
in. To do this, you use the \fB\-\-queryformat\fP option, followed by
|
|
the format string.
|
|
|
|
Query formats are modifed versions of the standard \fBprintf(3)\fP
|
|
formatting. The format is made up of static strings (which may include
|
|
standard C character escapes for newlines, tabs, and other special
|
|
characters) and \fBprintf(3)\fP type formatters. As \fBrpm\fP
|
|
already knows the type to print, the type specifier must be
|
|
omitted however, and replaced by the name of the header tag to
|
|
be printed, enclosed by \fB{}\fP characters. The
|
|
\fBRPMTAG_\fP portion of the tag name may be omitted, and the
|
|
tag name may be preceded by a \fB\-\fP to format the tag as
|
|
a date if possible.
|
|
|
|
For example, to print only the names of the packages queried, you
|
|
could use \fB%{NAME}\fP as the format string. To print the packages
|
|
name and distribution information in two columns, you could use
|
|
\fB%\-30{NAME}%{DISTRIBUTION}\fP.
|
|
|
|
\fBrpm\fP will print a list of all of the tags it knows about when
|
|
it is invoked with the \fB\-\-querytags\fP argument.
|
|
|
|
There are two subsets of options for querying: package selection, and
|
|
information selection.
|
|
|
|
Package selection options:
|
|
.br
|
|
.IP "\fB\fI<package_name>\fP"
|
|
Query package named \fB\fI<package_name>\fP.
|
|
.IP "\fB\-a\fP"
|
|
Query all packages
|
|
.IP "\fB\-\-whatrequires \fI<capability>\fP"
|
|
Query all packages that requires \fI<capability>\fP for proper functioning.
|
|
.IP "\fB\-\-whatprovides \fI<virtual>\fP"
|
|
Query all packages that provide the \fI<virtual>\fP capability.
|
|
.IP "\fB\-f \fI<file>\fP"
|
|
Query package owning \fI<file>\fP.
|
|
.IP "\fB\-p \fI<package_file>\fP"
|
|
Query an (uninstalled) package \fI<package_file>\fP.
|
|
The <package_file> may be specified as an ftp style URL, in which case
|
|
the package header will be downloaded and queried. See \fBFTP
|
|
OPTIONS\fP for information on RPM's built in ftp support.
|
|
|
|
.P
|
|
Information selection options:
|
|
.br
|
|
.IP "\fB\-i\fP"
|
|
Display package information, including name, version, and description. This
|
|
uses the \fB\-\-queryformat\fP if one was specified.
|
|
.IP "\fB\-R\fP"
|
|
List packages this one depends on (same as \fB\-\-requires\fP).
|
|
.IP "\fB\-\-provides\fP"
|
|
List capabilities this package provides.
|
|
.IP "\fB\-l\fP"
|
|
List files in package.
|
|
.IP "\fB\-s\fP"
|
|
Display the \fIstates\fP of files in the package (implies \fB\-l\fP).
|
|
The state of each file is
|
|
either \fInormal\fP, \fInot installed\fP, or \fIreplaced\fP.
|
|
.IP "\fB\-d\fP"
|
|
List only documentation files (implies \fB\-l\fP).
|
|
.IP "\fB\-c\fP"
|
|
List only configuration files (implies \fB\-l\fP).
|
|
.IP "\fB\-\-scripts\fP"
|
|
List the package specific shell scripts that are used as part of the
|
|
installation and uninstallation processes, if there are any.
|
|
.IP "\fB\-\-dump\fP"
|
|
Dump file information as follows: path size mtime md5sum mode
|
|
owner group isconfig isdoc rdev symlink. This must be used with
|
|
at least one of \fB\-l\fP, \fB\-c\fP, \fB\-d\fP.
|
|
|
|
.SH VERIFY OPTIONS
|
|
The general form of an rpm verify command is
|
|
.PP
|
|
\fBrpm \-V|\-y|\-\-verify [verify\-options]\fP
|
|
.PP
|
|
Verifying a package compares information about the installed
|
|
files in the package with information about the files taken from the
|
|
original package and stored in the rpm database. Among other things,
|
|
verifying compares the size, MD5 sum, permissions, type, owner and group
|
|
of each file. Any discrepencies are displayed. The package specification
|
|
options are the same as for package querying.
|
|
|
|
Files that were not installed from the package, for example documentation
|
|
files excluded on installation using the "\fB\-\-excludedocs\fP" option,
|
|
will be silently ignored.
|
|
|
|
The format of the output is a string of 8 characters, a possible "\fBc\fP"
|
|
denoting a configuration file, and then the file name. Each of the 8
|
|
characters denotes the result of a comparison of one attribute of the file
|
|
to the value of that attribute recorded in the RPM database. A
|
|
single "\fB.\fP" (period) means the test passed. The following characters
|
|
denote failure of certain tests:
|
|
|
|
.IP "\fB5\fP"
|
|
MD5 sum
|
|
.IP "\fBS\fP"
|
|
File size
|
|
.IP "\fBL\fP"
|
|
Symlink
|
|
.IP "\fBT\fP"
|
|
Mtime
|
|
.IP "\fBD\fP"
|
|
Device
|
|
.IP "\fBU\fP"
|
|
User
|
|
.IP "\fBG\fP"
|
|
Group
|
|
.IP "\fBM\fP"
|
|
Mode (includes permissions and file type)
|
|
|
|
.SH SIGNATURE CHECKING
|
|
The general form of an rpm signature check command is
|
|
.PP
|
|
\fBrpm \-\-checksig <package_file>+\fP
|
|
.PP
|
|
This checks the PGP signature built into a package to ensure the integrity
|
|
and the origin of the package.
|
|
PGP configuration information is read from /etc/rpmrc.
|
|
See the section on PGP SIGNATURES for details.
|
|
|
|
.SH UNINSTALL OPTIONS
|
|
The general form of an rpm uninstall command is
|
|
.PP
|
|
\fB rpm \-e <package_name>+\fP
|
|
.PP
|
|
.IP "\fB\-\-allmatches\fP"
|
|
Remove all versions of the package which match \fI<package_name>\fR. Normally
|
|
an error is issued if \fI<package_name>\fR matches multiple packages.
|
|
.IP "\fB\-\-noscripts\fP"
|
|
Don't execute the preuninstall or postuninstall scripts.
|
|
.IP "\fB\-\-nodeps\fP"
|
|
Don't check dependencies before uninstalling the packages.
|
|
.IP "\fB\-\-test\fP"
|
|
Don't really uninstall anything, just go through the motions.
|
|
\fB\-vv\fP option.
|
|
.IP "\fB\-\-nodeps\fP"
|
|
Don't check for broken dependencies before removing the package.
|
|
|
|
.SH BUILD OPTIONS
|
|
The general form of an rpm build command is
|
|
.PP
|
|
\fBrpm \-[b|t]\fIO\fP [build\-options] <package_spec>+\fP
|
|
.PP
|
|
The argument used is \fB-b\fR if a spec file is being used to build the package
|
|
and \fB-t\fR if \fBRPM\fR should look inside of a gzipped (or compressed) tar
|
|
file for the spec file to use. After the first argument, the next argument
|
|
(\fIO\fR) specifies the stages of building and packaging to be done and
|
|
is one of:
|
|
|
|
.IP "\fB\-bp\fP"
|
|
Executes the "%prep" stage from the spec file. Normally this
|
|
involves unpacking the sources and applying any patches.
|
|
.IP "\fB\-bl\fP"
|
|
Do a "list check". The "%files" section from the spec file
|
|
is macro expanded, and checks are made to insure the files
|
|
exist.
|
|
.IP "\fB\-bc\fP"
|
|
Do the "%build" stage from the spec file (after doing the prep stage).
|
|
This generally involves the equivalent of a "make".
|
|
.IP "\fB\-bi\fP"
|
|
Do the "%install" stage from the spec file (after doing the prep
|
|
and build stages). This generally involves the equivalent of a
|
|
"make install".
|
|
.IP "\fB\-bb\fP"
|
|
Build a binary package (after doing the prep, build, and install stages).
|
|
.IP "\fB\-ba\fP"
|
|
Build binary and source packages (after doing the prep, build, and
|
|
install stages).
|
|
.PP
|
|
The following options may also be used:
|
|
.IP "\fB\-\-short\-circuit\fP"
|
|
Skip straight to specified stage (ie, skip all stages leading up
|
|
to the specified stage). Only valid with \fB\-bc\fP and \fB\-bi\fP.
|
|
.IP "\fB\-\-timecheck\fP"
|
|
Set the "timecheck" age (0 to disable). This value can also
|
|
be set in rpmrc with "timecheck:". The timecheck value expresses,
|
|
in seconds, the maximum age of a file being packaged. Warnings
|
|
will be printed for all files beyond the timecheck age.
|
|
.IP "\fB\-\-clean\fP"
|
|
Remove the build tree after the packages are made.
|
|
.IP "\fB\-\-test\fP"
|
|
Do not execute any build stages.
|
|
Useful for testing out spec files.
|
|
.IP "\fB\-\-sign\fP"
|
|
Embed a PGP signature in the package. This signature can be used
|
|
to verify the integrity and the origin of the package. See the
|
|
section on PGP SIGNATURES for /etc/rpmrc details.
|
|
|
|
.SH REBUILD AND RECOMPILE OPTIONS
|
|
|
|
There are two other ways to invoke rpm:
|
|
|
|
.I "\fBrpm \-\-recompile <source_package_file>+\fP"
|
|
|
|
.I "\fBrpm \-\-rebuild <source_package_file>+\fP"
|
|
|
|
When invoked this way, rpm installs the named source package, and does
|
|
a prep, compile and install. In addition, \fB\-\-rebuild\fP builds a new
|
|
binary package. When the build has completed, the build directory is
|
|
removed (as in \fB\-\-clean\fP) and the the sources and spec file for
|
|
the package are removed.
|
|
|
|
.SH SIGNING AN EXISTING RPM
|
|
|
|
.I "\fBrpm \-\-resign <binary_package_file>+\fP"
|
|
|
|
This option generates and inserts new signatures for the listed packages.
|
|
Any existing signatures are removed.
|
|
|
|
.SH PGP SIGNATURES
|
|
|
|
In order to use the signature feature RPM must be able to run PGP
|
|
(it must be installed and in your path), and it must be able to
|
|
find a public key ring with RPM public keys in it. By default,
|
|
RPM uses the PGP defaults to find the keyrings (honoring PGPPATH).
|
|
If your key rings are not located where PGP expects them to be,
|
|
you must set the following in your /etc/rpmrc
|
|
|
|
.IP "\fBpgp_path\fP"
|
|
Replacement path for /usr/lib/rpm. Must contain your key rings.
|
|
.PP
|
|
|
|
If you want to be able to sign packages you create yourself, you also
|
|
need to create your own public and secret key pair (see the PGP manual).
|
|
In addition to the above /etc/rpmrc entries, you should add the following:
|
|
|
|
.IP "\fBsignature\fP"
|
|
The signature type. Right now only pgp is supported.
|
|
.IP "\fBpgp_name\fP"
|
|
The name of the "user" whose key you wish to use to sign your packages.
|
|
.PP
|
|
|
|
When building packages you then add \-\-sign to the command line.
|
|
You will be prompted for your pass phrase, and your package will
|
|
be built and signed.
|
|
|
|
.SH REBUILD DATABASE OPTIONS
|
|
|
|
The general form of an rpm rebuild database command is
|
|
.PP
|
|
\fBrpm \-\-rebuilddb\fP
|
|
.PP
|
|
|
|
The only options this mode supports are \fB-\-dbpath\fP and \fB-\-root\fP.
|
|
|
|
.SH SHOWRC
|
|
|
|
Running
|
|
|
|
.PP
|
|
\fBrpm \-\-showrc\fP
|
|
|
|
.PP
|
|
shows the values RPM will use for all of the options that may be set
|
|
in \fIrpmrc\fP files.
|
|
|
|
.SH FTP OPTIONS
|
|
|
|
RPM includes a simple FTP client to simplify installing and querying packages
|
|
which are available over the internet. Package files for install, upgrade,
|
|
and query operations may be specified as an ftp style URL:
|
|
|
|
.PP
|
|
\fBftp://<user>:<password>@hostname/path/to/package.rpm\fP
|
|
.PP
|
|
If the \fB@password\fP portion is omitted, the password will be prompted
|
|
for (once per user/hostname pair). If both the user and password are
|
|
omitted, anonymous ftp is used. In all cases passive (PASV) ftp transfers are
|
|
used.
|
|
|
|
RPM allows the folowing options to be used with ftp URLs:
|
|
|
|
.IP "\fB\--ftpproxy <hostname>\fP"
|
|
The host <hostname> will be used as a proxy server for all transfers, which
|
|
allows users to ftp through firewall machines which use proxy systems. This
|
|
option may also be specified in an \fIrpmrc\fP file.
|
|
|
|
.IP "\fB\--ftpport <port>\fP"
|
|
Specifies the TCP port number to use for the ftp connection instead of
|
|
the default port.
|
|
This option may also be specified in an \fIrpmrc\fP file.
|
|
|
|
.SH FILES
|
|
.nf
|
|
/etc/rpmrc
|
|
~/.rpmrc
|
|
/var/lib/rpm/packages
|
|
/var/lib/rpm/pathidx
|
|
/var/lib/rpm/nameidx
|
|
/tmp/rpm*
|
|
.fi
|
|
.El
|
|
.SH SEE ALSO
|
|
.IR glint (8) ,
|
|
.IR rpm2cpio (8) ,
|
|
.B http://www.redhat.com/rpm
|
|
.nf
|
|
.SH AUTHORS
|
|
.nf
|
|
Marc Ewing <marc@redhat.com>
|
|
Erik Troan <ewt@redhat.com>
|
|
.fi
|