Quelle est la bonne façon de supprimer complètement une application?

472

J'ai recherché ces informations sur le net et trouvé différentes lignes de commande, comme celles-ci:

sudo apt-get remove application
sudo apt-get remove application*

sudo apt-get remove --purge application
sudo apt-get remove --purge application*

sudo apt-get purge application
sudo apt-get purge application*

Alors, quelle est la bonne façon? Est-il nécessaire d'utiliser ce "*"?

Après cela, j'ai aussi trouvé ces commandes:

sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
    
posée user48949 14.09.2012 - 23:54
la source

7 réponses

627
  • apt-get remove packagename

    supprimera les fichiers binaires, mais pas les fichiers de configuration ou de données du package packagename . Il laissera également intactes les dépendances installées lors de l'installation.

  • apt-get purge packagename ou apt-get remove --purge packagename

    supprimera tout ce qui concerne tout concernant le paquetage packagename , mais pas les dépendances installées avec lui lors de l’installation. Les deux commandes sont équivalentes.

    Particulièrement utile lorsque vous voulez tout recommencer avec une application car vous avez endommagé la configuration. Cependant, il ne supprime pas les fichiers de configuration ou de données résidant dans les répertoires personnels des utilisateurs, généralement dans des dossiers masqués. Il n’existe pas de moyen facile d’éliminer ces éléments.

  • apt-get autoremove

    supprime les packages orphelins, c'est-à-dire les packages installés qui étaient installés en tant que dépendance, mais qui ne sont plus. Utilisez ceci après avoir supprimé un paquet contenant des dépendances installées qui ne vous intéressent plus.

  • aptitude remove packagename ou aptitude purge packagename (également)

    tentera également de supprimer les autres packages requis par packagename on mais qui ne sont pas requis par les packages restants. Notez que aptitude ne mémorise que les informations de dépendance pour les packages installés.

Et plusieurs autres existent. Des commandes dpkg de niveau inférieur peuvent être utilisées (avancées), ou des outils d'interface graphique tels que Muon, Synaptic, Software Center, etc. Il n'existe pas de méthode unique pour supprimer des applications ou effectuer d'autres tâches. .

La liste que vous avez trouvée ne sont que des exemples. Assurez-vous de bien comprendre les significations et essayez ce qu’il veut faire avant d’accepter l’action (vous devez appuyer sur Y avant d’effectuer les actions proposées).

La version astérisque de la question est probablement incorrecte ; apt-get accepte une expression régulière et non un motif global comme shell. Alors que se passe-t-il avec

sudo apt-get remove application*

