完美解決Cydia跳出Could not open file /var/lib/dpkg/status紅字錯誤

cydia-dpkg-status-error-cover

最近有少數用戶發現,開啟Cydia就直接跳出資料庫(Data)出錯,顯示「could not open file /var/lib/dpkg/status – open (2 no such file or directory)…」紅字或「flAbsPath on /var/lib/dpkg/status failed -realpath (2 no such file or directory)」黃字錯誤,根據上面看來是/var/lib整個資料夾都消失,造成這樣問題用戶可在有安裝OpenSSH前提下還能透過底下這方法救回。

錯誤現象

  • Cydia開啟就顯示「could not open file /var/lib/dpkg/status – open (2 no such file or directory)…」紅字錯誤
  • Cydia開啟就顯示「flAbsPath on /var/lib/dpkg/status failed -realpath (2 no such file or directory)」黃字錯誤
  • 軟體源內所有來源內的套件全變成空白
  • 變更內容全空白
  • 已安裝內全空白
  • 搜尋不到任何插件

cydia-dpkg-status-error-cover-13

 

分析原因

會造成這樣問題,最主要是越獄用戶自己去點到設定」>「一般」>「重置」>「清除所有內容和設定」所引起,先前就一直不段的在提醒越獄用戶請不要點到這項越獄禁忌功能,避免導致iOS造成白蘋果,不過新版iOS9.2-9.3.3 以後的非完美越獄是不會導致白蘋果,因為系統分區資料並沒有搬移,導致還是可正常進入系統,不過這個小動作就是會造成越獄檔案破壞,造成Cydia的資料夾/var/lib 和 /var/log/apt整個被刪除,開啟時自然就無法找到該資料夾檔案,造成出錯問題發生。

 

AFC2也失靈?

先前有裝Apple File Conduit “2″為何沒有反應?由於AFC2也是要依賴Cydia Substrate,而且新版本Cydia Substrate也都是搬移至用戶區中,在點下清除所有內容和設定時,依賴Cydia Substrate也同時被清除,就會導致任何插件連同AFC2也一併全失靈,不過OpenSSH就不需要依賴Cydia Substrate執行,也是直接安裝在系統文件區域中也不會遭受到清除問題。

如果是 iOS 11~iOS 11.1.2越獄用戶,建議可以看另一篇解決

如果是iOS 10~iOS 10.2越獄用戶,建議可看另一篇解決方法

完美解決方法(有OpenSSH)

如果您先前有安裝好Open SSH,如果是iOS 11越獄用戶都會內建OpenSSH,這是最後一道解救辦法,可以再將「/var/lib」資料夾覆蓋回去,後面就來教大家如何解決此問題。如果沒裝OpenSSH用戶,請繼續下拉看教學。

Step 1. ▼ 安裝iFunbox後點透過USB接上設備,點選「快速工具箱」>「SSH 終端機」。

cydia-dpkg-status-error-cover-1

Step 2. ▼ 看目前透過USB通道的IP位置與連接埠。

cydia-dpkg-status-error-cover-2

Step 3. ▼ 下載後請按右鍵解壓縮出來,開啟winscp.exe,輸入主機IP位置、連接埠、使用者(root)、密碼(預設為alpine),如果SHSH密碼有修改過請自行更改輸入,最後點下「儲存」。

cydia-dpkg-status-error-cover-4

Step 4. ▼ 點選「確認」即可。

cydia-dpkg-status-error-cover-5

Step 5. ▼ 就可直接「登入」,主要這樣做是為了下次可以直接登入,就不需要再重複打一次。

cydia-dpkg-status-error-cover-6

Step 6. ▼ 再登入之時,會跳出加入主機金鑰快取警告,點選「是」繼續。

cydia-dpkg-status-error-cover-7

var.lib.apt.tar :解救包下載

Step 7. ▼ 就能夠順利透過電腦連入設備內,右側區塊就是越獄資料夾檔案,請下載上面提供的「var.lib.apt.tar」壓縮檔案,並直接拉入至越獄資料夾內。

cydia-dpkg-status-error-cover-8

Step 8. ▼ 在winscp內點選「var.lib.apt-mrmad.com.tw.tar」右鍵,選擇「File Custom Commands」>「輸入…」。

cydia-dpkg-status-error-cover-9

Step 9. ▼ 自訂命令中請打入底下的指令,怕打錯建議直接複製、貼上,避免輸入錯誤,並將「在終端機顯示結果」勾選起來,最後點下「確定」即可。

 tar -xpvf ! -C /

cydia-dpkg-status-error-cover-10

Step 10. ▼ 會跳出你想要開啟分開的shell期間嗎?點選「確定」繼續。

cydia-dpkg-status-error-cover-11

Step 11. ▼ 最後會顯示終端機控制台視窗,點「關閉」即可。

cydia-dpkg-status-error-cover-12

最後將Cydia完整關閉,點HOME鍵兩下將Cydia關閉,重新開啟Cydia是否就能正常運作了呢?

 

完美解決方法(無OpenSSH)

如果你是沒有裝OpenSSH用戶也不用太擔心,還是可透過底下這些方法來修復Cydia。

Step 1.  開啟 iFunbox 軟體,並透過連上設備。

Step 2.  將修復檔 Cydia-fix 解壓開來,會看見「lib資料夾」與 MobileTerminal.ipa 檔案。

Step 3.   將「lib資料夾」拉入 iFunbox 內的 iBooks 目錄內。

Step 4.  下載 Cydia Impactor 工具(由Cydia 之父Saruik推出製作),開啟 Cydia Impactor 將 MobileTerminal.ipa 檔案拉入即可安裝,操作方法與裝越獄工具相同方式。(教學

Step 5.  最後別忘記要到「設定」>「一般」>「裝置管理」內,點選認證(email顯示可能會不同)進入,會跳出詢問窗口點擊「信任」,桌面上的 MobileTerminal App才能正常運作。

Step 6.  開啟 MobileTerminal App ,並輸入底下的指令碼

  1. 先輸入

     su
    
  2. 會要求輸入 root 密碼,如果沒有改過預設就是底下這密碼

     alpine
  3. 最後會顯示 “/var/mobile root#” 表示就是進入 root 模式中,並繼續輸入底下兩行指令,即可將 Cydia 修復完成

     cp -R /var/mobile/Media/Books/lib /var
    mkdir /var/log/apt

最後將Cydia完整關閉,點HOME鍵兩下將Cydia關閉,重新開啟Cydia是否就能正常運作了呢?

喜歡這篇文章教學,後續想了解更多Apple資訊、iPhone、Mac、3C隱藏技巧,歡迎追蹤 瘋先生FB粉絲團瘋先生LINE@訂閱瘋先生Google新聞TelegramInstagram以及 訂閱YouTube頻道,將會有更多非常實用的技巧教學分享給大家。

留言功能已關閉。

返回頂端
Share to...