Differences between revisions 42 and 68 (spanning 26 versions)
Revision 42 as of 2010-03-21 16:41:38
Size: 4990
Comment:
Revision 68 as of 2018-01-17 10:34:30
Size: 7598
Editor: Sebul
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-Translations: [[Aptitude|English]] - [[fr/Aptitude|Français]] - [[it/Aptitude|Italiano]]-~ ||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[es/Aptitude|Español]] - [[fr/Aptitude|Français]] - [[it/Aptitude|Italiano]] -[[ko/Aptitude|한국어]] - [[ru/Aptitude|Русский]] - [[zh_CN/Aptitude|简体中文]]-~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Discussion]]||
----
## If your page gets really long, uncomment this Table of Contents
<<TableOfContents(2)>>
Line 4: Line 7:
----
 ~+Aptitude+~ is an [[Ncurses]] based WikiPedia:FrontEnd to [[Apt]], the debian package manager. Since it is text based, it is run from a terminal or a CLI (command line interface). Aptitude has a number of useful features, including:
== Introduction ==

Aptitude is an [[Ncurses]] based WikiPedia:FrontEnd to [[Apt]], the debian package manager. Since it is text based, it is run from a terminal or a CLI (command line interface). Aptitude has a number of useful features, including:
Line 14: Line 18:
aptitude is also non-fattening, naturally cleansing, and housebroken. It does not, however, have Super Cow Powers, meaning that it does not implement the `moo` operation, verbosely or otherwise.
Line 16: Line 19:
## If your page gets really long, uncomment this Table of Contents
<<TableOfContents(2)>>
The name of its primary command is `aptitude`, as is the name of its primary [[DebianPkg:aptitude|Debian package]]. The manual for the latest `aptitude` version is usually available [[https://www.debian.org/doc/manuals/aptitude/index.en.html|here (in English)]]. If you have package=[[DebianPkg:aptitude-doc-en]] installed (other [[https://packages.debian.org/search?suite=default&section=all&arch=any&searchon=names&keywords=aptitude-doc|languages are available]]), you can find an HTML manual for your current version [[file:///usr/share/doc/aptitude/html/en/index.html|here]] (change path for other languages as appropriate).
Line 19: Line 21:
== Run ==
 . Enter the following from a [[terminal]]:
== Interactive Use ==
To run interactively, enter the following from a [[terminal]]:
Line 24: Line 26:
== Use ==
Line 39: Line 41:
You can also use aptitude like in the same manner as apt-get: When reviewing pending actions:
 * 'a' explicitly accepts an action (use again to unaccept)
 * 'r' rejects an action
 * 'g' again goes ahead with pending actions
Line 41: Line 46:
Update the packages list: See [[https://debian.org/doc/manuals/aptitude/ch02s02s02.en.html|Accessing package information]] for understanding the letters in the package synopsis line (e.g., 'i' means "will be installed", 'p' means "not installed", etc.)
Line 43: Line 48:

== Manual use as root ==

You can also use aptitude in the same manner as apt-get:

Update the packages list :
Line 44: Line 55:
aptitude update # aptitude update
Line 46: Line 57:
Upgrade the packages:
Line 48: Line 58:
Upgrade the packages :
Line 49: Line 60:
aptitude upgrade # aptitude safe-upgrade
Line 51: Line 62:
Install foo:
Line 53: Line 63:
Install foo :
Line 54: Line 65:
aptitude install foo # aptitude install foo
Line 56: Line 67:
Remove bar:
Line 58: Line 68:
Remove bar :
Line 59: Line 70:
aptitude remove bar # aptitude remove bar
Line 61: Line 72:
Purge foo:
Line 63: Line 73:
Purge foo :
Line 64: Line 75:
aptitude purge foo # aptitude purge foo
Line 66: Line 77:
Personally, I still use {{{apt-cache search foo}}} to perform a search – {{{aptitude search foo}}} is slower. But you should try the {{{aptitude search foo}}} way. You should discover that the output is a bit different from {{{apt-cache}}}, in some case, it may be useful to search for a package to see if it is already installed.
Line 68: Line 78:
The manual of aptitude is really a gold mine. I don't want to duplicate this useful informations so please take a look there for further help.
Line 70: Line 79:
== Package ==
[[DebianPkg:aptitude]]
== Functions for every user ==

<<Anchor(search)>>
Search for packaging containing foo :
{{{
$ aptitude search foo
}}}

Personally, I still use {{{apt-cache search foo}}} to perform a search – {{{aptitude search foo}}} is slower. But you should try the {{{aptitude search foo}}} way. You should discover that the output is a bit different from {{{apt-cache}}}, in some cases, it may be useful to search for a package to see if it is already installed.

<<Anchor(show)>>
showing if a specific package is installed :
{{{
$ aptitude show foo
}}}
Line 76: Line 98:
Reading and following the instructions found in the [[http://www.debian.org/releases/stable/releasenotes|release notes]] when upgrading to a new major release is '''strongly''' recommended. Once upon a time using 'dist-upgrade' as described below was feasible. It is no longer the recommended practice (unless you are running sid, in which case you should not need to be reading this.) Likewise dist-upgrade is '''not''' necessary for minor release upgrades (e.g. from lenny 5.0.1 to 5.0.2). Upgrading from one stable release to the next (e.g. Lenny to Squeeze) is done by following the [[https://www.debian.org/releases/stable/releasenotes|release notes]] for your [[https://www.debian.org/ports/|architecture]]. For most people with 32 bit systems that means the [[https://www.debian.org/releases/stable/i386/release-notes/|Release Notes for Intel x86]]. For most with 64 bit systems that means the [[https://www.debian.org/releases/stable/amd64/release-notes/|Release Notes for AMD64]].
Line 78: Line 100:
 * Find out current version of Debian that you are running: Using {{{full-upgrade}}} in the regular course of events is no longer the recommended practice (unless you are running sid, in which case you should not need to be reading this.)

Minor release upgrades (e.g. from lenny 5.0.1 to 5.0.2) and security updates are done with {{{safe-upgrade}}}.

 * Find out the current version of Debian that you are running:
Line 80: Line 106:
cat /etc/debian_version $ cat /etc/debian_version
Line 82: Line 108:
Example for upgrading sarge to etch or etch 4.0r1 to 4.0r2 ...etc Example for upgrading from, e.g., etch 4.0r1 to 4.0r2 ...etc., or applying security upgrades:
Line 85: Line 111:
aptitude update
aptitude dist-upgrade
# aptitude update
# aptitude safe-upgrade
Line 94: Line 120:
||<style="background-color:#aaccff;">List reverse dependencies||apt-cache rdepends foo||aptitude ~D foo||
||<style="background-color:#aaccff;">Print information on priorities for foo||apt-cache policy foo||<style="background-color:#FF0000;"> ? ||
||<style="background-color:#aaccff;">List reverse dependencies||apt-cache rdepends foo||aptitude search ~Dfoo||
||<style="background-color:#aaccff;">Print information on priorities for foo||apt-cache policy foo||aptitude versions foo ||
Line 98: Line 124:
== Advanced search patterns ==
Looking for packages installed from anything else than stable:
{{{
aptitude search '?narrow(?installed, !?archive(stable))'
}}}

Looking for packages installed from testing (assuming you have sources lists with stable and testing repositories):
{{{
aptitude search '?narrow(?installed, ?archive(testing) !?archive(stable))'
}}}
Line 100: Line 136:
 * [[http://algebraicthunk.net/~dburrows/projects/aptitude/|Screenshots]].
 * Manual : /usr/share/doc/aptitude/README
 * Online reference manual (html) : http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/

 * `aptitude` manuals
  * if locally installed
   * presuming you also installed [[DebianPkg:aptitude-doc-en]] (other languages are available), an HTML manual for your version should be @ [[file:///usr/share/doc/aptitude/html/en/index.html|/usr/share/doc/aptitude/html/en/index.html]] (change path for your language as appropriate)
   * a text manual for your version should be @ [[file:///usr/share/doc/aptitude/README|/usr/share/doc/aptitude/README]]
  * the most up-to-date HTML manual is usually available [[https://www.debian.org/doc/manuals/aptitude/index.en.html|online]]
 * [[http://algebraicthunk.net/~dburrows/projects/aptitude/|aptitude screenshots]].
 * [[https://www.debian.org/doc/manuals/reference/ch02.en.html#_basic_package_management_operations | Debian Reference Manual: Package Management]]
 * [[DebianSoftware|Additional Software for Debian Stable]]

Translation(s): English - Español - Français - Italiano -한국어 - Русский - 简体中文

(!) ?Discussion


Introduction

Aptitude is an Ncurses based FrontEnd to Apt, the debian package manager. Since it is text based, it is run from a terminal or a CLI (command line interface). Aptitude has a number of useful features, including:

  • a mutt-like syntax for matching packages in a flexible manner
  • mark packages as "automatically installed" or "manually installed" so that packages can be auto-removed when no longer required

  • colorful preview of actions about to be taken
  • dselect-like persistence of user actions
  • the ability to retrieve and display the Debian changelog of most packages
  • AptCLI-like (= apt-get + apt-cache) command line mode ("aptitude install foo")

  • Score-based and (usually) smarter dependency resolver than apt-get

The name of its primary command is aptitude, as is the name of its primary Debian package. The manual for the latest aptitude version is usually available here (in English). If you have package=aptitude-doc-en installed (other languages are available), you can find an HTML manual for your current version here (change path for other languages as appropriate).

Interactive Use

To run interactively, enter the following from a terminal:

aptitude

After running it, use:

  • F10 to access the menu and use aptitude. This is the main key.
  • ? for help
  • The 'up', 'down', 'left', 'right' keys to navigate.
  • The 'Enter' key to select
  • The '+' or '-' key to install/update or remove a package
  • The 'g' key to preview/confirm actions
  • 'q' to quit – this also closes the currently open window (‘g’ goes forward, ‘q’ goes back)

The common use of aptitude in TUI (text user interface) is; run aptitude; press 'u' (update the lists of available packages); press 'U' (Mark all upgradable packages to be upgraded); (search/select some stuff to install, is optional); press 'g' (to see the pending actions and modify if needed); press 'g' (again, to start the download).

Some time when you need to resolve conflicts, you discover that you made a mistake; you can easily use 'Cancel pending actions' in the 'Actions' menu so that you can re-select.

When reviewing pending actions:

  • 'a' explicitly accepts an action (use again to unaccept)
  • 'r' rejects an action
  • 'g' again goes ahead with pending actions

See Accessing package information for understanding the letters in the package synopsis line (e.g., 'i' means "will be installed", 'p' means "not installed", etc.)

Manual use as root

You can also use aptitude in the same manner as apt-get:

Update the packages list :

# aptitude update

Upgrade the packages :

# aptitude safe-upgrade

Install foo :

# aptitude install foo

Remove bar :

# aptitude remove bar

Purge foo :

# aptitude purge foo

Functions for every user

Search for packaging containing foo :

$ aptitude search foo

Personally, I still use apt-cache search foo to perform a search – aptitude search foo is slower. But you should try the aptitude search foo way. You should discover that the output is a bit different from apt-cache, in some cases, it may be useful to search for a package to see if it is already installed.

showing if a specific package is installed :

$ aptitude show foo

How to upgrade your distribution

Upgrading from one stable release to the next (e.g. Lenny to Squeeze) is done by following the release notes for your architecture. For most people with 32 bit systems that means the Release Notes for Intel x86. For most with 64 bit systems that means the Release Notes for AMD64.

Using full-upgrade in the regular course of events is no longer the recommended practice (unless you are running sid, in which case you should not need to be reading this.)

Minor release upgrades (e.g. from lenny 5.0.1 to 5.0.2) and security updates are done with safe-upgrade.

  • Find out the current version of Debian that you are running:

$ cat /etc/debian_version

Example for upgrading from, e.g., etch 4.0r1 to 4.0r2 ...etc., or applying security upgrades:

# aptitude update
# aptitude safe-upgrade

apt-get to aptitude

Action

apt-get command

aptitude command

Install foo

apt-get install foo

aptitude install foo

Search foo

apt-cache search foo

aptitude search foo

Remove foo

apt-get remove foo

aptitude remove foo

List reverse dependencies

apt-cache rdepends foo

aptitude search ~Dfoo

Print information on priorities for foo

apt-cache policy foo

aptitude versions foo

Download foo's sources and build a binary .deb package

apt-get source --compile foo

?

Advanced search patterns

Looking for packages installed from anything else than stable:

aptitude search '?narrow(?installed, !?archive(stable))'

Looking for packages installed from testing (assuming you have sources lists with stable and testing repositories):

aptitude search '?narrow(?installed, ?archive(testing) !?archive(stable))'

See Also

and ... apt.conf, preferences, sources.list, Aptitude::Parse-Description-Bullets=true, AptitudeTodo