由于注意到许多用户对于为什么 Rootless(无根越狱) 更好而产生疑问,本文就这一问题进行解答,以便(希望)你能够理解为什么 Rootless 是大多数人希望在 iOS 15 及以后版本中推广的未来趋势。

什么是 Rootless(无根越狱)?

Rootless 是指您不对根文件系统进行写入操作,而是将数据写入类似于 /var/jb 这样的位置(最终将成为 /private/preboot/ 内某个目录的符号链接)。

尽管有人可能会主张像 XinaA15 或 rootful(有根越狱) palera1n 这样的工具不对根文件系统进行写入操作(因此应该被归类为 Rootless),但它们实际上并不是为了正确支持 Rootless 而设计的 – 它们只是为了以(不理想的方式)支持现有的 rootful 软件包。

Rootless 难道没有实际缺点吗?

从实际角度来看 – 没有。

请记住,之所以希望过渡到 Rootless,是因为 iOS/iPadOS 15 完全引入了 SSV(Single-Source Versioning)。无论是否实际过渡,或者我们是否坚持使用一些有问题的解决方案来修复整个生态系统,都可以在 iOS 15 及以后版本的 Rootless 上实现 rootful(有根越狱) 上的所有功能。

为什么选择采用 Rootless 而不是修复整个生态系统?

这是一个合理的问题 – 主要问题在于尝试修复整个生态系统已经在许多方面被证明是一个糟糕的方法,我将强调的三个方面是稳定性、可靠性和整体不稳定性。

  • 在稳定性方面

像 XinaA15 这样的工具在某些情况下非常不稳定(是的,人们喜欢推广的那个糟糕的 xina 附加组件导致的结果是完全相同的,这不是任何理智人可以争辩的事情),这在很大程度上要归因于它使用的奇怪补丁。

  • 在可靠性方面

我们有像 palera1n 这样的工具,有时非常麻烦,以至于难以为 rootful 设置,而且有时会出现不明原因的故障(例如,rootful palera1n 有时会破坏 SSV 证书,原因不明)而 Rootless 不会这样做)。

  • 在整体性能方面

如果我们选择“修复一切”,就已经在许多情况下变得非常烦人,对开发人员来说也是如此(看看 Sileo 如何为 XinaA15 支持进行繁琐的补丁(只有在因其他更改而无法完全支持时才会删除),或者 Zebra 之类的东西从未获得 XinaA15 支持)。

此外,如果我们选择“占用大量存储空间”的方法,最终会出现一些问题,例如设备没有足够的存储空间(或低存储空间引发的启动循环等),或其他非常奇怪的问题(如前述的 rootful palera1n 破坏 SSV 证书,以及基本功能的 Fugu15 Rootful 可能导致启动循环等等)。

但我的插件怎么办?

首先,大多数在过去的 4-6 个月内有维护更新的插件都已经支持 Rootless。但即使是那些没有支持的插件,在许多情况下,您也可以使用 Derootifier 等工具手动修复插件以支持 Rootless。而且,即使修复不起作用,相当多的插件已经更新了替代方案,通常效果非常好(有时甚至更好)。

但也要诚实地说 – 我们必须接受这种观点,如果插件的开发人员无法或不愿意更新它们,那么可以放弃一些插件也是可以接受的。当然,这不是一个理想的解决方案,但这些插件中的许多在已经修复的环境中已经存在问题(或者在 15+ 环境中可能存在问题),而且此外,这为其他开发人员开发出与已存在的未更新插件一样出色(甚至更出色)的新插件提供了机会。