What is a package manager?

A package manager keeps track of what software is installed on your computer, and allows you to easily install new software, upgrade software to newer versions, or remove software that you previously installed. As the name suggests, package managers deal with packages: collections of files that are bundled together and can be installed and removed as a group.

Often, a package is just a particular program. For instance, the instant messaging client gaim is contained in the Debian package of the same name. On the other hand, it is common for programs to consist of several interrelated packages. For instance, the gimp image editor consists not only of the gimp package, but also of the gimp-data package; in addition, several optional add-on packages (containing esoteric data, documentation, and so on) are also available. It is also possible for several small, related programs to be contained in a single package: for instance, the fileutils package contains several common Unix commands, such as ls, cp, etc.

Some packages require other packages in order to function. In Debian, packages can depend upon, recommend, suggest, break, or conflict with other packages.

The job of a package manager is to present an interface which assists the user in managing the collection of packages installed on his or her system. aptitude provides such an interface by building on the apt package management system.