logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


Créé le 14/08/2011 en attente de validation ;-)

aptitude - ligne de commande

Introduction

Aptitude est le gestionnaire de paquets recommandé pour la gestion des paquets en console, c'est-à-dire leur installation, leur suppression et leur mise à jour. De façon général, il gère donc la mise à jour de votre système.

Il fournit les mêmes fonctionnalités que dselect et apt-get, ainsi que des fonctions additionnelles non présentes dans les autres programmes :

  • il effectue les tâches d'administration de manière rapide et facile.
  • il permet d'accéder à toutes les versions d'un paquet.
  • il garde un journal de toutes ses actions dans /var/log/aptitude.
  • il inclut un système assez puissant pour rechercher des paquets particuliers.
  • il recherche les paquets qui ont été installés pour satisfaire les dépendances, et les supprimera automatiquement quand les paquets qui les utilisaient seront supprimés.
  • etc.

Vous pouvez utiliser aptitude au travers d'une interface graphique (en lançant simplement aptitude) ou directement en ligne de commande.
La syntaxe utilisée en ligne de commande est très similaire à celle utilisée avec apt-get.

Mise à jour de la liste des paquets

# aptitude update

Cette opération consiste à mettre à jour sur votre machine la liste des paquets disponibles sur les serveurs déclarés dans le fichier « /etc/apt/sources.list ».
voir: la gestion et l'administration des dépôts Debian.

Si vous ne l'avez pas faites depuis plus de 24H, vous devez impérativement l'exécuter avant tout installation.

Mise à jour des logiciels installés sur le système:

# aptitude safe-upgrade

Il est recommandé de le faire régulièrement, afin d'installer les derniers correctifs de sécurité.

Mise à jour du système:

    
# aptitude full-upgrade

Pour les mises à jour plus importantes (mise à jour de la distribution).

Il est conseillé, pour plus de précautions, d'ajouter l'option -s (comme simulation) pour simuler l'installation de la mise à jour.
Ainsi vous pourrez contrôler les éventuels logiciels/dépendances installés ou désinstallés.
# aptitude -s full-upgrade
Cette commande s'appellait dist-upgrade pour des raisons historiques, aptitude la reconnaît toujours.
dist-upgrade est un synonyme de full-upgrade.

Faire des recherches

Rechercher un logiciel

# aptitude search <expression rationnelle>

Cette commande vous retournera la liste de tous les paquets dont le nom contient, même partiellement, le motif (l'expression rationnelle) de la recherche.

Exemple:

# aptitude search liferea
i   liferea                               - Agrégateur de flux pour GNOME             
i A liferea-data                     - architecture independent data for liferea 
p   liferea-dbg                      - liferea debug symbols                     
v   liferea-webkit                  -                                           
v   liferea-xulrunner             - 

Les résultats sont présentés ligne par ligne. Les premiers caractères sont des indicateurs d'état1), suivi du nom du logiciel, accompagné d'une brève description.

Les indicateurs d'état

  • Le premier caractère indique l'état courant du paquet :
    • i ⇒ le paquet est installé
    • p ⇒ aucune trace du paquet n'est présente sur le système.
    • v ⇒ le paquet est virtuel. 2)
    • c ⇒ le paquet à été supprimé mais ses fichiers de configuration sont toujours présent sur le système.
    • B ⇒ le paquet a des dépendances cassées.

Les caractères suivants , si ils sont présents, indiquent dans l'ordre:
l'action qui sera entreprise sur le paquet,
si le paquet a été automatiquement installé,
si le paquet est fiable .

  • Caractères suivants susceptibles d'être rencontrés:
    • h ⇒ le paquet est gelé.
    • F ⇒ toute mise à jour du paquet est interdite.
    • B ⇒ le paquet est cassé.
    • A ⇒ le paquet a été installé automatiquement.
