要追踪macos系统安装过程,需结合installer/softwareupdated进程、com.apple.installer等子系统及“install”“package”等关键词,按时间范围用log show命令筛选并导出日志。
要通过 log show 命令追踪 macos 系统安装程序(如 macos 安装器、系统更新或软件包安装过程)的完整运行轨迹,关键在于锁定安装行为对应的核心进程、子系统和日志关键词,并结合时间窗口精准提取。
定位安装相关的子系统与进程标识
macOS 安装活动主要由以下组件驱动,它们会在统一日志中留下结构化记录:
-
installer 进程:图形界面安装器主程序,日志中 process 字段为
"installer" -
softwareupdated 进程:负责系统更新下载与安装,process 为
"softwareupdated" - com.apple.installer 子系统:涵盖安装器框架、包验证、磁盘操作等底层动作
- com.apple.pkg.install 子系统:专用于 pkg 安装包的解压、脚本执行与文件写入
- com.apple.diskmanagement 子系统:涉及目标卷格式化、APFS 分区变更等关键步骤
按时间范围抓取安装全过程日志
安装通常持续数分钟至数十分钟,建议以“最近一次重启”为锚点,覆盖整个安装周期:
- 查看自上次启动以来全部安装相关日志:
log show --last boot --predicate 'subsystem == "com.apple.installer" OR process IN {"installer", "softwareupdated"}' - 若已知大致安装时段(例如今天上午10:15开始),可精确限定:
log show --start "2026-07-08 10:15:00" --end "2026-07-08 11:00:00" --predicate 'eventMessage contains[c] "install" OR eventMessage contains[c] "package"' - 配合日志级别过滤,聚焦关键动作(避免 info 级冗余):
log show --last 2h --level error --predicate 'process == "installer" OR subsystem == "com.apple.pkg.install"'
筛选典型安装事件关键词
安装过程中的标志性动作会出现在 eventMessage 字段,可用谓词直接命中:
- 查找包验证失败:
log show --last 24h --predicate 'eventMessage contains[c] "verification failed" OR eventMessage contains[c] "signature invalid"' - 定位磁盘准备阶段(如 APFS 转换):
log show --last boot --predicate 'subsystem == "com.apple.diskmanagement" AND eventMessage contains[c] "apfs"' - 检索安装后清理或重启提示:
log show --last 1h --predicate 'eventMessage contains[c] "reboot required" OR eventMessage contains[c] "installation complete"'
导出并结构化分析安装日志
将结果保存为文本或 JSON,便于后续查阅或用脚本处理:
- 导出为可读文本(含时间戳与进程名):
log show --last boot --predicate 'subsystem beginswith "com.apple.installer"' --style syslog > ~/Desktop/install_trace.log - 导出为 JSON 格式,保留全部字段(适合程序解析):
log show --last boot --predicate 'process == "installer"' --json > ~/Desktop/install_raw.json - 实时监控正在进行的安装(如系统更新下载中):
log stream --predicate 'subsystem == "com.apple.softwareupdated" OR eventMessage contains[c] "download"'











