Friday, July 6, 2007

Apt-get command Manual


apt-get [-hvs] [-o=config string] [-c=file] {[update] | [upgrade] |
[dselect-upgrade] | [install pkg...] | [remove pkg...] |
[source pkg...] | [build-dep pkg...] | [check] | [clean] |
[autoclean] | [autoremove]}

apt-get is the command-line tool for handling packages, and may be
considered the user's "back-end" to other tools using the APT library.
Several "front-end" interfaces exist, such as dselect(8), aptitude,
synaptic, gnome-apt and wajig.

Unless the -h, or --help option is given, one of the commands below
must be present.

update is used to resynchronize the package index files from their
sources. The indexes of available packages are fetched from the
location(s) specified in /etc/apt/sources.list. For example, when
using a Debian archive, this command retrieves and scans the
Packages.gz files, so that information about new and updated
packages is available. An update should always be performed before
an upgrade or dist-upgrade. Please be aware that the overall
progress meter will be incorrect as the size of the package files
cannot be known in advance.

upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at their
current version. An update must be performed first so that apt-get
knows that new versions of packages are available.

dselect-upgrade is used in conjunction with the traditional Debian
packaging front-end, dselect(8). dselect-upgrade follows the
changes made by dselect(8) to the Status field of available
packages, and performs the actions necessary to realize that state
(for instance, the removal of old and the installation of new

dist-upgrade in addition to performing the function of upgrade, also
intelligently handles changing dependencies with new versions of
packages; apt-get has a "smart" conflict resolution system, and it
will attempt to upgrade the most important packages at the expense
of less important ones if necessary. The /etc/apt/sources.list file
contains a list of locations from which to retrieve desired package
is installed. Similarly a plus sign can be used to designate a
package to install. These latter features may be used to override
decisions made by apt-get's conflict resolution system.

A specific version of a package can be selected for installation by
following the package name with an equals and the version of the
package to select. This will cause that version to be located and
selected for install. Alternatively a specific distribution can be
selected by following the package name with a slash and the version
of the distribution or the Archive name (stable, testing, unstable).

Both of the version selection mechanisms can downgrade packages and
must be used with care.

Finally, the apt_preferences(5) mechanism allows you to create an
alternative installation policy for individual packages.

If no package matches the given expression and the expression
contains one of '.', '?' or '*' then it is assumed to be a POSIX
regular expression, and it is applied to all package names in the
database. Any matches are then installed (or removed). Note that
matching is done by substring so 'lo.*' matches 'how-lo' and
'lowest'. If this is undesired, anchor the regular expression with a
'^' or '$' character, or create a more specific regular expression.

remove is identical to install except that packages are removed
instead of installed. If a plus sign is appended to the package name
(with no intervening space), the identified package will be
installed instead of removed.

source causes apt-get to fetch source packages. APT will examine the
available packages to decide which source package to fetch. It will
then find and download into the current directory the newest
available version of that source package. Source packages are
tracked separately from binary packages via deb-src type lines in
the sources.list(5) file. This probably will mean that you will not
get the same source as the package you have installed or as you
could install. If the --compile options is specified then the
package will be compiled to a binary .deb using dpkg-buildpackage,
if --download-only is specified then the source package will not be

A specific source version can be retrieved by postfixing the source
name with an equals and then the version to fetch, similar to the
mechanism used for the package files. This enables exact matching of
the source package name and version, implicitly enabling the
APT::Get::Only-Source option.

Note that source packages are not tracked like binary packages, they
exist only in the current directory and are similar to downloading
source tar balls.

dselect(8) method, clean is run automatically. Those who do not use
dselect will likely want to run apt-get clean from time to time to
free up disk space.

Like clean, autoclean clears out the local repository of retrieved
package files. The difference is that it only removes package files
that can no longer be downloaded, and are largely useless. This
allows a cache to be maintained over a long period without it
growing out of control. The configuration option
APT::Clean-Installed will prevent installed packages from being
erased if it is set to off.

autoremove is used to remove packages that were automatically
installed to satisfy dependencies for some package and that are no
more needed.

All command line options may be set using the configuration file, the
descriptions indicate the configuration option to set. For boolean
options you can override the config file by using something like
-f-,--no-f, -f=no or several other variations.

-d, --download-only
Download only; package files are only retrieved, not unpacked or
installed. Configuration Item: APT::Get::Download-Only.

-f, --fix-broken
Fix; attempt to correct a system with broken dependencies in place.
This option, when used with install/remove, can omit any packages to
permit APT to deduce a likely solution. Any Package that are
specified must completely correct the problem. The option is
sometimes necessary when running APT for the first time; APT itself
does not allow broken package dependencies to exist on a system. It
is possible that a system's dependency structure can be so corrupt
as to require manual intervention (which usually means using
dselect(8) or dpkg --remove to eliminate some of the offending
packages). Use of this option together with -m may produce an error
in some situations. Configuration Item: APT::Get::Fix-Broken.

-m, --ignore-missing, --fix-missing
Ignore missing packages; If packages cannot be retrieved or fail the
integrity check after retrieval (corrupted package files), hold back
those packages and handle the result. Use of this option together
with -f may produce an error in some situations. If a package is
selected for installation (particularly if it is mentioned on the
command line) and it could not be downloaded then it will be
silently held back. Configuration Item: APT::Get::Fix-Missing.

Disables downloading of packages. This is best used with
--ignore-missing to force APT to use only the .debs it has already
downloaded. Configuration Item: APT::Get::Download.
not actually change the system. Configuration Item:

Simulate prints out a series of lines each one representing a dpkg
operation, Configure (Conf), Remove (Remv), Unpack (Inst). Square
brackets indicate broken packages with and empty set of square
brackets meaning breaks that are of no consequence (rare).

-y, --yes, --assume-yes
Automatic yes to prompts; assume "yes" as answer to all prompts and
run non-interactively. If an undesirable situation, such as changing
a held package, trying to install a unauthenticated package or
removing an essential package occurs then apt-get will abort.
Configuration Item: APT::Get::Assume-Yes.

-u, --show-upgraded
Show upgraded packages; Print out a list of all packages that are to
be upgraded. Configuration Item: APT::Get::Show-Upgraded.

-V, --verbose-versions
Show full versions for upgraded and installed packages.
Configuration Item: APT::Get::Show-Versions.

-b, --compile, --build
Compile source packages after downloading them. Configuration Item:

Ignore package Holds; This causes apt-get to ignore a hold placed on
a package. This may be useful in conjunction with dist-upgrade to
override a large number of undesired holds. Configuration Item:

Do not upgrade packages; When used in conjunction with install,
no-upgrade will prevent packages on the command line from being
upgraded if they are already installed. Configuration Item:

Force yes; This is a dangerous option that will cause apt to
continue without prompting if it is doing something potentially
harmful. It should not be used except in very special situations.
Using force-yes can potentially destroy your system! Configuration
Item: APT::Get::force-yes.

Instead of fetching the files to install their URIs are printed.
Each URI will have the path, the destination file name, the size and
the expected md5 hash. Note that the file name to write to will not
always match the file name on the remote site! This also works with
the source and update commands. When used with the update command
the MD5 and size are not included, and it is up to the user to
decompress any compressed files. Configuration Item:
This option defaults to on, use --no-list-cleanup to turn it off.
When on apt-get will automatically manage the contents of
/var/lib/apt/lists to ensure that obsolete files are erased. The
only reason to turn it off is if you frequently change your source
list. Configuration Item: APT::Get::List-Cleanup.

-t, --target-release, --default-release
This option controls the default input to the policy engine, it
creates a default pin at priority 990 using the specified release
string. The preferences file may further override this setting. In
short, this option lets you have simple control over which
distribution packages will be retrieved from. Some common examples
might be -t '2.1*' or -t unstable. Configuration Item:
APT::Default-Release; see also the apt_preferences(5) manual page.

Only perform operations that are 'trivial'. Logically this can be
considered related to --assume-yes, where --assume-yes will answer
yes to any prompt, --trivial-only will answer no. Configuration
Item: APT::Get::Trivial-Only.

If any packages are to be removed apt-get immediately aborts without
prompting. Configuration Item: APT::Get::Remove.

If the command is either install or remove, then this option acts
like running autoremove command, removing the unused dependency
packages. Configuration Item: APT::Get::AutomaticRemove.

Only has meaning for the source and build-dep commands. Indicates
that the given source names are not to be mapped through the binary
table. This means that if this option is specified, these commands
will only accept source package names as arguments, rather than
accepting binary package names and looking up the corresponding
source package. Configuration Item: APT::Get::Only-Source.

--diff-only, --tar-only
Download only the diff or tar file of a source archive.
Configuration Item: APT::Get::Diff-Only and APT::Get::Tar-Only.

Only process architecture-dependent build-dependencies.
Configuration Item: APT::Get::Arch-Only.

Ignore if packages can't be authenticated and don't prompt about it.
This is usefull for tools like pbuilder. Configuration Item:

-h, --help
Show a short usage summary.

Locations to fetch packages from. Configuration Item:

APT configuration file. Configuration Item: Dir::Etc::Main.

APT configuration file fragments Configuration Item:

Version preferences file. This is where you would specify "pinning",
i.e. a preference to get certain packages from a separate source or
from a different version of a distribution. Configuration Item:

Storage area for retrieved package files. Configuration Item:

Storage area for package files in transit. Configuration Item:
Dir::Cache::Archives (implicit partial).

Storage area for state information for each package resource
specified in sources.list(5) Configuration Item: Dir::State::Lists.

Storage area for state information in transit. Configuration Item:
Dir::State::Lists (implicit partial).

apt-cache(8), apt-cdrom(8), dpkg(8), dselect(8), sources.list(5),
apt.conf(5), apt-config(8), apt-secure(8), The APT User's guide in
/usr/share/doc/apt-doc/, apt_preferences(5), the APT Howto.

apt-get returns zero on normal operation, decimal 100 on error.

[1]APT bug page. If you wish to report a bug in APT, please see
/usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command.

Jason Gunthorpe

APT team