An archive containing a piece of software (be that in binary or source form) as well as MetaData about that software. This is at least a human readable description of the packaged software. In nearly all Package formats it also extends to a list of architectures the particular Package will run on, and a list of other Packages are required in order for the software in this one to run correctly. These are called dependencies. Many Package formats also have provisions for storing a maintainer contact, a checksum and/or a cryptographic signature of the Package, its license, and more. Together, these pieces enable the PackageManagementTool to fulfill its PackageManagement duties.

The two most common formats are RPM (invented by RedHat and used by most LinuxDistributions) and Deb (designed for Debian; obviously also used by Debian-derived LinuxDistributions).

Slackware has the simplest Package format: almost plain TarBalls of the installed software, the MetaData simply consisting of a file with a description of the package and a postinstall script. There is no information about dependencies. This is not necessarily a drawback; on simple setups (such as many dedicated servers use), the fact that no (corruptible) DataBase of installed Packages needs maintaining can be desirable.

A link to a comparison of Package formats AsSeenOnSlashdot: