Google至今没有发行Linux版本的Google Drive应用,我有一个G Suite 帐号,其实在写「网站数据备份七牛云存储实现」前我就想利用Google Drive这么大的空间来备份文件了,只不过当时觉得七牛实现也很简单方便。
最近看到了google-drive-ocamlfuse,觉得可以再倒腾一下。
写在前面:
- 还是自己记录性的博文,自己接触了东西容易忘记 ,不是教程,所以有的步骤不是很详尽
- 如果宿主机不能访问Google的话,本篇理所当然也不适用
google-drive-ocamlfuse机翻一下:
是由OCaml编写的Google Drive支持的基于FUSE的文件系统。它可让您在Linux上安装挂载Google Drive。
该项目托管在github上,您可以在这里找到最新的开发版本。
特征
- 对普通文件和文件夹的完全读/写访问权限
- Google文档,表格和幻灯片的只读访问权限(导出为可配置的格式)
- 多帐户支持
- 重复的文件处理
- 访问垃圾(
.Trash目录)
- Unix的权限和所有权
- 符号链接
- 流传输时预读缓冲区
开始使用之前
安装
- 准备
新建fuse组(如果不存在)并将用户加入fuse组
sudo groupadd fuse
sudo adduser user fuse
注销后重新登录,使更改生效。
支持Ubuntu 14.04,16.04,17.04和17.10(i386,amd64,armhf和arm64)
PPA repository
1
2
3
|
sudo add-apt-repository ppa:alessandro-strada/ppa
sudo apt-get update
sudo apt-get install google-drive-ocamlfuse
|
PPA repository (beta versions)
1
2
3
|
sudo add-apt-repository ppa:alessandro-strada/google-drive-ocamlfuse-beta
sudo apt-get update
sudo apt-get install google-drive-ocamlfuse
|
1.安装OPAM 以Ubuntu为例:
其他系统移步——>(http://opam.ocaml.org/doc/Install.html )
2.运行以及更新OPAM:
1
2
|
opam init
opam update
|
3.安装依赖项
1
2
|
opam install depext
opam depext google-drive-ocamlfuse
|
4.安装google-drive-ocamlfuse
1
|
opam install google-drive-ocamlfuse
|
有关其他安装选项,请参阅wiki
开始使用
申请API
到Google APIS库搜索Google Drive API
创建一个OAuth 2.0 客户端 ID,应用类型选择其他
然后会得到类似下面的
客户端 ID
305766299019-xxxxx729a3ugtebaf1kfiq25s8cqeivb.apps.googleusercontent.com
客户端密钥
PEAJdRInHTVf29Kx8EaXXXXX
再通过命令行执行
1
|
google-drive-ocamlfuse -headless -label googledrive -id 305766299019-xxxxx729a3ugtebaf1kfiq25s8cqeivb.apps.googleusercontent.com -secret PEAJdRInHTVf29Kx8EaXXXXX
|
屏幕会提示
1
2
|
Please, open the following URL in a web browser: https://accounts.google.com/o/oauth2/auth?client_id=305766299019-xxxxx729a3ugtebaf1kfiq25s8cqeivb.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive&response_type=code&access_type=offline&approval_prompt=force
Please enter the verification code:
|
在浏览器打开那个网址会得到一串字符,复制粘贴此代码到verification code
4/qemZjOBy8MVI-dmaMPN3jJZ1ov_g6JbsdEeFfXXXXXX
提示Access token retrieved correctly.这个时候就可以使用了!
1
2
|
mkdir $HOME/GoogleDrive
google-drive-ocamlfuse -label googledrive !$
|
查看挂载状态:
1
2
3
4
5
6
7
8
9
10
|
ubuntu@VM-120-252-ubuntu:~$ df -hl
Filesystem Size Used Avail Use% Mounted on
udev 414M 0 414M 0% /dev
tmpfs 87M 9.3M 78M 11% /run
/dev/vda1 50G 2.6G 45G 6% /
tmpfs 433M 24K 433M 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 433M 0 433M 0% /sys/fs/cgroup
tmpfs 87M 0 87M 0% /run/user/500
google-drive-ocamlfuse 15G 21M 15G 1% /home/ubuntu/GoogleDrive
|
卸载
1
|
fusermount -u $HOME/GoogleDrive
|