Dans le billet précédent, nous avons appris comment supprimer les fichiers de configuration inutiles. Dans cet article, nous allons maintenant voir comment s’occuper des paquets obsolètes.
Un paquet est considéré comme obsolète du moment que plus aucun des dépôts APT présents dans le fichier /etc/apt/source.lists (et /etc/apt/sources.list.d/) ne le fournit. De nombreuses raisons peuvent conduire à cet état :
- L’auteur amont du paquet a arrêté tout support depuis un long moment, personne n’a pris la relève et le mainteneur Debian a préféré retirer le paquet de l’archive Debian. Des alternatives sont la plupart du temps disponibles en remplacement ;
- Le paquet Debian était orphelin depuis longtemps, personne ne l’a repris en charge et il n’avait que peu d’utilisateurs. Il se peut également que l’équipe Debian QA (Quality Assurance – Assurance Qualité) ait demandé son retrait ;
- La dernière version du paquet a été empaquetée sous un nom différent. Soit en raison d’un nombre de changements tellement important qu’il était préférable de ne pas mettre à jour automatiquement vers le dernier paquet (ce fut le cas pour request-tracker et nagios par exemple, qui embarquaient tous les deux un numéro de version dans leurs noms), soit simplement parce que le mainteneur du paquet souhaitait permettre à l’utilisateur d’avoir plusieurs versions du paquet installées en même temps (ce qui est le cas par exemple pour le noyau Linux, l’interpréteur Python et de nombreuses bibliothèques) ;
- l’application a été renommée, et le mainteneur a donc renommé le paquet. Il a gardé un paquet de transition sous l’ancien nom pendant un cycle de publication puis ce dernier a été supprimé.
Ce n’est dans tous les cas jamais une bonne idée de conserver les paquets obsolètes : ils ne profitent d’aucune mise à jour de sécurité, et peuvent causer des problèmes lors des mises à jour, en dépendant de paquets devant être supprimés pour finir celles-ci.
Vous pouvez les supprimez d’un seul coup grâce à aptitude purge ~o
(ou aptitude purge ?obsolete
), mais vous souhaitez peut-être analyser un peu plus la situation avant : il se pourrait que certains paquets que vous avez installés manuellement (et absents des dépôts APT) fassent partie du lot, et ces derniers ne doivent pas subir le même traitement (me concernant, j’ai par exemple Skype et quelques paquets personnels). Vous pouvez obtenir la liste des paquets concernés via aptitude search ?obsolete
.
Cette même liste est bien sûr accessible en passant par Synaptic, gestionnaire de paquets en mode graphique : cliquez sur le bouton « État », puis sur « Installés (locaux ou obsolètes) ». Vous pouvez maintenant parcourir la liste et décider, pour chaque paquet, s’il doit être conservé ou non.
Ceci est une traduction de mon article Debian Cleanup Tip #2: Get rid of obsolete packages contribuée par Weierstrass01. Abonnez-vous à ce blog par RSS ou par email pour recevoir tous les prochains articles et améliorer votre maîtrise de Debian/Ubuntu.
PA says
Je suis sous LMDE, et la commande « aptitude search ?obsolete » me sort pas mal de paquets que je n’ai pas installés manuellement, et qui me semblent plutôt utiles (comme linux-image-3.0.0-1-amd64 par exemple, sachant que « uname -r » me renvoie justement 3.0.0-1-amd64)
Du côté de synaptic, c’est encore pire, il doit me lister a peu près tous mes paquets (je suis bien dans la section « installés (locaux ou obsolètes) »).
Donc attention : ce serait dommage de se retrouver avec un système… un peu trop propre 😉
Raphaël Hertzog says
Il n’est pas forcément questions de paquets installés manuellement… les noyaux sont un exemple type, il se peut qu’une nouvelle version soit disponible et hop la version installée est obsolète car chaque nouvelle version amont est dans un paquet dédié. Et on ne peut pas rester éternellement avec une version obsolète…
Ceci dit, si tu as beaucoup trop de paquets listés c’est peut-être que tu as désactivé des dépôts que tu n’aurais pas du dans ton sources.list… ou alors que les « apt-get update » échouent. Mais cela ne semble pas normal du tout… ou alors c’est un problème spécifique à LMDE je ne sais pas.
PA says
Hum, concernant le noyau, j’ai vérifié avant de poster : c’est bien la dernière version dispo pour moi.
Je pense cependant qu’il y a du spécifique à LMDE la dedans en effet.
J’ai passé ma LMDE sur le système des Update Packs (cf. http://blog.linuxmint.com/?p=1781), ce qui implique de remplacer le dépot :
deb http://ftp.debian.org/debian testing main contrib non-free
par le dépot :
deb http://debian.linuxmint.com/latest testing main contrib non-free
Ceci explique peut-être cela…
Raphaël Hertzog says
Ben oui, c’est directement lié… ce dépôt correspond à l’état de testing en juillet et linux 3.0 n’était pas dans testing à ce moment là. Et il y a sûrement d’autres paquets pour lesquels tu as une version plus récente que celle de LMDE et que Synaptic considère comme « installé localement » à cause de cela.