Frequently Asked Question
What exactly is a software package?
A package is a single archive file that bundles together everything one piece of software needs to be installed and run: the compiled binaries, the shared libraries it ships with, the default configuration files, manual pages, icons, desktop entries, and crucially the metadata. The metadata names the package, gives its version, lists its dependencies, records which files it owns and where they should go, and provides pre- and post-install scripts that the package manager runs at the right moment.
Without metadata a package would be no better than the old tar.gz of binaries that
Unix sysadmins used to drop into /usr/local. With it, the package manager can build a
database of what is installed, resolve dependencies automatically, upgrade cleanly,
remove without orphaning files, and verify integrity with checksums. The package is the
atomic unit of Linux administration.