六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ios8越獄后cydia無(wú)法安裝插件處理方法

[摘要]ios8越獄后Cydia無(wú)法安裝任何插件,仔細(xì)詢(xún)問(wèn)原來(lái)是因?yàn)閯傇姜z完成后在沒(méi)有運(yùn)行Cydia搬移系統(tǒng)文件的情況下執(zhí)行了“還原并抹除”導(dǎo)致越獄環(huán)境的APT安裝管...

 

       ios8越獄后Cydia無(wú)法安裝任何插件,仔細(xì)詢(xún)問(wèn)原來(lái)是因?yàn)閯傇姜z完成后在沒(méi)有運(yùn)行Cydia搬移系統(tǒng)文件的情況下執(zhí)行了“還原并抹除”導(dǎo)致越獄環(huán)境的APT安裝管理環(huán)境出現(xiàn)問(wèn)題導(dǎo)致,按常理其實(shí)重新覆蓋越獄即可,但ios8的設(shè)備在越獄后是不可以再次越獄的,只能使用非常規(guī)的辦法來(lái)解決了!

ios8越獄后cydia無(wú)法安裝插件解決方法

  設(shè)備處理的關(guān)鍵點(diǎn):有afc2服務(wù),能看到root根目錄

  問(wèn)題處理的難點(diǎn):首先,設(shè)備沒(méi)有安裝OPENSSH服務(wù)導(dǎo)致無(wú)法修改直接放入文件的權(quán)限導(dǎo)致直接將缺失的文件放入后無(wú)法運(yùn)行,使用Cydia的Autoinstall的方式安裝同樣和在Cydia內(nèi)直接安裝deb因?yàn)閍pt的環(huán)境問(wèn)題導(dǎo)致無(wú)法安裝的情況,想通過(guò)iFile來(lái)修改文件的權(quán)限卻也沒(méi)有安裝iFile,所以幾條路都被堵死,只能另辟蹊徑!

  問(wèn)題的原因及部分系統(tǒng)原理

  1,文件權(quán)限:

  在AFC2服務(wù)啟動(dòng)時(shí),第三方資源管理器是可以看到設(shè)備的root根目錄,但是如果是將電腦里地文件“添加”進(jìn)設(shè)備的,此文件默認(rèn)的權(quán)限為:wheel:root-0644,也就是root用戶的wheel組,運(yùn)行的權(quán)限是當(dāng)前用戶可讀寫(xiě),組權(quán)限只讀,但是都沒(méi)有“執(zhí)行(運(yùn)行)”的權(quán)限,所以直接丟進(jìn)去的可執(zhí)行文件(包括權(quán)限需求高的文件)是無(wú)法執(zhí)行和打開(kāi)的

  但是,afc2add 有一個(gè)特性就是可以“繼承”權(quán)限,也就是說(shuō),如果原來(lái)設(shè)備里面的文件時(shí)什么權(quán)限,那么你從電腦里面放入相同的文件去覆蓋它時(shí),原有的權(quán)限不變!不一定會(huì)是新加的默認(rèn) wheel:root-0644 權(quán)限

  2,ZIP,TAR 壓縮文件的特性,zip 文件是一種壓縮文件的格式,我們?cè)诎惭biFile的時(shí)候會(huì)附帶安裝處理 zip 的依賴(lài)(有些有深度潔癖的人會(huì)很不高興認(rèn)為是垃圾,其實(shí)不是開(kāi)機(jī)調(diào)用常駐內(nèi)存的依賴(lài)只是以文件的形式放置于系統(tǒng)內(nèi),在需要它是直接調(diào)用才會(huì)打開(kāi)的);而 tar 壓縮文件的支持在越獄時(shí)就已經(jīng)預(yù)置了的,而且deb的安裝包實(shí)際上用7-zip打開(kāi)會(huì)發(fā)現(xiàn)其實(shí)就是tar文件+包安裝信息,它們有個(gè)共同點(diǎn)就是在iOS系統(tǒng)內(nèi)解壓時(shí)不會(huì)改變壓縮時(shí)的原始權(quán)限!

  3,iOS的啟動(dòng)調(diào)用

  iOS系統(tǒng)在開(kāi)機(jī)時(shí)通常會(huì)調(diào)用 /Library/LaunchDaemons (不常用的 /Library/LaunchAgents);/System/Library/LaunchDaemons (這里一般是放的系統(tǒng)服務(wù));如果安裝了 Cydia Substrate ,那么啟動(dòng)時(shí)也會(huì)通過(guò)plist定義和調(diào)用調(diào)用加載 /Library/MobileSubstrate/DynamicLibraries 里面的 dylib 程序

  以上可以看出影響設(shè)備啟動(dòng)的主要是這3個(gè)目錄,前2(3)者屬于系統(tǒng)級(jí)的開(kāi)機(jī)調(diào)用,而Cydia Substrate 的只有在安裝 Cydia Substrate 的環(huán)境后才能生效,且在開(kāi)機(jī)時(shí)按住“音量+”鍵可以全部跳過(guò)基于它的插件調(diào)用,但是系統(tǒng)級(jí)的調(diào)用是無(wú)法跳過(guò)的!所以開(kāi)機(jī)白蘋(píng)果如果是基于CS環(huán)境的插件問(wèn)題可以按住“音量+”跳過(guò),但是如果是系統(tǒng)級(jí)開(kāi)機(jī)調(diào)用的程序出現(xiàn)問(wèn)題卡死的就麻煩了!

  4,Cydia 開(kāi)機(jī)自動(dòng)安裝插件以及DEB安裝的常識(shí)

  Cydia安裝后,在 /Library/LaunchDaemons 內(nèi)防止了一個(gè)開(kāi)機(jī)調(diào)用腳本的plist文件:com.saurik.Cydia.Startup.plist,控制了系統(tǒng)在啟動(dòng)時(shí)會(huì)運(yùn)行/bin下的 bash 執(zhí)行程序和 /usr/libexec/cydia 下的 startup (這個(gè)startup實(shí)際上是一個(gè)賦予了可執(zhí)行權(quán)限的 shell 腳本文件)

  內(nèi)容如下:

  #!/bin/bash

  export PATH=$PATH:/usr/sbin:/usr/bin:/sbin:/bin

  if [[ ! -e /var/lib/cydia/firmware.ver ]]; then

  cache=

  fi

  /usr/libexec/cydia/firmware.sh

  debs=(/var/root/Media/Cydia/AutoInstall/*.deb)

  if [[ ${#debs[@]} -ne 0 && -f ${debs[0]} ]]; then

  dpkg -i "${debs[@]}" 2>/tmp/dpkg.log 1>&2

  rm -f "${debs[@]}"

  cache=

  killall -9 Lowtide AppleTV

  fi

  if [[ ${cache+@} ]]; then

  sbdidlaunch

  su -c uicache mobile

  fi

  iOS8越獄

  debs=(/var/root/Media/Cydia/AutoInstall/*.deb)

  if [[ ${#debs[@]} -ne 0 && -f ${debs[0]} ]]; then

  dpkg -i "${debs[@]}" 2>/tmp/dpkg.log 1>&2

  rm -f "${debs[@]}"

  這段就是指定了在開(kāi)機(jī)時(shí)檢查 /var/root/Media/Cydia/AutoInstall 目錄下是否有的包文件,如果有救執(zhí)行 dpkg -i 的安裝命令,而deb的安裝則依賴(lài)于dpkg的環(huán)境

  5,還原抹除

  iOS的還原并抹除 主要是刪除 /var 目錄下的不是在iOS原生系統(tǒng)白名單以外的全部文件(包括文件夾),

  為什么說(shuō)越獄后的機(jī)器不要還原抹除的主要原因就是越獄后在第一次運(yùn)行Cydia 時(shí),Cydia為了擴(kuò)大系統(tǒng)區(qū)的可用空間,會(huì)將一部分的系統(tǒng)文件搬移到

  /var/stash (其實(shí)在Cydia新版,這個(gè)目錄也是一個(gè)硬鏈接,stash 真正的目錄其實(shí)是在 /private/var/db/stash )那么在抹除時(shí)會(huì)將 /private/var/db/stash 文件夾刪除導(dǎo)致系統(tǒng)文件缺失而白蘋(píng)果

  但是我今天遇到的和有些人的疑問(wèn)一樣,那就是我沒(méi)有運(yùn)行過(guò)Cydia抹除可以吧,其實(shí)也是不行的(至少在沒(méi)處理之前是不能直接抹除的),因?yàn)槌跏荚姜z后預(yù)置的基礎(chǔ)性德 apt 的程序包安裝管理會(huì)使用 /var/lib 目錄以及此目錄里面的目錄,這個(gè)目錄里面也放置的全部安裝的程序包插件包的安裝卸載信息,且目錄的權(quán)限都具有可執(zhí)行的權(quán)限,如果抹除時(shí)會(huì)將此文件夾刪除,在次文件夾刪除后 Cydia 在安裝程序時(shí)會(huì)調(diào)用apt來(lái)安裝管理下載的deb程序包,此時(shí)因?yàn)闆](méi)有 /var/lib 目錄來(lái)存放安裝信息導(dǎo)致安裝失敗,而直接通過(guò)利用 afc2 服務(wù)的第三方助手工具創(chuàng)建或?qū)氲哪夸浻謺?huì)因?yàn)闄?quán)限的問(wèn)題無(wú)法寫(xiě)入信息文件一樣會(huì)失敗!

  問(wèn)題處理的思路

  一般來(lái)講如果安裝了OPENSSH服務(wù)且能夠啟動(dòng)的情況下,基本問(wèn)題都能夠處理好(可以執(zhí)行終端命令,修改權(quán)限等等),而如果有iFile也可以解決部分問(wèn)題,但是如果都沒(méi)有就非常麻煩了,等于自己把自己的退路斷了!

  今天遇到的就是既沒(méi)有openssh服務(wù),也沒(méi)有安裝 iFile ;那么該怎么辦呢?其實(shí)我上面寫(xiě)的原理就是需要利用的原理!

  首先這個(gè)問(wèn)題主要是修復(fù)越獄預(yù)置的apt環(huán)境,那么就需要越獄程序在越獄時(shí)上傳使用的 Cydia.tar 文件,需要用它將完整的文件解壓恢復(fù)到iOS系統(tǒng)里面

  tar的文件需要解壓的環(huán)境支持不要緊,因?yàn)榛镜膖ar執(zhí)行程序還在,只不過(guò)怎樣去讓系統(tǒng)執(zhí)行解壓命令來(lái)解壓上傳的tar文件呢?

  那么我們就需要使用 shell 腳本來(lái)調(diào)用命令,但是這個(gè)shell腳本怎么去調(diào)用呢?其實(shí)可以利用/Library/LaunchDaemons 等開(kāi)機(jī)啟動(dòng)文件夾的plist文件去調(diào)用.

  但是如果是自己直接寫(xiě)的調(diào)用shell腳本在傳入設(shè)備后會(huì)因?yàn)闄?quán)限問(wèn)題根本無(wú)法運(yùn)行,怎么辦?上面說(shuō)過(guò)關(guān)于afc2add服務(wù)的權(quán)限繼承特性!我們可以利用它!

  怎么利用呢?其實(shí)很簡(jiǎn)單,上面我就提到過(guò)Cydia就會(huì)在啟動(dòng)時(shí)利用/Library/LaunchDaemons 里面的 com.saurik.Cydia.Startup.plist 文件去調(diào)用 /usr/libexec/cydia 目錄下的 startup 這個(gè)shell 腳本,我們可以直接將 startup 文件導(dǎo)出放到本地然后修改這個(gè)腳本,將需要的命令添加進(jìn)去后重新導(dǎo)入覆蓋原來(lái)的文件即可保持繼承的權(quán)限從而達(dá)到可以執(zhí)行的目的了!

  處理流程:

  1,找到越獄系統(tǒng)使用的支持本iOS版本的完整 Cydia.tar 壓縮包(在源里面的 Cydia安裝包僅是Cydia,不含完整的越獄環(huán)境目錄結(jié)構(gòu)),因?yàn)榇藟嚎s包為整個(gè)系統(tǒng)目錄結(jié)構(gòu),那么在解壓時(shí)一般就是接觸的根目錄,所以我將 Cydia.tar 使用助手工具將其導(dǎo)入放置到root根目錄備用.

  2,將 /usr/libexec/cydia 目錄下的 startup 文件導(dǎo)出,在備份一個(gè)原始的文件后(不管干什么最好備份一個(gè)以防萬(wàn)一)使用適合的編輯器修改文件,在

  #!/bin/bash

  export PATH=$PATH:/usr/sbin:/usr/bin:/sbin:/bin

  下面添加一行命令代碼:

  tar -xvf ./Cydia.tar

  (這個(gè)就是最常用最簡(jiǎn)單的一個(gè)解壓的終端命令)

  原文件第一行是shell文件的類(lèi)型注釋?zhuān)诙写a是環(huán)境定義,所以必須添加到它們下面

  (關(guān)于修改使用的編輯器需要特別注意就是必須要保證編輯和保存后的文件格式編碼不能變,否則亂碼不能執(zhí)行,建議使用UE或者winhex 等)

  3,將修改好的 startup 文件導(dǎo)入原始位置,提示覆蓋時(shí)選擇“是”去覆蓋來(lái)保持繼承權(quán)限

  4,重啟設(shè)備

  5,系統(tǒng)重啟后悔自動(dòng)解壓剛上傳的 Cydia.tar 來(lái)重建結(jié)構(gòu),完成后apt環(huán)境即可修復(fù),可以在Cydia里面直接安裝插件了!

  6,將備份的原始 startup 文件導(dǎo)入覆蓋還原(其實(shí)我這次的修復(fù)不用還原,因?yàn)樵诮鈮?Cydia.tar 時(shí)就已經(jīng)還原為標(biāo)準(zhǔn)的文件了,哈哈)

  7,刪除根目錄的已經(jīng)完成光榮使命的 Cydia.tar 壓縮包文件清掃戰(zhàn)場(chǎng)。

  更多地引申意義

  以上是整個(gè)處理過(guò)程的原理和流程,其實(shí)這個(gè)方法可以利用來(lái)解決很多的問(wèn)題,比如可以在安裝iFile時(shí)無(wú)法安裝依賴(lài)時(shí)使用7-zip 將iFile的deb安裝包的data.tar文件提取后按上面的辦法來(lái)安裝(只不過(guò)如果依賴(lài)沒(méi)有,那么iFile在處理文件需要調(diào)用依賴(lài)程序時(shí)會(huì)失敗,如如果沒(méi)有安裝依賴(lài)的zip,使用iFile解壓zip文件時(shí)肯定會(huì)出錯(cuò)),

  希望大家在看這篇教程時(shí)能夠用腦去看,搞清楚原理,合理利用并更多地引申到其他的問(wèn)題的處理,這樣就會(huì)達(dá)到事半功倍的效果!

 

ios8.3正式版更新升級(jí)后無(wú)法使用touch id解決辦法

ios8.3正式版刷機(jī)圖文教程 蘋(píng)果ios8.3正式版刷機(jī)方法


手機(jī)APP這些安裝在手機(jī)里面豐富多彩的軟件,讓我們的生活更加方便和精彩。游戲、社交、購(gòu)物、視頻、音樂(lè)、學(xué)習(xí)......我們可以隨時(shí)隨地,隨處進(jìn)行。




主站蜘蛛池模板: 色老久久精品偷偷鲁一区 | 日韩在线观看精品 | 天天看片天天爽 | 欧美性群另类大交人妖 | 婷婷六月激情 | 天堂中文资源在线地址 | 亚洲五月婷婷 | 日韩欧美视频在线一区二区 | 日本人的一区二区三区四区 | 欧美视频福利 | 午夜小视频在线播放 | 亚洲小视频 | 日韩视频免费 | 天天干天天综合 | 亚洲综合久 | 视频二区国产 | 欧美视频一二三区 | 日日摸夜夜添夜夜添毛片 | 色偷偷尼玛图亚洲综合 | 亚洲成av人片在线观看天堂无码 | 午夜欧美成人久久久久久 | 色婷婷中文字幕在线一区天堂 | 四虎影视国产精品永久在线 | 青青草原1769久久免费播放 | 亚洲视频在线观看一区 | 青草国内精品视频在线观看 | 亚洲日韩中文字幕在线播放 | 伊人网网站 | 婷婷春色 | 天天插天天爱 | 图片区 日韩 欧美 亚洲 | 亚洲欧美大片 | 午夜欧美视频 | 日本极品另类 | 亚洲欧美综合色区小说 | 日韩中文字幕视频在线 | 四虎永久在线 | 日日摸夜夜添欧美一区 | 三级在线视频 | 中文字幕女教师julia视频 | 日韩a级片在线观看 |