aptitude is another package manager based on
adept. One great advantage is the way aptitude handles dependencies (depend, recommend, conflict packages).
aptitude lists auto-installed packages in
/var/lib/aptitude/pkgstates, automatically removes unused auto-installed packages (when they are not a dependency of any other package for example) and logs history in
Synaptic only logs history (> File > History) and
apt-get does not log at all and relies on
Edit: apt-get has now an autoremove option.
This is why it is not recommended to alternatively use
aptitude‘s log will not be complete and problems may be encountered when removing packages (many packages to remove for example). If
aptitude suggests removing packages when you know they are needed, you should reinstall them with
aptitude so that they make it to the log file.
This is how an upgrade looks like in the log file :
Aptitude 0.4.1: log report
Sun, Dec 17 2006 19:02:07 +0100
IMPORTANT: this log only lists intended actions; actions which fail due to
dpkg problems may not be completed.
Will install 5 packages, and remove 0 packages.
5337kB of disk space will be used
[UPGRADE] gdm 2.16.1-0ubuntu4 -> 2.16.1-0ubuntu4.1
[UPGRADE] language-pack-en 1:6.10+20061019 -> 1:6.10+20061130
[UPGRADE] language-pack-fr 1:6.10+20061019 -> 1:6.10+20061204
[UPGRADE] language-pack-gnome-en 1:6.10+20061019 -> 1:6.10+20061201
[UPGRADE] language-pack-gnome-fr 1:6.10+20061019 -> 1:6.10+20061205
Do not believe that using
aptitude will allow you to mix Ubuntu repositories with non-Ubuntu ones in your sources.list ;-)
aptitude interface in a terminal
aptitude in a terminal, you’ll get to a two parts ncurses interface :
Clic on the top menu (or CTRL-t) to see the different possibilities and keyboard shortcuts. CTRL-t will get you back to the main screen. The bottom of the screen shows a short description of the menu. If you enter ?, you will get to a help screen.
aptitude will warn you for broken dependencies, will tell you why and suggest solutions.
update-manager pops you up for an upgrade, you can run it from CLI (see below) or from a terminal. If you did not start
aptitude in root mode, you can do it now from the
Hit “u” to mark upgradable packages, and “U” to run the upgrade :
aptitude in CLI
Main options are :
If conflitcs are present when installing or removing packages,
aptitude will warn you make some suggestions.
For example :
~ $ aptitude show aptitude
E: /home/isabella/.aptitude/config - Unable to open %s for writing (13 Permission denied)
Automatically installed: no
Maintainer: Ubuntu Core Developers
Uncompressed Size: 7881k
Depends: libapt-pkg-libc6.4-6-3.51, libc6 (>= 2.4-1), libgcc1 (>= 1:4.1.1-12),
libncursesw5 (>= 5.4-5), libsigc++-2.0-0c2a (>= 2.0.2), libstdc++6 (>=
Recommends: aptitude-doc-en | aptitude-doc
Suggests: libparse-debianchangelog-perl, tasksel, debtags
Description: terminal-based apt frontend
aptitude is a terminal-based apt frontend with a number of useful features,
including: a mutt-like syntax for matching packages in a flexible manner,
dselect-like persistence of user actions, the ability to retrieve and display
the Debian changelog of most packages, and a command-line mode similar to that
aptitude is also Y2K-compliant, non-fattening, naturally cleansing, and
Tips and tricks
- You did not start
aptitude in sudo mode and you need to be root to do something ? When needed,
aptitude will offer to gain root priviledges and will prompt you for your password (no more need to launch
synaptic in root mode to look for informations on a package ^^)
- The configuration file is ~/.aptitude/
- You do not like the default color theme ? You can change it all in the configuration file
- You can run a simulation with -s
- Search and show options for packages informations
- When an upgrade is difficult, aptitude will perform the least harmful action first. If it fails, or is not enough, running a second upgrade will end up with more aggressive actions (CTRL + U to cancel).
New aptitude actions
To install a complete manual in english :
sudo aptitude install aptitude-doc-en and then read