LinuxCommandLibrary

aptitude

Manage Debian packages

TLDR

Synchronize list of packages and versions available. This should be run first, before running subsequent aptitude commands

$ aptitude update
copy

Install a new package and its dependencies
$ aptitude install [package]
copy

Search for a package
$ aptitude search [package]
copy

Search for an installed package (?installed is an aptitude search term)
$ aptitude search '?installed([package])'
copy

Remove a package and all packages depending on it
$ aptitude remove [package]
copy

Upgrade installed packages to the newest available versions
$ aptitude upgrade
copy

Upgrade installed packages (like aptitude upgrade) including removing obsolete packages and installing additional packages to meet new package dependencies
$ aptitude full-upgrade
copy

Put an installed package on hold to prevent it from being automatically upgraded
$ aptitude hold '?installed([package])'
copy

SYNOPSIS

aptitude [options] [packages...]

PARAMETERS

-h
    Show help message.

-v
    Show verbose output.

-vv
    Show even more verbose output.

-q
    Suppress output, except for error messages.

-y
    Assume yes to all queries.

update
    Update the list of available packages.

upgrade
    Perform a safe upgrade, installing the newest versions of all packages.

full-upgrade
    Perform a full upgrade, possibly removing packages if necessary.

install
    Install a specific package.

remove
    Remove a specific package.

purge
    Remove a package and its configuration files.

search
    Search for packages matching a pattern.

show
    Show detailed information about a package.

safe-upgrade
    Upgrade packages with the least amount of changes.

DESCRIPTION

Aptitude is a high-level interface to the Advanced Packaging Tool (APT) used for managing Debian-based Linux distributions. It provides a more interactive and user-friendly experience compared to the standard apt-get command. Aptitude offers features such as dependency resolution improvements, a more powerful search functionality, and the ability to keep track of automatically installed packages, facilitating easier removal when they are no longer needed.

Unlike apt-get, aptitude remembers the history of actions performed, enabling users to easily undo changes. It utilizes a ncurses-based interface, providing a visual representation of package statuses and dependencies. Furthermore, aptitude can also perform all the functions of apt-get, making it a comprehensive package management solution for Debian and Ubuntu systems.

CAVEATS

Aptitude's dependency resolution can sometimes be more aggressive than apt-get's, potentially leading to unexpected removals. Always review the proposed changes carefully before confirming any actions.

PACKAGE STATES

Aptitude uses color-coding in its visual interface to indicate package states: green for installed, blue for available, red for broken, etc. This visual representation simplifies package management.

AUTOMATIC PACKAGE MANAGEMENT

Aptitude keeps track of automatically installed packages and provides an option to automatically remove them when they are no longer needed as dependencies. This keeps your system cleaner and reduces unnecessary disk space usage.

HISTORY

Aptitude was initially developed by Daniel Burrows. It aimed to improve upon the shortcomings of apt-get, particularly in dependency resolution and user interaction. Over time, aptitude has become a popular choice among Debian and Ubuntu users who prefer a more interactive and feature-rich package management tool. Its development continues, with regular updates and improvements.

SEE ALSO

apt-get(8), apt(8), dpkg(1)

Copied to clipboard