
杏川铭心的折腾日记:一台 iOS 7.0.2 的 iPhone 5
首先这几天比较忙,更新的有点慢,其实这篇已经算存货了,只是一直没上传过图片……今天再不更新的话就变成三天一更了,按我最近折腾的东西的数量来看可能到后面就会忘记自己都干了些啥(T_T)
那么不管你有没有看过我前面两篇折腾 iPhone 5s 的文章,总之不管怎么样,我的其中一台 iPhone 5 到货了!当然有其中一台就有另外一台,至于另外一台是个什么情况……“卖家信用较差”
这台白色的 iPhone 5 运行的是 iOS 7.0.2,没错,是 iOS 7.0.x 的系统,在 iOS 版本历史中我们可以看到 7.0.x 其实是苹果扁平化设计的过渡产物,和后续的系统差异非常大,虽然没有 7.0 Beta 那么大就是了。就算到现在你也可以看到很多人在争论 7.0 和 7.1 哪个设计更好,有一部分人认为 7.0 才是苹果扁平化的完全体,动画精美,Parallax 效果也非常棒;另一部分人认为 7.1 才更加合理,7.0 的动画过于拖沓,作为一个日用的手机系统来说太过了,总之是众说纷纭,谁也不知道谁对。我反正是看见 7.0 那个关机弹窗的第一眼就觉得还是 7.0 的设计更好


当然系统里也不是没有屎山,这个时候的描述文件安装按钮还是拟物化的。


不管怎么说,设计不是我们要关心的东西。越狱才是。
目录
Aquila
如果你没听过这款越狱工具,脑子里还只有 PP 助手之类的东西,那很正常,因为这款工具的 1.0 版本在 2025 年才推出,最新版甚至是前几个月刚刚发布的。这款工具支持 4.3 – 7.1.2 的所有(32 位)设备,我们手上的这台 5 是 7.0.2,该工具可以完美支持。当然 64 位设备是不支持的,事实上 64 位的 iOS 7 越狱非常不稳定,7.0.x 的系统,如果你不是出厂系统,而是 OTA 上去的,有非常大的概率失败;而 7.1.x 的系统,是真的“早晚会出事”,只要你在昏暗的环境下越狱,那么恭喜你,你会喜提一个白苹果,必须在明亮的环境下越狱才能成功。(于是我挑选了一个 8.4.1 系统的 5s,谁能想到 64 位的 8 系统也是个超级大雷(╥﹏╥))
插上手机,双击 aquila 打开,不一会屏幕上就出现了 Installing Jailbreak 的提示;设备重新开机后,桌面上就出现了 Cydia 的图标,同时弹出了存储空间已满的提示。不过所有老系统的越狱都有这个提示,我也就没放在心上。和其他的老系统越狱一样,Aquila 是完美越狱,可随意重启,不会掉越狱。


打开 Cydia,立即就出现了主界面,没有像其他的老系统越狱那样出现正在准备文件系统的提示。剧透一下,这其实是个大雷,很快这颗子弹就会正中我的眉心( ・᷄ὢ・᷅ )
安装各种越狱软件!
AppSync Unified
老牌插件,好在 Aquila 作为一个 2025 年推出的越狱,已经自带了 LukeZGD 源,可以直接安装。


iFile
虽然 Filza 支持的第一个系统版本就是 iOS 7,可惜的是我并没有找到适合 iOS 7 的破解版 Filza,因此我选择了更适合老系统体质的 iFile。iFile 也是个老牌文件管理器了,跟 Filza 差不多,虽然这么说有“爸爸长得像儿子”的嫌疑,毕竟 iFile 是 iOS 6 时代的软件。功能比 Filza 稍差一点,不过鸡精人做了一个补充插件,可以让 iFile 支持直接安装 IPA 文件,这下功能上就没什么明显的缺漏了,除了还是不支持作为 AirDrop 的接收者。


和 Filza 不同的地方在于它并非免费下载,而直接就是在 Cydia Store 上进行收费,而 Cydia Store 早就关门大吉,最终只好选择了从 gs 源里安装盗版。iFile++ 这个补充 IPA 安装功能的插件也在这个源里就是了,干脆一起安装,顺利装上。
MTerminal
MTerminal 是一个优化过的 MobileTerminal,在体积更小的同时添加了屏幕手势,只需要点击屏幕的边缘或者角落就可以触发方向键和各种修饰键。至于为什么不安装号称支持 iOS 7 的 NewTerm 2,我也不知道为什么,总之只要我安装了 NewTerm 2,系统就会炸,然后就进入 Non-Substrate 模式,然后我就需要把 NewTerm 2 卸载掉,重启设备,退出 Non-Substrate 模式……这么多弄几次我就放弃了,应该就只是我的系统版本太低,有一些奇怪的 Bug 导致的。
Coolbooter
Coolbooter 是一个适用于 32 位设备的双系统工具,用它可以安装任意你想用的系统版本,而无需担心 SHSH 之类的问题,也不会影响当前系统。搭配 Coolbooter Untether 甚至可以做到类似于完美降级的效果,开机自动进入第二系统。当然这也就是为什么购物网站上搜索 iPhone 5 全是烂大街的“8+6 双系统!!!开机自动进入 6 系统!!!装满游戏!!!”



