Aptitude

Cette page est une sous-partie de la page "Comment installer un paquet".

Aptitude est un gestionnaire de paquets basé sur l'infrastructure APT, c'est-à-dire que vous pourrez installer, supprimer et mettre à jour les applications (paquets) avec Aptitude. Il présente des fonctionnalités équivalentes à dselect ou apt-get. Il y a deux façons d'utiliser Aptitude :

  • d'une façon semblable à apt-get ;
  • avec une interface interactive.

Pré-requis

Installation

Aptitude n'est pas installé par défaut dans Ubuntu. Pour l'utiliser, installer le paquet aptitude

Installation

Pour installer un paquet ainsi que ses dépendances "automatiques" tapez dans un terminal la ligne suivante à l'invite de commande:

sudo aptitude install <paquet-a-installer>

Suppression

Pour supprimer un paquet, ainsi que ses dépendances "automatiques" devenues inutiles :

sudo aptitude remove <paquet-a-supprimer> 

Suppression (2)

Pour libérer un paquet (en le mettant "automatique") : celui-ci sera soit désinstallé tout de suite, soit automatiquement désinstallé dès que plus aucun autre paquet n'aura besoin de lui :

sudo aptitude markauto <paquet-a-liberer> 

Suppression + Purge

Pour désinstaller un paquet et supprimer ses fichiers de configuration :

sudo aptitude purge <paquet-a-supprimer> 

Mise-à-jour dépôts

Pour avoir une version à jour de la liste des paquets disponibles, à faire avant toute installation :

sudo aptitude update

Mise-à-jour paquets

Pour télécharger et installer les nouvelles versions des paquets installés :

sudo aptitude safe-upgrade

Mise-à-jour distribution

Pour faire une mise à jour de distribution, ou pour les mises à jour nécessitant d'installer ou de désinstaller les dépendances nécessaires :

sudo aptitude full-upgrade

Interface interactive

Aptitude est intéressant parce qu'on peut l'utiliser de façon interactive. Pour commencer, lancez Aptitude :

sudo aptitude

Vous serez alors (après avoir entré votre mot de passe) face à une liste de paquets, classés par état. Une fois dans Aptitude, vous pourrez installer des paquets, les supprimer, les mettre à jour, etc. à l'aide des touches du claviers. Pour quitter, appuyez sur « q » et confirmez en appuyant sur « o ».

Installation

Pour installer un paquet, vous devrez faire comme avec Synaptic : le rechercher, le sélectionner pour installation, puis appliquer.
Pour rechercher un paquet, appuyez sur « / ». Vous serez alors face à une boite de recherche. Entrez le nom du paquet et la recherche se fera automatiquement. Une fois que le nom est écrit au complet, appuyez sur « Entrée ». Si ce n'est pas le paquet correspondant, appuyer sur « n » pour rechercher le paquet suivant qui contient les termes recherchés, jusqu'à ce que vous trouviez le paquet à installer.
Lorsque le paquet est trouvé, appuyez sur la touche « + » pour le sélectionner pour installation. Les dépendances seront automatiquement sélectionnées aussi.
Pour confirmer les changements appuyez sur « g » appuyez encore sur « g » pour confirmer ou sur « q » pour revenir à l'écran précédent.

En résumé :

  • « / » pour la recherche
  • « n » pour poursuivre la recherche (next)
  • « + » pour sélectionner pour installation
  • « = » pour maintenir le paquet dans sa version actuelle
  • « g » (première fois) confirmer les changements (go)
  • « g » (deuxième fois) pour appliquer les changements (go)

Suppression

Pour supprimer un paquet, il faut suivre sensiblement la même démarche, donc rechercher avec « / », puis sélectionner pour suppression avec « – » ou encore, pour supprimer les fichiers de configuration aussi, « _ » et enfin confirmer avec « g » et appliquer avec un autre « g ». Vous remarquerez que les paquets qui avaient été installés automatiquement par Aptitude pour satisfaire les dépendances seront automatiquement supprimés s'ils ne sont plus utilisés.

En résumé :

  • « – » pour une suppression simple (apt-get remove)
  • « _ » pour une suppression du paquet et de ses fichiers de configuration (apt-get remove –purge)
  • « = » pour maintenir le paquet dans sa version actuelle
  • « g » (première fois) confirmer les changements
  • « g » (deuxième fois) pour appliquer les changements

Mise à jour

Pour une mise à jour de la liste des paquets disponibles, il suffit d'appuyer sur « u ». Pour mettre à jour les paquets qui peuvent être mis à jour, appuyez sur « U », puis sur « g » pour confirmer et une autre fois pour appliquer. Pour mettre à jour seulement un paquet dans tous ceux qui peuvent être mis à jour, faites comme si vous vouliez l'installer, recherchez-le puis appuyez sur « + », « g » et encore « g ».

