Comment pouvez-vous supprimer complètement un paquet?

188

J'essaye de faire une nouvelle installation du octave3.2paquet.

Pour ce faire, je l'ai supprimé, puis essayé de le réinstaller.

Lorsque j'ai réinstallé, une erreur s'est produite. Il pourrait s'agir d'un bogue dans le paquet, mais je veux m'assurer que tout a été supprimé pour pouvoir effectuer une nouvelle installation.

Est-ce suffisant pour faire cela?

sudo apt-get --purge remove octave3.2
utilisateur1012451
la source
Pourrait-on réinstaller le paquet et faire attention à la liste des dépendances du paquet OU ..?
user309924
Recommandé pour visiter ceci
Pandya

Réponses:

186

C'est une réponse très générale à la question sur les effets de la purge des paquets. Pour obtenir des conseils spécifiques à votre situation, vous devrez modifier votre question pour y inclure des informations supplémentaires, en particulier le texte complet et exact du message d'erreur que vous recevez.

Supprimer les packages avec ou supprimera tous les fichiers de configuration globaux (c’est-à-dire le système) C'est généralement ce que les gens veulent dire quand ils parlent de supprimer complètement un paquet.sudo apt purge ...sudo apt --purge remove ...

Mais cela ne signifie pas que votre système est le même qu’avant l’installation du paquet. En particulier:

  • Cela ne supprime pas les packages installés en tant que dépendances, lorsque vous installez le package que vous supprimez maintenant. En supposant que ces packages ne dépendent d'aucun autre package et que vous ne les avez pas marqués comme installés manuellement, vous pouvez les supprimer avec sudo apt autoremoveou (si vous souhaitez également supprimer leurs fichiers de configuration à l'échelle du système) sudo apt --purge autoremove.

  • Cela ne supprime pas les fichiers de configuration non systémiques. Plus précisément, cela ne supprime pas la configuration spécifique à l'utilisateur:

    • Il ne supprime pas les fichiers de configuration et les répertoires situés dans les répertoires personnels des utilisateurs (ou dans le .configsous - répertoire de leurs répertoires personnels), créés par le logiciel fourni par le package.

      • Si ces fichiers / dossiers ne sont pas stockés .config, ils commencent généralement par .eux - mêmes. De toute façon, vous pouvez les voir lsen utilisant l’ option -aou -A, et vous pouvez les voir dans Nautilus et dans la plupart des autres navigateurs / gestionnaires de fichiers en appuyant sur Ctrl+ Hou en accédant à Affichage > Afficher les fichiers cachés .
    • Il n'inverse pas les modifications apportées aux fichiers de configuration existants spécifiques à l'utilisateur.

    • Il ne supprime pas nouveau gconfou dconfclés, ou inverser tout gconfou les dconfchangements de configuration.

  • Utiliser purgeou à la --purge removeplace de removen'inverse pas les modifications apportées aux fichiers de configuration existants fournis par d'autres packages ou créés manuellement par l'utilisateur. Cependant, parfois, ces modifications sont annulées par la désinstallation du paquet (qu'il s'agisse ou non d'un purgeplutôt que d'un remove).

Eliah Kagan
la source
61

Utilisez la commande:

sudo apt-get purge --auto-remove packagename

Il purgera les packages requis ainsi que les dépendances installées avec ces packages. L' --auto-removeoption fonctionne de manière similaire à sudo apt-get autoremove.

pl_rock
la source
1
cela a résolu mon problème, en particulier avec certbot
T.Todua
7

Vous commencez par rechercher le nom du paquet que vous voulez supprimer:

dpkg --list

Puis supprimez le paquet donné

sudo apt-get remove package_name

Purger tout code associé

sudo apt-get purge package_name

Puis Autoremove

sudo apt-get autoremove

Enfin, effectuez un nettoyage afin de vérifier que tout est correctement supprimé

sudo apt-get clean

Vous souhaitez vérifier dans la liste des packages si celui que vous souhaitez supprimer ne figure plus dans la liste, mais cela est facultatif.

Bonne journée,

utilisateur2777677
la source
4

Mieux suivre les paquets de dépendances supplémentaires installés pendant que vous en installez un.

The following extra packages will be installed: 
    libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbind

Si vous ne supprimez que le package d'origine, le package de dépendance peut rester.

Donc, vous devez supprimer manuellement chacun en utilisant

apt-get purge package_name
Harikrishnan
la source
1
Comment puis-je obtenir une liste de ces paquets si ma console ne défile pas assez
Luke Taylor
@LukeTaylor apt-get install package_name > output Ensuite, less output pour voir toutes les sorties avec défilement.
Harikrishnan
2

Au lieu de supprimer manuellement les packages dépendants installés automatiquement, utilisez plutôt les éléments suivants:

 zanfilip @ zanfilip-VPCEB3L0E: ~ / jp / eclipse $ sudo apt-get --purge autoremove
    Lecture des listes de paquets ... Terminé
    Construire un arbre de dépendance       
    Lecture des informations d'état ... Terminé
    Les paquets suivants seront supprimés
      libupstart1 * linux-headers-3.16.0-30 * linux-headers-3.16.0-30-generic *
      linux-image-3.16.0-30-generic * linux-image-extra-3.16.0-30-generic *
    0 pour mettre à niveau, 0 pour installer à nouveau, 5 pour supprimer et 23 pour ne pas mettre à niveau.
    Après cette opération, 279 Mo d’espace disque seront libérés.
    Voulez-vous continuer? [Y / n]

zanfilip
la source
2

Si vous souhaitez supprimer certains packages, vous pouvez utiliser ces commandes:

dpkg --get-selections | grep PACKAGE_NAME | awk '{ print $1}'| xargs apt-get -y --purge autoremove

N'oubliez pas le commutateur "-y" car sinon, apt-get continuerait à vous demander de supprimer les paquets individuels et ne supprimerait rien.

Kerem Ersoy
la source
2
Cela pourrait être utile, mais aussi destructeur: il pourrait facilement correspondre à un paquet que vous ne souhaitiez pas vraiment supprimer et supprimer sa configuration sans confirmation! Heureusement puisque les noms de paquet ne contiennent jamais un espace, nous pouvons nous tourner autour et laisser tomber le -y: apt-get --purge autoremove $(dpkg --get-selections | grep PACKAGE_NAME | awk '{ print $1}'). Ce serait un peu plus sûr.
joeytwiddle
Il serait peut-être plus prudent d’exécuter la commande en tant que: dpkg --get-selections | grep PACKAGE_NAME | awk '{print $ 1}' 'Tout d'abord, puis l'exécuter avec xargs est une meilleure pratique pour que l'utilisateur voie ce qui serait supprimé à la suite de la commande.
Kerem Ersoy
0

Une autre option que vous avez est d'utiliser le debfosterpackage. Ceci recherchera et suggérera de manière interactive les packages à supprimer (et à purger) avec les packages dépendants.

sudo apt install debfoster
sudo debfoster
# and optionally remove debfoster too
sudo purge debfoster
MacroMan
la source