至于为什么 iPhone 4s 没有烂大街的双系统,因为 iPhone 4s 的 iBoot 版本在 6.1.3 和 8.4.1 的时候都升级了,于是 6.1.3 的 OTA 签名也永久不会关闭,既然能直接降回 6.1.3,还费劲折腾双系统干什么


iCleaner Pro
同样,iOS 7 因为系统十分老,很少有人做破解版,最终我还是在 gs 源里找到了 3.8.0 的破解版,顺利安装上。
然后我发现了一件不得了的事情……
我的系统分区,满了,100%,一点都不剩。一开始以为是 iCleaner 的 Bug,打开 Cydia 之后彻底死心了。


启用 Stashing
还记得刚刚我说,第一次打开 Cydia,没有看见正在准备文件系统的界面吗?在经过和 Lgeacy Jailbreak Discord 的小伙伴激情探讨后,我终于知道发生了什么事情。
在 iOS 10.3 以前,iOS 一直采用的是 HFS+ 文件系统。这个文件系统很传统,类似 NTFS,分区就是分区,是固定大小的,为了能够在升级系统的时候不影响用户数据,苹果把 iOS 分成了两个部分:系统分区(/)和数据分区(/private/var)。如果你曾把老系统的手机连接上爱思助手,记得里面会同时显示一个系统区和一个数据区的占用,那你的印象没错,那时确实是两个分区。
可是系统区一般都很小,Cydia/APT 的体系又导致了安装的内容几乎全部都要放到这个分区里面,这个时候小小的系统分区就显得十分捉襟见肘了。iOS 10.3 之后的系统就没有这个问题了,因为 APFS 支持容器,虽然在使用上类似分区,但在磁盘上并没有真正的分区结构,两个容器都可以各自使用完整个硬盘的大小。
为了解决这个问题,Cydia 选择的方案,叫做 Stashing:通过把几个大小特别庞大的文件夹,包括应用文件夹、主题文件夹、铃声文件夹等通过符号链接的形式,放入 /var/stash 里,也就是数据分区里的一个文件夹,来减轻系统分区的压力,从而能够装入更多的插件。Cydia 刚刚打开的时候之所以会显示“正在准备文件系统”,正是因为 Cydia 在把各种文件移到 /var/stash 里面。
但 Stashing 不是没有风险的,首先它并不是说只移动越狱文件,如果是只移动越狱文件的话那和现在的 rootless 里面那个 /var/jb 就没什么区别了;当时的 Telesphoreo,主要任务是把 iPhone 变成一个小型的 Unix 工作站,保留 FHS 对这帮黑客来说比命都重要,因此 Stashing 的过程实际移动的是固定的几个文件夹,这些文件夹里是包括原生 iOS 的系统文件的!也就是说,在极端情况下,Stashing 可能会导致你所有的桌面图标全部消失。这也是为什么 iOS 10.0-10.2.x 的用户会非常痛苦,因为他们不是完美越狱,使用 Stashing 的话,在重启进入非越狱状态时几乎一定会出现问题。
为了应对这个风险,Aquila 选择了把 Stashing 与否的选择交给用户,在越狱时,Aquila 会默认创建 /.cydia_no_stash 这个文件,告诉 Cydia 禁用 Stashing,把所有文件都保留在原来的地方。这么做虽然安全,但造成的另一个后果就是像我一样,在安装了非常多的插件之后,系统分区爆满。
这也解释了为什么 iOS 一直提示存储空间几乎已满,因为满的并非数据分区,而是系统分区;为什么刚刚越狱完一般都会弹出这个警告,因为 Stashing 的操作直到你打开 Cydia 前都不会完成。
把 /.cydia_no_stash 删除后,打开 Cydia,映入眼帘的,是熟悉的“正在准备文件系统”;重启之后,系统分区的占用一下子就恢复了正常。


安装 xz-utils
和我那台 iPhone 5s 一样,这台 iPhone 5 也出现了 HYI 源里的插件装不上的问题。好在这次我们有经验了:虽然 Cydia 里的报错信息不一样,写的是 /usr/libexec/cydia/cydo 出错,但只要用 iFile 安装 DEB,看到详细的日志后,错误就原形毕露了:一模一样的缺少 xz 导致的问题。
在添加 repo.bingner.com 安装 xz-util 后,安装插件再也没有出错过。
终于,在经历了几番波折之后,这台 iPhone 5 的越狱环境进入了一个比较稳定的状态。至于我后面安装了什么插件,我是怎么折腾这台 iPhone 5 的,那要等到下一篇文章了(*¯︶¯*)
