Petite mise en situation : Je bosse tranquillement sur mon serveur et décide de lister les paquets installés sur ma machine. Un petit dpkg -l et je suis étonné par la présence du paquet x11-common. Est-il vraiment utilise à d'autre paquet ? Étant donné que je n'utilise pas d'interface graphique, la question peut se poser.

On commence donc les investigations du côté du gestionnaire de paquets apt, et notamment la commande apt-cache et ses pages de manuel.

# man apt-cache

On découvre alors la très intéressante commande rdepends :

La commande rdepends affiche la liste de toutes les dépendances inverses d'un paquet.

Cela-dit, cette commande nous donne la liste de tout les paquets existants dont dépendent le paquet de notre choix. Elle ne se limite donc pas seulement aux paquets installés sur le système. Retour aux pages de manuel d'apt-cache dans lesquelles on découvre une option très intéressante :

--installed
Cette option limite la sortie de depends et de rdepends aux paquets qui sont actuellement installés.

Je lance donc la commande suivante :

# apt-cache rdepends --installed x11-common

Et je découvre ainsi les paquets qui dépendent de x11-common, pour la plupart des paquets qui me sont complètement inutiles. Le ménage va pouvoir commencer !

Pour aller plus loin, on peut imaginer un script qui vérifierait toutes les dépendances inverses de tout les paquets installés sur le système à l'aide dpkg -l et qui donnerait la liste de tous les paquets orphelins. Je n'ai pas encore travaillé sur pareil script mais si quelqu'un code quelque chose dans ce genre, qu'il n'hésite pas à me le transmettre.

Bon ménage.