如何识别和删除已卸载软件的孤立配置文件?

如何识别和删除已卸载软件的孤立配置文件?

程序通常将配置文件存储在主目录中,通常位于隐藏目录中,通常但不限于 ~/.config、~/.local 或 ~/.gnome 的子目录

卸载程序后,配置文件仍然保留(这通常是首选)。

目前,我时不时地查看 home 的隐藏目录,尝试猜测这些目录属于哪里,如果我不再使用该程序,则将其删除。但这既耗时又困难/容易出错,因为有时很难猜测一个目录属于哪个程序。我想知道是否有工具或方法可以帮助我。 (类似于 Win 上的 Bleachbit 或 CCleaner,但据我所知它们没有此功能)。

有没有一种简单的方法来识别和删除已卸载软件的孤立配置目录?

答案1

首先,创建备份在改变任何东西之前。

有时配置文件是由你的包管理器安装的,无论你使用哪个,你都可以查询它的数据库,但我不会依赖它。对于某些发行版,可能有类似的工具findcruft(现已废弃)对于 Gentoo 来说。

我认为您最好的机会是找到并删除长时间未访问的文件,但这并不能保证该软件包不会安装但处于非活动状态。在脚本中根据包管理器检查候选者的奖励积分。

$ find /etc -atime +7

请注意,并非所有文件系统都支持该atime功能,或者可能会故意关闭该功能,例如对于 SSD 驱动器。在这种情况下,您不能使用此方法。或者,您首先必须打开atime一段时间来收集访问数据,以便做出可靠的决策。阅读有关relatime也先选择。

$ mount
/dev/sda3 on / type ext3 (rw,noatime,nodiratime,data=ordered)

剩下的一个选项是手动执行此操作,通过文件的名称和内容猜测相关的包,这通常很简单。

答案2

如果系统是基于 Debian 的,aptitude可以找到带有孤立配置的软件包(通常在/etc),例如:

aptitude search ~c

并使用以下命令删除它们:

aptitude purge ~c

通常包管理器不会在主目录中创建文件。 Homedir 配置文件通常在第一次运行时创建。
我认为最好的方法是使用 Git 等工具跟踪主题,这样您就可以准确地知道它们的创建时间。

相关内容