RPM is the package format and package manager that underpins Red Hat Enterprise Linux, CentOS Stream, Rocky, AlmaLinux, Fedora, SUSE and Amazon Linux. An RPM file is a header section plus a compressed payload: the header carries the package's name, version, release, epoch and architecture, its declared dependencies, the complete file manifest with ownership, permissions and digests, the changelog, and the scriptlets that run at install, upgrade and removal time. The payload carries the files themselves.
The rpm command operates on that format and on a local database of what is installed. It installs, upgrades, freshens, removes, queries and verifies — and verification is the part most engineers never learn. Because the header records a digest, size, mode, owner and mtime for every file, RPM can tell you exactly which files on a running system have drifted from what the package shipped, which package owns a given path, and whether a package's signature matches a trusted key. That makes RPM as much a forensic tool as an installer.
Producing RPMs is a separate skill. A spec file declares metadata, sources and patches, then four ordered sections — prep, build, install and files — that rpmbuild executes inside a controlled directory tree. Dependency metadata is largely generated automatically by scanning the built files, macros keep paths portable across distributions and architectures, and mock builds the package inside a fresh chroot so the result does not silently depend on whatever happened to be installed on the build host.
Why this skill matters now
Enterprise Linux is not going anywhere. RPM-based distributions carry most regulated and long-lived server workloads, and every organisation running them eventually needs software that no upstream vendor packages: an internal agent, a patched library, a Java service that has to be managed by systemd, a compliance tool that must be installable and removable on demand.
The usual workaround — a tarball, a shell installer and a wiki page — fails the moment a fleet grows. Nothing owns the files, upgrades leave debris, removal is guesswork, and there is no way to prove what was installed on a host six months ago. A signed RPM in an internal repository answers all of that, and it costs a spec file.
There is also a security dimension. Signed packages and signed repository metadata are the mechanism by which an enterprise Linux estate establishes that the binaries it runs came from somewhere trusted. Teams building an internal software supply chain, running air-gapped or regulated environments, or responding to component-inventory requirements all end up needing someone who can read and write RPM properly rather than copy a spec file and hope.