gibMacOS 实战手册:不碰 Mac 也能直连 Apple 目录,三分钟拉回 macOS 安装文件
gibMacOS 实战手册:不碰 Mac 也能直连 Apple 目录,三分钟拉回 macOS 安装文件
【免费下载链接】gibMacOSPy2/py3 script that can download macOS components direct from Apple项目地址: https://gitcode.com/gh_mirrors/gi/gibMacOS
gibMacOS 是一个用 Python 编写的小工具,它的核心能力只有一个:绕过 Mac 设备的限制,直接连上 Apple 的软件更新目录,把 macOS 各版本的安装组件原样下载到你的电脑上。无论你用的是 Windows、Linux 还是 macOS,只要装好 Python 就能上手。想搭虚拟机、做测试环境、维护旧系统的朋友,这几乎是一把现成的钥匙。
先从一次失败的虚拟机装机说起
你在 Windows 上想装个 macOS 虚拟机跑测试,打开 App Store 发现要登录 Apple ID,去官网又发现安装器只给 Mac 用户准备。折腾半天,连安装文件的影子都没见着——这个场景,可能不少人都经历过。
其实问题的根源不在"装不上",而在"拿不到文件"。macOS 的安装组件一直明明白白地躺在 Apple 自家的更新目录里,只是缺少一个不依赖 Mac 的入口。gibMacOS 干的正是这件事:把官方目录里的版本清单拉下来,任你挑选,然后直连下载。
先划清边界:它能做什么,不能做什么
把期待放对位置,用起来才顺手。gibMacOS 只负责"获取安装文件"这一件事:
- 它能:从 Apple 官方目录下载 macOS 各版本的组件、列出下载链接、输出产品元数据。
- 它不能:替代安装器、制作可引导镜像、绕过任何授权校验。
它不提供"一键装好 macOS"的魔法,但解决了整个链条里最卡脖子的第一步。后续的启动盘制作、虚拟机加载,都有对应的配套脚本。文件层面的分工大致是:gibMacOS.py 是总入口,Scripts/downloader.py 管网络下载,Scripts/plist.py 负责解析 Apple 的 plist 目录文件,Scripts/utils.py 提供通用工具函数。模块各司其职,结构一目了然。
下面按"你打算做什么"来组织阅读路线:想下载,看第三到八章;想做启动盘,直接跳到第十章;卡住了,翻第十一章。
三分钟把工具跑起来
环境要求很低:装好 Python(2 或 3 均可)。然后:
git clone https://gitcode.com/gh_mirrors/gi/gibMacOS cd gibMacOS python3 gibMacOS.py脚本会先下载一份目录文件,随后弹出一个交互式菜单,把所有可下载的 macOS 产品按时间倒序排好,每项都标注了版本号、Build 号、发布日期和体积。输入对应的数字,下载就开始了。
菜单底部还有几个常用快捷键:
M调整要扫描的最高 macOS 版本C切换更新目录(详见下一章)R切换恢复模式,只找恢复映像U显示当前使用的目录地址
选择更新目录,决定你看到什么
菜单里的C选项背后,是四个官方更新目录。它们的差异用一个表格就能说清:
| 目录名 | 对应后缀 | 说明 |
|---|---|---|
publicrelease | (无) | 公开发布版,日常下载选它 |
public | beta | 公开测试版 |
customer | customerseed | 客户种子版 |
developer | seed | 开发者预览版 |
版本跨度也很可观:从早期的 Tiger(10.4)一路覆盖到 Sequoia(15),输入10.15、11、12这样的数字即可调整上限。想看某个测试版,切到public目录重新扫描即可。
免登录直连的完整下载流程
选好编号回车,工具会逐个拉取该产品的所有组件,并实时显示进度百分比、下载速度和剩余时间。下载目录默认是项目下的macOS Downloads/<目录名>/<产品名>,每个产品单独一个文件夹,方便归档。
如果你已经下载过同一产品,重跑时会收到三个选择:R只续传未完成的文件,D清空后全部重下,M返回菜单。配合进度显示,即使网络波动导致中断,也不必从头再来。只想拿磁盘映像文件的话,启动时加上--dmg参数,非 .dmg 的组件会被自动跳过。
一条命令直达目标版本
不想进交互菜单也没关系,几乎所有菜单能力都有对应的命令行参数:
| 参数 | 作用 |
|---|---|
--latest | 直接下载目录中最新的版本 |
--version | 指定版本,如-v 10.15或-v Yosemite |
--build | 指定 Build 号,需配合--version |
--product | 按产品 ID 精确匹配 |
--catalog | 指定更新目录 |
--recovery | 只找恢复映像包 |
--dmg | 只下载 .dmg 文件 |
--download-dir | 自定义保存位置 |
--maxos | 调整目录 URL 覆盖到的最高版本 |
--device-id | 筛选支持指定硬件标识的版本 |
几个典型用法:
# 下载指定版本,跳过交互 python3 gibMacOS.py -v 10.15 # 精确到某个 Build python3 gibMacOS.py -v 10.15 -b 19H15 # 只下载最新版本的 dmg 文件 python3 gibMacOS.py --latest --dmg只要给了--version或--product,脚本会自动进入非交互模式,非常适合写进脚本里。
只取链接不下载的"清单模式"
有时候你并不想立刻下载,而只是想拿到链接自己处理。两个参数能满足这种场景:--print-urls只打印每个组件的下载地址和大小;--print-json则输出产品的结构化元数据,包括版本、Build、发布时间、包列表和受支持的设备标识。把 JSON 结果喂给别的工具做后续编排,是很自然的用法。
让批量下载自动运转的秘诀
测试多版本环境时,手动一个个点太慢。把命令拼进脚本循环即可:
for v in 10.14 10.15 11 12; do python3 gibMacOS.py -v $v --no-interactive -o ./downloads/$v done配合--device-id VMM-x86_64还能只匹配虚拟机可用的版本,把"下载什么"的决策完全交给脚本,人只需要等待结果。
拿到文件之后的分水岭
下载完成只是上半场,怎么把文件变成可用的安装器,取决于你下载的是哪个时代的产品:
| 版本区间 | 处理方式 |
|---|---|
| Catalina(10.15)及更早 | 在 macOS 上运行 BuildmacOSInstallApp.py,把组件组装成安装 App |
| Big Sur(11)及更新 | 组件中包含InstallAssistant.pkg,双击运行即可把安装 App 放进应用程序文件夹 |
也就是说,从 Big Sur 开始,Apple 改变了分发方式,你不再需要额外的构建步骤。这一点在下载前就值得心里有数,免得对着旧教程白忙一场。
Windows 上也能做启动盘
项目还提供了一个 Windows 专用的 MakeInstall.py(双击 MakeInstall.bat 启动),它需要管理员权限,会自动拉取 dd、7-Zip 和 BOOTICEx64 等辅助工具,把下载好的恢复映像写入 U 盘。需要注意的边界是:这种"网络恢复 USB"的制作方式,对 Catalina 及更早版本有效;Big Sur 之后由于 Apple 调整分发策略,该流程已不再适用。
断点续传与网络自救手册
网络不好是下载大文件最常见的敌人,gibMacOS 也准备了对应的对策:
--savelocal:优先使用本地缓存的sucatalog.plist,避免每次启动都重新拉目录。--newlocal:重新下载目录并覆盖本地缓存,适合怀疑缓存过期时使用。- 下载中断时重跑同一命令,选
R即可续传。
几个高频疑问顺手解答:文件在哪?默认在macOS Downloads目录下,可用--download-dir改位置。怎么验证完整性?Apple 目录自带校验信息,工具下载时会按包逐一核对。需要管理员权限吗?纯下载不需要,写 U 盘或安装系统时才需要。
最后说说合规这件事
项目以 MIT 许可开源,下载行为本身只指向 Apple 官方服务器,不涉及任何破解或绕过机制。但请记住,拿到的系统镜像仍受 Apple 的最终用户许可协议约束,建议仅用于个人合法用途——比如测试、学习或维护自己手头的设备。工具负责把路铺平,怎么走、走去哪,规则始终在你自己手里。
【免费下载链接】gibMacOSPy2/py3 script that can download macOS components direct from Apple项目地址: https://gitcode.com/gh_mirrors/gi/gibMacOS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考