christianwirick/sysGlide
GitHub: christianwirick/sysGlide
macOS Apple Silicon 平台的存储清理与取证工具,帮助诊断磁盘空间占用并进行安全可控的清理操作。
Stars: 0 | Forks: 0
# SystemGlide
SystemGlide 是一个安全优先的 macOS 清理和存储取证工具,专为 Apple Silicon 系统用 C 语言构建。
它可以帮助你:
- 了解是什么占用了磁盘空间
- 在删除任何内容之前安全地预览清理操作
- 运行针对性的清理模块或单标志预设
- 当存储使用情况不明时生成取证报告
## 安全优先(工作原理)
SystemGlide 旨在避免意外损害:
- 默认模式为 `--dry-run`(不删除)
- 清理操作仅在指定 `--apply` 时发生
- 除非传递 `--yes`,否则许多运行需要确认
- 删除操作仅限于已知的安全基本路径
- 可通过 `--max-delete-gb N` 设置可选的全局上限
## 前置条件
- macOS(推荐 Apple Silicon)
- C 编译器(`clang`)
- 标准构建工具(`make`)
如有需要,安装命令行工具:
```
xcode-select --install
```
## 快速开始(首次使用)
完全按照以下命令运行:
```
cd "/Users/christianwirick/Dev/macOS/System Glide"
make
./systemglide --help
```
然后进行安全预览:
```
./systemglide --dry-run --all-safe --days-old 30
```
如果预览效果良好,应用更改:
```
./systemglide --apply --all-safe --days-old 30
```
## 最有用的命令
### 1) 均衡预览(推荐默认)
```
./systemglide --dry-run --profile balanced
```
### 2) 均衡应用(交互式提示)
```
./systemglide --apply --profile balanced
```
### 3) 均衡应用(无提示)
```
./systemglide --apply --yes --profile balanced
```
### 4) 单标志深度清理
先预览:
```
./systemglide --deep-clean --dry-run
```
然后应用:
```
./systemglide --deep-clean --apply --yes
```
### 5) "System Data" 取证扫描
当存储统计看起来不对劲时,这是最佳模式:
```
sudo ./systemglide --forensic-system-data --dry-run --report-file /tmp/systemglide_forensic.txt
```
### 6) 仅针对特定清理模块
```
./systemglide --apply --yes \
--clean-caches \
--clean-browser-caches \
--clean-logs \
--days-old 21
```
### 7) 添加删除上限以提高安全性
```
./systemglide --apply --yes --all-safe --days-old 30 --max-delete-gb 20
```
## 语法模板
使用这些模板快速构建你自己的命令:
```
./systemglide --dry-run [PRESET_OR_MODULE_FLAGS] [--days-old N] [--report-file PATH]
./systemglide --apply --yes [PRESET_OR_MODULE_FLAGS] [--days-old N] [--max-delete-gb N]
sudo ./systemglide --apply --yes [PRESET_OR_MODULE_FLAGS] [--scan-offenders]
```
`PRESET_OR_MODULE_FLAGS` 可以是:
- `--deep-clean`
- `--forensic-system-data`
- `--all-safe`
- 一个或多个 `--clean-*` 模块标志
## 常用模块标志
- `--clean-caches`
- `--clean-browser-caches`
- `--clean-logs`
- `--clean-mail-downloads`
- `--clean-messages-attachments`
- `--clean-xcode-deriveddata`
- `--clean-xcode-archives`
- `--clean-ios-backups`
- `--clean-simulators`
- `--clean-homebrew-cache`
- `--clean-docker`
- `--clean-trash`
- `--clean-wallpaper-cache`
## 理解输出
SystemGlide 的输出分为以下几个部分:
- `Execution Plan`(执行计划):将要运行的内容
- `System Information`(系统信息):内核和权限上下文
- `Likely System Data Contributors`(可能的 System Data 贡献者):高层级的大小映射
- 每个模块的部分:候选项、大小总计、结果
- `Execution Summary`(执行摘要):模块结果表 + 估计回收空间
状态标签:
- `[INFO]` 信息状态
- `[WARN]` 非致命问题
- `[OK]` 成功完成
## Sudo 使用指南
当你需要更深入的可见性或系统级维护时,请使用 `sudo`:
- 受保护根目录(`/Library`、`/private/var`)的取证扫描
- Time Machine 快照精简(`--tm-thin-bytes`)
- 周期性脚本(`--run-periodic`)
示例:
```
sudo ./systemglide --dry-run --deep-diagnose --scan-offenders --diagnose-only
```
## 全局安装(可选)
安装二进制文件 + 手册页:
```
sudo make install
```
然后可以在任何地方运行:
```
systemglide --help
man systemglide
```
卸载:
```
sudo make uninstall
```
## 手册页
无需安装即可查看本地手册页:
```
man -l "/Users/christianwirick/Dev/macOS/System Glide/systemglide.1"
```
## 构建产物
默认情况下,成功构建后会自动清理目标文件。
- 保留目标文件用于迭代调试:
```
make AUTO_GC=0
```
- 手动垃圾回收目标:
```
make gc
```
## 退出代码
- `0` 成功
- `1` 参数/初始化错误
- `2` 带警告完成(部分失败)
## 故障排除
### "Operation not permitted" 或报告中缺少数据
请使用 `sudo` 重新运行以获得更深入的系统能见度。
### Finder 仍显示巨大的 "System Data"
运行取证模式并检查报告:
```
sudo ./systemglide --forensic-system-data --dry-run --report-file /tmp/systemglide_forensic.txt
```
然后查看该报告中的主要贡献者并清理针对性模块。
标签:Apple Silicon, Clang, DevOps工具, DNS 反向解析, Dry-run, Mac优化, System Data, 取证报告, 存储取证, 安全删除, 客户端加密, 客户端加密, 日志清理, 磁盘空间分析, 磁盘诊断, 空间管理, 系统清理, 系统维护, 缓存清理, 网络安全审计