从命令行检查、下载和安装 macOS 更新与命令行工具。
softwareupdate -l 扫描可用更新;-i 安装(-a 全部,-r 仅推荐项),--restart 在需要时重启。--fetch-full-installer 下载完整安装器到 /Applications,适合制作启动盘或跨大版本升级;--history 查看安装记录;Apple Silicon 可用 --install-rosetta 安装 Rosetta 2。
边界:安装系统更新需要 root,-l 普通用户即可。企业 MDM 可以延迟或强制更新,命令行会显示受管理状态,本地 --all 不一定立即生效。大版本升级前要确认磁盘空间、备份和电源;--restart 会直接重启,不会替你保存工作。
# 1. 只检查,不安装;先看更新名称和是否要求重启
% softwareupdate -l
# 2. 安装全部更新并允许重启;先保存工作、接上电源
% sudo softwareupdate -i -a --restart
# 3. 按名称安装单个更新,名称必须与 -l 输出一致
% sudo softwareupdate -i "Command Line Tools for Xcode-16.0"
# 4. 下载完整安装器到 /Applications,用于制作启动盘
% sudo softwareupdate --fetch-full-installer --full-installer-version 14.6
# 5. 查看已经安装过的更新记录
% softwareupdate --history | head -20
# 6. Apple Silicon 上非交互安装 Rosetta 2
% sudo softwareupdate --install-rosetta --agree-to-license
--restart 会在安装完成后立即重启,未保存的文档会丢失;在维护窗口执行,并提前通知使用者。-i 的更新名称区分版本和语言,手写容易失败;先 softwareupdate -l,复制完整名称。--history。--fetch-full-installer 下载前用 df -h /Applications 确认余量。sw_vers — 确认当前系统版本和构建号。system_profiler — 升级前记录硬件与磁盘信息。tmutil — 升级前先做 Time Machine 备份。apt-get — 对照包管理与系统更新的区别。合上页面,先回答,再展开对照。
softwareupdate -l 与 -i -a --restart 分别做什么?为什么后者要谨慎?softwareupdate -l 却说没有,可能是什么原因?--fetch-full-installer 有哪些前提和风险?
小程序版
微信扫码,随时查命令