!!!!!!!!!!! Purger les paquets supprimés !!!!!!!!!!!!!!!! La commande suivante affiche une liste de tous les paquets supprimés qui pourraient avoir laissé des fichiers de configuration sur le système (s'il y en a) : # dpkg -l | awk '/^rc/ { print $2 }' Les paquets peuvent être supprimés en utilisant apt purge. En supposant que vous souhaitiez tous les purger en une seule fois, vous pouvez utiliser la commande suivante : # apt purge $(dpkg -l | awk '/^rc/ { print $2 }') !!!!!!!!!!!!!!!! Supprimer les résidus de fichiers de configuration !!!!!!!!!!!!!!!!!!!!! Une mise à niveau précédente pourrait avoir laissé des copies inutilisées de fichiers de configuration, d’anciennes versions de fichiers de configuration, des versions fournies par des responsables de paquets, etc. Supprimer ces résidus de mises à niveau précédentes peut éviter des confusions. Trouvez ces fichiers inutiles avec : # find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error' !!!!!!!!!! Vérifier l'état des paquets !!!!!!!!!!!!!!!!!!!!!!!!!!!!! Quelle que soit la méthode utilisée pour mettre à niveau, il est recommandé de tester d'abord l'état de tous les paquets et de vérifier que tous les paquets se trouvent dans un état permettant la mise à niveau. La commande suivante vous indiquera tous les paquets qui sont dans l'état « Half-Installed » ou « Failed-Config », ainsi que ceux qui sont dans un état d'erreur. # dpkg --audit Vous pouvez aussi vérifier l'état de tous les paquets du système en utilisant aptitude, ou avec des commandes comme : # dpkg -l | pager ou : # dpkg --get-selections "*" > ~/paquets-actuels.txt Il est souhaitable d'enlever tous les blocages de paquets (on hold) avant de passer à la nouvelle version. Si un paquet essentiel pour la mise à niveau est bloqué, la mise à niveau va échouer. Notez que pour enregistrer les paquets qui sont bloqués, aptitude utilise une méthode différente de celles d'apt et dselect. Si vous désirez vérifier quels paquets étaient bloqués pour apt, il vous faudra utiliser : # dpkg --get-selections | grep 'hold$' Si vous aviez modifié et recompilé un paquet localement, sans changer son nom et sans mettre d'époque (« epoch ») dans la version, vous devez le bloquer pour éviter qu'il ne soit mis à niveau. Vous pouvez activer un blocage sur un paquet pour apt en utilisant : # echo nom_du_paquet hold | dpkg --set-selections !!!!!!!!!!!!!!!!!!!!!! Boucles de conflits ou de prédépendances !!!!!!!!!!!!!!!!!!!! Il est parfois nécessaire d'activer l'option d'APT APT::Force-LoopBreak pour pouvoir temporairement retirer un paquet essentiel à cause de boucles « Conflicts/Pre-Depends ». apt vous alertera à ce propos et interrompra la mise à niveau. Vous pouvez contourner ce problème en passant l'option -o APT::Force-LoopBreak=1 sur la ligne de commande d'apt. Il est possible que la structure de dépendances d'un système soit tellement défectueuse qu'elle requière une intervention manuelle. Habituellement, cela signifie qu'il faut utiliser apt ou : # dpkg --remove nom_du_paquet pour éliminer certains des paquets en cause, ou : # apt -f install # dpkg --configure --pending Dans certains cas extrêmes, vous pourriez devoir forcer une réinstallation à l'aide d'une commande comme : # dpkg --install /chemin/vers/nom_du_paquet.deb