est le suivant:

  1. Le shell essaie de développer application* en regardant les fichiers du répertoire en cours. Si (comme c'est normalement le cas) il ne trouve rien, il renvoie le modèle de glob sans modification (en supposant que bash avec un comportement par défaut ici --- zsh sera en erreur).

  2. apt-get va supprimer les packages dont le nom contient une chaîne qui satisfait à l'expression régulière application* , c'est-à-dire applicatio suivi d'un nombre arbitraire de n : applicatio , application , applicationn , libapplicatio , etc.

  3. Pour voir comment cela peut être dangereux, essayez (sans racine pour une double sécurité) apt-get -s remove "wine*" ( -s va simuler la chose au lieu de le faire) --- il va dire va supprimer tous les paquets qui a "gagner" en son nom et la personne dépendante, presque tout le système ...

Probablement, la commande voulue est vraiment

 sudo apt-get remove "^application.*"

(notez les guillemets et le point) qui suppriment tous les paquets dont le nom commence par application .

Ces commandes,

sudo updatedb                  # <-- updates the locate database (index). harmless
sudo locate application        # <-- locates the file 'application'. harmless
sudo rm -rf (file/folder name) # <-- removes files/dirs recursively. dangerous.

sont complètement hors du domaine de la gestion des paquets. Ne supprimez pas les fichiers appartenant aux packages sans utiliser le gestionnaire de paquets! Cela va devenir confus et c'est la mauvaise façon de faire les choses.

Si vous ne savez pas à quel paquet appartient un fichier, essayez ceci:

dpkg -S /path/to/file
    
réponse donnée gertvdijk 15.09.2012 - 00:04
la source
91

Pour Ubuntu 12.04 et peut-être plus, la méthode correcte est la suivante:

sudo apt-get --purge autoremove packagename

Cliquez ici .

N'utilisez pas packagename* car cela peut supprimer des paquets involontaires et causer plus de problèmes qu'il n'en résout. Ou, si vous devez, au moins, l'exécuter avec un indicateur -s , --simulate , --dry-run en premier pour voir exactement ce qu'il fera sans le faire.

    
réponse donnée Kurtosis 20.11.2013 - 21:01
la source
17

Vous pouvez utiliser cette commande:

sudo apt-get purge --auto-remove packagename

Il va purger les packages requis avec les dépendances installées avec ces packages. L'option --auto-remove (alias de autoremove ) fonctionne de manière similaire à sudo apt-get autoremove . En utilisant cette commande, nous pouvons exécuter une seule commande:

sudo apt-get purge --auto-remove packagename

Au lieu de:

sudo apt-get purge packagename
sudo apt-get autoremove
    
réponse donnée pl_rock 16.09.2015 - 22:08
la source
7

Vous pouvez utiliser en toute sécurité sudo apt-get remove --purge application ou sudo apt-get remove applications 99% du temps. Lorsque vous utilisez l'indicateur purge , il supprime simplement tous les fichiers de configuration. Ce qui peut ou peut ne pas être ce que vous voulez, selon que vous voulez réinstaller cette application. Le application* correspondra à toutes les applications commençant par application , qui sont généralement des plug-ins, des fonctionnalités supplémentaires, etc. de l'application principale que vous supprimez. c'est-à-dire

sudo apt-get remove gedit*

supprimerait gedit , gedit-plugins et gedit-common . Cela n'est généralement pas nécessaire car la plupart des plug-ins / programmes associés dépendent de l'application principale et seront automatiquement supprimés (ou marqués pour suppression) lorsque vous désinstallez l'application principale.

Votre dernière commande est juste pour supprimer les restes d’applications connues pour avoir des programmes de désinstallation en désordre, et il ne fait que supprimer les restes de l’application.

    
réponse donnée reverendj1 15.09.2012 - 00:05
la source
5

J'ai reçu des messages d’erreur lors de la suppression d’un paquet, la seule façon de fonctionner était la suivante:

mv /var/lib/dpkg/info/package.* /tmp/
dpkg --remove --force-remove-reinstreq package

J'ai trouvé que bien que n'utilisant que

dpkg --remove --force-remove-reinstreq package

ne supprime pas le paquet, il me montre le chemin correct vers le fichier à déplacer avec:

mv /var/lib/dpkg/info/package.* /tmp/

Remplacez le package par le nom de votre application. Utilisez sudo dans Ubuntu, devenez root dans Debian.

    
réponse donnée DangerFireBob 26.02.2015 - 10:26
la source
3

J'ai trouvé cette commande sur Internet.

dpkg --purge --force-depends application

lien .

    
réponse donnée vrcmr 15.09.2012 - 00:10
la source
1

Cela dépend de l'application que vous souhaitez supprimer. Veillez toujours à vérifier ses dépendances avant de lancer la commande yes. Lorsque vous supprimez quelque chose en ligne de commande, il affiche parfois une poignée de bibliothèques inutiles. Ceux-ci peuvent être supprimés avec apt-get autoremove.

Attention, en utilisant des commandes telles que sudo apt-get remove --purge, nom_application peut supprimer certaines dépendances nécessaires à d'autres applications et, en tant que telles, peut endommager votre système.

Si vous voulez le faire de manière plus sûre, vous pouvez toujours le supprimer en utilisant simplement le centre de logiciel ou apt-get remove nom_application. Si les dépendances ne sont plus nécessaires, lancez apt-get autoremove ultérieurement.

    
réponse donnée gustavokrm 15.09.2012 - 00:10
la source

Lire d'autres questions sur les étiquettes