Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

OpenDarwin 7.2.1 - man page for rpm (opendarwin section 8)

RPM(8)					  Red Hat Linux 				   RPM(8)

NAME
       rpm - RPM Package Manager

SYNOPSIS
   QUERYING AND VERIFYING PACKAGES:
       rpm {-q|--query} [select-options] [query-options]

       rpm {-V|--verify} [select-options] [--nodeps] [--nofiles] [--nomd5] [--noscripts]

       rpm {-K|--checksig} [--nogpg] [--nopgp] [--nomd5] PACKAGE_FILE ...

   INSTALLING, UPGRADING, AND REMOVING PACKAGES:
       rpm {-i|--install} [install-options] PACKAGE_FILE ...

       rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

       rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

       rpm  {-e|--erase}  [--allmatches]  [--nodeps]  [--noscripts]  [--notriggers] [--repackage]
       [--test] PACKAGE_NAME ...

   BUILDING PACKAGES:
       rpm {-ba|-bb|-bp|-bc|-bi|-bl|-bs} [build-options] SPECFILE ...

       rpm {-ta|-tb|-tp|-tc|-ti|-tl|-ts} [build-options] TARBALL ...

       rpm {--rebuild|--recompile} SOURCEPKG ...

   MISCELLANEOUS:
       rpm {--initdb|--rebuilddb}

       rpm {--addsign|--resign} PACKAGE_FILE ...

       rpm {--querytags|--showrc}

       rpm {--setperms|--setugids} PACKAGE_NAME ...

   SELECT-OPTIONS
       [PACKAGE_NAME] [-a,--all] [-f,--file FILE] [-g,--group GROUP]  [-p,--package PACKAGE_FILE]
       [--querybynumber NUMBER]  [--triggeredby PACKAGE_NAME] [--whatprovides CAPABILITY] [--wha-
       trequires CAPABILITY]

   QUERY-OPTIONS
       [--changelog]  [-c,--configfiles]  [-d,--docfiles]  [--dump]  [--filesbypkg]   [-i,--info]
       [--last]    [-l,--list]	  [--provides]	  [--qf,--queryformat QUERYFMT]   [-R,--requires]
       [--scripts] [-s,--state] [--triggers,--triggerscripts]

   INSTALL-OPTIONS
       [--allfiles] [--badreloc] [--excludepath OLDPATH]  [--excludedocs]  [--force]  [-h,--hash]
       [--ignoresize]	[--ignorearch]	 [--ignoreos]	[--includedocs]   [--justdb]   [--nodeps]
       [--noorder] [--noscripts] [--notriggers]  [--oldpackage]  [--percent]  [--prefix  NEWPATH]
       [--relocate OLDPATH=NEWPATH] [--repackage] [--replacefiles] [--replacepkgs] [--test]

   BUILD-OPTIONS
       [--buildroot  DIRECTORY]  [--clean]  [--nobuild] [--rmsource] [--rmspec] [--short-circuit]
       [--sign] [--target PLATFORM]

