🎀 关于博主👇🏻👇🏻👇🏻

🥇 作者简介: 热衷于知识探索和分享的技术博主。

💂关于作者: 曾就职于国内知名安防上市公司,现就职于国内知名AMR机器人公司,担任高级系统软件工程师。全网5万+粉丝。十载寒冰,难凉热血;多年过去,历经变迁,物是人非。 然而,对于技术的探索和追求从未停歇。 💪坚持创作,热衷分享,初心未改,继往开来!


文章目录

  • 🎀 关于博主👇🏻👇🏻👇🏻
  • apt-remove 和 apt-purge 有什么区别?
  • 查看要删除的内容和剩余的内容
  • apt purge是否执行通配符删除?
  • 那么,你应该使用remove还是purge?


要在 Ubuntu 终端中卸载应用程序,您可以使用:

sudo apt remove package_name

但是在各种论坛中,您可能会遇到使用 apt purge 命令完全删除应用程序的建议。

这让你感到困惑,因为使用 apt remove与 apt purge非常相似:

sudo apt purge package_name

那么,为什么有两个类似的命令来删除包呢?两者有什么区别?让我用几个例子来向你解释一下。

apt-remove 和 apt-purge 有什么区别?

apt remove 和 apt purge 都做同样的事情,那就是卸载软件包。apt purge 会删除软件包并清除与其关联的任何配置文件。这是两者之间的唯一区别。这两个命令都不会触及用户家目录下的应用程序文件。

您是否曾经删除过应用程序并重新安装它,却注意到您的所有设置都已到位?这是因为 apt remove 命令不会删除配置文件。

查看要删除的内容和剩余的内容

让我分享一个使用 apt remove 和 apt purge命令删除 mplayer 应用程序的实际示例。重点是查看每次操作后保留的文件。

以下是删除前与 mplayer 关联的文件。

ubuntu remove ubuntu remove purge_ubuntu

现在,如果我运行 apt remove命令。

ubuntu remove ubuntu remove purge_应用程序_02

以下是保留在系统中的文件:

ubuntu remove ubuntu remove purge_linux_03

如您所见,mplayer文件保留在两purge个位置:/etc和/home/abhishek。

现在,如果我再次安装 mplayer 并使用 apt purge来删除 mplayer 应用程序这次。

ubuntu remove ubuntu remove purge_linux_04

现在让我们寻找与mplayer关联的文件。

ubuntu remove ubuntu remove purge_ubuntu_05

如您所见,/etc 目录中的文件不再存在。

但是家目录中的文件呢?purge不应该删除它吗?

答案是否定的。apt 命令不会触及位于主目录下的配置文件。它们将保留在系统中,除非您手动删除它们。这些文件的大小非常小,几乎不占用磁盘空间。

请注意,并非所有应用程序都在 /etc 或主目录下创建配置文件。

apt remove 命令为您提供了重用过去使用的配置可能。

但是,您可能并不总是想要它。如果您以错误的方式配置了应用程序并希望从头开始,则 apt purge 命令是前进的方法。

apt purge是否执行通配符删除?

当您清除包时,您会注意到它提到了删除包名称*。这表示它将删除名称以包名称开头的所有包。

ubuntu remove ubuntu remove purge_应用程序_06

我在文档(即手册页)中没有找到关于这一点的明确答案。所以,我自己做了一个小测试。我安装了epeak和espeak-ng软件包。espeak*也应该扩展到espeak-ng。

但是当epeak被修剪时,espeak-ng包没有受到影响。因此,似乎有一种机制可以防止这种通配符扩展。

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

很少有人沉迷于使用purge。

在我看来,remove是您应该大部分时间使用的。当您必须删除自定义配置文件时,请使用 apt purge。

在这两种情况下,您都必须从用户的主目录中删除剩余的配置文件,并运行 apt autoremove 以消除任何剩余的依赖项。

现在交给你了。您现在更了解remove和purge之间的区别吗?您更喜欢使用哪一个?