GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Ubuntu - Pourquoi 'apt-get Autoremove' n'a-t-il pas fonctionné correctement?

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.

En relation :Comment fonctionne l'interfaçage des commutateurs ?
Ubuntu
  1. Comment répertorier les packages installés sur Ubuntu 20.04

  2. Sauvegardez les packages installés et restaurez-les sur le système Ubuntu fraîchement installé

  3. Comment répertorier les référentiels installés dans Ubuntu et Debian

  4. Pourquoi `exit &` ne fonctionne pas ?

  5. Le noyau n'a pas été mis à niveau entre 14,04 Lts et 16,04 Lts ?

Comment répertorier les packages installés dans Ubuntu 20.04

Comment répertorier les packages installés sur les distributions Linux basées sur Ubuntu et Debian

Comment répertorier les packages logiciels installés sur Ubuntu

Conky ne fonctionne pas correctement sur Ubuntu 16.04 Gnome ?

Comment répertorier les packages installés dans Ubuntu 22.04

Comment répertorier les packages installés sur Ubuntu 22.04