What is a Debian package? Oriented toward Debian, but still explains the concept well.
Packages generally contain all of the files necessary to implement a set of related commands or features. There are two types of Debian packages:
* Binary packages, which contain executables, configuration files, man/info pages, copyright information, and other documentation.
* Source packages, which consist of a .dsc file describing the source package (including the names of the following files), a .orig.tar.gz file that contains the original unmodified source in gzip-compressed tar format and usually a .diff.gz file that contains the Debian-specific changes to the original source. The utility dpkg-source packs and unpacks Debian source archives; details are provided in its manual page.
Installation of software by the package system uses "dependencies" which are carefully designed by the package maintainers. These dependencies are documented in the control file associated with each package. For example, the package containing the GNU C compiler (gcc) "depends" on the package binutils which includes the linker and assembler. If a user attempts to install gcc without having first installed binutils, the package management system (dpkg) will send an error message that it also needs binutils, and stop installing gcc.
"Introduction to Package Types"