How to Mount Your iPhone as an External Drive in Linux
常用Linux和iPhone的朋友们,或许有个疑问,就是在Linux中该如何挂载我的iPhone设备呢?首先,博主可以肯定的回答是: 基本上,带有桌面环境的Linux,只要接USB取得iPhone信任,就能进行IOS和Linux的数据交互的:
但倘若Linux未自动识别iPhone设备时,我们又该怎么办呢?别着急,博主这就为你解答,顺便做个笔记,以便自己遗忘时回顾。
一、Debian 系的Linux(Ubuntu,Kali):
方法 1 :libimobiledevice ①
首先安装ibimobiledevice,允许Linux操作系统和IOS设备进行交互:
sudo apt -y install libimobiledevice6 libimobiledevice-utils
安装 libimobiledevice 后,尝试连接你的 iPhone。如果你的 iPhone 文件系统在连接时没有自动挂载,您可能需要配对您的 iPhone。打开终端并输入:
idevicepair pair
配对成功后,允许iPhone和Linux建立多个连接:
usbmuxd -f -v
( 一般有GNOME等桌面环境的Linux,在安装有libimobiledevice驱动后就会自动读取iPhone的,
若未自动读取时,可运行该命令来手动建立连接,当然,你的iPhone首先得信任该电脑。)
若运行usbmuxd命令时,出现如下报错:
C:\root> usbmuxd -f -v
[16:05:55.915][3] usbmuxd v1.1.1 starting up
[16:05:55.915][1] Another instance is already running (pid 1990). exiting.
则说明你的iPhone其实已挂载在电脑了,或许是未显示出来,也可能你没留意到,杀掉占用的进程,重启即可:
kill -9 1990 && usbmuxd -f -v
运行了这些命令后仍无法连接到iPhone,则建议改用其他方式来手动连接。
方法 2:安装 iFuse ②
Debian系的Linux软件源中是有iFuse工具的deb包的,直接安装即可:
apt-get install ifuse -y
(或许在你Ubuntu或Kali上有依赖问题。)
首先,进行iPhone和Linux的配对:
idevicepair pair
(若出现配对错误,重启后重新配对,要记得让iPhone信任该Linux。)
配对成功后,手动挂载:
sudo mkdir /media/iphone (也可自定义路径)
ifuse /media/iphone
此时,就可以找到你挂载的iPhone设备了。安全卸载时:
ifuse -u /media/iphone
需特别强调:iFuse挂载的方式,是更适合于无桌面环境纯命令模式的Linux的,
所以,桌面环境的小伙们就不必折腾了!!
二、RedHat 系的Linux(RedHat、CentOS):
在桌面环境下的CentOS中,用USB数据线直连,取得iPhone信任,就可以进行基本的数据交换了。
如果接入数据线,取得信任后,在Centos中仍无反应,则运行:
usbmuxd -f -v
若显示Another instance is already running (pid ****). exiting.
杀掉占用进程重启即可:
kill -9 (占用进程的pid号) && usbmuxd -f -v
个人觉得,唯一美中不足的是,CentOS原带视频解读器对部分视频文件无法读取,所以,博主建议安装SMplayer和VLC软件来解决:
由于yum源中是无SMplayer和VLC等软件包的,所以,我们采用添加第三方软件源的方式安装(安全,请放心使用)。
第 1 步:安装 nux-dextop 软件库:
yum -y install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
第 2 步:安装 adobe 软件库:
yum -y install http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
第 3 步:正式安装视频播放器:
yum install vlc smplayer ffmpeg HandBrake-{gui,cli}
注:HandBrake是视频解码器
yum install libdvdcss gstreamer{,1}-plugins-ugly \
gstreamer-plugins-bad-nonfree gstreamer1-plugins-bad-freeworld
需特别提醒:在某些地区它们的应用或许受法律限制。要是你不熟识你的当地法例,请取得法律意见。
安装完毕即可观看了:
很遗憾,iFuse工具是没有CentOS的rpm包的,只有src.rpm编译安装包,编译安装是相当费劲的,因此,博主就不再介绍CentOS上该如何使用iFuse挂载iPhone了,推荐使用libimobiledevice。
① libimobiledevice:或许有小伙伴不了解libimobiledevice包,那么,简单的介绍一下吧:libimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备。 由于 苹果官方并不支持Linux系统,这事儿Linux大佬能忍?因此就有人逆向出iOS设备与Windows/Mac Host接口的通讯协议,最终成就了横跨三大桌面平台的非官方版本USB接口library,Libimobiledevice 可让你访问设备和内部存储的系统信息。
经常用Linux系统的人一定对libimobiledevice不陌生,但是许多Windows和Mac用户也许就不知道了。 事实上,它同 iTools 一样,都是可以替代iTunes,进行iOS设备管理的工具
就像搞安卓开发的小伙伴们常用的adb调试命令一样,idevice 也有着对IOS的相关调试命令,具体读者可移步了解: 【IOS】libimobiledevice常用命令、 [Libimobiledevice官网]
(https://libimobiledevice.org/) 。
② iFuse:
由此可知,iFuse是利用FUSE文件系统原理,专为IOS设计的,无需越狱就可读取数据的驱动器。