Une aptitude à oublier apt-get

Sous ce titre un peu spécial, un semi-petit coup de gueule debian-eux.

Je vois sur d’innombrable site de tuto, d'aide, de distro, j'en passe et des meilleurs, l'utilisation excessive de "apt-get install" ou "apt-get update" ou encore "apt-get dist-upgrade" ..

APTITUDE mes enfants ! Aptitude !

Pourquoi préférer aptitude à apt-get ?

 

1) L'update (apt-get update VS aptitude update)

 

a) De quoi ca s'agit

L'update permet de récupérer en ligne, depuis un fichier source, la liste de tous les paquets disponible.

b) Ce qu'ils font

  • Ils récupèrent les sources dans le fichier /etc/apt/sources.list
  • Il construit l'arbre de dépendances
  • Il lis les informations des états
  • Initialise l'état des paquets
  • Crée sa base de tag

2) L'install (apt-get install VS aptitude install )

 

a) De quoi ca s'agit

L'install va comme son nom l'indique, installer le ou les paquets sélectionnés.

b) Ce qu'ils font

  • Ils lisent la liste de paquets
  • Ils construisent l'arbre de dépendances du/des paquets
  • Vérifie l'état des paquets
  • Initialise l'état des paquets
  • Construit l'arbre de tag
  • Indique les paquets supplémentaire à installer (les dépendances)
  • Indique les paquets sugerés
  • Indique les paquets recommandés
  • Indique la liste des paquets que la commande va installer (les paquets sélectionnés + les dépendances)
  • Indique la liste des paquets que la commande va installer en plus (les dépendances + les paquets recommandés)
  • Indique les nouveaux paquets que la commande va installer (les paquets sélectionnées + les dépendances + les paquets recommandés)
  • Ils font un résumé du nombre de paquets installés/mis à jour/supprimés
  • Ils indiques la taille nécessaire sur le disque pour l'installation des paquets

3) Le remove (apt-get remove VS aptitude remove )

 

a) De quoi ca s'agit

Le remove, supprime le ou les paquets sélectionnés.

b) Ce qu'ils font

  • Ils lisent la liste de paquets
  • Ils construisent l'arbre de dépendances du/des paquets
  • Vérifie l'état des paquets
  • Initialise l'état des paquets
  • Construit l'arbre de tag
  • Indique la liste de toutes les dépendances inutilisé que la commande va supprimer
  • Ils indiquent le paquet que la commande va supprimer
  • Ils font un résumé du nombre de paquets installés/mis à jour/supprimés
  • Ils Indiquent la taille libéré sur le disque après la suppression du/des paquets

4) Le dist-upgrade (apt-get dist-upgrade VS aptitude dist-upgrade -qui est un alias pour aptitude full-upgrade)

 

a) De quoi ca s'agit

dist pour distribution, cette commande met à jour votre distribution au complet. (par exemple, il passe de la version Debian 5.0 à Debian 6.0)

b) Ce qu'ils font

  • Ils lisent la liste de paquets
  • Ils construisent l'arbre de dépendances du/des paquets
  • Vérifie l'état des paquets
  • Initialise l'état des paquets
  • Construit l'arbre de tag
  • Liste les paquets qui sont cassés
  • Ils listent les paquets qui seront supprimés
  • Liste les paquets qui seront gardés
  • Indique la liste des paquets que la commande va installer (les paquets sélectionnés + les dépendances)
  • Indique la liste des paquets que la commande va installer en plus (les dépendances + les paquets recommandés)
  • Indique les nouveaux paquets que la commande va installer (les paquets sélectionnées + les dépendances + les paquets recommandés)
  • Ils indiquent la liste des paquets qui seront mis à jour
  • Ils font un résumé du nombre de paquets installés/mis à jour/supprimés
  • Liste les paquets dont les dépendances vont être modifiés
  • Liste des actions effectuées pour assurer les dépendances
  • Attribut un score (basé sur l'action à effectué, mais je ne sais pas trop sur quoi il se base, je suis ouvert à vos remarques)

 

 

5) Les principaux plus de aptitude

 

En plus de gérer mieux les dépendances, et du coup, s'assurer que le système est plus propre, en prenant en compte les fichiers/dépendances obsolètes, aptitude :

  • A une interface (façon ncurses), qui permet de naviguer facilement entre les paquets (avec la souris également).

  • Permet de récupérer un paquet selon sa version
  • Garde un journal de toutes ses actions dans /var/log/aptitude
  • Facilite la recherche de paquets obsolètes en les listant sous "Paquets obsolètes ou créés localement"

 

 

Alors ? Toujours fan de "apt-get" ?

L'article est plus que fortement inspiré par celui-ci. Vous y trouverez entre autres les screenshots des différences.

Comments

Comment by Floby on 2011-12-05 11:23:53 +0100

L'article original date de 2006 et ne semble pas avoir été mis à jour.

Comment by Nono on 2011-12-05 13:15:17 +0100

Dans tous les cas, tout porte à croire que la manière de fonctionné est la même, même si les screenshot avec les mêmes commande aujourd'hui, diffèrerait quelques peu.

Aptitude gère mieux les dépendances que apt-get, c'est tout ce que cet article avait pour but d'exprimer.

Edit: si tu veux, il y a des "sources" plus récentes comme ici, mais le résultat est le même un peu partout, tu peux toi même tester.

Comment by mangue on 2012-05-18 06:19:42 +0200

Bonjour,
Si l'on a utilisé apt-get jusque maintenant peut-on passer du jour au lendemain a aptitude sans problèmes de gestion de paquets ou dépendances ?
D'avance merci 😉

Comment by Nono on 2012-05-18 08:06:34 +0200

Sans aucun souci !
Dans l'ordre, je te conseil (au mieux, et si tu es en dernier version de ta distribution) de faire ces étapes :
# apt-get install aptitude
# aptitude update && aptitude dist-upgrade

La première pour installer/mettre à jour ton paquet aptitude,

La seconde pour mettre à jours tes sources ainsi que ta distribution. Les dépendances seront également checkées, voir si il ne manque rien.

Dans tout les cas, l'inter-compatibilité est assurée !

Comment by mangue on 2012-05-18 11:07:30 +0200

Merci beaucoup pour cette réponse !

Comment by Mumzi on 2013-10-02 21:17:10 +0200

"Tout porte à croire que la manière de fonctionner est la même."

Les temps changent : les informations sur les paquets installés sont partagés entre les différentes interfaces d'APT. Ça comprend apt-get _et_ aptitude. Et ce depuis Lenny (02/2009). La différence entre les deux s'est grandement réduite, et le passage constant de l'un à l'autre pose beaucoup moins de problème.
http://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_the_package_state_for_apt

Également une comparaison plus large :
http://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_literal_apt_get_literal_literal_apt_cache_literal_vs_literal_aptitude_literal

Aptitude a tout de même un gros avantage avec le système de proposition de solutions, ainsi que ce genre de commandes, auxquelles je n'ai pas trouvé d'équivalentes avec apt-get :
aptitude search ?config-files # paquets dont certains fichiers (conf, logs...) existent toujours
aptitude search ?obsolete
aptitude search '?narrow(?installed, !?origin(Debian))!?obsolete' # paquets installés d'origine tierce

Comment by JeromeJ on 2013-11-17 22:29:25 +0100

Je me suis convertit à cause de cet article ;o

Maintenant je suis un messie, prêchant la bonne parole.

Ahaha.