En résumé :

  • « u » mise à jour de la liste des paquets (apt-get update)
  • « U » mise à jour des paquets (apt-get upgrade)
  • « g » (première fois) confirmer les changements
  • « g » (deuxième fois) pour appliquer les changements

Motifs de recherche (utilisation avancée)

Présentation et syntaxe générale

Vous vous posez des questions du genre: quels paquets ai-je installés depuis l'installation d'ubuntu; quels sont les paquets de langue française de mon bureau; quels sont les paquets non-officiels de mon système; ou encore quel est le programme de géométrie de la distribution edubuntu? Si en plus vous voulez obtenir la réponse en une ligne de commande et que vous maîtrisez un peu l'anglais, alors cette partie est faite pour vous.

Voilà la définition (légèrement remaniée) donnée par le manuel d'aptitude : «Un motif de recherche consiste en une ou plusieurs conditions. Un paquet correspond à un motif s'il correspond à toutes ses conditions. Les conditions commencent généralement par le caractère tilde ~ suivi par un caractère indiquant le type de condition, puis par tout texte supplémentaire nécessaire à la condition.»

La syntaxe générale de la commande de recherche est la suivante :

aptitude search motif

La commande:

$ aptitude search chaîne_de_caractères

… est un motif de recherche. Elle renvoie la liste des paquets contenant la chaîne de caractère chaîne_de_caractères dans leur nom. Nous allons voir qu'il est possible de créer des motifs beaucoup plus élaborés.

Mais avant cela il peut être utile de regarder le résultat d'une recherche :

$ aptitude search gimp
B   extremetuxracer-gimp-dev         - plugins for GIMP for easy development of ppracer courses
c   flegita-gimp                     - Gnome Gimp scan plugin.
i   gimp                             - The GNU Image Manipulation Program
p   gimp-cbmplugs                    - plugins for The GIMP to import/export Commodore 64 files
i A gimp-data                        - Data files for GIMP
[...]
v   gimp-help                        -
[...]

La ou les lettres renvoyées en début de ligne signifient :

Indicateur de l'état courant du paquet correspondance
i le paquet est installé et toutes ses dépendances sont satisfaites
c le paquet a été supprimé mais ses fichiers de configuration sont toujours présents sur le système
p le paquet et tous ses fichiers de configuration ont été supprimés, ou le paquet n'a jamais été installé
v le paquet est virtuel
B le paquet a des dépendances cassées
A le paquet a été automatiquement installé

Tableau des motifs

