问题描述
两者之间有什么区别吗?
sudo apt-get purge <package-name>
和
sudo apt-get remove <package-name>
?
我经常看到人们推荐一个或另一个。
换句话说,apt-get purge
删除apt-get remove
不会删除什么?
最佳解决方案
正如man apt-get
页面所述:
删除 – 已安装的软件包被删除(不包括配置文件)
清除 – 清除与清除完全相同,只是将包清除并清除。清除意味着任何配置文件也被删除。
这当然不适用于在用户主文件夹内部保存配置文件的包(例如:/home/SexyNoJutsuUser
),这些文件不会被触碰(Why does “Purge” not remove everything related to an app?)
例如,如果您要删除Chrome,Firefox,XBMC或其他任何包含/home
文件夹中的某些配置文件的文件,则这些文件将保留在那里。
另一方面,如果您要安装apache,squid,mysql或任何其他类似的将它们的文件保存在/etc
中的服务,那么如果您使用purge
,则此配置文件将被删除。
次佳解决方案
另一个问题摘自my answer:
apt-get remove packagename
will remove the binaries, but not the configuration or data files of the packagepackagename
.apt-get purge packagename
, orapt-get remove --purge packagename
will remove about everything regarding the packagepackagename
, […]
Particularly useful when you want to ‘start all over’ with an application because you messed up the configuration.
第三种解决方案
apt-get purge
删除配置文件,而apt-get remove
不删除。