1996-01-11 01:03:08 +08:00
|
|
|
.\" rpm - Red Hat Package Manager
|
1996-07-16 11:52:27 +08:00
|
|
|
.TH rpm 8 "15 July 1996" "Red Hat Software" "Red Hat Linux"
|
1996-01-11 01:03:08 +08:00
|
|
|
.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.
|
|
|
|
|
1996-09-17 06:36:57 +08:00
|
|
|
There are seven basic modes of operation, and each takes a different
|
1996-07-17 00:11:37 +08:00
|
|
|
set of options. They are \fIInstall\fP, \fIQuery\fP,
|
1996-09-17 06:36:57 +08:00
|
|
|
\fIVerify\fP, \fISignature check\fP, \fIUninstall\fP, \fIBuild\fP,
|
|
|
|
and \fIRebuild Database\fP.
|
1996-01-11 01:03:08 +08:00
|
|
|
|
1996-07-16 11:52:27 +08:00
|
|
|
Install mode:
|
1996-01-11 01:03:08 +08:00
|
|
|
.br
|
1996-07-16 11:52:27 +08:00
|
|
|
.I "\fB rpm \-i [install\-options] <package_file>+\fP"
|
1996-02-26 06:22:58 +08:00
|
|
|
.br
|
1996-07-16 11:52:27 +08:00
|
|
|
Query mode:
|
1996-01-11 01:03:08 +08:00
|
|
|
.br
|
1996-07-16 11:52:27 +08:00
|
|
|
.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"
|
1996-07-17 02:45:52 +08:00
|
|
|
.br
|
1996-07-17 00:11:37 +08:00
|
|
|
Build mode:
|
|
|
|
.br
|
|
|
|
.I "\fB rpm \-b\fIO\fB [build\-options] <package_spec>+\fP"
|
|
|
|
.br
|
1996-07-16 11:52:27 +08:00
|
|
|
|
|
|
|
.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.
|
|
|
|
|
1996-01-11 01:03:08 +08:00
|
|
|
.SH INSTALL OPTIONS
|
1996-07-17 00:11:37 +08:00
|
|
|
The general form of an rpm install command is
|
|
|
|
.PP
|
|
|
|
\fBrpm \-i [install\-options] <package_file>+\fP
|
|
|
|
.PP
|
1996-02-26 06:22:58 +08:00
|
|
|
.IP "\fB\-\-force\fP"
|
|
|
|
Same as using both \-\-replacepkgs, \-\-replacefiles, and
|
|
|
|
\-\-oldpackage.
|
1996-01-11 01:03:08 +08:00
|
|
|
.IP "\fB\-h, \-\-hash\fP"
|
|
|
|
Print 50 hash marks as the package archive is unpacked. Use
|
|
|
|
with \fB\-v\fP for a nice display.
|
1996-02-26 06:22:58 +08:00
|
|
|
.IP "\fB\-\-oldpackage\fP"
|
|
|
|
Allow an upgrade to replace a newer package with an older one.
|
1996-01-11 01:03:08 +08:00
|
|
|
.IP "\fB\-\-percent\fP"
|
1996-02-26 06:22:58 +08:00
|
|
|
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.
|
1996-01-11 01:03:08 +08:00
|
|
|
.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.
|
1996-04-16 06:16:27 +08:00
|
|
|
.IP "\fB\-\-noscripts\fP"
|
|
|
|
Don't execute the preinstall or postinstall scripts.
|
1996-03-30 12:01:09 +08:00
|
|
|
.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.
|
1996-06-11 01:42:38 +08:00
|
|
|
.IP "\fB\-\-nodeps\fP"
|
|
|
|
Don't check dependencies before installing the packages.
|
1996-02-26 06:22:58 +08:00
|
|
|
.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.
|
1996-01-11 01:03:08 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.SH QUERY OPTIONS
|
1996-07-17 00:11:37 +08:00
|
|
|
The general form of an rpm query command is
|
|
|
|
.PP
|
|
|
|
\fBrpm \-q [query\-options]\fP
|
|
|
|
.PP
|
1996-06-25 22:59:20 +08:00
|
|
|
You may specify the format that package information should be printed
|
1996-06-25 23:09:03 +08:00
|
|
|
in. To do this, you use the \fB\-\-queryformat\fP option, followed by
|
1996-04-03 11:31:38 +08:00
|
|
|
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
|
1996-06-25 22:59:20 +08:00
|
|
|
characters) and \fBprintf(3)\fP type formatters. As \fBrpm\fP
|
1996-04-03 11:31:38 +08:00
|
|
|
already knows the type to print, the type specifier must be
|
|
|
|
omitted however, and replaced by the name of the header tag to
|
1996-06-25 22:59:20 +08:00
|
|
|
be printed, enclosed by \fB{}\fP characters. The
|
1996-04-03 11:31:38 +08:00
|
|
|
\fBRPMTAG_\fP portion of the tag name may be omitted, and the
|
1996-06-25 23:09:03 +08:00
|
|
|
tag name may be preceded by a \fB\-\fP to format the tag as
|
1996-04-03 11:31:38 +08:00
|
|
|
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
|
1996-06-25 23:09:03 +08:00
|
|
|
\fB%\-30{NAME}%{DISTRIBUTION}\fP.
|
1996-04-03 11:31:38 +08:00
|
|
|
|
|
|
|
\fBrpm\fP will print a list of all of the tags it knows about when
|
1996-06-25 23:09:03 +08:00
|
|
|
it is invoked with the \fB\-\-querytags\fP argument.
|
1996-04-03 11:31:38 +08:00
|
|
|
|
|
|
|
There are two subsets of options for querying: package selection, and
|
1996-01-11 01:03:08 +08:00
|
|
|
information selection.
|
|
|
|
|
|
|
|
Package selection options:
|
|
|
|
.br
|
|
|
|
.IP "\fB\fI<package_name>\fP"
|
1996-06-21 06:28:02 +08:00
|
|
|
Query package named \fB\fI<package_name>\fP.
|
1996-01-11 01:03:08 +08:00
|
|
|
.IP "\fB\-a\fP"
|
|
|
|
Query all packages
|
1996-06-21 06:28:02 +08:00
|
|
|
.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.
|
1996-01-11 01:03:08 +08:00
|
|
|
.IP "\fB\-f \fI<file>\fP"
|
|
|
|
Query package owning \fI<file>\fP.
|
|
|
|
.IP "\fB\-F\fP"
|
|
|
|
Like \fB\-f\fP but read file names from stdin.
|
|
|
|
.IP "\fB\-p \fI<package_file>\fP"
|
|
|
|
Query an (uninstalled) package \fI<package_file>\fP.
|
|
|
|
.IP "\fB\-P\fP"
|
|
|
|
Like \fB\-p\fP but read package file names from stdin.
|
1996-06-25 22:59:20 +08:00
|
|
|
|
|
|
|
.P
|
1996-01-11 01:03:08 +08:00
|
|
|
Information selection options:
|
|
|
|
.br
|
|
|
|
.IP "\fB\-i\fP"
|
1996-06-25 22:59:20 +08:00
|
|
|
Display package information, including name, version, and description. This
|
1996-06-25 23:09:03 +08:00
|
|
|
uses the \fB\-\-queryformat\fP if one was specified.
|
1996-06-21 06:28:02 +08:00
|
|
|
.IP "\fB\-R\fP"
|
1996-06-25 23:09:03 +08:00
|
|
|
List packages this one depends on (same as \fB\-\-requires\fP).
|
|
|
|
.IP "\fB\-\-provides\fP"
|
1996-06-25 22:59:20 +08:00
|
|
|
List capabilities this package provides.
|
1996-01-11 01:03:08 +08:00
|
|
|
.IP "\fB\-l\fP"
|
|
|
|
List files in package.
|
|
|
|
.IP "\fB\-s\fP"
|
1996-06-25 22:59:20 +08:00
|
|
|
Display the \fIstates\fP of files in the package (implies \fB\-l\fP).
|
|
|
|
The state of each file is
|
1996-03-30 12:01:09 +08:00
|
|
|
either \fInormal\fP, \fInot installed\fP, or \fIreplaced\fP.
|
1996-01-11 01:03:08 +08:00
|
|
|
.IP "\fB\-d\fP"
|
|
|
|
List only documentation files (implies \fB\-l\fP).
|
|
|
|
.IP "\fB\-c\fP"
|
|
|
|
List only configuration files (implies \fB\-l\fP).
|
1996-04-16 06:16:27 +08:00
|
|
|
.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.
|
1996-06-21 06:28:02 +08:00
|
|
|
.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.
|
1996-01-11 01:03:08 +08:00
|
|
|
|
|
|
|
.SH VERIFY OPTIONS
|
1996-07-17 00:11:37 +08:00
|
|
|
The general form of an rpm verify command is
|
|
|
|
.PP
|
|
|
|
\fBrpm \-V|\-y|\-\-verify [verify\-options]\fP
|
|
|
|
.PP
|
1996-01-11 01:03:08 +08:00
|
|
|
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.
|
|
|
|
|
1996-06-25 22:59:20 +08:00
|
|
|
The format of the output is a string of 8 characters, a possible "\fBc\fP"
|
1996-03-05 23:44:50 +08:00
|
|
|
denoting a configuration file, and then the file name. Each of the 8
|
1996-06-25 22:59:20 +08:00
|
|
|
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:
|
1996-03-05 23:44:50 +08:00
|
|
|
|
|
|
|
.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)
|
|
|
|
|
1996-02-26 06:22:58 +08:00
|
|
|
.SH SIGNATURE CHECKING
|
1996-07-17 00:11:37 +08:00
|
|
|
The general form of an rpm signature check command is
|
|
|
|
.PP
|
|
|
|
\fBrpm \-\-checksig <package_file>+\fP
|
|
|
|
.PP
|
1996-03-05 23:44:50 +08:00
|
|
|
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.
|
1996-02-26 06:22:58 +08:00
|
|
|
|
1996-07-17 00:11:37 +08:00
|
|
|
.SH UNINSTALL OPTIONS
|
|
|
|
The general form of an rpm uninstall command is
|
|
|
|
.PP
|
|
|
|
\fB rpm \-e <package_name>+\fP
|
|
|
|
.PP
|
|
|
|
.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.
|
|
|
|
|
|
|
|
.SH BUILD OPTIONS
|
|
|
|
The general form of an rpm build command is
|
|
|
|
.PP
|
|
|
|
\fBrpm \-b\fIO\fP [build\-options] <package_spec>+\fP
|
|
|
|
.PP
|
|
|
|
where \fB\-b\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.
|
1996-07-23 10:57:32 +08:00
|
|
|
.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.
|
1996-07-17 00:11:37 +08:00
|
|
|
.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.
|
|
|
|
|
1996-03-29 09:24:38 +08:00
|
|
|
.SH REBUILD AND RECOMPILE OPTIONS
|
1996-01-11 01:03:08 +08:00
|
|
|
|
1996-03-29 09:24:38 +08:00
|
|
|
There are two other ways to invoke rpm:
|
|
|
|
|
|
|
|
.I "\fBrpm \-\-recompile <source_package_file>+\fP"
|
1996-01-11 01:03:08 +08:00
|
|
|
|
|
|
|
.I "\fBrpm \-\-rebuild <source_package_file>+\fP"
|
|
|
|
|
1996-03-29 09:24:38 +08:00
|
|
|
When invoked this way, rpm installs the named source package, and does
|
1996-06-25 22:59:20 +08:00
|
|
|
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.
|
1996-03-29 09:24:38 +08:00
|
|
|
|
|
|
|
.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.
|
|
|
|
|
1996-03-05 23:44:50 +08:00
|
|
|
.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,
|
1996-06-19 22:38:20 +08:00
|
|
|
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
|
1996-03-05 23:44:50 +08:00
|
|
|
|
|
|
|
.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.
|
|
|
|
|
1996-09-17 06:36:57 +08:00
|
|
|
.SH REBUILD DATABASE OPTIONS
|
|
|
|
|
|
|
|
The general form of an rpm rebuild database command is
|
|
|
|
.PP
|
|
|
|
\fBrpm \-\-rebuilddb\fP
|
|
|
|
.PP
|
|
|
|
|
1996-09-17 06:41:52 +08:00
|
|
|
The only options this mode supports are \fB-\-dbpath\fP and \fB-\-root\fP.
|
1996-03-05 23:44:50 +08:00
|
|
|
|
1996-01-11 01:03:08 +08:00
|
|
|
.SH FILES
|
|
|
|
.nf
|
|
|
|
/etc/rpmrc
|
1996-03-30 12:01:09 +08:00
|
|
|
~/.rpmrc
|
1996-01-11 01:03:08 +08:00
|
|
|
/var/lib/rpm/packages
|
|
|
|
/var/lib/rpm/pathidx
|
|
|
|
/var/lib/rpm/nameidx
|
1996-06-25 23:09:03 +08:00
|
|
|
/tmp/rpm*
|
1996-01-11 01:03:08 +08:00
|
|
|
.fi
|
|
|
|
.El
|
|
|
|
.SH SEE ALSO
|
|
|
|
.IR glint (8) ,
|
|
|
|
.IR rpm2cpio (8) ,
|
1996-06-25 22:59:20 +08:00
|
|
|
.B http://www.redhat.com/rpm
|
1996-01-11 01:03:08 +08:00
|
|
|
.nf
|
|
|
|
.SH AUTHORS
|
|
|
|
.nf
|
|
|
|
Marc Ewing <marc@redhat.com>
|
|
|
|
Erik Troan <ewt@redhat.com>
|
|
|
|
.fi
|