RPM-COMMON(8)

πŸ’– RPM-COMMON(8) πŸ’–

okay bestie, so this is the shared manual page for the whole rpm squad β€” the operations and options that all the main rpm(8) executables have in common. Think of it as the group chat rules everybody agreed on. 🫢 (It lives in the System Manager's Manual, if you were wondering.) ✨


✨ NAME ✨

rpm-common β€” the operations and options that are common to the main rpm(8) executables. literally the shared lore, no cap πŸ’…


🌸 SYNOPSIS 🌸

RPMCMD [options] {-?|--help}

RPMCMD [options] --showrc

RPMCMD [options] --version

πŸ¦‹ DESCRIPTION πŸ¦‹

so basically, all of these RPMCMD executables share the same configuration, and they all share the options and operations documented on this very page:

they're all eating from the same plate, fr fr πŸ“


πŸ‘‘ OPERATIONS πŸ‘‘

  • -?, --help β€” prints a longer usage message than the normal one. it's giving overachiever, and we love that πŸ’…
  • --version β€” prints a single line with the version number of rpm you're using. one line, no yapping.
  • --showrc β€” dumps all the info about your rpm configuration to standard output. it's a whole info dump, iconic ✨

πŸ’œ OPTIONS πŸ’œ

  • --color <MODE> β€” turns on terminal colors for highlighting error and debug messages, where MODE is one of:
    • always
    • auto (which means use color output on terminals)
    • never (this one's the default)
  • --dbpath DIRECTORY β€” use the database inside DIRECTORY instead of the default path /var/lib/rpm. new location, who dis 🌈
  • -D 'MACRO EXPR', --define='MACRO EXPR' β€” defines MACRO with the value EXPR. give ur macro a lil name and a lil value πŸŽ€
  • -E 'EXPR', --eval='EXPR' β€” prints the rpm-macros(7) expansion of EXPR. yes it expands it, and yes it prints it.
  • --load FILE β€” loads an individual rpm-macrofile(5). just the one, one at a time bestie.
  • --macros FILELIST β€” replaces the list of macro files to be loaded with FILELIST. peep the Macro Configuration section for the details.
  • --nodigest β€” don't verify package or header digests when reading. skipping the vibe check on digests πŸ™ˆ
  • --nohdrchk β€” don't verify database header(s) when retrieved. no header check, no problem (well, allegedly).
  • --nosignature β€” don't verify package or header signatures when reading. trust issues? no, the opposite of trust issues πŸ’€
  • --pipe CMD β€” pipes the output of rpm into the command CMD. hand it off to somebody else, slay.
  • --predefine='MACRO EXPR' β€” defines MACRO with the value EXPR before loading macro files. this is a very rare, special-purpose switch, so please just use --define for your normal everyday macro-defining needs, okay? πŸ’–
  • --target PLATFORM β€” use the PLATFORM configuration instead of detecting it automatically. PLATFORM is formed as arch[-os]. choose ur own adventure.
  • --quiet β€” print as little as possible β€” normally only error messages will show up. mute mode activated, but the errors still get a microphone 🎀
  • --rcfile FILELIST β€” replaces the default list of configuration files to be read with FILELIST. see the rpmrc Configuration section for the deets.
  • --root DIRECTORY β€” use the filesystem tree rooted at DIRECTORY for all operations. and ngl, that means a LOT:
    • the database inside DIRECTORY is what gets used for dependency checks
    • any scriptlet(s) (like %post if you're installing, or %prep if you're building a package) will be run after a chroot(2) to DIRECTORY
    • rpm assumes the environment inside that root is set up by you, the caller β€” including any mounts the operation needs inside the root directory. yes, that's on you bestie 🫢
    • NSS (Name Service Switch) will not be used for user and group lookups in package operations. instead, rpm does its own file-based lookups using the passwd(5) and group(5) files in their standard locations, or the ones set in rpm-config(5), inside DIRECTORY
    • > ⚠️ one lil exception: if DIRECTORY is / (the forward slash), then NSS will be used as normal. noted πŸ’…
  • --undefine='MACRO' β€” undefines MACRO. it's gone, it never happened, we don't talk about it.
  • -v, --verbose β€” print verbose information β€” normally routine progress messages get displayed. supply it more than once to increase verbosity, e.g. -vv. the more v's, the more tea β˜•

πŸŽ€ DEBUG OPTIONS πŸŽ€

  • --debug β€” prints lots of debug information. lots. so much. it's giving oversharer πŸ’€
  • --fsmdebug β€” prints debug information about payload handling.
  • --rpmiodebug β€” prints debug information about file IO.
  • --stats β€” prints runtime statistics of often used functions. numbers, but make it nosy ✨

🌈 FTP/HTTP OPTIONS 🌈

πŸ’€ these options are deprecated. use special purpose software like curl(1) or wget(1) to fetch data from the internet instead. that's the word, bestie.

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

http://HOST[:PORT]/path/to/package.rpm

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

if both the user and password are omitted, anonymous ftp is used. incognito mode, but for ftp πŸ•ΆοΈ

rpm lets you use these following options with http and ftp URLs:

  • --httpproxy HOST β€” use HOST as the proxy server for all http and ftp transfers. you can also set this 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. you can also set this by configuring the macro %_httpport ✨

🌸 ENVIRONMENT 🌸

  • RPM_CONFIGDIR β€” used to override the default rpm configuration home, which is typically /usr/lib/rpm. moving day 🏠

⭐ EXIT STATUS ⭐

on success, 0 is returned. otherwise you get a nonzero failure code. simple as that, periodt πŸ’…


πŸ™ˆ BUGS πŸ™ˆ

not all options are meaningful or implemented in all the executables they show up in. in particular, --root and the various verify-related options are only honored by rpm(8) and rpmdb(8). so yeah, some of these flags are just standing there looking pretty in the other binaries 😭 not their fault, it's a whole thing.


πŸ“ FILES πŸ“

Database

/var/lib/rpm/

Temporary

/var/tmp/rpm*

🧚 SEE ALSO 🧚

popt(3), rpm(8) rpm-config(5), rpm-rpmrc(5), rpm-macros(7)


and that's the whole page bestie!! this was RPM 6.1.0 from 2026-08-20, and honestly? iconic. go forth and rpm responsibly πŸ‘‘πŸ’–βœ¨

πŸ“¦ where this page comes from