Skip to main content

libimobiledevice

不用 iTunes,在 Linux 上就可以管理 Apple 裝置的工具。

安裝

Ubuntu 安裝的方式比較簡單:

sudo apt-get install usbmuxd libimobiledevice6 libimobiledevice-utils

沒有的話可能要搞個虛擬機,然後 Debian 要安裝的話目前(12,撰文當下)只能手動編譯,而且還要開 Experimental。

AUR 的話就分好幾包,可能要稍微找一下。自己最後裝的結果是這樣:

yay -S idevicerestore-git usbmuxd-git

遇到無法識別到 Apple 裝置的狀況,那會有很大的機率需要從 GitHub 上抓原始碼下來手動編譯
如果真的需要手動編譯,建議直接開個 VM 上 Arch Linux 、Gentoo 、openSUSE Tumbleweed 等任何可以隨時收到最新 libimobiledevice 的發行版,而不是在 Ubuntu、Debian 上手動編譯,那會造成依賴地獄

備份與還原

不要打成 idevicebackup,那只有 iOS 3(含)以前的設備才可以用

備份

idevicebackup2 backup --full ./idevice-backup

將完整備份(包含系統)備份到 ./idevice-backup 資料夾當中。如果不加 --full 似乎只有使用者資料(未測試)。

還原

還原之前要先關閉尋找裝置(Find My iPhone、Find My iPad)功能,否則不會讓你還原

idevicebackup2 -s "device-uid" restore --system --settings ./idevice-backup

./idevice-backup 資料夾內的備份,包含系統與設定,還原到指定的設備(-s)。

如果備份有開加密,記得加 -i讓程式提示輸入密碼。

一旦備份還原成功後,重開機會先跟你說裝置需要升級、提示要重新登入 Apple ID,並要求重新輸入裝置密碼,照著一步一步設定就好,進入系統後 App 會重新下載安裝,不過相關設定都沒有跑掉

安裝 IPSW

idevicerestore -e <IPSW_file_location>

-e 表示要格式化裝置,降級的話一定要清除,升級的話不用打這個。

如果要懶人地直接請 idevicerestore 取得最新版,直接打 -l 它會自己抓取。

如果要在 DFU 環境下安裝,則需要加入 -R 參數 (--recovery-mode)。

建議使用實機進行安裝 IPSW 會比較省事,如果用虛擬機則需要隨時注意 USB 重新定向的相關設定是否有跑掉
如果遇到抓不到設備的狀況,可以先嘗試使用 root 身份運行 idevicerestore

疑難排解

卡在 DFU 模式出不來

你需要 irecovery。

將設備連結到電腦後,輸入:

irecovery -n

沒有任何錯誤的話,裝置應該就會自動重啟到一般模式了。