我应该使用“ apt-get remove”还是“ apt-get purge”?


51

要卸载应用(或程序包),我应该使用apt-get remove package-nameapt-get purge package-name

他们中的任何一个对其他人有什么优势?

Answers:


43

如果您通过直接编辑配置文件或通过GUI完全定制了软件包/软件,则可能需要保留定制。通常,在Unix / Linux系统中,即使配置/自定义是通过GUI完成的,配置也会保存在文本文件中。

每个Debian二进制deb软件包都有一个文件列表,它标识为配置文件。dpkg,因此apt在删除软件包以及进行升级时都应遵循此标识。默认情况下,apt/dpkg在删除软件包时不会删除配置文件。您必须要求清除。升级时,它会要求您在覆盖配置文件之前在当前版本和新版本(如果不同)之间进行选择。即使在这种情况下,它也会保存原始文件的副本。基于您的配置文件可能包含有价值的信息的假设,Debian在此尝试为您提供帮助。

因此,如果您尚未配置软件包,或者不想保留配置,则可以使用apt-get purge

如果您确实保留了配置文件,则在/重新安装软件包时,Debian将尝试重用已保存的配置信息。如果您尝试(重新)安装的软件包版本具有与已安装的配置文件冲突的配置文件,则它会在覆盖之前再次询问您,就像在升级时一样。

次要注释:如果已删除软件包,但以后又想删除配置文件,通常情况下,apt如果未安装软件包,则不会删除配置文件。但是,多年来,apt-get purge即使不再安装该软件包,运行也会删除配置文件。

此问题已在0.8.0~pre12010年8月13日星期五发布的apt版本中修复,或者在0.8.15~exp12011年6月10日星期五发布的apt版本中已修复。 2002年6月24日。


1
这些等效:apt-get remove --purge APPVS apt-get purge APP吗?
2014年

1
@mini:是的。在apt-get手册页中引用“删除--purge等效于purge命令”。
Faheem Mitha 2014年

if you have removed the package and later want to remove the config files, you will need to call dpkg directly, because apt will not remove the config files if the package is no longer installed.这是否意味着执行apt-get purge后不会删除配置文件apt-get remove
Anmol Singh Jaggi'3

@AnmolSinghJaggi这部分实际上是不正确的并且已经过时。我本来打算更改它。我现在要更改它。
Faheem Mitha

@FaheemMitha好的!
Anmol Singh Jaggi'3

28

从手册页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).

purge如果您不想保留任何配置文件,我会倾向于使用。


4

清除configuration files 您的包裹,但保留configuration files您的包裹。

但是有优点也有缺点:它与您的系统,您的软件包,您的计算机,是否安装它等等有关。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.