Commande Commentaire
aptitude search mot1 mot2 liste les paquets contenant le mot1 et les paquets contenant le mot2
aptitude search 'mot1 mot2' liste les paquets contenant le mot1 et le mot2
aptitude search ~dmot1 liste les paquets dont la description contient le mot1
aptitude search 'mot1 ~sweb' liste les paquets contenant le mot1 dans la section3) web
aptitude search '~dmot1 ~sweb' liste les paquets dont la description contient le mot1 dans la section web
aptitude search ~i liste les paquets installés
aptitude search ~M liste les paquets installés automatiquement (dépendant d'autres paquets)
aptitude search ~b liste les paquets ayant une dépendance cassée
aptitude search ~U liste les paquets installés et pouvant être mis à jour
aptitude search ~ahold liste les paquets gelés
aptitude search ~o liste les paquets obsolètes ou créés localement
aptitude search ~c liste les paquets supprimés mais non purgés
aptitude search ~E liste les paquets essentiels
Exemples d'utilisation avancée
# aptitude search '~ilifer !~M' 
i   liferea                                   - Agrégateur de flux pour GNOME   

Retourne le paquet installé (~i) contenant le mot lifer, en excluant ceux qui ont étés installé automatiquement (!~M).
Autrement dit: retourne le paquet installé manuellement contenant le mot lifer

# aptitude search '~i ~drss !~M' 
i   icedove                                   - client de courriel et lecteur de nouvelles avec RSS 
i   liferea                                   - Agrégateur de flux pour GNOME   

Retourne les paquets installés manuellement dont la description contient le mot rss.

Rechercher les versions disponibles d'un logiciel

# aptitude versions nomdulogiciel

Les résultats de cette commande sont en fonction des serveurs déclarés dans le fichier /etc/apt/sources.list, associés au fichier /etc/apt/preferences.

Exemple:

# aptitude versions iceweasel
p   3.5.16-6                                      stable                    900 
p   3.5.16-8                                      proposed-updates,stable   900 
p   3.5.19-3                                      testing                   -10 
i    5.0-3~bpo60+1                        squeeze-backports         200 
p   5.0-6                                           unstable                  -10 

Chaque version est présentée sur une ligne distincte. Les premiers caractères sont des indicateurs d'état4)
À la droite du numéro de version, vous pouvez trouver la branche à partir de laquelle la version est disponible, et la priorité du dépôt défini par le fichier /etc/apt/preferences.

Obtenir des informations sur un logiciel

# aptitude show nomdulogiciel

Cette commande affiche les caractéristiques et la description du paquet installé ou installable “nomdulogiciel”

# aptitude show -v nomdulogiciel

L'option -v retournera l'affichage de toutes les versions disponibles.

# aptitude show -t<depôt> nomdulogiciel

L'option -t<depôt> retournera l'affichage de la version disponible dans le dépôt indiqué.5)

Rechercher les dépendances, ou les conflits entre paquets.

# aptitude why nomdulogiciel

Cette commande retourne la suite de dépendances qui s'enchaînent jusqu'au paquet visé.
Elle permet également d'expliquer pourquoi le paquet nomdulogiciel est, ou sera installé.

Exemple:

# aptitude why evolution-common
i   gnome-core Dépend evolution (>= 2.30)          
i A evolution  Dépend evolution-common (= 2.30.3-5)


# aptitude why-not nomdulogiciel

Cette commande retourne les raisons pour lesquels les paquets qui correspondent à nomdulogiciel ne peuvent pas être installés.

Exemple:

# aptitude why-not apache2-mpm
i   gitweb             Dépend              apache2 | httpd                                                                 
i A apache2            Dépend            apache2-mpm-worker (= 2.2.16-6+squeeze1) | apache2-mpm-prefork (= 2.2.16-6+squeeze1) |
                                                         apache2-mpm-event (= 2.2.16-6+squeeze1) | apache2--itk (=2.2.16-6+squeeze1)                                                                          
i A apache2-mpm-worker Est en conflit avec apache2-mpm      

Installation d'un Logiciel

# aptitude install LeNomDuLogiciel

Cette commande installera la version candidate du paquet LeNomDuLogiciel ainsi que ses dépendances.

Pour plus de précautions, vous pouvez ajouter l'option -s (comme simulation) pour simuler l'installation du paquet logiciel, ainsi vous pourrez contrôler les éventuels logiciels/dépendances installés ou désinstallés.
# aptitude -s install lenomdulogiciel
Les dépendances du logiciel installé manuellement, seront marquées comme étant installées automatiquement.

Utilisation avancée de l'option "install"

Commande Commentaire
# aptitude install -t<branche> LeNomDuLogiciel Installer un logiciel situé dans une autre branche du sources.list6) 7)
# aptitude install –without-recommends LeNomDuLogiciel Installer que les paquets essentiels. 8)
# aptitude install -d LeNomDuLogiciel Télécharger un paquet deb sans l'installer.9)

