The program dpkg is the base of the Debian's package management system. Developed by Ian Jackson in 1993, it is used for installing, removing, getting information or generally working with packages.
There are a series of tools that can be used to work with packages:the following:
- dpkg-source packs and unpacks the source files of a Debian package.
- dpkg-deb packs and unpacks binary packages.
- dpkg-gencontrol reads the information from an unpacked Debian tree source and generates a binary package control package, creating an entry for this in Debian/files.
- dpkg-shlibdeps calculates the dependencies of runs with respect to libraries.
- dpkg-genchanges reads the information from an unpacked Debian tree source that once constructed creates a control file (.changes).
- dpkg-buildpackage is a control script that can be used to construct the package automatically.
- dpkg-distaddfile adds a file input to debian/files.
- dpkg-parsechangelog reads the changes file (changelog) of an unpacked Debian tree source and creates a conveniently prepared output with the information for those changes.
APT (dvanced Packaging Tool) is a higher level tool, and can be used to fetch packages from remote locations or deal with complex package relations. APT can be used for managing both binary and source packages.
APT simplifies package management, allowing the user to install or remove packages, taking care of their dependencies, upgrade packages, search for packages or retrieve package information, upgrade the whole system to a new release, download the source for any package or installing the dependencies needed to build a package from source.
Another more advanced APT front-end is Aptitude, which provides the functionality of dselect and apt-get, as well as many additional features not found in either program.