首页 / 资讯中心 / 文章详情

探针只测量、Reclaimer 才删除:拆解 System Data Unpacked 绝不越界的清理安全设计

探针只测量、Reclaimer 才删除:拆解 System Data Unpacked 绝不越界的清理安全设计 ★ FEATURED ARTICLE
【免费下载链接】macos-sysdataSee what is really inside macOS System Data and delete it item by item. A free menu bar app that explains every category and shows each command before it runs.项目地址https://gitcode.com/gh_mirrors/mac/macos-sysdata点击查看免费下载System Data Unpacked项目仓库 macos-sysdata是一款免费的 macOS 菜单栏系统数据清理工具它先看清磁盘里到底藏着什么再让你逐项决定删不删。很多清理软件让人不敢放心是因为扫描和删除搅在一起。这款 Mac 清理工具反其道而行——负责测量的探针Probe一行删除代码都没有所有删除必须经过唯一的 Reclaimer 出口。下面拆解这套绝不越界的清理安全设计。一、为什么系统数据需要一款敢看、也敢停手的工具打开 macOS 的 设置 通用 存储系统数据System Data经常是最大的那一行却看不到里面是什么模拟器运行时、Xcode 符号缓存、包管理器仓库、虚拟机磁盘、统一日志……全被塞进同一个桶。清掉它之前普通用户最大的顾虑只有一个这个工具会不会删错东西System Data Unpacked 的答案不是更小心一点而是架构上的硬隔离读的人没有写权限写的人只有一条路。二、单向设计探针只读Reclaimer 独删1. 探针Probe一个分类一个探针只许测量探针的协议定义在 StorageProbe.swift注释只有一句话却是整个安全模型的基石Probes run concurrently and must not mutate anything.探针并发运行且不得修改任何东西Sources/SysDataMenu/Probes/ 目录下每个文件对应一个分类Xcode、包管理器、Docker、模拟器、AI 模型、日志、临时文件……共 20 个探针统一注册在 JSONInventory.swift 的ProbeRegistry.all中扫描时并发跑完结果流式出现在界面上。测量本身也刻意无害DiskSize.swift 按 Finder 计算系统数据的同一规则统计——只读已分配的磁盘块数不跟随符号链接不打开任何文件内容。探针跑一小时磁盘也纹丝不动。2. ReclaimAction先写下执行计划再谈执行每个扫描结果StorageItem都携带一个动作描述但它只是描述不会自己运行。动作类型定义在 StorageItem.swift删除路径、清空目录、按天数修剪、运行工具自带命令、以管理员身份执行脚本……关键在于它的plan属性StorageItem.swift把动作翻译成一行行人类可读的命令例如As administrator: rm -rf /Library/Logs/DiagnosticReports/*。你在确认弹窗里看到的就是这份逐字原文而不是将删除 3 个项目这种含糊计数——源码注释写明这是 README 里源码公开、你可以核对这句承诺在关键时刻的落地。3. Reclaimer全 App 唯一的删除出口Reclaimer.swift 的类注释同样直白Every filesystem mutation in the app goes through here.App 里每一次文件系统变更都经过这里所有探针产出的动作最终都汇到Reclaimer.perform()这一个入口执行。它负责处理所有容易出错的细节回收站优先标着 Review删了有代价如登录状态、下载的项目先进废纸篓30 天内可反悔SafemacOS 或工具会自动重建的缓存才直接删除Reclaimer.swift按年龄修剪只删真文件临时目录里运行中的应用占着 socket、管道prune 逻辑 只删 N 天未改动的普通文件绝不动链接和 socket——注释里还记着一次真实教训曾经把打开中的 socket 当空目录删掉了需要 root 的路径单独交代批量删除时需要管理员密码的操作会被合并成一个脚本、只问一次密码但如果其中混着不属于你的文件确认弹窗会明说这个要再单独问一次而不是含糊承诺测量归探针决策归你执行归 Reclaimer——三者单向流动这就是绝不越界的字面含义。三、四条额外的刹车规则无人值守模式不弹密码框每周自动清理、快捷指令、命令行模式运行时Reclaimer的allowsAdministrator参数为 false遇到需要管理员密码的路径它会抛出NeedsAdministrator错误并留给你从界面里手动删Reclaimer.swift。一个在后台偷偷弹密码框的 App本身就不可信。自动清理是唯一例外也是画得最窄的例外AutoClean.swift 的注释把边界写得很清楚只删标记为Safe 且不需要管理员密码的项目一周最多一次默认关闭跑完必须发通知报告释放了多少。它永远碰不到备份、登录态或 root 路径。命令行同样是先打印、后删除SysDataMenu --clean默认是干跑dry run逐条打印每个 Safe 项目的名字和将执行的命令一个字节都不删必须显式加上--apply才真正删除且 Review/Manual 项目永远不在范围内。退出码区分完成 / 失败 / 参数错误方便脚本判断CleanCommand.swift。删除前可再验一次身份设置里可开启 Touch ID / Apple Watch / 密码二次验证DeleteAuthentication.swift防止别人趁我离开动了一下鼠标。默认关闭因为验证不可用时绝不把删除功能锁死。四、如何自己动手验证这套设计项目路径里可以逐条核对探针目录Sources/SysDataMenu/Probes/搜索不到removeItem以外的删除调用唯一删除出口Sources/SysDataMenu/Services/Reclaimer.swift扫描主流程Sources/SysDataMenu/Model/ScanModel.swift也可以不用 App直接跑仓库里自带的 sysdata 脚本./sysdata # 扫描 ./sysdata clean # 干跑只打印不删除 ./sysdata clean --yes # 才真正执行五、小结System Data Unpacked 的安全感不来自一句请放心而来自一条可以被验证的结构探针没有删除的能力Reclaimer 是删除的唯一通道而每次删除之前命令原文都摆在屏幕上。这种读写分离 单一出口的思路是任何想动用户数据的工具都该抄的设计底线。如果你的 Mac 上系统数据也占了 50 GB可以从 README.md 的安装步骤开始让它先做一次只读扫描看看这些字节到底是谁的。赞分享【免费下载链接】macos-sysdataSee what is really inside macOS System Data and delete it item by item. A free menu bar app that explains every category and shows each command before it runs.项目地址https://gitcode.com/gh_mirrors/mac/macos-sysdata点击查看免费下载相关推荐GAS-ICS-Sync任务同步功能如何自动管理待办事项GAS ICS Sync任务同步功能如何自动管理待办事项 GAS ICS Sync是一款强大的Google Apps Script工具能够帮助用户将ICS/Tinycast 卸载应用功能解析只进废纸篓、绝不删除的 macOS 残留清理设计Tinycast 卸载应用功能解析只进废纸篓、绝不删除的 macOS 残留清理设计 Tinycast 的 Uninstall Application 是一个“桌面应用System Data Unpacked 架构解析一个 StorageProbe 探针如何插件化测量 19 类磁盘占用System Data Unpacked 架构解析一个 StorageProbe 探针如何插件化测量 19 类磁盘占用 在 macOS 的存储设置里Sys上一篇网易云音乐NCM文件一键解密转换终极指南下一篇Grbl_Esp32固件编译与OTA升级完整开发环境搭建指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站