Aptitude

aptitude est une autre interface à apt, comme le sont apt-get, apt-cache, synaptic et adept. Le gros avantage d’aptitude est sa gestion des dépendances (les paquets requis, recommandés ou en conflit).
aptitude liste quels paquets ont été auto-installés dans /var/lib/aptitude/pkgstates, désinstalle automatiquement les paquets auto-intallés qui ne sont plus utilisés (qui ne sont plus en dépendance d’aucun paquet par exemple) et loggue les installations dans /var/log/aptitude.
Synaptic ne réalise que l’historique (> Fichier > Historique) et apt-get ne fait aucun log et se base sur celui de dpkg.

Edit : apt-get a maintenant une option autoremove

C’est pourquoi il n’est pas conseillé d’utiliser aptitude et apt-get en alternance, le log d’aptitude ne sera pas exhaustif ce qui risque de provoquer des problèmes lors de désinstallations (un grand nombre de paquets à enlever par exemple). Si aptitude vous propose de désinstaller des paquets dont vous savez qu’ils doivent être conservés, une solution est de les réinstaller avec aptitude.

Exemple d’une upgrade dans le fichier de log :

Log complete.
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
===========================================================

Rien ne sert de se dire qu’avec aptitude on sera excusé de mixer les dépôts Ubuntu avec des dépôts exotiques dans son sources.list ;-)

L’interface d’aptitude dans le terminal

Lancer aptitude dans un terminal, vous arrivez sur une interface en ncurses divisée en deux parties :

screenshot_aptitude_terminal.pngscreenshot_aptitude_terminal_2.pngscreenshot_aptitude_3.png

Cliquer sur le menu en haut (ou CTRL-t) pour découvrir les différentes possibilités. CTRL-t le fermera aussi sans réaliser aucune action. Une description brève de chaque menu est afichée en bas de l’écran, les raccourcis clavier près des menus eux-mêmes. À tout moment taper ? affichera une aide.

aptitude vous indiquera si vos actions risquent d’entraîner des problèmes de dépendances cassées, vous dira pourquoi et vous proposera des solutions.

Quand update-manager vous propose une upgrade, vous pouvez la faire de la ligne de commande (voir ci-dessous) ou d’une console. Si vous n’avez pas lancé aptitude en mode root, vous pouvez le faire depuis le menu action.
Entrez “u” pour marquer les paquets à upgrader, et “U” pour lancer l’upgrade :

screenshot-aptitude_4.png screenshot-aptitude_5.png

aptitude en ligne de commande

Les principales options sont : install, remove, purge, show, search, update, upgrade, dist-upgrade. Voir aussi le man aptitude.
Si des conflits sont rencontrés lors de l’installation ou de la désinsallation de paquets, là encore des solutions seront proposées.

Par exemple :

~ $ aptitude show aptitude
E: /home/isabella/.aptitude/config - Unable to open %s for writing (13 Permission denied)
Package: aptitude
State: installed
Automatically installed: no
Version: 0.4.1-1.1ubuntu7
Priority: important
Section: admin
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 (>=
4.1.1-12)
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
of apt-get.

aptitude is also Y2K-compliant, non-fattening, naturally cleansing, and
housebroken.

Quelques petits trucs

  • Vous avez lancé aptitude sans le sudo et vous devez faire une action qui demande les droits root ? Au moment voulu, aptitude vous proposera de devenir root (plus la peine d’utiliser synaptic en root pour chercher des infos sur un paquet ^^).
  • Le fichier de configuration est ~/.aptitude/
  • Les couleurs par défaut ne vous conviennent pas ? Il est possible de tout changer dans le fichier de configuration
  • Une simulation des actions peut être réalisée avec -s
  • Options search et show pour des recherches sur les paquets
  • En cas de problème lors d’un upgrade, aptitude proposera en premier les actions les moins dangereuses. Si ces actions échouent, lors d’un second upgrade aptitude proposera des mesures plus aggressives (CTRL + U pour les annuler).

Références

Nouvelles actions d’aptitude (en anglais, traduction prochaine)
Pour un manuel complet en anglais, sudo aptitude install aptitude-doc-en et ensuite lire /usr/share/doc/aptitude/html/en/index.html.
Pour un manuel complet en français, sudo aptitude install aptitude-doc-fr et ensuite lire /usr/share/doc/aptitude/html/fr/index.html.
http://wiki.debian.org/DRAptitude
http://www.debian.org/doc/manuals/reference/ch-package.fr.html

edit : merci à cep pour le paquet aptitude-doc-fr :-)

One thought on “Aptitude

Comments are closed.