Utilisation avancée avec les attributs de surcharge

Commande Commentaire
# aptitude install LeNomDuLogiciel+M Installer un logiciel et le marquer comme installé automatiquement.
# aptitude install LeNomDuLogiciel- Désinstalle le logiciel (équivalent à: aptitude remove).
# aptitude install LeNomDuLogiciel_ Désinstallation complète (avec les fichiers de configurations) du logiciel (équivalent à: aptitude purge).
# aptitude install LeNomDuLogiciel&M Marque le logiciel comme ayant été installé automatiquement (équivalent à: aptitude markauto).
# aptitude install LeNomDuLogiciel&m Marque le logiciel comme ayant été installé manuellement (équivalent à: aptitude unmarkauto).
# aptitude install LeNomDuLogiciel= Gèle le logiciel, 10) (équivalent à: aptitude hold).
# aptitude install LeNomDuLogiciel: Dégèle le logiciel (équivalent à: aptitude unhold).
Ainsi, sur la même ligne de commande, il est possible par exemple, d'intaller un “LogicielA” et de supprimer le “LogicielB”:
# aptitude install LogicielA LogicielB-

Utilisation avancée: Installer un paquet source

# aptitude source le-paquet-source

Cette commande vous permettra de télécharger les sources d'un paquet debian.

Il faut vous assurer au préalable que votre fichier /etc/apt/source.list est correctement rempli avec l'adresse des dépots contenant les paquets sources (classiquement les noms de ces dépôts commencent par deb-src).

Par défaut, le paquet est décompressé une fois téléchargé. Si vous souhaitez le garder en *.tar.gz, passez le paramètre –download-only à la commande :

aptitude source le-paquet-source --download-only

Si vous voulez compiler directement et automatiquement le paquet après son téléchargement, passez l'option –compile à la commande :

# aptitude source le-paquet-source --compile

Assurez-vous au préalable d'avoir installé les librairies nécessaires à la compilation du paquet. Pour ce faire, utilisez la commande

# aptitude build-dep le-paquet

Elle aura pour effet d'installer toutes les dépendances nécessaires à la compilation du paquet.

Réinstallation d'un Logiciel

# aptitude reinstall LeNomDuLogiciel

Il arrive que le système soit endommagé suite à la suppression ou à la modification de fichiers appartenant à un paquet.
Le moyen le plus simple de récupérer ces fichiers est alors de réinstaller le paquet concerné.

Désinstallation d'un Logiciel

Désinstallation simple

# aptitude remove LeNomDuLogiciel

Cette commande désinstallera le paquet LeNomDuLogiciel, ainsi que ses paquets dépendants installés automatiquement, mais leurs fichiers de configuration sont toujours présent sur le système.11)

Utilisation avancée de l'option "remove"

#aptitude remove ~nmot

Cette commande supprimera tous les paquets dont le nom contient: mot

A utiliser avec précaution, n'hésitez pas à utiliser l'option -s (simulation)
# aptitude -s remove ~mot
#aptitude remove LeNomDuLogiciel+

Cette commande utilisant l'attribut de surcharge + installera le logiciel au lieu de le supprimer.

Les attributs de surcharges présentés dans l'utilisation avancée de l'option “install” sont utilisables avec l'option “remove”.

Désinstallation complète

# aptitude purge LeNomDuLogiciel

Dans l'exemple précédant, l'option remove désinstalle le paquet mais les fichiers de configurations globaux (situés normalement sous /etc) sont conservés.
Cette commande désinstalle et supprime ces fichiers de configuration en même temps que le paquet, les paquets dépendant sont supprimés cependant leurs fichiers de configuration sont toujours présent. 12)

Utilisation avancée de l'option "purge"

# aptitude purge --purge-unused LeNomDuLogiciel

Cette commande désinstalle et supprime les fichiers de configuration du paquet et de ses dépendances. 13)

Les fichiers de configuration que l'application crée dans votre /home/utilisateur ne seront pas enlevés.

La solution :rechercher les répertoires “.lenomdu logiciel” et les supprimer.

Gérer les paquets automatiquement installés

Lors de l'installation d'un paquet, aptitude va automatiquement installer tout autre paquet dont il dépend.
Ces paquets sont marqués comme ayant été automatiquement installés (indicateur A).
Aptitude va les surveiller et les supprimer quand plus aucun paquet manuellement installé n'en dépendra.


