用途:审查或修复安装脚本(install.sh、setup.sh、bootstrap.sh),确保脚本可安全重跑、可撤销,不会覆盖用户既有配置或强制重启。
核心要求:
- 幂等:每个修改动作前先检查状态,例如用 grep -qF 判断再追加,第二次运行应输出“已安装/最新”并以 0 退出。
- 追加式:只拥有自己创建的文件与配置键;改动既有文件前做带时间戳备份,优先合并而非覆盖,可用 managed block 标记。
- 跨平台:按 uname -s 等检测系统与包管理器,选择真实 shell rc,未知平台应报错退出。
- 不擅自提权或重启:默认以当前用户运行;确需 root 时隔离步骤、说明原因并允许用户拒绝;不调用 reboot。
- 可恢复与卸载:提供 uninstall.sh 或 --uninstall,只删除安装添加的内容并还原备份;生成文件用原子写入。
审计流程:列出所有副作用(文件写入、RC 编辑、包、服务、符号链接、下载、权限变更),逐项检查是否有守卫、是否追加式;确认存在预检块(系统、工具、写权限、磁盘、网络),并模拟全新安装、重复安装、中途失败三种情况;检查 sudo 是否按需限定及卸载路径。
输出报告:结论(pass/needs work/blocked)、按严重度排序的发现(对应五项属性)、所做修改及原因、验证命令与结果、残余风险(未测平台、未备份文件、不可逆步骤)。
限制:资料未提供具体价格、平台支持范围或独立验证数据;适用场景为脚本编写与审查,不涉及运行时性能承诺。