Penguin

One of Debian's strengths is its PackageManagement system. This system is made up of many individual tools that manipulate and query your installed packages and the available package database. This page contains a list of all these commands. It is not meant to be a command reference, so command-line flags and usage, etc, is not discussed. Use this page to learn the capabilites of each tool and then look use each tools manpage to teach yourself how to use it.

Tools for everyday use


apt-get
Every Debian user knows this one; it's the basic tool that's used to organize the installation of packages (dpkg does the actual installing, apt-get handles dependencies, etc). Apt-get itself is text-mode, although it may ask installation questions in a X11 window depending on system configuration.

aptitude
An ncurses-based frontend for apt-get that's a lot friendlier than dselect. Recommended as a precursor to, or replacement for, dselect.

apt-cache
This command is used to search the contents of your local package database. Searches with apt-cache are different from searches with dpkg in that an apt-cache search will cover the entire contents whatever is in your sources list (as opposed to dpkg searches, which only search the contents of installed packages). Text-mode.

synaptic
Originally designed for !SuSe? Linux, there is a Debian-adapted version of this X11-based apt-get frontend that works really well for what I call "package shopping"...going through the full list of what's available. Synaptic is now the default graphical package manager shipped in Ubuntu.

Tools for advanced use


dpkg
This is the basic package utility, that handles installing packages, removing them, and getting information from them. All the other tools are frontends for dpkg, and many users rarely use it directly.

dselect
An ncurses-based frontend for apt-get that handles package dependencies, suggestions, recommendations, etc. Use of this program is recommended for not necessarily "advanced" users, but for people who are willing to wade through a very terse and sometimes confusing interface. Many people have blamed this tool for making sweeping changes to their package installations that they didn't intend to make. Approach with caution. :)

apt-file
Search for a filename installed by any package in the contents of sources.list.

apt-listchanges
Display the relevant changelog entries whenever a package is upgraded.

apt-build
Download the source package for something, build it on the fly, and install the newly built binary package. This normally isn't necessary, since Debian's packages will already be built against the libraries you have (since Debian, unlike other distributions, is a coherent package set rather than just an FTP site full of unrelated packages), but with apt-build you can optionally apply patches to the source tree after downloading but before building. The command "apt-build world" does what you'd expect it to do...I'm afraid of this and haven't tried it myself. :)

apt-cdrom
Add a CD-ROM with packages on it to your sources.list.

apt-rdepends
Generates recursive dependency trees for a package.

apt-spy
Generates a sources.list file from the current list of mirrors, after testing them for 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 you to reconfigure package preferences (the same questions that are asked when the package is installed).

apt-show-source
Variant of "apt-cache show" that shows information for the source version of the package named, rather than the binary version.

apt-listbugs
Shows critical bugs in named packages. Can be run anytime, but specifically intended to help users that track the "unstable" distribution from upgrading to a package that catastrophically breaks the system.

apt-zip
Allows non-networked machines to benefit from apt by exporting a list of packages selected for install, then later installing those packages from removable media after another machine has downloaded them.

apt-config
This one doesn't really count, as it's not meant to be used directly...this program is used by the other apt utilities to provide a standard interface to the apt configuration settings.

apt-sortpkgs
Recreates Sources and Packages files with the records sorted and within each record, the fields sorted.

apt-extracttemplates
Extracts templates and install scripts from packages.

apt-setup
Sets up the sources.list file (this gets run during the initial OS install, for example)

auto-apt
From the package description: auto-apt checks the file access of programs running within its environments, and if a program tries to access a file known to belong in an uninstalled package, auto-apt will install that package using apt-get.

Tools for creating/managing a package repository


apt-cacher
Alternative to apt-proxy

apt-proxy
Specialized HTTP proxy server made to proxy access to one or more apt repositories. This is very useful on a LAN, where the entire network can get packages from a central machine 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.

CategoryDebian