Aptitude Vs Apt-get
lundi 2 octobre 2006 Par macsim, dans Ubuntu -# 3 - Fil RSS
Il y a différentes solutions pour installer de nouveaux logiciels sur les systèmes basés sur debian, si l'on se réfère à la philosophie ubuntu, chaque manipulation réalisée à l'aide d'un terminal est un bug qu'il faut corriger. Soit, mais la plupart des documentations de ubuntu-fr utilisent la ligne de commande pour vous faire installer un package, 99,9% de ces tutoriaux utilisent 'apt-get install', je ne suis pas pour cette méthode.Pour réaliser ce billet j'ai utilisé un chroot dapper, je vous invite à faire là même chose si vous voulez tester aptitude en détail vous ne risquerez pas de casser votre système.
- L'update des repertory
- Installation juste un peu différente
- La désinstallation
- Un dist-upgrade
- L'interface d'aptitude
L'update nécessaire à la mise à jour des répertory du /etc/apt/sources.list est une commande importante, voyons les différences
Avec apt-get

Avec aptitude

Nous pouvons voir que aptitude :
Construit l'arbre des dépendances (Building dependency tree...).
Il lit les informations d'état étendus (Reading extended state information).
Initialise l'état des packets (Initializing package states).
Crée sa base de tags (Building tag database... ).
Aptitude utilise la même syntaxe que apt-get pour la majorité des commandes.
Installation de mysql-client depuis apt-get

Depuis aptitude

L'installation diffère un peu de chaque côté, aptitude ne suggère pas de packet (le "Suggested package"), il installe directement les packets recommendés ("Recommended").
La désinstallation depuis apt-get

La désinstallation depuis aptitude

On constate que apt-get ne prends pas en compte les packets qui ont été installés avec mysql-client, il ne désinstalle que le packet mysql-client, de son coté aptitude gére les dépendances et fait remarquer que des packets deviennent obsolètes sans mysql-client, (c'est la partie surlignée). Notez qu'avec apt-get nous récupérons 65.5ko de place libre et qu'avec aptitude nous récupérons 56.5Mo !!! La désinstallation depuis aptitude est bien plus propre.
Voyons le comportement de apt-get et aptitude sur un dist-upgrade, je fais passer le chroot de dapper à edgy.
Avec apt-get
Reading package lists...
Building dependency tree...
The following packages will be REMOVED:
libnewt0.51
The following NEW packages will be installed:
console-setup console-terminus dash dmidecode gcc-4.1-base laptop-detect
...
x11-common xkb-data
The following packages have been kept back:
ubuntu-minimal
The following packages will be upgraded:
adduser alsa-base alsa-utils apt apt-utils aptitude base-files bash
...
vim-runtime whiptail wireless-tools wpasupplicant xfsprogs zlib1g
138 upgraded, 22 newly installed, 1 to remove and 1 not upgraded.
Avec aptitude
Reading package lists...
Building dependency tree...
Reading extended state information...
Initializing package states...
Building tag database...
The following packages are BROKEN:
upstart
The following NEW packages will be automatically installed:
console-setup console-terminus dash dmidecode file gcc-4.1-base
...
vim-tiny volumeid x11-common xkb-data
The following packages will be automatically REMOVED:
libnewt0.51
The following NEW packages will be installed:
console-setup console-terminus dash dmidecode file gcc-4.1-base
...
vim-tiny volumeid x11-common xkb-data
The following packages will be REMOVED:
libnewt0.51
The following packages will be upgraded:
adduser alsa-base alsa-utils apt apt-utils aptitude base-files bash
...
wireless-tools wpasupplicant xfsprogs zlib1g
139 packages upgraded, 29 newly installed, 1 to remove and 0 not upgraded.
Need to get 78.3MB of archives. After unpacking 41.1MB will be used.
The following packages have unmet dependencies:
upstart: Conflicts: sysvinit but 2.86.ds1-14.1ubuntu13 is to be installed.
Resolving dependencies...
The following actions will resolve these dependencies:
Keep the following packages at their current version:
libgnutls13 [Not Installed]
libldap2 [2.1.30-12ubuntu3 (now)]
libtasn1-3 [Not Installed]
startup-tasks [Not Installed]
system-services [Not Installed]
ubuntu-minimal [0.119 (now)]
upstart [Not Installed]
upstart-compat-sysv [Not Installed]
upstart-logd [Not Installed]
Score is -14
Accept this solution? [Y/n/q/?]
La mise à niveau ne se produira pas de la même façon, aptitude détecte que le packet upstart est cassé et il essayera de réparer ce problème, alors que apt-get l'ignore carrément, il y a des chances pour qu'il casse la mise à niveau avec une erreur. Aptitude vous proposera pour finir une solution qu'il vous faudra choisir.
(Je ne connais pas la définition du Score, j'ai parcouru les sources de aptitude et il semblerait que ce soit une valeur attibuée aux packets et qui servent à aptitude pour définir l'action à appliquer. Si vous connaissez la définition de ce Score je vous écoute.)
Aptitude possède sa propre interface dont voici une capture, si vous la lancez depuis un terminal dans une session X la souris vous permettra d'acceder au menu sans passer par les racourcis clavier.

Aptitude possède de nombreuses autres possibilités comme "la possibilité de récupérer un packet selon une version", "garde un journal de toutes ses actions dans /var/log/aptitude", "facilite la recherche de logiciels obsolètes en les listant sous « Paquets obsolètes ou créés localement »" et bien d'autres que je ne détaillerai pas ici, je vous invite à lire le Manuel de l'utilisateur d'aptitude.

Commentaires
1. Le mardi 3 octobre 2006 à 09:02, par Sledge
2. Le mardi 3 octobre 2006 à 09:33, par macsim
3. Le mercredi 18 octobre 2006 à 12:00, par Robby
4. Le jeudi 19 octobre 2006 à 14:21, par macsim
5. Le samedi 18 novembre 2006 à 10:49, par Galiléo
6. Le samedi 18 novembre 2006 à 15:57, par poof65
7. Le samedi 18 novembre 2006 à 20:45, par animimotus
8. Le samedi 18 novembre 2006 à 20:49, par animimotus
9. Le samedi 18 novembre 2006 à 21:37, par macsim
10. Le vendredi 9 février 2007 à 00:27, par michpapsc
11. Le vendredi 9 février 2007 à 04:32, par macsim
12. Le dimanche 11 février 2007 à 17:33, par michpapsc
13. Le lundi 12 février 2007 à 22:03, par macsim
14. Le vendredi 16 février 2007 à 18:30, par michpapsc
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.