热搜:

iOS8越狱后Cydia无法安装插件 附修复方法

2015-05-04 17:10:51文章来源:点点软件园热度:0

更多

  今天遇到一台iOS8越狱的机器,Cydia 无法安装任何插件,仔细询问原来是因为刚越狱完成后在没有运行Cydia搬移系统文件的情况下执行了“还原并抹除”导致越狱环境的 APT 安装管理环境出现问题导致,按常理其实重新覆盖越狱即可,但8系的设备在越狱后是不可以再次越狱的,只能使用非常规的办法来解决了!更多最新IT资讯尽在金顺软件园http://www.jinshun168.com/

8745632-3.jpg

  设备处理的关键点:有afc2服务,能看到root根目录


  问题处理的难点:首先,设备没有安装OPENSSH服务导致无法修改直接放入文件的权限导致直接将缺失的文件放入后无法运行,使用Cydia的Autoinstall的方式安装同样和在Cydia内直接安装deb因为apt的环境问题导致无法安装的情况,想通过iFile来修改文件的权限却也没有安装iFile,所以几条路都被堵死,只能另辟蹊径!!!


  问题的原因及部分系统原理


  1,文件权限:


  在AFC2服务启动时,第三方资源管理器是可以看到设备的root根目录,但是如果是将电脑里地文件“添加”进设备的,此文件默认的权限为:wheel:root-0644,也就是root用户的wheel组,运行的权限是当前用户可读写,组权限只读,但是都没有“执行(运行)”的权限,所以直接丢进去的可执行文件(包括权限需求高的文件)是无法执行和打开的


  但是,afc2add 有一个特性就是可以“继承”权限,也就是说,如果原来设备里面的文件时什么权限,那么你从电脑里面放入相同的文件去覆盖它时,原有的权限不变!不一定会是新加的默认 wheel:root-0644 权限


  2,ZIP,TAR 压缩文件的特性,zip 文件是一种压缩文件的格式,我们在安装iFile的时候会附带安装处理 zip 的依赖(有些有深度洁癖的人会很不高兴认为是垃圾,其实不是开机调用常驻内存的依赖只是以文件的形式放置于系统内,在需要它是直接调用才会打开的);而 tar 压缩文件的支持在越狱时就已经预置了的,而且deb的安装包实际上用7-zip打开会发现其实就是tar文件+包安装信息,它们有个共同点就是在iOS系统内解压时不会改变压缩时的原始权限!


  3,iOS的启动调用


  iOS系统在开机时通常会调用 /Library/LaunchDaemons (不常用的 /Library/LaunchAgents);/System/Library/LaunchDaemons (这里一般是放的系统服务);如果安装了 Cydia Substrate ,那么启动时也会通过plist定义和调用调用加载 /Library/MobileSubstrate/DynamicLibraries 里面的 dylib 程序


  以上可以看出影响设备启动的主要是这3个目录,前2(3)者属于系统级的开机调用,而Cydia Substrate 的只有在安装 Cydia Substrate 的环境后才能生效,且在开机时按住“音量+”键可以全部跳过基于它的插件调用,但是系统级的调用是无法跳过的!所以开机白苹果如果是基于CS环境的插件问题可以按住“音量+”跳过,但是如果是系统级开机调用的程序出现问题卡死的就麻烦了!


  4,Cydia 开机自动安装插件以及DEB安装的常识


  Cydia安装后,在 /Library/LaunchDaemons 内防止了一个开机调用脚本的plist文件:com.saurik.Cydia.Startup.plist,控制了系统在启动时会运行/bin下的 bash 执行程序和 /usr/libexec/cydia 下的 startup (这个startup实际上是一个赋予了可执行权限的 shell 脚本文件)

以上,就是金顺软件园小编给大家带来的iOS8越狱后Cydia无法安装插件 附修复方法全部内容,希望对大家有所帮助!

上一篇Win10系统开始菜单设置透明化开关技巧下一篇如何在win10中切换屏幕键盘与触摸键盘
编辑:小沐