rpm-config - Man Page

rpm runtime macro configuration

Synopsis

NAME VALUE

Files

/usr/lib/rpm/macros
/usr/lib/rpm/macros.​d/macros.​*
/usr/lib/rpm/platform/%{_target}/macros
/usr/lib/rpm/fileattrs/*.​attr
/usr/lib/rpm/<vendor>/macros
/etc/rpm/macros.​*
/etc/rpm/macros
/etc/rpm/%{_target}/macros
~/.​config/rpm/macros

Description

The primary configuration mechanism in rpm is rpm-macros(7).​ On startup, rpm reads a set of rpm-macrofile(5) files determined by the macro path.​

Each file or glob(7) pattern in the colon-separated macro path is read sequentially by rpm for macro definitions.​ %{_target} is expanded to the detected <arch>-<os> platform.​ Tildes are expanded to the value of the environment variable HOME.​

If a macro is defined multiple times, the last entry wins.​ The default macro path uses this to achieve the following hierarchy of settings:

  1. Generic rpm factory defaults
  2. Platform-specific rpm factory defaults
  3. Vendor (distribution) specific settings
  4. Host specific settings
  5. User specific settings
  6. Command-line override settings

The default macro path can be inspected with rpm --showrc|grep ^Macro.​

In older versions of rpm, the path of per-user macros was ~/.​rpmmacros.​ This is still processed if it exists and the new configuration directory does not exist.​

Configuration

The following configurables are supported for the rpm runtime (as opposed to just package building) parts:

%_color_output MODE

Output coloring mode.​ Valid values are never and auto.​

%_db_backend BACKEND

The database backend to use.​ Possible values for BACKEND are:

  • dummy: Dummy backend (no actual functionality)
  • bdb_ro: Berkeley DB (read-only)
  • ndb: Native database (no external dependencies)
  • sqlite: Sqlite database
%_dbpath DIRECTORY

The location of the rpm database file(s).​

%_excludedocs VALUE

Boolean (i.​e.​ 1 == "yes", 0 == "no") that controls whether files marked as %doc should be installed.​

%_flush_io VALUE

Flush file IO during transactions (at a severe cost in performance for rotational disks).​ Possible values are 1 to enable, 0 to disable.​

%_group_path PATHS

A colon separated list of group(5) file paths for group name and GID lookups in package operations.​ Files are consulted in the given order until a match is found.​

If unset or empty, rpm uses NSS (Name Service Switch) when operating on the system root, or /etc/group inside the target root when using --root (see rpm-common(8) for details).​

%_httpport PORT

The port of HTTP proxy (used for FTP/HTTP).​

%_httpproxy HOSTNAME

The hostname of HTTP proxy (used for FTP/HTTP).​

%_install_langs LOCALES

A colon separated list of desired locales to be installed; all means install all locale specific files.​

%_install_script_path PATH

The PATH used in rpm-scriptlet(7) execution environment.​

%_keyring BACKEND

The keyring type to use.​ Possible values for BACKEND are:

  • fs: Plain ASCII files in a directory
  • openpgp: Shared OpenPGP certificate directory
  • rpmdb: Pseudo-packages in the rpmdb
%_keyringpath DIRECTORY

The location of the keyring path for non-rpmdb variants.​

%_minimize_writes VALUE

Minimize writes during transactions (at the cost of more reads) to conserve eg SSD disks (EXPERIMENTAL).​ Possible values are:

  • 0: disable
  • 1: enable
  • -1: (or undefined) autodetect on platforms where supported, otherwise default to disabled
%_netsharedpath PATH

A colon separated list of paths where files should not be installed.​ Usually, these are network filesystem mount points.​

%_passwd_path PATHS

A colon separated list of passwd(5) file paths for username and UID lookups in package operations.​ Files are consulted in the given order until a match is found.​

If unset or empty, rpm uses NSS (Name Service Switch) when operating on the system root, or /etc/passwd inside the target root when using --root (see rpm-common(8) for details).​

%_pkgverify_digests HASHALGOS

A colon separated list of hash algorithms to calculate digests on the entire package files during verification.​ The calculated digests are stored in the Packagedigests tag of packages in the rpmdb, and the corresponding algorithms in the Packagedigestalgos tag.​ No package digests are calculated or stored if --noverify is used during package installation.​

%_pkgverify_flags VSFLAGS

Transaction package verification flags, used for fine-grained control of %_pkgverify_level operation.​ Set to 0x0 for full compatibility with v4 packages.​

%_pkgverify_level MODE

Enforced package verification mode in transactions, where MODE is one of:

  • all: require valid digest(s) and signature(s)
  • signature: require valid signature(s)
  • digest: require valid digest(s)
  • none: legacy rpm behavior, nothing required
%_prefer_color VALUE

Package conflict resolution in bi-arch transactions.​ See also %_transaction_color.​ Possible values are:

  • 0: disabled
  • 1: prefer 32-bit packages
  • 2: prefer 64-bit packages
%__plugindir DIRECTORY

Transaction plugin directory.​

%_query_all_fmt FORMAT

Default output format for rpm(8) query operations, as described by rpm-queryformat(7).​ Percent signs need to be escaped, for example %%{nevra}.​

%_rpmlock_path FILE

The path of the file used for transaction fcntl lock.​

%_tmppath PATH

The directory where temporary files are created.​

%__urlhelpercmd EXECUTABLE

The executable to use for retrieving remote files.​

%__urlhelperopts OPTIONS

Generic options to pass to the %__urlhelpercmd command.​

%__urlhelper_localopts OPTIONS

User/host specific options to pass to the %__urlhelpercmd command.​

%__urlhelper_proxyopts OPTIONS

Proxy options to pass to the %__urlhelpercmd command.​

%_urlhelper COMMAND

Full command (with options) to use when retrieving remote files.​ Normally pieced together from the double-underscore %__urlhelper* macros.​

%_transaction_color VALUE

Package and file conflict behavior in bi-arch transactions.​ See also %_prefer_color.​ Possible values are:

  • 0: do not consider "colors", only use arch compatibility map
  • 1: only allow 32-bit packages
  • 2: only allow 64-bit packages
  • 3: allow 32- and 64-bit packages to share files
%_vsflags_erase VSFLAGS

Transaction verification flags used when erasing or updating packages.​

%_vsflags_install VSFLAGS

Transaction verification flags used when installing packages.​

%_vsflags_query VSFLAGS

Transaction verification flags used when querying packages.​

%_vsflags_rebuilddb VSFLAGS

Transaction verification flags used when rebuilding the database.​

%_vsflags_verify VSFLAGS

Transaction verification flags used when verifying packages.​

Verification flags

Digest/signature verification flags for various rpm operations are controlled by a bitmask known as VSFLAGS.​ These flags control various aspects of digital checksum and signature verification when reading rpm package files and their headers.​

VSFLAGS is formed by bitwise or'​ing the individual flags:

  • 0x00001 (RPMVSF_NOHDRCHK): don'​t verify headers from rpmdb
  • 0x00100 (RPMVSF_NOSHA1HEADER): don'​t verify header SHA1 digest
  • 0x00200 (RPMVSF_NOSHA256HEADER): don'​t verify header SHA256 digest
  • 0x00400 (RPMVSF_NODSAHEADER): don'​t verify header DSA signature(s)
  • 0x00800 (RPMVSF_NORSAHEADER): don'​t verify header RSA signature(s)
  • 0x01000 (RPMVSF_NOOPENPGP): don'​t verify header OpenPGP signature(s)
  • 0x02000 (RPMVSF_NOSHA3_256HEADER): don'​t verify header SHA3_256 digest
  • 0x04000 (RPMVSF_NOSHA512PAYLOAD): don'​t verify package payload SHA512 digest
  • 0x08000 (RPMVSF_NOSHA3_256PAYLOAD): don'​t verify package payload SHA3_256 digest
  • 0x10000 (RPMVSF_NOSHA256PAYLOAD): don'​t verify package payload SHA256 digest
  • 0x20000 (RPMVSF_NOMD5): don'​t verify legacy header+payload MD5 digest
  • 0x40000 (RPMVSF_NODSA): don'​t verify legacy header+payload DSA signature
  • 0x80000 (RPMVSF_NORSA): don'​t verify legacy header+payload RSA signature

RPM'​s Python bindings can be helpful for working with these values, for example:

  >>> import rpm
  >>> hex(rpm​.RPMVSF_NOSHA1HEADER)
  ​'0x100​'
  >>> hex(rpm​.RPMVSF_NOSHA1HEADER|rpm​.RPMVSF_NOMD5)
  ​'0x20100​'
  >>>

Hash algorithms

The following hash algorithms (denoted by HASHALGO) are known to rpm, but availability can vary depending how rpm and it'​s underlying libraries have been built:

  • 1: MD5 (obsolete)
  • 2: SHA1 (obsolete)
  • 8: SHA256
  • 9: SHA384
  • 10: SHA512
  • 12: SHA3-256
  • 14: SHA3-512

Environment

If XDG_CONFIG_HOME environment variable is set, it replaces ~/.​config in the macro path.​

See Also

rpm(8), rpm-common(8), rpm-macrofile(5), rpm-rpmrc(5), rpm-macros(7)

Info

2026-08-20 RPM 6.1.0