Debian : Comment bien supprimer un paquet

Comment supprimer un paquet sous Linux en supprimant ses dépendances et ses fichiers de configuration
  • Linux

 Paquet Debian et mise à jour script 

Le système de gestion des dépendances sous Linux est assez particulier puisqu’il permet d’installer les dépendances à la volée lors de l’installation d’un paquet. Or, au moment de supprimer ledit paquet ainsi que ses dépendances, on en laisse bien souvent dans le système, alors voici comment supprimer un paquet et ses dépendances.

Installation de tous les paquets

Tout d’abord, préférez l’utilisation d’aptitude et non d’apt-get lors de la suppression. Il permet de mieux gérer les dépendances et leur suppression.

apt-get install aptitude

Installez deborphan pour repérer les dépendances non-satisfaites : notamment les bibliothèques installés qui ne servent plus suite à la désinstallation d’un paquet.

aptitude install deborphan

Syam44 a également créer un petit logiciel couplé à aptitude qui permet d’identifier les paquets non utilisés et les dépendances circulaires non satisfaites.

wget https://github.com/syam44/fix-aptitude-dependencies/blob/master/fix-aptitude-dependencies.deb
dpkg -i fix-aptitude-dependencies.deb

Supprimer totalement un paquet et ses dépendances 

Je voulais supprimer « imagemagick« , voyons les deux commandes utilisées.

aptitude purge imagemagick

Ce qui donne le résultat :

root@debian:/home/dinath# aptitude purge imagemagick

Les paquets suivants seront ENLEVÉS :
imagemagick{p} imagemagick-6.q16{u} 
0 paquets mis à jour, 0 nouvellement installés, 2 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 0 o d'archives. Après dépaquetage, 892 ko seront libérés.
Voulez-vous continuer ? [Y/n/?]

Soit deux paquets à supprimer.

apt-get autoremove imagemagick*

L’opérateur « * » permet de supprimer tous les paquets liés à imagemagick en inclûant cette regex.

root@debian:/home/dinath# apt-get autoremove imagemagick*

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances 
Lecture des informations d'état... Fait
Note, selecting 'imagemagick' for glob 'imagemagick*'
Note, selecting 'imagemagick-6.q16' for glob 'imagemagick*'
Note, selecting 'imagemagick-dbg' for glob 'imagemagick*'
Note, selecting 'imagemagick-doc' for glob 'imagemagick*'
Note, selecting 'imagemagick-6.defaultquantum' for glob 'imagemagick*'
Note, selecting 'imagemagick-common' for glob 'imagemagick*'
Note : sélection de « imagemagick-6.q16 » au lieu de « imagemagick-6.defaultquantum »
Le paquet « imagemagick-dbg » n'est pas installé, et ne peut donc être supprimé
Le paquet « imagemagick-doc » n'est pas installé, et ne peut donc être supprimé
Les paquets suivants seront ENLEVÉS :
 imagemagick imagemagick-6.q16 imagemagick-common libmagickcore-6.q16-2 libmagickcore-6.q16-2-extra libmagickwand-6.q16-2
0 mis à jour, 0 nouvellement installés, 6 à enlever et 0 non mis à jour.
Après cette opération, 9 507 ko d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] 

Soit 6 paquets.

Sachez que vous pouvez et devez sûrement utiliser ces deux commandes, mais attention. Certaines dépendances sont liées à d’autres plus importantes, vérifiez soigneusement les paquets sur le point d’être supprimés.

Deborphan

Deborphan permet de repérer les bibliothèques non utilisées. Il s’utilise simplement avec la commande « deborphan ».

[6] Recherche de paquets obsolètes

aptitude remove libestools2.4:amd64

root@debian:/home/dinath# aptitude remove libestools2.4:amd64

Les paquets suivants seront ENLEVÉS : 
libestools2.4 
0 paquets mis à jour, 0 nouvellement installés, 1 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 0 o d'archives. Après dépaquetage, 3 496 ko seront libérés.
(Lecture de la base de données... 168509 fichiers et répertoires déjà installés.)
Suppression de libestools2.4:amd64 (1:2.4~release-2+b1) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.23-1) ...

Ce code provient de mon script de mise à jour.

Fix-aptitude-dependencies

Ce script permet de repérer les logiciels non-utilisés.

root@debian:/home/dinath# fix-aptitude-dependencies 

Recherche des actions prévues et des dépendances cassées...

État Depuis Vers Paquet
------------------------------------------------------------------------------
id 5.3.1-3 5.3.1-3 libbrlapi0.6
id 0.1.3-2.1 0.1.3-2.1 libopencore-amrnb0
id 0.1.3-2.1 0.1.3-2.1 libopencore-amrwb0
id 2.1.1-2 2.1.1-2 libqca2
id 2.1.1-2 2.1.1-2 libqca2-plugins
id 4:4.8.7+dfsg-8 4:4.8.7+dfsg-8 libqt4-sql
id 4:4.8.7+dfsg-8 4:4.8.7+dfsg-8 libqt4-sql-mysql
id 4:4.8.7+dfsg-8 4:4.8.7+dfsg-8 libqt4-sql-sqlite
id 14.4.1-5+b1 14.4.1-5+b1 libsox-fmt-alsa
id 14.4.1-5+b1 14.4.1-5+b1 libsox-fmt-base
id 14.4.1-5+b1 14.4.1-5+b1 libsox2
id 0.1-4 0.1-4 sound-icons
id 14.4.1-5+b1 14.4.1-5+b1 sox
id 5.3.1-3 5.3.1-3 xbrlapi

Vous pouvez supprimer les paquets en fin de ligne, mais attention, encore une fois en root vous supprimer tout et n’importe quoi, y compris les metapaquets liés au dépendances que vous pourriez supprimer.

Soyez prudent, et utilisez Google pour vous assurer que vous pouvez supprimer le paquet sans risque.

La commande suivante permet de rechercher la description d’un paquet 

aptitude search <paquet>

Pour récupérer les librairies requises et une description complète du paquet.

apt-cache show

Supprimer la configuration d’un paquet

La commande suivante permet de supprimer les fichiers de configuration des différents paquets supprimés.

aptitude purge ~c

Article publié le

Dernière modification le

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.