红联Linux门户
Linux帮助

CentOS6.5上MTP读取Android手机

发布时间:2016-03-25 10:36:13来源:linux网站作者:neoson2015

要达到读取安卓手机内容的目的,我们需要安装go-mtpfs,在这之前,需要先装上一些基本的配件:


1.yum install bison gcc mercurial libusb-devel


2.如果你的电脑没有libusb-1.0的话,在安装过程中会出错,下面是安装的链接:

http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.9/libusb-1.0.9.tar.bz2

下载到一个/tmp之类的文件夹中,解压 tar xjvf libu**  ,然后进入该文件夹,依次执行 ./configure ;make;make install(当然这需要在root的身份下)

安装完之后,还需要配置环境:

export PKG_CONFIG_PATH=/usr/lib/pkgconfig:$PKG_CONFIG_PATH   其中的/usr/lib/不一定是存在pkgconfig的,具体要写pkgconfig存在的位置


3.安装go语言包
属于Feroda的yum install golang并不属于我们,所以还是乖乖下载吧。

一.从Go官网(http://golang.org/)下载安装包,我下的是 go1.3.3 linux/amd64

二.解压安装包到/usr/local/下:

cd /usr/local

# tar xzvf go***

三.设置环境变量PATH

# export PATH=$PATH:/usr/local/go/bin


4.下载go-mtpfs(https://github.com/hanwen/go-mtpfs/)

mkdir /tmp/go
export GOPATH=/tmp/go
go get github.com/hanwen/go-mtpfs
cp /tmp/go/bin/go-mtpfs /usr/bin
chmod 4755 /usr/bin/go-mtpfs


5.配置挂载:

chmod 4755 /bin/fusermount

mkdir  /mnt/phone

chmod 777 /mnt/phone

然后在/usr/bin 中新建两个文件phone-mount.sh 和 phone-unmount.sh 并修改它们的权限为 777.

编辑两个文件的内容:

phone-mount.sh:

#/bin/bash
# Export a suitable path - it is requred by the module,
# but will not be supplied by the udev:
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
# Run the mounter as the user who will access the phone -
# replace USER with your username
su USER -c "/usr/bin/go-mtpfs /mnt/phone &"
# Exiting is important, else udev may hang here forever
exit

phone-unmount.sh:

#/bin/bash
# Export a suitable path
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
# Run the FUSE unmounter
/bin/fusermount -u /mnt/phone

保存后再修改权限为755。

最后到/etc/udev/rules.d 文件夹中,新建一个rules文件,当然,如果你之前已经创建或者文件夹里存在诸如51-android.rules这样子的文件,那就不用新建了:

进入新建的文件夹,编辑:

SUBSYSTEM=="usb", ATTRS{idVendor}=="AAAA", ATTRS{idProduct}=="BBBB", ACTION=="add", RUN+="/usr/bin/phone-mount.sh"
ENV{ID_VENDOR_ID}=="AAAA", ENV{ID_MODEL_ID}=="BBBB", ACTION=="remove", RUN+="/usr/bin/phone-unmount.sh"

其中 AAAA是你手机的供应商识别吗,而BBBB是你的手机产品识别码。你可以用lsusb的指令查看手机的具体ID。


6.写在后面,至此,重启后理论上应该就可以即插即用了,不过我出了点小差错,没反应。

所以我只能直接用指令罗,

su USER -c "/usr/bin/go-mtpfs /mnt/phone &"

其中USER记得替换为你自己的名字,在/mnt/phone里面终于出现我想要的东西。好吧,至少目的达到,不能即插即用的原因有待排查。


本文永久更新地址:http://www.linuxdiyf.com/linux/19230.html