系统学习 macOS 学习路径:从 BSD 文件命令到系统、网络与开发维护

softwareupdate

从命令行检查、下载和安装 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

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. softwareupdate -l 与 -i -a --restart 分别做什么?为什么后者要谨慎?
  2. 明明系统设置里有更新,softwareupdate -l 却说没有,可能是什么原因?
  3. 制作启动盘前,--fetch-full-installer 有哪些前提和风险?
答案
  1. 前者只扫描并列出更新,后者安装全部更新并在需要时重启;重启会丢失未保存工作,需在维护窗口执行。
  2. 可能被 MDM 延迟、等待重启、需要前置更新,或当前通道未提供;应检查管理策略和更新历史。
  3. 需要 root、足够磁盘空间和稳定网络,且 Apple 只提供仍签名的版本;下载大、耗时长,指定过旧版本会失败。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令