首頁蘋果教程→ cydia不見了怎么修復(fù)_cydia刪除了怎么辦

cydia不見了怎么修復(fù)_cydia刪除了怎么辦

作者:瀟瀟來源:本站整理2015/6/24 11:45:09我要評(píng)論

有些果迷不小心刪除了Cydia要如何解決呢,Cydia并不像一般的軟件一樣可以隨意安裝哦,下面瀟瀟就來教你如何恢復(fù)刪除的Cydia吧。

如何恢復(fù)Cydia的關(guān)鍵點(diǎn):是否有afc2服務(wù),能否看到root根目錄!

刪除Cydia后往往會(huì)出現(xiàn)兩類情況,如下:

【情況一:刪除Cydia之后,它所在的環(huán)境還在】
解決方案:將丟失的依賴包和語言包(依賴包和語言包在本帖最下面可下載)放至路徑:/var/root/Media/Cydia/AutoInstall,然后重啟手機(jī)。

【情況二:卸載Cydia的同時(shí)也卸載了Cydia所在的環(huán)境】
解決方案:修復(fù)Cydia環(huán)境,簡單的說就是root目錄有無dkpg。沒有afc2服務(wù),則看不到越獄系統(tǒng)?床坏皆姜z系統(tǒng),那只能選擇刷機(jī)了。

以下為原理:

設(shè)備沒有安裝OPENSSH導(dǎo)致無法修改文件權(quán)限導(dǎo)致deb文件放入后無法運(yùn)行和安裝,使用Cydia的Autoinstall的方式=Cydia內(nèi)直接安裝deb,因?yàn)閍pt的環(huán)境問題導(dǎo)致無法安裝的情況,想通過iFile來修改文件的權(quán)限卻也沒有安裝iFile,所以幾條路都被堵死,只能選擇別的方法!

Cydia安裝后,在 /Library/LaunchDaemons 內(nèi)放置了一個(gè)開機(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 腳本文件)

如下:

#!/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

其中:

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[@]}"

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

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

tar的文件需要解壓的環(huán)境支持不要緊,因?yàn)榛镜膖ar執(zhí)行程序還在,那么我們就需要使用 shell 腳本來調(diào)用命令,但是這個(gè)shell腳本怎么去調(diào)用呢?其實(shí)可以利用/Library/LaunchDaemons 等開機(jī)啟動(dòng)文件夾的plist文件去調(diào)用。

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

怎么利用呢?其實(shí)很簡單,上面我就提到過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)入覆蓋原來的文件即可保持繼承的權(quán)限從而達(dá)到可以執(zhí)行的目的了!

1、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è)以防萬一)使用適合的編輯器修改文件,在

#!/bin/bash

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

下面添加一行命令代碼:

tar -xvf ./Cydia.tar

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

原文件第一行是shell文件的類型注釋,第二行代碼是環(huán)境定義,所以必須添加到它們下面。

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

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

4、重啟設(shè)備

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

6、將備份的原始 startup 文件導(dǎo)入覆蓋還原。

7、cydia就會(huì)再次出現(xiàn)了。

如果你們不知道自己是否卸載和刪除 ,你們可以先進(jìn)入 /var/root/Media/Cydia/AutoInstall 這個(gè)路徑把語言包和依賴包丟進(jìn)去,重啟看是否有cydia出現(xiàn),如果不會(huì)出現(xiàn),肯定是你把cydia卸載了而不是刪除。

0相關(guān)評(píng)論

    第 2 樓 美國美國 跑跑車網(wǎng)友 發(fā)表于: 2016/5/27 14:13:23
    急,聯(lián)系我,報(bào)酬感謝,我不操作15060110191

    支持( 0 ) 蓋樓(回復(fù))

    第 1 樓 美國美國 跑跑車網(wǎng)友 發(fā)表于: 2016/5/7 22:04:39
    /usr/libexec/cydia 目錄都沒有怎么辦。

    支持( 0 ) 蓋樓(回復(fù))

查看所有0條評(píng)論>>

發(fā)表評(píng)論

最新最熱相關(guān)資源

安卓蘋果應(yīng)用推薦