apt-get - autoremove veut désinstaller Gnome


12

Comme l'empathie 2.30 dans Debian Wheezy ne répondait pas à toutes mes préférences, j'ai essayé empathie 3.1 à partir d'expérimental, en utilisant la commande:

apt-get -t experimental install empathy

J'ai dû découvrir que cette version de l'empathie ne fonctionne pas bien dans Gnome 2.x. J'ai donc mentionné:

apt-get purge empathy
apt-get install empathy

En espérant que cela réinstalle la version "standard" de l'empathie.

Jusqu'à présent, tout a bien fonctionné.

Mais maintenant:

apt-get autoremove

souhaite supprimer Gnome dans son ensemble.

Comment puis-je me calmer apt-get autoremove?

Réponses:


12

APT maintient un indicateur pour chaque package, lui indiquant si le package est installé manuellement (installé parce que l'utilisateur / administrateur le voulait) ou automatiquement installé (installé uniquement parce que c'est une dépendance d'un autre package). C'est ce qui permet apt-get autoremovede déterminer ce qu'il faut supprimer: il supprime les packages qui sont marqués comme installés automatiquement, mais qu'aucun package actuellement installé ne nécessite.

Vous devez marquer le gnomepackage, ou tout autre package Gnome correspondant aux bits que vous souhaitez conserver, comme installé manuellement. Il est plus facile de le faire dans un outil interactif avec accès au paramètre installé automatiquement:

  • Sur la ligne de commande, appelez aptitude unmarkauto PACKAGENAMEpour marquer PACKAGENAME comme installé manuellement ou markautopour le marquer comme installé automatiquement.
  • Dans Aptitude, accédez à la ligne correspondant à un package, puis appuyez sur mpour le marquer comme installé manuellement ou Mpour le marquer comme installé automatiquement.
  • Dans Synaptic, déplacez-vous sur la ligne correspondant à un package, puis activez «Installé automatiquement» dans le menu «Package».

Notez que (au moins à la compression, je n'ai pas vérifié la respiration sifflante) gnome-desktop-environmentdépend de tous les composants officiels de Gnome, y compris l'empathie. Je soupçonne que vous aviez gnome-desktop-environmentinstallé, et la suppression du empathypackage devait le supprimer en raison de la dépendance. Si tel est le cas, vous devez maintenant réinstaller gnome-desktop-environment. (Si vous ne vous en souvenez pas, vous pouvez trouver un historique de ce que les gestionnaires de packages basés sur APT ont fait /var/log/apt.)

Au lieu de purger et d'installer empathy, vous auriez pu juste faire apt-get -t wheezy empathypour installer la version Wheezy.


cool! En utilisant cette "astuce", on pourrait supprimer Empathy sans supprimer Gnome, non?
Marcel

@Marcel: Vous pouvez supprimer Empathy sans supprimer d'autres composants Gnome, mais le gnome-desktop-environmentpackage en dépend empathy, vous devez donc avoir supprimé cela et probablement vouloir le réinstaller.
Gilles 'SO- arrête d'être méchant'

8

Vous pouvez apt-get installun paquet gnome (qui est déjà installé) pour le définir comme sélectionné manuellement (installé). Cela devrait introduire les dépendances nécessaires telles que autoremove ne veut plus supprimer les paquets gnome.

Je n'utilise pas gnome, mais il y a probablement un paquet gnome-desktop ou quelque chose comme ça qui rassemble tous les trucs principaux de gnome.

Par exemple, la sortie sur mon système pour un paquet non gnome:

# apt-get install libsource-highlight3
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libsource-highlight3 is already the newest version.
libsource-highlight3 set to manually installed.

libsource-highlight3a été automatiquement installé en tant que dépendance de source-highlight. Après la supprimer de source-highlight, apt-get autoremovene supprimerait pas le libsource-highlight3paquet, car il est défini manuellement installé maintenant.


Je vous remercie! J'ai suivi votre suggestion et mentionné apt-get install gnomedans la ligne de commande. Debian veut maintenant utiliser 200 Mo d'espace disque supplémentaire, ce que je trouve assez étrange - cependant, j'espère que cela fonctionne.
Marcel

1
@Marcel, cela devrait être correct - probablement le ou les packages d'application (qui ont extrait votre gnome actuel sous forme de dépendances (par exemple l'empathie) et ont été supprimés plus tard) n'ont tout simplement pas besoin de tout gnome - un package gnome principal, d'autre part, veut pour fournir l'ensemble du bureau gnome, c'est-à-dire que cela dépend de tous les paquets gnome qui sont considérés comme l'expérience gnome par défaut.
maxschlepzig

@Marcel: vous n'avez pas besoin de le faire apt-get install gnome. @maxshekepzig suggérait apt-get install pour un paquet que vous avez déjà installé.
Faheem Mitha

@Faheem vous avez raison. apt-get install gnometirerait tous ces autres paquets. Par conséquent, je n'avais pas besoin de rechercher un gnome-desktoppackage (en attendant, je pense qu'il s'appelle gnome-core).
Marcel

1

Une autre solution serait de désactiver complètement le retrait automatique avec ces options (dans /etc/apt/apt.conf ou dans le fichier dans le répertoire /etc/apt/apt.conf.d/):

APT::Get::AutomaticRemove "0";
APT::Get::HideAutoRemove "1";

0

Copiez simplement la liste des paquets que apt souhaite supprimer automatiquement (utilisez un éditeur de texte pour supprimer les espaces de fin). Ensuite, sudo apt install <paste list of packages>j'ai résolu ce problème à plusieurs reprises. C'est simplement une différence entre les packages installés manuellement (apt pense que vous devez en avoir besoin au fur et à mesure que vous les installez) et les packages installés automatiquement (apt les a installés afin de supposer qu'il peut faire ce qu'il veut avec eux). En faisant ce qui précède, vous dites à apt qu'ils sont tous installés manuellement. Pour info - je dois parfois le faire deux fois car cela continuera à suggérer d'autres suppressions automatiques.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.