Ainsi :

# aptitude markauto LeNomDuLogiciel

Cette commande marque le paquet LeNomDuLogiciel comme ayant été installés automatiquement14)


et :

# aptitude unmarkauto LeNomDuLogiciel

Cette commande marque le paquet LeNomDuLogiciel comme ayant été installés manuellement.

Exemple d'utilisation

Gérer un méta-paquet sans supprimer ses dépendances

Pour le méta-paquet gnome :

aptitude unmarkauto ~i~Rgnome

Cela marque toutes les dépendances de gnome comme installées manuellement.

  1. Les paquets installés manuellement ne sont pas supprimés par aptitude lorsqu'aucun autre paquet ne dépend d'eux.
  2. Cette manipulation permet donc de supprimer le méta-paquet gnome tout en conservant les applications qu'il avait installé.
Seul aptitude parvient à faire ce genre d'opération, nous vous le recommandons d'ailleurs dorénavant à la place de apt-get
TP Suppression de gnome-core

Tout d'abord, il est important de spécifier que j'avais seulement le paquet gnome-core d'installé, pas de présence des autres méta-paquets.
Comme je croyais à tort que gnome-core n'était pas un méta-paquet, je me voyais pris avec des applications inutiles comme evolution que je ne pouvais enlever isolément des autres apllications du même méta-paquet.
Or, ce n'est pas le cas, on peut virer gnome-core et tous les paquets qu'il contient de la même manière que les autres méta-paquet.

D“abord, je tape la commande suivante :

aptitude -s purge gnome-core

Cela me donne la liste des paquets installés automatiquement que aptitude veut virer avec gnome-core.
Dans mon cas :

eog evolution evolution-common evolution-webcal gedit gedit-common gnome-core gnome-disk-utility libavahi-ui0 libgdu-gtk0 libgtksourceview2.0-0 libgtksourceview2.0-common  python-gtksourceview2
  1. On peut copier/coller cette liste dans un fichier temporaire,
  2. ou bien la reprendre depuis le même terminal en copier/coller comme proposé ici.

Je retire gnome-core de cette liste, puis je tape :

# aptitude unmarkauto la_liste

Je peux maintenant virer gnome-core sans problème :

# aptitude purge gnome-core

Après cela, plus de problème non plus pour enlever evolution (et certains paquets qui y sont rattachés).

Recette validée donc. :-D

Merci à Berillions Haricophile et Martin. Voir ce post sur le forum :

Empêcher la mise à jour d'un paquet

# aptitude hold nomdulogiciel

Cette commande gèle le paquet nomdulogiciel, annule toute action de safe-upgrade ou full-upgrade (installation, mise a jour ou suppression) sur les paquets marqués (indicateur d'état h).
Elle permet de maintenir un paquet à une version inférieure à la version de votre branche debian installée.



# aptitude unhold nomdulogiciel

Pour dégeler le paquet nomdulogiciel

Nettoyer le cache

Les paquets téléchargés avant installation sont stockés dans /var/cache/apt/archives .Ils y restent ad-vitam.

Ce dossier peut donc rapidement devenir encombrant et faire plusieurs Giga-octets. Faites donc un

$ du -h /var/cache/apt/archives

vous serez surpris ;-)

Faire un petit nettoyage

# aptitude autoclean

La commande ci-dessus va supprimer uniquement les paquets dont le numéro de version est obsolète par rapport à ceux des miroirs (les vieux trucs quoi)

Faire le ménage de printemps

# aptitude clean

Cette commande suivante videra entièrement le contenu du cache.

Pour plus d'informations:

  • lisez la page de manuel aptitude
$ man aptitude
  • installez le paquet de documentation aptitude-doc.
# aptitude install aptitude-doc-fr

et tapez cet url dans votre navigateur :

/usr/share/doc/aptitude/html/fr/index.html

