RPM-PAYLOADFLAGS(7)

✨ rpm-payloadflags β€” RPM payload flags ✨

okay bestie, so this is a section 7 page from the Miscellaneous Information Manual and it's literally about how RPM squishes your package payload. no cap, it's more fun than it sounds πŸ’…


πŸŽ€ NAME πŸŽ€

rpm-payloadflags β€” RPM payload flags


🌸 SYNOPSIS 🌸

w[FLAGS].TYPE

πŸ’– DESCRIPTION πŸ’–

so the payload flags are what decide how the payload of an RPM package gets compressed when the package is built. simple as that. ✨

those flags get stored in the Payloadcompressor and Payloadflags tags of the package header, and those are what get used to figure out how to uncompress the payload contents during installation. it's giving "secrets stashed in the header that come back later". πŸ‘‘

ngl that weird little syntax is directly inherited from librpm's Fopen() IO API, where w means opening a file for writing. so when you see the w just know it's an heirloom from the ancestors. 🫢

these are the compression types that are supported, but heads up, availability may vary depending on how RPM was compiled:

  • ufdio β€” uncompressed (yeah it's "compression" type, whatever, no thoughts)
  • gzdio β€” gzip (aka zlib)
  • bzdio β€” bzip2
  • xzdio β€” xz
  • lzdio β€” legacy lzma
  • zstdio β€” zstd

and the compression FLAGS? they must be listed in the following order, and can be any of:

  • <0-9> β€” compression level β€” works with all types (ufdio ignores it though, it's unbothered πŸ’€)
  • T[0-N] β€” number of threads (no number or 0 = autodetect) β€” only xzdio, zstdio
  • L<0-9> β€” window size (see --long in zstd(1)) β€” only zstdio

if a flag is omitted, the compressor's default value will be used. periodt. 🧚

a higher compression level generally means better compression ratio at the cost of increased resource use and compression times. so it's a whole tradeoff vibe check. ⭐

T is equivalent to T0 and causes the number of threads to be automatically detected. but bestie hear me out β€” note that while using threads can speed up compression considerably, it typically causes the compression ratio to go down, and make the output less predictable. πŸ”₯


🌈 EXAMPLES 🌈

here's the mood board of modes:

  • w9.gzdio β€” gzip level 9, default for package payload
  • w9.bzdio β€” bzip2 level 9, bzip2's default
  • w.xzdio β€” xz default level
  • w7T16.xzdio β€” xz level 7 using 16 threads
  • w7T0.xzdio β€” xz level 7, autodetect no. of threads
  • w6.lzdio β€” lzma (legacy) level 6, lzma's default
  • w19T8.zstdio β€” zstd level 19 using 8 threads
  • w7T.zstdio β€” zstd level 7, autodetect no. of threads
  • w.ufdio β€” uncompressed

πŸ’œ SEE ALSO πŸ’œ

http://www.rpm.org/


okay so like, go forth and compress, main character. you got this. πŸ’…πŸ’–

and that's the whole page!! this was RPM 6.1.0 from 2026-08-20, section 7, RPM-PAYLOADFLAGS(7) β€” slay, bye bestie πŸ¦‹πŸŽ€πŸŒΈ

πŸ“¦ where this page comes from