← 返回文章列表

我做了个飞牛系统整理工具,内有fpk下载地址

前阵子我折腾 vaultwarden,然后折腾了飞牛,继而发现我在飞牛上装装删删了几个应用在/vol1/@appcenter 中还有好多应用残留,好家伙!!!

我当时就有点懵:我明明卸载了啊?

后来才搞清楚:飞牛卸载应用的时候,有个"清除本地数据"的选项,如果你没勾选,那这个应用的数据目录就会一直留在硬盘里,可能是一个月前、半年前卸载的,一直占着地方,系统里也不会再显示它。我还发现,不只是 @appdata,还有 @appconf@apphome 这些,有的应用卸载完还会在 /usr/local 留下符号链接,在系统里留下 docker- 开头的残留用户——这些更隐蔽,不专门去翻根本发现不了。

想找个现成的工具,结果都不太顺手

发现这个问题后,我第一反应是:这玩意儿肯定有人做过工具吧?去网上搜了一圈,找到三个:

  • fnclearup
  • fnos-app-cleaner
  • fnos-logmanager

说实话,这三个工具各管一摊,但没一个能把我发现的所有情况都覆盖到。我又不想为了清理残留装三四个工具,还得记着哪个管哪块。

干脆自己写一个

那阵子我正好在学飞牛的应用打包(之前为了升级 Vaultwarden 折腾过),想着反正流程都熟了,干脆自己写一个清理工具,把所有场景收进去。

前后花了一个礼拜,主要是下班后晚上弄的。现在这个工具叫 CleanFnOS,功能大概是这些:

69c4dfbb-4224-422e-8cf2-45d8cfad43f6.png300

应用相关的

  • 卸载应用残留:@appdata@appconf@apphome@apptemp@appmeta@appshare 这些目录里,属于已卸载应用的,一起找出来,能看大小、按应用聚合
  • /usr/local 里的残留符号链接
  • docker- 前缀的残留系统用户

存储相关的

  • Docker 清理:容器、卷、网络、镜像、Build Cache、Dangling 镜像
  • 临时文件:/tmp 下超过 24 小时没动过的
  • 空目录:整卷扫描完全空掉的目录
  • 重复文件:按 SHA-256 指纹找内容完全一样的,支持文件去重和音乐去重
  • 大文件:跨卷扫 Top100,看看空间都被谁吃了
  • 系统缓存:apt/npm/pip/uv/浏览器缓存、系统日志等 17 项

系统相关的

  • 回收站:应用回收站的恢复/清空;系统回收站按 30/90/365 天分级
  • KVM:能检测出"鬼影快照"——就是 virsh 里看不见、但 qcow2 文件里实际占着空间的快照,还能启停虚拟机
  • 定时清理:设好间隔自动跑,完事推个报告

关于安全,我是认真想的

清理工具最怕误删,这方面我花了不少心思:

  • @appshare 不误报:这是共享目录,多个应用共用,我按符号链接的归属来判断,只清理确定属于已卸载应用的,不会碰还在用的应用的数据;
  • 删除默认进回收站:大部分清理都是"移入回收站",误删了还能恢复;
  • 高风险操作要勾选确认:永久删除这类操作,必须勾选"已知晓不可恢复"才能执行;
  • 有审计日志:每一步操作都有记录,出了事能查。

但是

重要的事情说三遍:⚠️ 免责声明:本工具为个人使用而开发,非商业化运行;清理功能设计不尽全面,清除操作存在风险,请谨慎使用!因使用本工具造成任何数据丢失,本工具概不负责

重要的事情说三遍:⚠️ 免责声明:本工具为个人使用而开发,非商业化运行;清理功能设计不尽全面,清除操作存在风险,请谨慎使用!因使用本工具造成任何数据丢失,本工具概不负责

重要的事情说三遍:⚠️ 免责声明:本工具为个人使用而开发,非商业化运行;清理功能设计不尽全面,清除操作存在风险,请谨慎使用!因使用本工具造成任何数据丢失,本工具概不负责

最后

这个工具算不上多惊艳,就是把自己遇到的问题一个个解决了。如果你也玩飞牛,不妨翻翻硬盘看看有没有这种"卸载了但没清干净"的残留——说不定能白捡几个 G 的空间。

仓库地址:https://github.com/kyeo-hub/CleanFnOS 下载地址:

有什么想加的功能,或者发现了什么 bug,欢迎提 issue 或者在评论区说一声。