3)
liste des sections: admin, cli-mono, comm, database, devel, debug, doc, editors, electronics, embedded, fonts, games, gnome, graphics, gnu-r, gnustep, hamradio, haskell, httpd, interpreters, java, kde, kernel, libs, libdevel, lisp, localization, mail, math, misc, net, news, ocaml, oldlibs, otherosfs, perl, php, python, ruby, science, shells, sound, tex, text, utils, vcs, video, web, x11, xfce, zope.http://packages.debian.org/fr/squeeze/
4)
voir: les indicateurs d'états dans rechercher un logiciel
5)
Exemple:
# aptitude show -tsqueeze-backports iceweasel
Paquet : iceweasel                            
État: installé
Automatiquement installé: non
Version : 5.0-3~bpo60+1
Priorité : optionnel
Section : web
Responsable : Maintainers of Mozilla-related packages <pkg-mozilla-maintainers@lists.alioth.debian.org>
Taille décompressée : 5 685 k
Dépend: libc6 (>= 2.2.5), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.10),
       libnspr4-0d (>= 1.8.0.10), libstdc++6 (>= 4.1.1), fontconfig, procps,
       debianutils (>= 1.16), xulrunner-5.0 (>= 5.0-3~bpo60+1)
Suggère: ttf-lyx | latex-xft-fonts, xfonts-mathml, ttf-mathematica4.1, xprint,
        mozplugger, libgssapi-krb5-2 | libkrb53
Fournit: gnome-www-browser, www-browser
Description : Navigateur web basé sur Firefox
Firefox est une refonte du navigateur de Mozilla. Il est similaire à Galeon,
K-Meleon et Camino, mais est écrit en utilisant le langage d'interface
utilisateur XUL, et pensé pour être léger et multi-plates-formes. 

Ce navigateur est basé sur le code source de Firefox avec des modifications
mineures. Historiquement, il était précédemment connu sous les noms de Firebird
et Phoenix.
9)
le paquet et toutes ses dépendances seront téléchargés dans le répertoire /var/cache/apt/archives/ vous trouverez le tout au format deb. voir: Installer un paquet .deb
10)
annule toute action de safe-upgrade ou full-upgrade (installation, mise a jour ou suppression)
11)
Exemple:
# aptitude search kompozer
i   kompozer                        - complete Web Authoring System             
i A kompozer-data                   - kompozer data files                       
p   kompozer-dev                    - KompoZer development files  
# aptitude remove kompozer
Les paquets suivants seront ENLEVÉS :         
kompozer kompozer-data{u}
Résultat de la commande:
# aptitude search kompozer
c   kompozer                        - complete Web Authoring System             
c   kompozer-data                   - kompozer data files                       
p   kompozer-dev                    - KompoZer development files     
Le paquet kompozer et son paquet dépendant kompozer-data ont été désinstallés, mais leurs fichiers de configuration sont toujours présent sur le système.
12)
Exemple:
# aptitude search kompozer
i   kompozer                        - complete Web Authoring System             
i A kompozer-data                   - kompozer data files                       
p   kompozer-dev                    - KompoZer development files
# aptitude purge kompozer
Les paquets suivants seront ENLEVÉS :         
kompozer{p} kompozer-data{u} 
Résultat de la commande:
# aptitude search kompozer
p   kompozer                        - complete Web Authoring System             
c   kompozer-data                   - kompozer data files 
p   kompozer-dev                    - KompoZer development files     
Aucune trace du paquet kompozer n'est présente sur le système, son paquet dépendant kompozer-data à été supprimé mais ses fichiers de configuration sont toujours présent.
13)
Exemple:
# aptitude search kompozer
i   kompozer                        - complete Web Authoring System             
i A kompozer-data                   - kompozer data files                       
p   kompozer-dev                    - KompoZer development files
# aptitude purge --purge-unused kompozer
Les paquets suivants seront ENLEVÉS :         
kompozer{p} kompozer-data{pu} 
Résultat de la commande:
# aptitude search kompozer
p   kompozer                        - complete Web Authoring System             
p   kompozer-data                   - kompozer data files                       
p   kompozer-dev                    - KompoZer development files  
Plus aucunes traces du paquet kompozer et de ses dépendances sur le système.
14)
un paquet marqué comme ayant été installés automatiquement, sera supprimé automatiquement dès que plus aucun paquet installé manuellement ne dépend de lui.Exemple:
# aptitude search kompozer 
i   kompozer                        - complete Web Authoring System             
i A kompozer-data                   - kompozer data files                       
p   kompozer-dev                    - KompoZer development files
# aptitude markauto kompozer 
Les paquets suivants seront ENLEVÉS :         
kompozer{u} kompozer-data{u}
manuel/commande_aptitude2.1313402295.txt.gz · Dernière modification: 15/08/2011 11:58 par smolski

Pied de page des forums

Propulsé par FluxBB