Linux:如何彻底删除程序的所有痕迹?

Linux:如何彻底删除程序的所有痕迹?

有没有办法彻底去除全部Linux 中程序的痕迹?

我对此进行了很多研究,并且我见过人们谈论apt-get remove packagenameapt-get purge packagenameapt-get remove --purge packagenameapt-get autoremove,但听起来所有这些都留下了配置文件或某种其他痕迹。

我想删除一切, 尽管。我说的是卸载并完全删除程序、包、所有依赖项、所有配置文件和所有数据文件。删除与该程序相关的所有内容,让系统就像该程序从未安装且从未存在过一样。

我希望从 Windows 切换到 Linux 作为我的主要操作系统,但为了让我晚上睡得香,我需要要知道,当我卸载某些东西时,与该东西相关的所有内容都消失了。我知道这很奇怪。但你知道,我们都有自己的需求。

请在这里帮助我;如果需要的话,我什至可以基于此选择一个发行版。

谢谢,祝你有美好的一天!

答案1

Debian 区分删除软件包(留下其conf文件,以防您稍后重新安装)和清除软件包(删除软件包及其conf文件)。

apt-get purge package
apt-get --purge autoremove

或者,正如 @StephenKitt 在评论中提到的,只需一个命令即可完成此操作:

apt purge --autoremove package

这将首先清除包(即删除它及其所有conf文件),然后清除任何其他包:

  • 已自动安装作为包(您正在清除的包或其他一些包)的依赖项,或者已被标记autoapt-mark auto packagename.

  • 当前安装的任何其他软件包都不需要

注意:这将不是删除由包创建的不属于包本身的任何文件。例如,如果您这样做apt purge vim,它不会清除由vim.包管理器管理,他们不管理您的个人文件。如果您也希望删除此类文件,则必须自己查找并删除它们。

另请注意:它不会删除系统日志中任何提及该包的内容。事实上,安装和删除/清除软件包会在/var/log/dpkg.log和/或 中生成日志条目/var/log/apt/

另一件需要考虑的事情是,如果您已经etckeeper安装了(您应该这样做,因为它非常有用,并且可以在灾难性的情况下保存您的培根),任何清除的软件包(至少是那些在 中具有配置文件的软件包/etc)的痕迹都将保留在/etc的修订历史记录(通过git或任何etckeeper配置使用的内容)。

etckeeper安装后,git commit每天从 cron 运行 apt配置为git commit在安装、升级或卸载软件包时运行。

相关内容