For uninstalling an app (or package) should I use
apt-get remove package-name or
apt-get purge package-name?
What is advantage of any of them to other one?
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
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 no tremove 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
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.
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.