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

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

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

我对此进行了大量研究,也看到有人谈论apt-get remove packagename、、和,但听起来所有这些都留下了配置文件或某种其他痕迹。apt-get purge packagenameapt-get remove --purge packagenameapt-get autoremove

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

我想从 Windows 切换到 Linux 作为我的主要操作系统,但为了晚上睡得安稳,我需要知道当我卸载某样东西时,与该东西相关的一切都消失了。我知道这很奇怪。但你知道,我们都有自己的需求。

请帮帮我;如果有必要,我甚至可以根据此选择一个发行版。

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

答案1

简而言之,您正在寻找类似于“Fedora Silverblue”的东西,它的设计目的是使基本操作系统或多或少不可变。也就是说,它没有允许您根本无法在系统范围内安装应用程序。您仍然可以将应用程序安装到您的用户帐户,但只能通过 Flatpak,并且 Flatpak 强制要求应用程序的所有配置都位于一个位置。


对于系统范围内安装的桌面应用程序,该请求几乎不可能实现。传统的包管理器在删除不再需要的依赖项方面可能更好或更差(例如 Arch 的 pacman 比 apt 略好);然而,它将绝不触摸应用程序留在主目录中的文件,例如应用程序内存储的设置或数据。

  • 或许没有使用权到每个用户的主目录,特别是如果它们是加密的。(即使在今天,许多家庭台式机都有多个用户帐户。)

  • 它无法准确区分“需要”和“不需要”的痕迹。例如,配色方案显然只是一个可以清除的设置,而使用该应用程序创建的文档通常必须保留——删除 LibreOffice 不应删除.doc系统上的所有文件。

    但中间还有很多东西,比如聊天记录或浏览器书签,它们被存储为内部“应用数据”,但许多用户也更愿意保留它们。还有一些应用会存储全部他们的内部数据,例如笔记软件。

同样的问题也存在于 Windows 上。Windows 上的某些程序会给你错觉如果你卸载它们,它们会询问是否删除你的设置 - 但即使你回答“是”,他们也无法与同一台计算机上的其他用户进行任何操作。(而且由于该应用程序现已被删除,这些用户也无法再次将其卸载。)

话虽如此,几乎所有应用程序都将数据存储在相同的 2-3 个地方:

  • 中的数据~/.local/share/myapp、中的设置~/.config/myapp以及中的临时文件~/.cache/myapp(它们合起来就是 Linux 中相当于 Windows 的“AppData”);
  • 对于较旧的应用程序 -~/.myapp主目录中隐藏着所有内容。
  • 有时dconf-editor,其中的几个设置大致相当于 GNOME 桌面环境的 Windows 注册表。

因此,总的来说,它与 Windows 中的情况相同 - 为了真正摆脱所有痕迹,首先卸载实际的应用程序,然后删除其目录应用程序数据~/.config 和 ~/.cache,最后清理註冊dconf. (GNOME 的 dconf 比注册表的内容少得多 - 属于应用程序的所有数据始终集中在一个位置。)

然而,更可靠的解决方案不是通过“apt”在系统范围内安装此类应用程序,而是使用 Flathub 的 Flatpak,它或多或少相当于 Linux 版的 Microsoft Store。通常,通过 Flatpak 安装的应用程序是必需的将所有内容存储在指定位置 - 它不能将文件分散到您的主目录中,而必须使用~/.var/myapp,而不能进行其他任何操作。

此外,Flatpak 的包依赖关系细粒度要小得多——一个应用程序只能依赖一个“运行时”,而不是一百个库。

(Ubuntu 有“Snap Store”,有点类似,但据我所知,它并没有完全相同的文件系统隔离。)

相关内容