Quelle est la différence entre `apt-get purge` et` apt-get remove`?

196

Y a-t-il une différence entre

sudo apt-get purge <package-name>

et

sudo apt-get remove <package-name>  

?

Je vois souvent des gens recommander l'un ou l'autre.

En d'autres termes, qu'est-ce que cela apt-get purgesupprime apt-get remove?

Seth
la source
Connexes (depuis aptest similaire, mais une alternative à, apt-get): askubuntu.com/questions/936810/apt-remove-vs-purge
michael

Réponses:

200

Comme le dit la man apt-getpage :

remove - remove est identique à installer à l'exception que les packages sont supprimés au lieu d'être installés. Notez que la suppression d'un paquet laisse ses fichiers de configuration sur le système . Si un signe plus est ajouté au nom du package (sans espace intermédiaire), le package identifié sera installé au lieu d'être supprimé.

purge - purge est identique à supprimer sauf que les packages sont supprimés et purgés ( tous les fichiers de configuration sont également supprimés ).

Bien sûr, cela ne s'applique pas aux paquets qui contiennent des fichiers de configuration dans le dossier de base de l'utilisateur (par exemple:) /home/SexyNoJutsuUser, ces fichiers ne seront pas touchés ( Pourquoi "Purger" ne supprime-t-il pas tout ce qui concerne une application? )

Ainsi, par exemple, si vous supprimez Chrome, Firefox, XBMC ou tout autre élément contenant des fichiers de configuration dans votre /homedossier, ces fichiers y resteront.

D'autre part, si vous installiez apache, squid, mysql ou tout autre service similaire qui enregistre ses fichiers /etc, ces fichiers de configuration seront supprimés si vous utilisez purge.

Luis Alvarado
la source
La purge peut être utilisée sur un méta-paquet pour le supprimer, tout en laissant le paquet sous-jacent intact. Si vous souhaitez mettre à niveau le système de base sans affecter postgres, vous pouvez apt-get purger le méta-paquet postgres, puis mettre à niveau à partir de Debian 7 - Debian 8 laissera votre version postgres intacte.
boatcoder
30

Un extrait de ma réponse à une autre question:

  • apt-get remove packagename
    supprimera les fichiers binaires, mais pas les fichiers de configuration ou de données du paquet packagename.
  • apt-get purge packagename, ou
    apt-get remove --purge packagename
    supprimera tout ce qui concerne le paquet packagename, [...]
    Particulièrement utile lorsque vous voulez tout recommencer avec une application, car vous avez gâché la configuration.
Gertvdijk
la source
12

apt-get purgesupprime les fichiers de configuration, alors apt-get removeque non.

moon.musick
la source