当前位置: 首页 > 科技观察

aptremove和aptpurge有什么区别:

时间:2023-03-12 07:45:06 科技观察

如果你想在Ubuntu上使用终端卸载软件,你可以使用:sudoaptremovepackage_name但在很多论坛上,你可能会看到有人说,如果你想完全删除软件使用aptpurge。您可能会感到困惑,因为aptpurge和aptremove看起来一样。为什么sudoaptpurgepackage_name有两个这样类似的删除包的命令?两者有什么区别?下面就为大家揭晓。apt-remove和apt-purge有什么区别?apt-remove和apt-purge的相同点是可以卸载软件包,而运行apt-purge不仅可以删除安装包,还可以清除相关的配置文件。这是两者之间的唯一区别。需要注意的是,这两个命令都不能删除用户主目录下的相关应用文件。你有没有遇到过这样的情况,卸载了一个软件,然后重新安装,却发现之前的设置还在。这是因为软件的相关配置文件无法用aptremove删除。删除了什么?哪些还在?我分享一个使用aptremove和aptpurge分别卸载mplayer的实际例子。重点是看每次操作后还剩下哪些文件。这是删除前的文件:删除前的mplayer现在运行aptremove这个命令:aptuninstallpackageubuntu以下文件仍然留在系统中:filesaftermplayerremoval我们可以看到剩下两个地方有mplayer的文件:/etc和/home/abhishek。这次我们重新安装mplayer,然后使用aptpurge卸载软件。aptpurge命令现在让我们看一下与mplayer相关的文件:mplayer删除后的文件我们可以看到/etc目录下的文件都没有了。但是主目录中的文件呢?aptpurge会删除它们吗?答案是否定的。apt命令不会删除主目录中的配置文件。所以它们仍然在系统中,除非您手动删除它们。但是这些文件占用的空间非常小,几乎不占用磁盘空间。值得注意的是,并非所有软件的配置文件都在主目录或/etc目录中。我能想到的使用aptremove或aptpurge的效果的一个实际示例是Discord,您使用deb文件将其安装在Ubuntu上。然后登录自己的账号,然后用deb文件卸载重装。现在打开Discord,你会发现你的账号自动登录了,是不是觉得很奇怪?这是一个功能,像一些软件,比如Discord,VirtualBox,他们会提供更新,也就是卸载当前版本然后下载新的(虽然你不知道它内部是怎么工作的),但是当它被卸载的时候,这些软件的配置文件没有被删除,所以当你打开这些软件时,你会自动登录。当你想卸载一个软件,但又想保留你以前使用过该软件的配置文件,您可以使用apt删除。但是,有时它不能满足您的需求。比如当你还没有配置一个软件,想要重新来过,这时候使用aptpurge就比较合适。可以使用通配符运行aptpurgedelete吗?删除包时,会提示删除包名*。这意味着它将删除所有以此包名开头的文件。aptpurgewildcard我没有在像手册页这样的文档中找到这个问题的答案。于是自己做了个小测试,安装了espeak和espeak-ng这两个软件,espeak*应该可以通配扩展到espeak-ng。但是当我使用aptpurge删除espeak包时,espeak-ng包还在,并没有被删除。所以似乎有一种机制可以防止通配符的扩展。那么,您应该使用aptremove还是aptpurge?很少有人一直使用aptpurge。在我看来,一般情况下,你可以使用aptremove,但是当你想删除那些自定义的配置文件时,就不得不使用aptpurge了。无论是使用aptremove还是aptpurge,您都需要从用户的主目录中删除剩余的配置文件,并运行aptautoremove以清除任何依赖包。现在轮到你了。您现在是否更清楚aptremove和aptpurge之间的区别?你更喜欢用哪个?