À l’heure où l’on parle du passage à Etch pour les utilisateurs de Debian GNU/Linux, ceux qui ont lu les notes de publication ont sûrement vu qu’il était conseillé d’utiliser Aptitude à place du traditionnel Apt pour réaliser cette opération. La raison ? Une meilleur gestion des dépendances. Maintenant quel est la raison de ce billet ? Et bien je suis tombé sur un petit problème fort simple, mais pourtant j’ai trouvé Google trop peu bavard quand à la solution ! Je la place donc sur ce blog, si ca aide quelqu’un un jour qu’il n’hésite pas à me faire un petit commentaire
Contexte : nous utilisons un système dans lequel nous avons remplacé Exim par Postfix. Les deux paquets étant incompatibles, Apt suprime l’un pour installer l’autre. Seulement voila, si un apt-get dist-upgrade ne bronche pas, un aptitude dist-upgrade (j’ai vraiment du mal à le taper aussi vite !) va nous causer le problème suivant :
# aptitude dist-upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture de l'information d'état étendu
Initialisation de l'état des paquets... Fait
Lecture des descriptions de tâches... Fait
Les NOUVEAUX paquets suivants vont être installés : exim4 exim4-base exim4-config exim4-daemon-light
Les paquets suivants seront ENLEVÉS : postfix
0 paquets mis à jour, 4 nouvellement installés, 1 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1426,9ko d'archives. Après dépaquetage, 1118ko seront utilisés.
Voulez-vous continuer ? Y/n/? n Abandon
Le problème est tout bête : Aptitude ne veut pas de Postfix, pourtant Exim4 n’est plus sur le système depuis bien longtemps maintenant (qu’il n’y voit rien de personnel surtout !).
Cause ? Un meta package est sûrement resté caché quelque part et Apt l’a loupé au moment du remplacement d‘Exim par Postfix…
Solution :
# aptitude purge exim4 exim4-base exim4-config exim4-daemon-light
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances Lecture de l'information d'état étendu Initialisation de l'état des paquets... Fait
Lecture des descriptions de tâches... Fait
Les paquets suivants seront ENLEVÉS : exim4-base exim4-config
0 paquets mis à jour, 0 nouvellement installés, 2 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 0o d'archives. Après dépaquetage, 0o seront utilisés.
Voulez-vous continuer ? Y/n/? y
Écriture de l'information d'état étendu... Fait
(Lecture de la base de données... 31093 fichiers et répertoires déjà installés.)
Suppression de exim4-base ...
Purge des fichiers de configuration de exim4-base ...
Suppression de exim4-config ...
Purge des fichiers de configuration de exim4-config ...
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture de l'information d'état étendu
Initialisation de l'état des paquets... Fait
Lecture des descriptions de tâches... Fait

3 commentaires
Salut,
J’ai rencontré le même sur mon serveur pour la migration sarge vers etch. Malheureusement, ta solution ne fonctionne pas chez moi, aptitude n’a rien enlevé concernant exim4 puisque tous les packages exim4-* étaient déjà supprimés. Pourtant le pb est le même, et je crois qu’il va me falloir tout mettre à jour package par package pour ne pas faire de connerie concernant postfix.
Merci pour l’info quand même
Salut,
La soluce ne fonctionnait pas chez moi. J’ai fini par trouver en passant par l’interface graphique de aptitude, et en parcourant les paquets, je suis tombé sur mutt qui indiquait dépendre du paquet exim4.
la suppression du paquet mutt fait que maintenant lors du dist-upgrade, il ne me propose plus de désinstaller postfix. Mieux, il en fait la mise-à-jour.
Merci d’avoir partagé cette solution !