Utiliser aptitude depuis la ligne de commande

En plus de son interface « visuelle » décrite dans la section précédente, aptitude peut être utilisé pour gérer les paquets directement depuis la ligne de commande de la même manière que vous utiliseriez apt-get. Cette section couvre les actions en ligne de commande les plus courantes d'aptitude. Pour plus d'informations, consultez la référence pour la ligne de commande d'aptitude.

En général, une invocation d'aptitude sur la ligne de commande ressemble à ceci :

aptitude action [arguments...]

action tells aptitude what action it is to take; the remaining arguments are used in an option-specific fashion. Typically they will consist of package names and command-line switches[4].

Les actions les plus importantes sont :

aptitude update

Cette commande met à jour la liste des paquets comme si vous étiez entré dans l'interface graphique et aviez appuyé sur u.

aptitude safe-upgrade

This command will upgrade as many packages as it can upgrade without removing existing packages.

It is sometimes necessary to remove one package in order to upgrade another; this command is not able to upgrade packages in such situations. Use the full-upgrade command to upgrade those packages as well.

aptitude full-upgrade

Like safe-upgrade, this command will attempt to upgrade packages, but it is more aggressive about solving dependency problems: it will install and remove packages until all dependencies are satisfied. Because of the nature of this command, it is possible that it will do undesirable things, and so you should be careful when using it.

[Note]Note

Pour des raisons historique, cette commande s'appelait à l'originedist-upgrade, et ce nom est toujours reconnu par aptitude.

aptitude [ install | remove | purge ] pkg1 [pkg2...]

These commands install, remove, or purge[5] the specified packages. « Installing » a package which is already installed but can be upgraded will cause it to be upgraded.

aptitude search pattern1 [pattern2...]

This command searches for packages whose name contains any of the given patterns, printing the result to the terminal. In addition to just being a string of text, each pattern can be a search pattern as described in la section intitulée « Search patterns ». [6] For instance, « aptitude search gnome kde » will list all packages whose name contains either « gnome » or « kde ».

aptitude show pkg1 [pkg2...]

Afficher les informations sur chaque pqt sur le terminal.

Les commandes qui installent, mettent à jour ou suppriment des paquets acceptent toutes le paramètre « -s », qui signifie « simuler ». Quand « -s » est passé sur la ligne de commande, le programme exécute les actions qu'il devrait normalement effectuer sans réellement télécharger ou installer/supprimer aucun fichier.

aptitude présentera parfois une invite comme celle-ci :

Les NOUVEAUX paquets suivants vont être automatiquement installés :
  space-orbit-common
Les NOUVEAUX paquets suivants vont être installés :
  space-orbit space-orbit-common
0 paquets mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 3200ko d'archives. Après dépaquetage, 8413ko
seront utilisés.
Voulez-vous continuer ? [O/n/?]

En plus des options « Oui » et « Non » qui sont évidentes, un certain nombre de commandes sont disponibles et peuvent être utilisées pour modifier les informations affichées à l'invite ou pour spécifier des options supplémentaires. Par exemple, taper s affichera ou cachera l'information sur l'espace disque que chaque paquet va utiliser :

Voulez-vous continuer ? [O/n/?] s

Les changements de taille seront affichés.

Les NOUVEAUX paquets suivants vont être automatiquement installés :
  space-orbit-common <+8020kB>
Les NOUVEAUX paquets suivants vont être installés :
  space-orbit <+393kB> space-orbit-common <+8020kB>
0 paquets mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 3200ko d'archives. Après dépaquetage, 8413ko
seront utilisés.
Voulez-vous continuer ? [O/n/?]

De manière analogue, taper d affichera des informations sur les paquets automatiquement installés ou supprimés :

Les NOUVEAUX paquets suivants vont être automatiquement installés :
  space-orbit-common (D: space-orbit)
Les NOUVEAUX paquets suivants vont être installés :
  space-orbit space-orbit-common
0 paquets mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 3200ko d'archives. Après dépaquetage, 8413ko
seront utilisés.

Cela indique que space-orbit-common est sur le point d'être installé parce que space-orbit en dépend. Vous pouvez voir la liste complète des options possibles en entrant ? à l'invite.

Si votre demande casse une dépendance d'une manière qui ne peut pas être résolue simplement, aptitude vous demandera quoi faire :

The following packages are BROKEN:
  libsdl1.2debian
The following packages will be REMOVED:
  libsdl1.2debian-alsa
.
.
.
The following actions will resolve these dependencies:

Install the following packages:
libsdl1.2debian-all [1.2.12-1 (unstable)]

Score is 41

Accept this solution? [Y/n/q/?]

Taper y (ou simplement sur entrée) validera la solution proposée. Taper n affichera la « meilleure » solution suivante :

Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

Install the following packages:
libsdl1.2debian-esd [1.2.12-1 (unstable)]

Score is 19

Accept this solution? [Y/n/q/?]

Comme dans l'invite principale de la ligne de commande, vous pouvez effectuer des actions supplémentaires, comme par exemple la modification de l'état d'un paquet depuis l'invite de résolution des dépendances. Tapez ? pour afficher la liste complète.

Typing q will abort the automatic resolver and allow you to resolve the dependencies manually:

Accept this solution? [Y/n/q/?] q
aptitude failed to find a solution to these dependencies.  You can solve them yourself by hand or type 'n' to quit.
The following packages have unmet dependencies:
  libsdl1.2debian: Depends: libsdl1.2debian-alsa (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-all (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-esd (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-arts (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-oss (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-nas (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-pulseaudio (= 1.2.12-1) but it is not installable
Resolve these dependencies by hand? [N/+/-/_/:/?]

You can use any of the package manipulation commands to resolve the broken dependencies (type ? for a full list of the available commands). Type n or press enter to quit aptitude:

Resolve these dependencies by hand? [N/+/-/_/:/?] n
Abort.

Pour une documentation complète des caractéristiques de la ligne de commande d'aptitude, consultez la Command-line reference.



[4] Une « option courte » est une lettre précédée d'un tiret, par exemple, « -a », « -v », etc.

[5] Purger un paquet supprime le paquet ainsi que tous ses fichiers de configuration.

[6] En fait, c'est aussi vrai pour les commandes qui prennent des paquets en argument, comme install ou show.