1.4. What's in a package?

With all the magical things we've claimed that package management software in general (and RPM in particular) can do, you'd think there was a tiny computer guru bundled in every package. However, the reality is not that magical. Here's a quick overview of the more important parts of an RPM package [1] .

1.4.1. RPM's Package Labels

Every package built for RPM has to have a specific set of information that uniquely identifies it. We call this information a package label. Here are two sample package labels:

While these labels look like they have very little in common, in fact they all follow RPM's package labelling convention. There are three different components in every package label. Let's look at each one in order:

1.4.2. Labels And Names: Similar, But Distinct

Package labels are used internally by RPM. For example, if you ask RPM to list every installed package, it will respond with a list of package labels. When a package file is created, part of the filename consists of the package label. There is no technical requirement for this, but it does make it easier to keep track of things.

However, a package file may be renamed, and the new filename won't confuse RPM in the least. That's because the package label is contained within the file. For a fairly technical view of the inside of a package file, refer to Appendix A.

1.4.3. Package-wide Information

Some of the information contained in a package is general in nature. This information includes such items as:

1.4.4. Per-file Information

Each package also contains information about every file contained in the package. The information includes:

Notes

[1]

See Appendix A for complete details on the contents of a .rpm file.

[2]

For more information on RPM's signature checking capability, refer to Section 7.1.

[3]

We'll discuss MD5 checksums in greater detail in Section 6.1.1.4.