packages icon



 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



 NAME
      rpm - RPM Package Manager

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

      rpm --querytags

      rpm {-V|--verify} [select-options] [verify-options]


    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 {--reinstall} [install-options] PACKAGE_FILE ...



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


    MISCELLANEOUS:
      rpm --showrc

      rpm --setperms PACKAGE_NAME ...

      rpm --setugids PACKAGE_NAME ...


    select-options
       [PACKAGE_NAME] [-a,--all] [-f,--file FILE]
       [-g,--group GROUP] {-p,--package PACKAGE_FILE]
       [--hdrid SHA1] [--pkgid MD5] [--tid TID]
       [--querybynumber HDRNUM] [--triggeredby PACKAGE_NAME]
       [--whatprovides CAPABILITY] [--whatrequires CAPABILITY]
       [--whatrecommends CAPABILITY] [--whatsuggests CAPABILITY]
       [--whatsupplements CAPABILITY] [--whatenhances CAPABILITY]





                                    - 1 -          Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                          RPM(8)
                                 09 June 2002



    query-options
       [--changelog] [-c,--configfiles] [--conflicts]
       [-d,--docfiles] [--dump] [--enhances] [--filesbypkg]
       [-i,--info] [--last] [-l,--list] [--obsoletes]
       [--provides] [--qf,--queryformat QUERYFMT]
       [--recommends] [-R,--requires] [--suggests]
       [--supplements] [--scripts] [-s,--state]
       [--triggers,--triggerscripts]


    verify-options
       [--nodeps] [--nofiles] [--noscripts]
       [--nodigest] [--nosignature]
       [--nolinkto] [--nofiledigest] [--nosize] [--nouser]
       [--nogroup] [--nomtime] [--nomode] [--nordev]
       [--nocaps]


    install-options
       [--allfiles] [--badreloc] [--excludepath OLDPATH]
       [--excludedocs] [--force] [-h,--hash]
       [--ignoresize] [--ignorearch] [--ignoreos]
       [--includedocs] [--justdb] [--nocollections]
       [--nodeps] [--nodigest] [--nosignature]
       [--noorder] [--noscripts] [--notriggers]
       [--oldpackage] [--percent] [--prefix NEWPATH]
       [--relocate OLDPATH=NEWPATH]
       [--replacefiles] [--replacepkgs]
       [--test]


 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,
      Install/Upgrade/Freshen/Reinstall, Uninstall, 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.




                                    - 2 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



      --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:/usr/lib/rpm/redhat/rpmrc:/etc/rpmrc:~/.rpmrc.

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

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

      --root DIRECTORY
           Use the file system tree rooted at DIRECTORY for all operations.
           Note that this means the database within DIRECTORY will be used
           for dependency checks and any scriptlet(s) (e.g.  %post if
           installing, or %prep if building, a package) will be run after a
           chroot(2) to DIRECTORY.

      -D, --define='MACRO EXPR'
           Defines MACRO with value EXPR.

      --undefine='MACRO'
           Undefines MACRO.

      -E, --eval='EXPR'
           Prints macro expansion of EXPR.

    INSTALL AND UPGRADE OPTIONS
      In these options, PACKAGE_FILE can be either rpm binary file or ASCII
      package manifest (see PACKAGE SELECTION OPTIONS), and may be specified
      as an ftp or http URL, in which case the package will be downloaded
      before being installed. See FTP/HTTP OPTIONS for information on rpm's
      internal ftp and http client support.





                                    - 3 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



      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 ones for which an earlier version
      is installed.

      The general form of an rpm reinstall command is

      rpm {--reinstall} [install-options] PACKAGE_FILE ...

      This reinstalls a previously installed package.

      --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 OLDPATH'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.



                                    - 4 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



      --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.

      --nodigest
           Don't verify package or header digests when reading.

      --nomanifest
           Don't process non-package files as manifests.

      --nosignature
           Don't verify package or header signatures when reading.

      --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 dependencies.

      --noscripts

      --nopre

      --nopost

      --nopreun

      --nopostun

      --nopretrans

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

           --nopre --nopost --nopreun --nopostun --nopretrans --noposttrans

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



                                    - 5 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



      --notriggers

      --notriggerin

      --notriggerun

      --notriggerprein

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

           --notriggerprein --notriggerin --notriggerun --notriggerpostun

           and turns off execution of the corresponding %triggerprein,
           %triggerin, %triggerun, and %triggerpostun 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 relocatable 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.

      --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.

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

    ERASE OPTIONS
      The general form of an rpm erase command is





                                    - 6 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



      rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--
      notriggers] [--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 package 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 scriptlet(s).

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

    QUERY OPTIONS
      The general form of an rpm query command is

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






                                    - 7 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



      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 formats are
      modified 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 insensitive, and the leading RPMTAG_ 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:

      :armor
           Wrap a public key in ASCII armor.

      :arraysize
           Display number of elements in array tags.

      :base64
           Encode binary data using base64.

      :date
           Use strftime(3) "%c" format.

      :day Use strftime(3) "%a %b %d %Y" format.

      :depflags
           Format dependency comparison operator.

      :deptype
           Format dependency type.

      :expand
           Perform macro expansion.

      :fflags
           Format file flags.

      :fstate
           Format file state.

      :fstatus
           Format file verify status.





                                    - 8 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



      :hex Format in hexadecimal.

      :octal
           Format in octal.

      :perms
           Format file permissions.

      :pgpsig
           Display signature fingerprint and time.

      :shescape
           Escape single quotes for use in a script.

      :triggertype
           Display trigger suffix.

      :vflags
           File verification flags.

      :xml Wrap data in simple xml markup.

      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 selection.

    PACKAGE SELECTION OPTIONS:
      PACKAGE_NAME
           Query installed package named PACKAGE_NAME. To specify the
           package more precisely the package name may be followed by the
           version or version and release both separated by a dash or an
           architecture name separated by a dot. See the output of rpm -qa
           or rpm -qp PACKAGE_FILE as an example.


      -a, --all
           Query all installed packages.

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

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

      --hdrid SHA1
           Query package that contains a given header identifier, i.e. the



                                    - 9 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



           SHA1 digest of the immutable header region.

      -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 unless --
           nomanifest option is used. In manifests, comments are permitted,
           starting with a '#', and each line of a package manifest file may
           include white space separated glob expressions, including URL's,
           that will be expanded to paths that are substituted in place of
           the package manifest as additional PACKAGE_FILE arguments to the
           query.

      --pkgid MD5
           Query package that contains a given package identifier, i.e. the
           MD5 digest of the combined header and payload contents.

      --querybynumber HDRNUM
           Query the HDRNUMth 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.

      --tid TID
           Query package(s) that have a given TID transaction identifier. A
           unix time stamp is currently used as a transaction identifier.
           All package(s) installed or erased within a single transaction
           have a common identifier.

      --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 require CAPABILITY for proper
           functioning.

      --whatrecommends CAPABILITY
           Query all packages that recommend CAPABILITY.

      --whatsuggests CAPABILITY
           Query all packages that suggest CAPABILITY.



                                   - 10 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



      --whatsupplements CAPABILITY
           Query all packages that supplement CAPABILITY.

      --whatenhances CAPABILITY
           Query all packages that enhance CAPABILITY.

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

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

      --conflicts
           List capabilities this package conflicts with.

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

      --dump
           Dump file information as follows (implies -l):


           path size mtime digest mode owner group isconfig isdoc rdev symlink


      --enhances
           List capabilities enhanced by package(s)

      --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, --licensefiles
           List only license files (implies -l).

      -l, --list
           List files in package.

      --obsoletes
           List packages this package obsoletes.

      --provides
           List capabilities this package provides.



                                   - 11 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



      --recommends
           List capabilities recommended by package(s)

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

      --suggests
           List capabilities suggested by package(s)

      --supplements
           List capabilities supplemented by package(s)

      --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] [verify-options]


      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, digest, permissions, type, owner and group of each
      file.  Any discrepancies 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 manifest files as arguments).  Other options unique
      to verify mode are:

      --nodeps
           Don't verify dependencies of packages.

      --nodigest
           Don't verify package or header digests when reading.

      --nofiles
           Don't verify any attributes of package files.



                                   - 12 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



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

      --nosignature
           Don't verify package or header signatures when reading.

      --nolinkto

      --nofiledigest (formerly --nomd5)

      --nosize

      --nouser

      --nogroup

      --nomtime

      --nomode

      --nordev
           Don't verify the corresponding file attribute.

      The format of the output is a string of 9 characters, a possible
      attribute marker:

      c %config configuration file.
      d %doc documentation file.
      g %ghost file (i.e. the file contents are not included in the package payload).
      l %license license file.
      r %readme readme file.

      from the package header, followed by the file name.  Each of the 9
      characters denotes the result of a comparison 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 "?"
      (question mark) 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 digest (formerly MD5 sum) differs
      D Device major/minor number mismatch
      L readLink(2) path mismatch
      U User ownership differs
      G Group ownership differs
      T mTime differs
      P caPabilities differ





                                   - 13 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



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

      rpm --setperms PACKAGE_NAME
           sets permissions of files in the given package.

      rpm --setugids PACKAGE_NAME
           sets user/group ownership of files in the given package. This
           command can change permissions of files in that package. It is
           caused by calling command chmod that can clear SUID and SGID bits
           in some situations. So it is safer to call also --setperms after
           calling --setugids.

      Options --setperms and --setugids are mutually exclusive.


    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: HREF=mailto:PASSWORD@HOST>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 PORT
           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.




                                   - 14 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



      --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.

 LEGACY ISSUES
    Executing rpmbuild
      The build modes of rpm are now resident in the /usr/bin/rpmbuild
      executable. Install the package containing rpmbuild (usually rpm-
      build) and see rpmbuild(8) for documentation of all the rpm build
      modes.

 FILES
    rpmrc Configuration
      /usr/lib/rpm/rpmrc
      /usr/lib/rpm/redhat/rpmrc
      /etc/rpmrc
      ~/.rpmrc

    Macro Configuration
      /usr/lib/rpm/macros
      /usr/lib/rpm/redhat/macros
      /etc/rpm/macros
      ~/.rpmmacros

    Database
      /var/lib/rpm/Basenames
      /var/lib/rpm/Conflictname
      /var/lib/rpm/Dirnames
      /var/lib/rpm/Group
      /var/lib/rpm/Installtid
      /var/lib/rpm/Name
      /var/lib/rpm/Obsoletename
      /var/lib/rpm/Packages
      /var/lib/rpm/Providename
      /var/lib/rpm/Requirename
      /var/lib/rpm/Sha1header
      /var/lib/rpm/Sigmd5
      /var/lib/rpm/Triggername

    Temporary
      /var/tmp/rpm*

 SEE ALSO
      popt(3),
      rpm2cpio(8),
      rpmbuild(8),
      rpmdb(8),
      rpmkeys(8),
      rpmsign(8),
      rpmspec(8),



                                   - 15 -         Formatted:  April 20, 2024






 RPM(8)                         Red Hat, Inc.                         RPM(8)
                                09 June 2002



      rpm --help - as rpm supports customizing the options via popt aliases
      it's impossible to guarantee that what's described in the manual
      matches what's available.


      http://www.rpm.org/ <URL:http://www.rpm.org/>


 AUTHORS
      Marc Ewing <marc@redhat.com>
      Jeff Johnson <jbj@redhat.com>
      Erik Troan <ewt@redhat.com>










































                                   - 16 -         Formatted:  April 20, 2024