== Package Management Tools

The are several tools available on a Debian system for the management of packages and the [PkgDB package database].

=== _Tools for everyday use_

| [dselect] | The default [ncurses] based package manager. | [synaptic] | This is an [X11] based package mananger.

=== _Tools for advanced use_

| [apt] | Advanced package tool | [apt-key] | This tool is used for managing package authentication keys | [dpkg] | This is the main utility program that handles installation and removal of packages. All other tools are frontends for dpkg, and many users rarely use this tool directly. | [apt-get] | Used to organize the installation of packages (dpkg does the actual installing, apt-get handles dependencies, etc). | [apt-cache] | Used to search the contents of the entire package database in the [sources] list (as opposed to dpkg searches, which only search the contents of installed packages). | [dpkg-deb] | This tool is used to pack, unpack and provides information about package files. | [dpkg-divert] | A tool for installing a package in a non-default location | [dpkg-query] | A tool for querying the package database | [dpkg-statoverride] | A tool for overriding modes and ownerships of files | [apt-file] | This tool searches for a filename installed by any package in the contents of sources.list. | [apt-listchanges] | This tool displays the relevant changelog entries whenever a package is upgraded. | [apt-build] | Used to build packages from the source filesof this and haven't tried it myself. :) | [apt-cdrom] | This tool allows [cdrom] based sources to be included in the package sources list. | [apt-rdepends] | This tool generates recursive dependency trees for a package. | [apt-spy] | This tool is used to generate a sources.list file from the current list of mirrors, based on latency/bandwidth. | [apt-show-versions] | shows all available versions of a package (allows wildcards), or all packages, and displays upgrade information where applicable. | [dpkg-reconfigure] | Allows a package to be reconfigured based on preferences (the same questions that are asked when the package is first installed). | [apt-show-source] | This is a variant of "apt-cache show" that shows information against the named source package, rather than the binary package. | [apt-listbugs] | This tool shows known critical bugs in named packages. | [apt-zip] | This tool allows non-networked machines to export a list of packages selected for install using removable media. | [apt-config] | This program is used by the other apt utilities to provide a standard interface to the apt configuration settings. | [apt-sortpkgs] | Sorts records and fields within the sources and packages files. | [apt-extracttemplates] | Extracts templates and install scripts from packages. | [apt-setup] | This tool configures the sources.list file. | [auto-apt] | This tool checks the file access of programs running within its environments, and automatically installs packages if a program tries to access a file known to belong in an uninstalled package. | [deborphan] | This tool scans the package database for unused or redundant packages | [debuild] | This tool is used for rebuilding packages

=== _Tools for managing a package repository_

| [apt-cacher] | This is an alternative tool to apt-proxy. | [apt-proxy] | This is a specialized proxy server for accessing apt repositories. This can be used on a network to get packages from a central server that only downloads from the mirrors once. | [apt-proxy-import] | Imports packages into a cache used by apt-proxy. | [apt-ftparchive] | generates, from a directory of packages, the "Packages" and "Sources" control files used for an apt repository. | [apt-move] | Moves a collection of Debian packages into a proper "pool" directory hierarchy as used by a package repository.

=== _Alternative tools_

| [aptitude] | An alternative package manager to [dselect], containing additional features. | [gdpm] | Gnome Debian Package Manager (in development). | [gnome-apt] | Gnome Advanced Package Tool (in development). | [pdbv] | A tool for creating an xhtml view of the package database.