DESCRIPTION
       rpm is a powerful Package Manager, which can be used to	build,	install,  query,  verify,
       update, and erase individual software packages.	A package consists of an archive of files
       and meta-data used to install and erase the archive files. The meta-data  includes  helper
       scripts, file attributes, and descriptive information about the package.  Packages come in
       two varieties: binary packages, used to encapsulate software to be installed,  and  source
       packages, containing the source code and recipe necessary to produce binary packages.

       One  of	the  following	basic  modes  must  be	selected: Query, Verify, Signature Check,
       Install/Upgrade/Freshen, Uninstall, Build Package, Build Package from  Tarball,	Recompile
       Package,  Initialize Database, Rebuild Database, Resign, Add Signature, Set Owners/Groups,
       Show Querytags, and Show Configuration.

   GENERAL OPTIONS
       These options can be used in all the different modes.

       -?, --help
	      Print a longer usage message then normal.

       --version
	      Print a single line containing the version number of rpm being used.

       --quiet
	      Print as little as possible - normally only error messages will be displayed.

       -v     Print verbose information - normally routine progress messages will be displayed.

       -vv    Print lots of ugly debugging information.

       --rcfile FILELIST
	      Each of the files in the colon separated FILELIST is read sequentially by  rpm  for
	      configuration  information.  Only the first file in the list must exist, and tildes
	      will  be	expanded  to   the   value   of   $HOME.    The   default   FILELIST   is
	      /usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc.

       --pipe CMD
	      Pipes the output of rpm to the command CMD.

       --dbpath DIRECTORY
	      Use the database in DIRECTORY rathen than the default path /var/lib/rpm

       --root DIRECTORY
	      Use  the	system	rooted at DIRECTORY for all operations.  Note that this means the
	      database will be read or modified under DIRECTORY and any  %pre  or  %post  script-
	      let(s) are run after a chroot(2) to DIRECTORY.

   INSTALL AND UPGRADE OPTIONS
       The general form of an rpm install command is

       rpm {-i|--install} [install-options] PACKAGE_FILE ...

       This installs a new package.

       The general form of an rpm upgrade command is

       rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

       This upgrades or installs the package currently installed to a newer version.  This is the
       same as install, except all other version(s) of the package  are  removed  after  the  new
       package is installed.

       rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

       This  will  upgrade  packages,  but only if an earlier version currently exists. The PACK-
       AGE_FILE may be specified as an ftp or http URL, in which case the package will	be  down-
       loaded  before being installed. See FTP/HTTP OPTIONS for information on rpm's internal ftp
       and http client support.

       --allfiles
	      Installs or upgrades all the missingok files in the  package,  regardless  if  they
	      exist.

       --badreloc
	      Used  with  --relocate,  permit  relocations on all file paths, not just those OLD-
	      PATH's included in the binary package relocation hint(s).

       --excludepath OLDPATH
	      Don't install files whose name begins with OLDPATH.

       --excludedocs
	      Don't install any files which are marked as documentation (which includes man pages
	      and texinfo documents).

       --force
	      Same as using --replacepkgs, --replacefiles, and --oldpackage.

       -h, --hash
	      Print  50 hash marks as the package archive is unpacked.	Use with -v|--verbose for
	      a nicer display.

       --ignoresize
	      Don't check mount file systems for sufficient disk  space  before  installing  this
	      package.

       --ignorearch
	      Allow installation or upgrading even if the architectures of the binary package and
	      host don't match.

       --ignoreos
	      Allow installation or upgrading even if the operating systems of the binary package
	      and host don't match.

       --includedocs
	      Install documentation files. This is the default behavior.

       --justdb
	      Update only the database, not the filesystem.

       --nodeps
	      Don't do a dependency check before installing or upgrading a package.

       --noorder
	      Don't  reorder  the packages for an install. The list of packages would normally be
	      reordered to satisfy dependancies.

       --noscripts

       --nopre

       --nopost

       --nopreun

       --nopostun
	      Don't execute the scriptlet of the same name.  The --noscripts option is equivalent
	      to

	      --nopre --nopost --nopreun --nopostun

	      and  turns  off the execution of the corresponding %pre, %post, %preun, and %postun
	      scriptlet(s).

       --notriggers

       --notriggerin

       --notriggerun

       --notriggerpostun
	      Don't execute any trigger scriptlet of the named type.  The --notriggers option  is
	      equivalent to

	      --notriggerin --notriggerun --notriggerpostun

	      and  turns off execution of the corresponding %triggerin, %triggerun, and %trigger-
	      postun scriptlet(s).

       --oldpackage
	      Allow an upgrade to replace a newer package with an older one.

       --percent
	      Print percentages as files are unpacked from the package archive.  This is intended
	      to make rpm easy to run from other tools.

       --prefix NEWPATH
	      For  relocateable  binary  packages,  translate  all file paths that start with the
	      installation prefix in the package relocation hint(s) to NEWPATH.

       --relocate OLDPATH=NEWPATH
	      For relocatable binary packages, translate all file paths that start  with  OLDPATH
	      in  the  package relocation hint(s) to NEWPATH.  This option can be used repeatedly
	      if several OLDPATH's in the package are to be relocated.

       --repackage
	      Re-package the files before erasing. The previously installed package will be named
	      according  to  the  macro %_repackage_name_fmt and will be created in the directory
	      named by the macro %_repackage_dir (default value is /var/tmp).

       --replacefiles
	      Install the packages even if they replace  files	from  other,  already  installed,
	      packages.

       --replacepkgs
	      Install the packages even if some of them are already installed on this system.

       --nobuild
	      Do not install the package, simply check for and report potential conflicts.

   QUERY OPTIONS
       The general form of an rpm query command is

       rpm {-q|--query} [select-options] [query-options]

       You  may specify the format that package information should be printed in. To do this, you
       use the
	{--qf|--queryformat} QUERYFMT option, followed by the QUERYFMT format string.  Query for-
       mats  are  modifed versions of the standard printf(3) formatting. The format is made up of
       static strings (which may include standard C character escapes  for  newlines,  tabs,  and
       other special characters) and printf(3) type formatters.  As rpm 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 {} characters. Tag names are case insesitive, and the RPM-
       TAG_ portion of the tag name may be omitted as well.

       Alternate output formats may be requested by following the tag with :typetag.   Currently,
       the  following  types  are  supported: octal, date, shescape, perms, fflags, and depflags.
       For example, to print only the names of the packages queried, you could use %{NAME} as the
       format  string.	 To  print the packages name and distribution information in two columns,
       you could use %-30{NAME}%{DISTRIBUTION}.  rpm will print a list of  all	of  the  tags  it
       knows about when it is invoked with the --querytags argument.

       There  are  two subsets of options for querying: package selection, and information selec-
       tion.

   PACKAGE SELECTION OPTIONS:
       PACKAGE_NAME
	      Query installed package named PACKAGE_NAME.

       -a, --all
	      Query all installed packages.

       -f, --file FILE
	      Query package owning FILE.

       -g, --group GROUP
	      Query packages with the group of GROUP.

       -p, --package PACKAGE_FILE
	      Query an (uninstalled) package PACKAGE_FILE.  The PACKAGE_FILE may be specified  as
	      an  ftp  or http style URL, in which case the package header will be downloaded and
	      queried.	See FTP/HTTP OPTIONS for information  on  rpm's  internal  ftp	and  http
	      client  support.	The  PACKAGE_FILE  argument(s),  if not a binary package, will be
	      interpreted as an ASCII package manifest.  Comments are permitted, starting with	a
	      '#',  and  each  line  of a package manifest file may include white space seperated
	      glob expressions, including URL's  with  remote  glob  expressions,  that  will  be
	      expanded	to  paths  that are substituted in place of the package manifest as addi-
	      tional PACKAGE_FILE arguments to the query.

       --querybynumber NUMBER
	      Query the NUMBERth database entry directly; this is useful only for debugging.

       --specfile SPECFILE
	      Parse and query SPECFILE as if it were a package. Although not all the  information
	      (e.g.  file  lists)  is  available,  this  type  of query permits rpm to be used to
	      extract information from spec files without having to write a specfile parser.

       --triggeredby PACKAGE_NAME
	      Query packages that are triggered by package(s) PACKAGE_NAME.

       --whatprovides CAPABILITY
	      Query all packages that provide the CAPABILITY capability.

       --whatrequires CAPABILITY
	      Query all packages that requires CAPABILITY for proper functioning.

   PACKAGE QUERY OPTIONS:
       --changelog
	      Display change information for the package.

       -c, --configfiles
	      List only configuration files (implies -l).

       -d, --docfiles
	      List only documentation files (implies -l).

       --dump Dump file information as follows:

	      path size mtime md5sum mode owner group isconfig isdoc rdev symlink

       This option must be used with at least one of -l, -c, -d.

       --filesbypkg
	      List all the files in each selected package.

       -i, --info
	      Display package information, including name, version, and description.   This  uses
	      the --queryformat if one was specified.

       --last Orders the package listing by install time such that the latest packages are at the
	      top.

       -l, --list
	      List files in package.

       --provides
	      List capabilities this package provides.

       -R, --requires
	      List packages on which this package depends.

       --scripts
	      List the package specific scriptlet(s) that are used as part  of	the  installation
	      and uninstallation processes.

       -s, --state
	      Display the states of files in the package (implies -l).	The state of each file is
	      one of normal, not installed, or replaced.

       --triggers, --triggerscripts
	      Display the trigger scripts, if any, which are contained in the package.

   VERIFY OPTIONS
       The general form of an rpm verify command is

       rpm {-V|--verify} [select-options] [--nodeps] [--nofiles] [--nomd5] [--noscripts]

       Verifying a package compares information about the installed files  in  the  package  with
       information  about  the	files taken from the package metadata 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.  Files that were not installed from
       the  package,  for  example,  documentation  files  excluded  on  installation  using  the
       "--excludedocs" option, will be silently ignored.

       The package selection options are the same as for package querying (including package man-
       ifest files as arguments).  Other options that can be used only in verify mode are:

       --nodeps
	      Don't verify dependencies.

       --nofiles
	      Don't verify files.

       --nomd5
	      Don't verify file MD5 checksums.

       --noscripts
	      Don't execute the %verifyscript scriptlet (if any).

       The format of the output is a string of 8 characters, a possible "c" denoting a configura-
       tion  file,  and then the file name. Each of the 8 characters denotes the result of a com-
       parison of attribute(s) of the file to the value of those  attribute(s)	recorded  in  the
       database.   A single "." (period) means the test passed, while a single "?"  indicates the
       test could not be performed  (e.g.  file  permissions  prevent  reading).  Otherwise,  the
       (mnemonically emBoldened) character denotes failure of the corresponding --verify test:

       S file Size differs

       M Mode differs (includes permissions and file type)

       5 MD5 sum differs

       D Device major/minor number mis-match

       L readLink(2) path mis-match

       U User ownership differs

       G Group ownership differs

       T mTime differs

   SIGNATURE CHECKING
       The general form of an rpm signature check command is

       rpm --checksig [--nogpg] [--nopgp] [--nomd5] PACKAGE_FILE ...

       This  checks the GPG signature of package PACKAGE_FILE to ensure its integrity and origin.
       GPG configuration information is read from configuration files.	See the  section  on  GPG
       SIGNATURES for details.

   ERASE OPTIONS
       The general form of an rpm erase command is

       rpm  {-e|--erase}  [--allmatches]  [--nodeps]  [--noscripts]  [--notriggers] [--repackage]
       [--test] PACKAGE_NAME ...

       The following options may also be used:

       --allmatches
	      Remove all versions of the package which match PACKAGE_NAME. Normally an	error  is
	      issued if PACKAGE_NAME matches multiple packages.

       --nodeps
	      Don't check dependencies before uninstalling the packages.

       --noscripts

       --nopreun

       --nopostun
	      Don't  execute the scriptlet of the same name.  The --noscripts option during pack-
	      age erase is equivalent to

	      --nopreun --nopostun

	      and turns off the execution of the corresponding %preun, and %postun scriptlet(s).

       --notriggers

       --notriggerun

       --notriggerpostun
	      Don't execute any trigger scriptlet of the named type.  The --notriggers option  is
	      equivalent to

	      --notriggerun --notriggerpostun

	      and turns off execution of the corresponding %triggerun, and %triggerpostun script-
	      let(s).

       --repackage
	      Re-package the files before erasing. The previously installed package will be named
	      according  to  the  macro %_repackage_name_fmt and will be created in the directory
	      named by the macro %_repackage_dir (default value is /var/tmp).

       --test Don't really uninstall anything, just go through the motions.  Useful  in  conjunc-
	      tion with the -vv option for debugging.

   BUILD OPTIONS
       The general form of an rpm build command is

       rpm {-bSTAGE|-tSTAGE} [build-options] FILE ...

       The  argument  used  is -b if a spec file is being used to build the package and -t if rpm
       should look inside of a (possibly compressed) tar file for the spec file to use. After the
       first  argument, the next character (STAGE) specifies the stages of building and packaging
       to be done and is one of:

       -ba    Build binary and source packages (after  doing  the  %prep,  %build,  and  %install
	      stages).

       -bb    Build a binary package (after doing the %prep, %build, and %install stages).

       -bp    Executes the "%prep" stage from the spec file. Normally this involves unpacking the
	      sources and applying any patches.

       -bc    Do the "%build" stage from the spec file (after doing the %prep stage).  This  gen-
	      erally involves the equivalent of a "make".

       -bi    Do  the  "%install"  stage  from	the  spec  file (after doing the %prep and %build
	      stages).	This generally involves the equivalent of a "make install".

       -bl    Do a "list check".  The "%files" section from the spec file is macro expanded,  and
	      checks are made to verify that each file exists.

       -bs    Build just the source package.

       The following options may also be used:

       --buildroot DIRECTORY
	      When building a package, override the BuildRoot tag with directory DIRECTORY.

       --clean
	      Remove the build tree after the packages are made.

       --nobuild
	      Do not execute any build stages. Useful for testing out spec files.

       --rmsource
	      Remove  the  sources  after  the	build  (may  also  be  used standalone, e.g. "rpm
	      --rmsource foo.spec").

       --rmspec
	      Remove the spec file after the  build  (may  also  be  used  standalone,	eg.  "rpm
	      --rmspec foo.spec").

       --short-circuit
	      Skip straight to specified stage (i.e., skip all stages leading up to the specified
	      stage).  Only valid with -bc and -bi.

       --sign Embed a GPG signature in the package. This signature can	be  used  to  verify  the
	      integrity  and  the  origin  of the package.  See the section on GPG SIGNATURES for
	      configuration details.

       --target PLATFORM
	      When building the package, interpret PLATFORM as arch-vendor-os and set the  macros
	      %_target, %_target_arch, and %_target_os accordingly.

   REBUILD AND RECOMPILE OPTIONS
       There are two other ways to invoke building with rpm:

       rpm {--rebuild|--recompile} SOURCEPKG ...

       When invoked this way, rpm installs the named source package, and does a prep, compile and
       install.  In addition, --rebuild builds a new binary package.  When  the  build	has  com-
       pleted,	the  build directory is removed (as in --clean) and the the sources and spec file
       for the package are removed.

   SIGNING A PACKAGE
       rpm {--addsign|--resign} PACKAGE_FILE ...

       The --addsign option generates and inserts new signatures for each package.  Any  existing
       signatures will be discarded.

       The  --resign  option  generates and appends signatures for the listed packages while pre-
       serving the existing signatures.

   GPG SIGNATURES
       In order to use the signature feature, rpm must be configured to run GPG and  be  able  to
       find  a	public	key ring with Red Hat (or other vendor) public keys. By default, rpm uses
       the same conventions as GPG to find key rings, namely the $GPGPATH  environment	variable.
       If your key rings are not located where GPG expects them to be, you will need to configure
       the macro %_gpg_path to be the location of the GPG key rings to use.

       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 GPG manual). You will also need to configure the
       macros

       %_signature
	      The signature type.  Right now only gpg and pgp are supported.

       %_gpg_name
	      The name of the "user" whose key you wish to use to sign your packages.

       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.  For example, to be able to
       use GPG to sign packages as the user "John Doe <jdoe@foo.com>" from the key rings  located
       in /etc/rpm/.gpg using the executable /usr/bin/gpg you would include

       %_signature gpg
       %_gpg_path /etc/rpm/.gpg
       %_gpg_name John Doe <jdoe@foo.com>
       %_gpgbin /usr/bin/gpg

       in  a  macro  configuration  file.  Use	/etc/rpm/macros  for per-system configuration and
       ~/.rpmmacros for per-user configuration.

   REBUILD DATABASE OPTIONS
       The general form of an rpm rebuild database command is

       rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY] [--root DIRECTORY]

       Use --initdb to create a new database, use --rebuilddb to  rebuild  the	database  indices
       from the installed package headers.

   SHOWRC
       The command

       rpm --showrc

       shows the values rpm will use for all of the options are currently set in rpmrc and macros
       configuration file(s).

   FTP/HTTP OPTIONS
       rpm can act as an FTP and/or HTTP client so that packages can be queried or installed from
       the  internet.	Package files for install, upgrade, and query operations may be specified
       as an ftp or http style URL:

       ftp://USER:PASSWORD@HOST:PORT/path/to/package.rpm

       If the :PASSWORD 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 performed.

       rpm allows the following options to be used with ftp URLs:

       --ftpproxy HOST
	      The host HOST will be used as a proxy server for all ftp	transfers,  which  allows
	      users  to  ftp  through  firewall machines which use proxy systems. This option may
	      also be specified by configuring the macro %_ftpproxy.

       --ftpport HOST
	      The TCP PORT number to use for the ftp connection on the proxy ftp  server  instead
	      of  the  default	port.  This option may also be specified by configuring the macro
	      %_ftpport.

       rpm allows the following options to be used with http URLs:

       --httpproxy HOST
	      The host HOST will be used as a proxy server for all http  transfers.  This  option
	      may also be specified by configuring the macro %_httpproxy.

       --httpport PORT
	      The TCP PORT number to use for the http connection on the proxy http server instead
	      of the default port. This option may also be specified  by  configuring  the  macro
	      %_httpport.

FILES
       /usr/lib/rpm/rpmrc

       /etc/rpmrc

       ~/.rpmrc

       /usr/lib/rpm/macros

       /etc/rpm/macros

       ~/.rpmmacros

       /var/lib/rpm/Conflictname

       /var/lib/rpm/Basenames

       /var/lib/rpm/Group

       /var/lib/rpm/Name

       /var/lib/rpm/Packages

       /var/lib/rpm/Providename

       /var/lib/rpm/Requirename

       /var/lib/rpm/Triggername

       /var/tmp/rpm*

SEE ALSO
       popt(3),

       rpm2cpio(8),

       rpmbuild(8),

       http://www.rpm.org/

AUTHORS
       Marc Ewing <marc@redhat.com>

       Jeff Johnson <jbj@redhat.com>

       Erik Troan <ewt@redhat.com>

Red Hat, Inc.				   06 June 2001 				   RPM(8)


All times are GMT -4. The time now is 09:35 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password