J'ai installé Pipelight à partir de l'archive PPA, conformément à ces instructions.
La commande d'installation, sudo apt-get install --install-recommends pipelight-multi
était pour un seul package, mais cela impliquait le téléchargement et l'installation d'environ 180 packages de dépendance, dont environ 40 étaient des mises à niveau des packages actuellement installés.
Par conséquent, environ 140 nouveaux packages ont été installés.
Pipelight n'a plus fonctionné par la suite, je l'ai donc supprimé :
sudo apt-get purge pipelight-multi
Aucun autre paquet n'a été supprimé.
J'ai ensuite utilisé sudo apt-get autoremove
. Cette commande a supprimé tous les packages pouvant être supprimés automatiquement. Il y en avait exactement 100 (il y avait aussi exactement 100 paquets dans la liste "Autoremovable" de Synaptic Package Manager).
Il restait donc environ 40 packages qui n'étaient pas considérés comme pouvant être supprimés automatiquement et qui n'ont donc pas été supprimés. J'ai dû les supprimer manuellement.
Il n'y avait aucune dépendance non satisfaite sur mon système avant l'installation de Pipelight; et je n'avais marqué aucun paquet comme installé manuellement, installé ou supprimé quoi que ce soit d'autre, ou quelque chose comme ça. Il ne s'est écoulé qu'une dizaine de minutes entre l'installation de Pipelight et sa suppression.
Donc, après avoir supprimé Pipelight, pourquoi toutes ses dépendances inutiles n'étaient-elles pas marquées comme pouvant être supprimées automatiquement ?
Réponse acceptée :
Ma meilleure hypothèse est que les 40 packages ont été recommandés par d'autres packages que vous aviez déjà installés. pipelight-multi avec le --install-recommends
option a entraîné leur installation, mais ils ont été conservés après sa suppression en raison de ces recommandations. Étant donné que vous avez supprimé les packages manuellement, il est difficile de déterminer, mais à l'avenir, vous pouvez exécuter aptitude why ${package}
pour chaque paquet que vous pensez devoir être supprimé automatiquement, et aptitude
vous dira pourquoi il est conservé.
Les mécanismes derrière cela ne sont pas nécessairement intuitifs. Lorsqu'un paquet est marqué comme pouvant être supprimé automatiquement, manuellement ou automatiquement (dans ce dernier cas, car il est installé automatiquement pour satisfaire une dépendance ou une recommandation), le drapeau de suppression automatique est la seule information stockée ; le système ne se souvient pas pourquoi un paquet a été automatiquement installé. Ces packages ne sont conservés que tant qu'un autre package en dépend ou les recommande (c'est le paramètre par défaut, il peut être modifié).
Tout cela expliquerait votre situation comme suit. Vous avez déjà un autre package, A
, installée; ce paquet recommande B
mais ce dernier n'est pas installé. Vous installez pipelight-multi
qui recommande également B
; étant donné que vous avez explicitement spécifié --install-recommends
, nous connaissons B
est ensuite installé avec pipelight-multi
. Lorsque vous supprimez pipelight-multi
et lancez apt-get autoremove
, B
est marqué comme auto-amovible et vérifié, mais parce que A
est toujours installé, B
est conservé, même si le paquet qui a causé son installation en premier lieu a disparu. Parce que A
recommande uniquement B
, vous pouvez supprimer manuellement B
pour revenir à la situation initiale.