Prérequis:

  • « ! » sert à inverser une condition.
  • Les parenthèses servent à clarifier un motif ou à introduire l'opérateur logique ou: « | ».
  • Les motifs contenant un ou des points d'exclamation ou des parenthèses doivent impérativement être écrits entre 2 apostrophes « ' » ou être précédés par le caractère « \ »
  • Quand les conditions condition1 et condition2 sont juxtaposés et non-séparées par un « | », alors ces 2 conditions doivent être satisfaites simultanément (équivalent de l'opérateur logique et en programmation)
  • Pour utiliser une chaîne de caractères avec au moins un espace il faut l'écrire entre 2 « " ».
motif (formé d'une ou plusieurs conditions) liste renvoyée
chaîne_de_caractères
ou bien
~nchaîne_de_caractères
paquets dont les noms contiennent la chaîne de caractères chaîne_de_caractères
'!~nchaîne_de_caractères'
ou bien \!~nchaîne_de_caractères
paquets dont les noms ne contiennent pas la chaîne de caractères chaîne_de_caractères
~nchaîne_de_caractères1~nchaîne_de_caractères2 paquets dont les noms contiennent les chaînes de caractères chaîne_de_caractères1 et chaîne_de_caractères2
'chaîne_de_caractères1|chaîne_de_caractères2'
ou bien
'(chaîne_de_caractères1|chaîne_de_caractères2)'
paquets dont les noms contiennent la chaîne de caractères chaîne_de_caractères1 ou la chaîne de caractères chaîne_de_caractères2
^chaîne_de_caractères paquets dont les noms commencent par la chaîne de caractères chaîne_de_caractères
chaîne_de_caractères$ paquets dont les noms finissent par la chaîne de caractères chaîne_de_caractères
~ichaîne_de_caractères paquets installés dont les noms contiennent la chaîne de caractères chaîne_de_caractères
~i'!chaîne_de_caractères' paquets installés dont les noms ne contiennent pas la chaîne de caractères chaîne_de_caractères
'!~ichaîne_de_caractères'
ou bien
\!~ichaîne_de_caractères
paquets non-installés dont les noms contiennent la chaîne de caractères chaîne_de_caractères
~vchaîne_de_caractères paquets virtuels dont les noms contiennent la chaîne de caractères chaîne_de_caractères
~b dépendances non satisfaites, paquets cassés ou en conflit
~c paquets supprimés mais qui ont toujours un ou des fichiers de configuration sur le système
~D~n^nom_paquet$ paquets qui dépendent du paquet nom_paquet
~R~n^nom_paquet$ dépendances du paquet nom_paquet
~ddescription paquets qui contiennent le mot description dans leur description
~ssection paquets correspondants à la section section
(liste des sections: admin base comm devel doc editors electronics embedded games gnome graphics hamradio interpreters kde libdevel libs mail math metapackages misc net news oldlibs otherosfs perl python science shells sound tex text translations utils web x11)
~ttache paquets correspondants à la tâche tache
(liste des tâches: dns-server edubuntu-desktop edubuntu-desktop-addon edubuntu-desktop-kde edubuntu-dvd-live edubuntu-live edubuntu-server edubuntu-ship-addon gobuntu-desktop gobuntu-live kubuntu-desktop kubuntu-dvd-live kubuntu-kde4-desktop kubuntu-kde4-dvd-live kubuntu-kde4-live kubuntu-live lamp-server mail-server minimal openssh-server postgresql-server print-server samba-server standard ubuntu-desktop ubuntu-dvd-live ubuntu-live xubuntu-desktop xubuntu-live)
~o paquets obolètes ou installés localement
~U paquets pouvant être mis-à-jour
~E paquets essentiels à la distributions
'~i!~Oubuntu!~v' paquets non-officiels installés sur votre système
~M paquets automatiquements installés
'~N!~v' nouveaux paquets (paquets de sources non-officielles ou paquets ajoutés dans les sources officielles après la sortie de la distribution)

Il existe d'autres motifs (voir la partie Références).

Exemples

- Paquets contenant la chaîne de caractères firefox et ne commençant pas par mozilla :

aptitude search '~nfirefox!~n^mozilla'

- Paquets de langue française de kde ou de gnome :

aptitude search '~nkde(-fr$|-fr-)' '~ngnome(-fr$|-fr-)'

- Logiciel(s) d'Agrégation de flux RSS en console :

aptitude search '(~d"rss aggregator")(~dterminal|~dconsole|~dcurse)'

- Logiciels vidéos installables:

aptitude search '!~i~sgraphics~dvideo!~n^lib'

- Logiciels de mathématiques faisant partie de la distribution edubuntu :

aptitude search ~smath~tedubuntu

- Logiciels de géométrie :

aptitude search '~smath~dgeometry!~n^lib'

- Paquets ayant été installés après installation de la distribution ubuntu et qui en théorie pourraient être supprimés sans souci.

aptitude search '~i!~M(!~tubuntu-desktop!~tminimal!~tstandard!~tprint-server)(!~n^linux-)'

La commande est aussi valable pour la distribution kubuntu en remplaçant ubuntu-desktop par kubuntu-desktop

il est possible de "nettoyer" le système de tout ce qui l'a alourdi depuis sont installation initiale, en identifiant les paquets avec la dernière commande, puis en les retirant sans casser des dépendances potentielles avec la commande :

$ sudo aptitude markauto paquet-non-desire

les taches (minimal, standard, print-server, etc.) sont accessibles avec la commande :

$ tasksel –list-tasks

Les possibilités sont infinies…


Rq: les motifs de recherche peuvent aussi s'utiliser dans l'interface interactive d'aptitude (touche oblique « / » pour la recherche > entrez votre motif > continuer > touche « n » pour passer à l'occurence suivante).

Autre

Pour plus d'options, utilisez le menu à l'aide de Ctrl–t. Déplacez-vous à l'aide des flèches gauche et droite pour changer de menu et des flèches haut bas pour changer d'option dans le menu. Vous trouverez alors que vous pouvez annuler la dernière opération à l'aide de Ctrl–u, vous pouvez voir le changelog avec « C », et plein d'autres options utilisées à l'occasion. Le menu peut être utile si vous avez oublié sur quelle touche appuyer pour faire une action…

Il existe des options cachées qui rendent bavard aptitude et montrent l’humour des développeurs. Un Easter egg « œuf de Pâques » en français

Tapez sur un émulateur de console les commandes suivantes successivement :

aptitude moo
aptitude -v moo
aptitude -vv moo
aptitude -vvv moo
aptitude -vvvv moo
aptitude -vvvvv moo
aptitude -vvvvvv moo

Voir aussi


Contributeurs : 1Eric, ste, alteo_gange, BeAvEr et d'autres.