`apt-get purge`和`apt-get remove`之间的区别是什么?

有任何区别吗?
sudo apt-get purge <package-name>

sudo apt-get remove <package-name>  

?

我经常看到人们推荐其中之一。
换句话说,apt-get purge 移除了 apt-get remove 没有移除的内容?

相关(由于aptapt-get类似,但是是其替代品):https://askubuntu.com/questions/936810/apt-remove-vs-purge - michael
1@JürgenA.Erhard也许“如何成为一个体贴、考虑周到和有礼貌的人?”应该是_你_的第一个问题。我们希望这里的用户之间能够友善相待,而你的评论完全不合适。下次当你感到沮丧时,或许可以出去散散步,而不是把你的不满发泄在那些无辜提问9年前问题的人身上。如果你不能说一些有建设性的话,请干脆不要说任何话。这种评论在这里是不受欢迎的。 - terdon
3@JürgenA.Erhard "RTFM"的意思本身就是不礼貌的,你知道F代表什么。接下来,回答一个9年前提出的问题,并留下一条基本上是“去读手册吧,白痴”的评论,简直是毫无用处。已经过去了9年!一个答案可能仍然有用,但傲慢、粗鲁和没有信息量的评论则不然。最后,更加让人气愤的是,这个提问者在这段时间里一直非常活跃,并且对Linux有了很多了解。他们甚至几年都担任过版主!可以肯定地说,他们现在应该已经阅读了手册。 - terdon
3个回答

man apt-get页面所述:

remove - remove与install相同,只是删除而不是安装软件包。注意,删除软件包会在系统上保留其配置文件。如果在软件包名称后附加了加号(中间没有空格),则将安装标识的软件包而不是删除。

purge - purge与remove相同,只是删除并清除软件包(同时删除任何配置文件)。

当然,这不适用于包含用户主目录(例如/home/Ubuntu_User)中配置文件的软件包,这些文件将不会被更改(为什么“Purge”不删除与应用程序相关的所有内容?

例如,如果你要清除Chrome、Firefox、Kodi或其他保存在你的/home文件夹中的一些配置文件,这些配置文件将会保留在那里。
另一方面,如果你安装了Apache、squid、MySQL或其他类似的服务,它们保存配置文件在/etc目录中,如果你使用purge命令,这些配置文件将被删除。

Purge可以用于删除元包,同时保留底层包的完整性。如果您想升级基本系统而不影响Postgres,您可以使用apt-get purge命令删除Postgres元包,然后从Debian 7升级到Debian 8,这样将不会影响您的Postgres版本。 - boatcoder

来自我的回答另一个问题的摘录:

  • apt-get remove packagename
    将删除软件包packagename的二进制文件,但不会删除配置文件或数据文件。
  • apt-get purge packagename,或者
    apt-get remove --purge packagename
    将删除与软件包packagename相关的所有内容,[...] 特别适用于当您想要“重新开始”应用程序时,因为您搞砸了配置。

apt-get purge删除配置文件,而apt-get remove则不会。


这个答案可以更详细一些。 - Rishon_JR