apt remove与apt purge区别

Crq
Crq
管理员
1723
文章
0
粉丝
Linux教程评论28字数 1106阅读3分41秒阅读模式
摘要为什么会有两个如此像的命令来删除软件包呢?两者之间有什么不同呢?下面将为你揭晓。

如果你想 ​​在 Ubuntu 上使用终端卸载软件​​,可以使用:

sudo apt remove package_name

但是在很多论坛,你可能会看到别人说,如果你想彻底删除软件就用 ​​apt purge​​。

你可能会觉得很困惑,因为 ​​apt purge​​​ 和 ​​apt remove​​ 看起来是一样的。

sudo apt purge package_name

为什么会有两个如此像的命令来删除软件包呢?两者之间有什么不同呢?下面将为你揭晓。

apt-remove 和 apt-purge 有什么不同?

​​apt-remove​​​ 和 ​​apt-purge​​​ 的相同之处就是都可以卸载软件包,但是运行 ​​apt-purge​​ 除了可以删除安装包之外,还可以清除相关的配置文件。这是两者之间唯一的不同点。要注意的是这两条命令都不能删除用户主目录中相关的应用程序文件。

你是否遇到过这样的情况,卸载一个软件然后重新安装,却发现之前的设置都还在。这是因为用 ​​apt remove​​ 不能删除该软件的相关配置文件。

哪些东西被删除了?哪些还在?

我分享一个使用 ​​apt remove​​​ 和 ​​apt purge​​ 两个命令分别卸载 mplayer 这个软件的实际例子。重点是看每次操作后还残余哪些文件。

这是删除前的文件:

apt remove与apt purge区别-图片1

现在运行 ​​apt remove​​ 这个命令:

apt remove与apt purge区别-图片2

下面的是还残留在系统中的文件:

apt remove与apt purge区别-图片3

我们可以看到,有两个地方残留着 mplayer 的文件: ​​/etc​​​ 和 ​​/home/abhishek​​。

这次我们重新安装 mplayer,然后用 ​​apt purge​​ 来卸载软件。

apt remove与apt purge区别-图片4

现在让我们看看与 mplayer 相关的文件:

apt remove与apt purge区别-图片5

我们可以看到 ​​/etc​​ 目录下的文件已经没有了。

但是在主目录中的文件呢?​​apt purge​​ 会删除它们吗?

答案是否定的。​​apt​​ 命令不会删除主目录中的配置文件。所以它们仍然在系统中,除非你手动删除。但是这些文件所占的空间真的很小,几乎不占磁盘空间。

值得注意的是,不是所有的软件在主目录或者 ​​/etc​​ 目录下都有配置文件。

使用 apt remove 或者 apt purge 的效果

我能想到的一个实际例子就是 Discord,你用 deb 文件 ​​在 Ubuntu 上安装了 Discord​​。然后登录自己的账号,之后又卸载并重新用 deb 文件安装。

现在如果你打开 Discord,你会发现你的账号自动登录了。是不是觉得很奇怪?

这是个功能,像一些软件,比如 Discord、VirtualBox,它们会提供更新,就是卸载现在的版本然后下载新的(尽管你不知道它内部怎么进行的),但是它在卸载的时候,这些软件的配置文件没有被删除,所以等你打开这些软件的时候就会自动登录。

当你想卸载一个软件,但是想保留你过去使用该软件留下的配置文件的时候,你就可以用 ​​apt remove​​。

但是,有时候用它不能满足你的需求,比如当你没有配置好一个软件的时候,你想要重新开始,这个时候用 ​​apt purge​​ 就比较合适。

运行 apt purge 是否可以用通配符删除?

当你删除一个包的时候,它会提示 ​​removing package-name*​​。这意味着它会删除以这个包名开头的所有文件。

apt remove与apt purge区别-图片6

我在手册页之类的文档中没有找到关于这个问题的答案。所以我自己做了一个小测试,我安装了 espeak 和 espeak-ng 这两个软件,espeak* 应该可以通配扩展到 espeak-ng。

但是当我用 ​​apt purge​​ 删除 espeak 包时,espeak-ng 包还在,没有被一并删除。因此,这似乎是有一种防止通配符的扩展的机制。

那么,你应该使用 apt remove 还是 apt purge 呢?

很少有人会一直使用 ​​apt purge​​。

在我看来,一般清况下,用 ​​apt remove​​​ 就可以了,但是当你想删除那些自定义配置文件时,你就得用 ​​apt purge​​。

不管是用 ​​apt remove​​​ 还是 ​​apt purge​​​,你都需要从用户的主目录中删除残余的配置文件,并运行 ​​apt autoremove​​ 来清除任何依赖的包。

现在到你啦。你现在对 ​​apt remove​​​ 和 ​​apt purge​​ 的区别更加了解吗?你更喜欢使用哪一个呢?

weinxin
我的微信
微信号已复制
我的微信
这是我的微信扫一扫
 
Crq
  • 本文由 Crq 发表于2025年2月13日 12:22:43
  • 转载请注明:https://www.cncrq.com/13037.html
文件共享神器:NitroShare Linux教程

文件共享神器:NitroShare

网络的最重要用途之一就是实现文件共享的目的,现在,虽然有多种方式可以让在同一网络中的 Linux 和 Windows 以及 MacOS X 用户之间共享文件,让我们认识下 Nitr...
实用!开发者的 Vim 插件(二) Linux教程

实用!开发者的 Vim 插件(二)

毫无疑问,Vim 是一个开箱即用并能够胜任编程任务的编辑器,但实际上是该编辑器中的插件帮你实现这些方便的功能。在开发者的实用 Vim 插件(一),我们已经讨论两个编程相关的 Vim...
实用!开发者的 Vim 插件(一) Linux教程

实用!开发者的 Vim 插件(一)

作为 Vi 的升级版,Vim 毫无争议是 Linux 中最受欢迎的命令行编辑器之一。除了是一个多功能编辑器外,世界各地的软件开发者将 Vim 当做 IDE(集成开发环境Integr...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证