Should I use "apt-get remove" or "apt-get purge"?

If you have customized the package/software at all, either by editing the config files directly, or via a GUI, you may want to keep your customizations. Usually in Unix/Linux systems, configurations are saved in text files, even if the configuration/customization is done via the GUI.

Each Debian binary deb package has a list of files which it identifies as config files. dpkg, and thus apt honor this identification when removing packages, and also on upgrades. By default apt/dpkg will not remove config files on package removal. You have to request a purge. On upgrade it will ask you to choose between the current version and the new version (if they differ) before overwriting config files. Even in that case, it saves a copy of the original file. Here Debian is trying to help you, based on the assumption that your config files may contain valuable information.

So, if you have not configured the package, or you don't want to keep your configurations, you can use apt-get purge.

If you do keep the config files, then if/when you reinstall the package, Debian will attempt to reuse the saved configuration information. If the version of the package you are trying to (re)install has config files that conflict with the configuration files that are already installed, it will again ask you before overwriting, as it does on upgrade.

Minor comment: If you have removed the package and later want to remove the config files,it used to be the case that apt would not remove the config files if the package was not installed. However, for some years now, running apt-get purge will remove config files even if the package is no longer installed.

This was fixed in the 0.8.0~pre1 version of apt, released on Fri, 13 Aug 2010, or possibly in the 0.8.15~exp1 version of apt, released Fri, 10 Jun 2011. See Debian Bug Report: apt-get --purge does not work as expected, dated 24th June 2002.


From the man page of apt-get:

   remove
        remove is identical to install except that packages are removed 
        instead of installed. Note that removing a package leaves its 
        configuration files on the system. If a plus sign is appended to the 
        package name (with no intervening space), the identified package 
        will be installed instead of removed.

   purge
        purge is identical to remove except that packages are removed and 
        purged (any configuration files are deleted too).

I would tend to use purge if you tend to not want to keep any configuration files around.


purge remove configuration files of your packages, but remove keep configuration files of your package.

But advantages or disadvantages: It's related to your system, your packages, your machine, install it or not, and so on.