快轉到主要內容

免安裝iTunes,Linux系統透過libimobiledevice連接iPhone傳照片、備份系統、DFU重置系統

Linux系統 Linux好用軟體 Linux IOS Jailbreak ITunes Libimobiledevice
🗓️ 民國112年 癸卯年
✍ 切換正體/簡體字
目錄

Linux系統透過一些開源軟體的幫助就能存取iPhone/iPad的照片,甚至可以免iTunes整機備份、重置系統、給iPhone越獄。

為何不用iTunes呢?iTunes只有Windows與macOS版,Linux系統得用Wine裝,但是用Wine裝iTunes很痛苦的,最新版本就算依賴套件全裝開啟還是黑螢幕。若不想為存取iPhone/iPad檔案開Windows虛擬機,那就使用開源軟體來達成目標吧!不需要用Windows上閉源的iMazing、iTools軟體。

本文提及的軟體,Ivon使用iPhone SE 2016和iPod touch 6測試過,確認可以使用。

另請參見:

1. 安裝iOS相關的套件
#

在Linux電腦安裝以下套件,這些工具都是開源社群針對Apple公司技術的重新實作,他們還有提供macOS和Windows的版本。

  • usbmuxd:用於處理蘋果的USB通訊,並允許iOS裝置以USB分享網路給電腦。另有遠端連線用的 usbfluxd
  • libimobiledevice:用於處理蘋果的USB通訊,還可以用來截圖、取得裝置資訊。
  • ifuse:用於掛載iOS裝置的檔案系統,也可以掛載iOS APP的目錄。
  • idevicerestore:升級重置iOS裝置
  • ideviceinstaller:管理iOS裝置上的APP,也能安裝自己編譯的IPA。

Arch Linux安裝以下套件:

sudo pacman -S usbmuxd libimobiledevice ifuse

yay -S ideviceinstaller idevicerestore

sudo systemctl enable --now usbmuxd

Ubuntu 22.04安裝以下套件:

sudo apt install usbmuxd libimobiledevice-utils ifuse ideviceinstaller idevicerestore

sudo systemctl enable --now usbmuxd

2. idevicepair 與iPhone配對
#

每次iPhone重新連接後皆須執行此步驟。無法連線的話先執行systemctl enable --now usbmuxdsystemctl enable --now avahi-daemon

如果執行指令的時候認不到裝置,請嘗試加上sudo

  1. 將iPhone插上電腦,輸入指令配對,在iPhone上點選「信任此電腦」。
idevicepair pair
  1. 驗證連接是否成功
idevicepair validate

3. ifuse 傳輸iPhone的照片影片
#

此步驟存取的是iPhone內建「照片」APP目錄下的檔案。不建議從電腦移動照片到iPhone相機膠卷。

KDE和GNOME桌面環境應會自動掛載iOS裝置的照片目錄,從檔案管理員點選查看。

  1. 或者可手動建立掛載點:
sudo mkdir/run/media/$USER/iphone
  1. 用ifuse掛載iPhone的目錄(加上-o allow_other引數讓其他使用者存取該目錄)
sudo ifuse -o allow_other /run/media/$USER/iphone
  1. 開啟掛載點下的DCIM/100APPLE目錄,這樣就能將iPhone上的照片與影片傳輸到電腦了。建議用cp -a指令複製過來才能保留照片拍攝時間。

  2. 傳輸完成後,取消掛載:

sudo fusermount -u /run/media/$USER/iphone

不建議從電腦移動照片到iPhone,且iCloud和照片時間會錯亂。但如果移了就得強迫iPhone重新整理相機膠卷。

首先取消掛載,再將iPhone重開機,照片才會出現。

# 移動完照片後刪除快取,之後iPhone的照片APP會閃退
cd /run/media/$USER/iphone/PhotoData
rm Photos*
cd
# 取消掛載,iPhone重開機
sudo fusermount -u /run/media/$USER/iphone

4. ifuse 傳輸iPhone APP的檔案
#

有些APP的目錄可透過電腦iTunes的「檔案共享」界面存取,而Linux要手動依照APP ID掛載。這些iOS APP的目錄可以讓我們放檔案進去,例如將影片放到VLC影片播放器的目錄,而非放到iOS的相簿。

下面以VLC影片播放器APP為例子。

  1. 列出iPhone上安裝的APP列表,例如VLC的APP ID為org.videolan.vlc-ios
ifuse --list-apps
  1. 建立掛載點
sudo mkdir /run/media/$USER/iphone-org.videolan.vlc
  1. 用ifuse掛載VLC的目錄
sudo ifuse  -o allow_other  --documents  org.videolan.vlc-ios   /run/media/$USER/iphone-org.videolan.vlc
  1. 這樣就可以將電腦檔案移動到VLC的目錄了。

  2. 移動完成後同樣要取消掛載:

sudo fusermount -u /run/media/$USER/iphone-org.videolan.vlc

附記:如果你有越獄(jailbreak)且裝置版本在iOS 7以下,可以在用Cydia安裝afc2add,用--root參數掛載iPhone的整個目錄:

ifuse --root /run/media/$USER/iphone

如果掛載iPhone遇到There was an error accessing the mount point: Input/output error,那就換個掛載點試試看。

5. idevicebackup2 整機iPhone備份與還原
#

  1. idevicebackup2指令能直接建立iPhone備份,甚至可以加密,不用透過iTunes。例如整機備份iPhone到Downloads目錄:
idevicebackup2 backup --full ~/Downloads
  1. 要還原則使用此指令:
idevicebackup2 --source "裝置ID" restore --system --settings --reboot "備份檔路徑"

6. idevicerestore DFU模式升級重置iPhone系統
#

idevicerestore工具可以用來重置iPhone系統(也就是DFU模式),也可以降級系統(需提供.shsh檔案)

重置前務必 登出Apple ID與關閉尋找我的iPhone

  1. 用以下指令清除iPhone資料,並重置系統。
idevicerestore --erase --latest
  1. 按照指示選取有Apple簽名的IPSW,它會自動下載IPSW,將系統升級到該機型支援的最新版iOS。

  2. 輸入YES同意刪除資料

  3. 另外,如果你的iOS裝置卡在恢復模式(Recovery Mode),那麼可以用另一款工具 irecovery指令退出:

irecovery -n

7. ideviceinstaller 安裝IPA
#

ideviceinstaller主要是給macOS除錯用的,得自行用Xcode編譯IPA後,透過此指令安裝到iOS裝置上:

ideviceinstaller -i CercubePlus.ipa

不過若單純想安裝第三方APP,還是使用 AltStore安裝較簡單。

參考資料
#

相關文章

好用的免空下載管理器,Linux版JDownloader 2安裝 + Docker版遠端控制教學
Linux系統 Linux好用軟體 Linux Docker
如何在Linux螢幕上即時顯示鍵盤與滑鼠的動作
Linux系統 Linux好用軟體 Linux
Linux版電繪軟體「Krita」安裝 + Wacom繪圖板設定方法
Linux系統 Linux好用軟體 Krita Linux Android

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。