From aacdccf48b4de1bb21a9dc061634d4d0ee3dd328 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Thu, 7 Feb 2019 16:38:08 +0800 Subject: [PATCH] PRF:20180724 How To Mount Google Drive Locally As Virtual File System In Linux.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @sndnvaps 恭喜你完成了第一篇翻译。 请参照我的校对,了解如何翻译的更好。 --- ...Locally As Virtual File System In Linux.md | 150 +++++++++--------- 1 file changed, 77 insertions(+), 73 deletions(-) diff --git a/translated/tech/20180724 How To Mount Google Drive Locally As Virtual File System In Linux.md b/translated/tech/20180724 How To Mount Google Drive Locally As Virtual File System In Linux.md index 03b2c4a172..bfafba2bb8 100644 --- a/translated/tech/20180724 How To Mount Google Drive Locally As Virtual File System In Linux.md +++ b/translated/tech/20180724 How To Mount Google Drive Locally As Virtual File System In Linux.md @@ -1,174 +1,180 @@ -如何把Google Driver当做虚拟磁盘一样挂载到Linux操作系统 +如何把 Google 云端硬盘当做虚拟磁盘一样挂载到 Linux ====== ![](https://www.ostechnix.com/wp-content/uploads/2018/07/Google-Drive-720x340.png) -[**Google Drive**][1] 是全球比较受欢迎的云存储平台. 直到2017年, 全球有超过8亿的活跃用户在使用它。即使用户数在持续增长,但直到现在Google还是没有发布一款可以在Linux平台使用的客户端。但这难不倒Linux开源组织的大神。 不时,一些开发者已经把功能实现了。 下面我将会介绍三个用于Linux系统非官方开发的Google Driver客户端。使用这些客户端,你能把Google Driver像虚拟磁盘一样挂载到Linux系统。 请记好笔记了。 +[Google 云端硬盘][1] 是全球比较受欢迎的云存储平台. 直到 2017 年, 全球有超过 8 亿的活跃用户在使用它。即使用户数在持续增长,但直到现在 Google 还是没有发布一款可以在 Linux 平台使用的客户端。但这难不倒 Linux 社区。不时就有一些开发者给 Linux 操作系统带来一些客户端。下面我将会介绍三个用于 Linux 系统非官方开发的 Google 云端硬盘客户端。使用这些客户端,你能把 Google 云端硬盘像虚拟磁盘一样挂载到 Linux 系统。请继续阅读。 -### 1. Google-drive-ocamlfuse - -**google-driver-ocamlfuse**把Google Driver当做是一个FUSE类型的文件系统,是用OCam语言写的。FUSE到底是何物,用户态文件系统,此项目允许非管理员用户在用户空间开发文件系统。**google-drive-ocamlfuse**可以让你把Google Driver当做磁盘一样挂载到Linux系统。支持对文件和目录的读写操作,支持只读操作,支持多用户,支持拖拉文件,支持访问Google Driver的回收站,等操作。 +### 1、Google-drive-ocamlfuse +google-drive-ocamlfuse 把 Google 云端硬盘当做是一个 FUSE 类型的文件系统,它是用 OCam 语言写的。FUSE 意即用户态文件系统Filesystem in Userspace,此项目允许非管理员用户在用户空间创建虚拟文件系统。google-drive-ocamlfuse 可以让你把 Google 云端硬盘当做磁盘一样挂载到 Linux 系统。支持对普通文件和目录的读写操作,支持对 Google dock、表单和演示稿的只读操作,支持多个 Googe 云端硬盘用户,重复文件处理,支持访问回收站等等。 #### 安装 google-drive-ocamlfuse -google-drive-ocamlfuse 能在Arch系统的[**AUR**][2]上直接找到, 所以这安装起来就比较简单了, 使用[**Yay**][3]命令直接安装。 +google-drive-ocamlfuse 能在 Arch 系统的 [AUR][2] 上直接找到,所以你可以使用 AUR 助手程序,如 [Yay][3] 来安装。 + ``` $ yay -S google-drive-ocamlfuse - ``` -在Ubuntu系统: +在 Ubuntu 系统: + ``` $ sudo add-apt-repository ppa:alessandro-strada/ppa $ sudo apt-get update $ sudo apt-get install google-drive-ocamlfuse - ``` -安装最新的测试版本: +安装最新的测试版本: + ``` $ sudo add-apt-repository ppa:alessandro-strada/google-drive-ocamlfuse-beta $ sudo apt-get update $ sudo apt-get install google-drive-ocamlfuse - ``` #### 使用方法 -安装完成后,直接在终端里面输入如下命令,就可以启动**google-drive-ocamlfuse**程序了: -``` -$ google-drive-ocamlfuse +安装完成后,直接在终端里面输入如下命令,就可以启动 google-drive-ocamlfuse 程序了: ``` -当你第一次运行命令,程序会直接打开你的浏览器并要求你确认是否对Google Driver的操作进行授权。当你确认授权后,授权信息和挂载Google Driver用到的目录都会自动进行创建的。 +$ google-drive-ocamlfuse +``` + +当你第一次运行该命令,程序会直接打开你的浏览器并要求你确认是否对 Google 云端硬盘的文件的操作进行授权。当你确认授权后,挂载 Google 云端硬盘所需要的配置文件和目录都会自动进行创建。 ![][5] 当成功授权后,你会在终端里面看到如下的信息。 -``` -Access token retrieved correctly. ``` -好了,我们可以进行下一步操作了。关闭浏览器并为我们的Google Driver创建一个挂载点吧。 +Access token retrieved correctly. +``` + +好了,我们可以进行下一步操作了。关闭浏览器并为我们的 Google 云端硬盘创建一个挂载点吧。 + ``` $ mkdir ~/mygoogledrive ``` -最后操作,使用如下命令挂载Google Driver: + +最后操作,使用如下命令挂载 Google 云端硬盘: + ``` $ google-drive-ocamlfuse ~/mygoogledrive - ``` -恭喜你了!你可以使用终端或文件管理器来访问Google Driver里面的文件了。 +恭喜你了!你可以使用终端或文件管理器来访问 Google 云端硬盘里面的文件了。 + +使用终端: -使用**终端**: ``` $ ls ~/mygoogledrive - ``` -使用**文件管理器**: +使用文件管理器: ![][6] -如何你有不止一个账户,可以使用**label**命令对其进行区分不同的账户,就像下面一样 +如何你有不止一个账户,可以使用 `label` 命令对其进行区分不同的账户,就像下面一样: + ``` $ google-drive-ocamlfuse -label label [mountpoint] - ``` -当操作完成后,你可以使用如下的命令卸载Google Driver: +当操作完成后,你可以使用如下的命令卸载 Google 云端硬盘: + ``` $ fusermount -u ~/mygoogledrive - ``` -获取更多信息,你可以命令用户操作手册。 +获取更多信息,你可以参考 man 手册。 + ``` $ google-drive-ocamlfuse --help - ``` -当然你也可以看看[**官方文档**][7]和[**Github项目**][8]以获取更多内容。 +当然你也可以看看[官方文档][7]和该项目的 [GitHub 项目][8]以获取更多内容。 ### 2. GCSF -**GCSF** 是Google Driver基于FUSE的文件系统,使用**Rust**语言编写。GCSF主要是来源于罗马尼亚语中的“ **G** oogle **C** onduce **S** istem de **F** ișiere”,翻译成英文就是“Google Drive Filesystem”(即Google Drive 文件系统)使用GCSF,你可以把Google Driver当做虚拟磁盘一样挂载到Linux系统,可以通过终端和文件管理器对其进行操作。你肯定会很好奇,这到底于其它的Google Dirver FUSE项目有什么不同,就比如**google-drive-ocamlfuse**。就类型的问题,GCSF的开发者有如下的回复[在Reddit论坛上的评论][9] “GCSF意在某些方面更快(循环列举文件,从Google Driver中读取大文件)。缓存策略也能让读取速度更快(x4-7 的修改更突显了与google-drive-ocamlfuse的差别)当文件被结存后,此为浪费更多的内在”。 +GCSF 是基于 Google 云端硬盘的 FUSE 文件系统,使用 Rust 语言编写。GCSF 得名于罗马尼亚语中的“ **G** oogle **C** onduce **S** istem de **F** ișiere”,翻译成英文就是“Google Drive Filesystem”(即 Google 云端硬盘文件系统)。使用 GCSF,你可以把 Google 云端硬盘当做虚拟磁盘一样挂载到 Linux 系统,可以通过终端和文件管理器对其进行操作。你肯定会很好奇,这到底与其它的 Google 云端硬盘 FUSE 项目有什么不同,比如 google-drive-ocamlfuse。GCSF 的开发者回应 [Reddit 上的类似评论][9]:“GCSF 意在某些方面更快(递归列举文件、从 Google 云端硬盘中读取大文件)。当文件被缓存后,在消耗更多的内存后,其缓存策略也能让读取速度更快(相对于 google-drive-ocamlfuse 4-7 倍的提升)”。 #### 安装 GCSF -GCSF能在[**AUR**][10]上面找到, 对于Arch用户来说直接使用AUR助手来安装就行了,例如[**Yay**][3]。 +GCSF 能在 [AUR][10] 上面找到,对于 Arch 用户来说直接使用 AUR 助手来安装就行了,例如[Yay][3]。 + ``` $ yay -S gcsf-git - ``` -对于其它的发行版本,需要进行如下的操作来进行安装。 +对于其它的发行版,需要进行如下的操作来进行安装。 首先,你得确认系统中是否安装了Rust语言。 -确保**pkg-config**和**fuse**软件包是否安装了。它们在绝大多数的Linux发行片的默认仓库中都能找到。例如,在Ubuntu及其衍生版本中,你可以使用如下的命令进行安装: +- [在 Linux 上安装 Rust](https://www.ostechnix.com/install-rust-programming-language-in-linux/) + +确保 `pkg-config` 和 `fuse` 软件包是否安装了。它们在绝大多数的 Linux 发行版的默认仓库中都能找到。例如,在 Ubuntu 及其衍生版本中,你可以使用如下的命令进行安装: + ``` $ sudo apt-get install -y libfuse-dev pkg-config - ``` -当所有的依赖软件安装完成后,你可以使用如下的命令来安装GCSF: +当所有的依赖软件安装完成后,你可以使用如下的命令来安装 GCSF: + ``` $ cargo install gcsf - ``` #### 使用方法 -首先,我们需要对Google Driver的操作进行授权,跟上面的一样方法,终端输入如下命令: +首先,我们需要对 Google 云端硬盘的操作进行授权,简单输入如下命令: + ``` $ gcsf login ostechnix - ``` -你必须要指定一个会话名称。使用自己的会话名称来代**ostechnix**。你会看到像下图的提示信息和Google Driver账户的授权验证连接。 +你必须指定一个会话名称。请使用自己的会话名称来代 `ostechnix`。你会看到像下图的提示信息和Google 云端硬盘账户的授权验证连接。 ![][11] -直接把授权验证信息复制出来,并用浏览器打开它,并点击最下面的**allow**来完成授权操作。当完成授权后,你的终端会显示如下的信息。 +直接复制并用浏览器打开上述 URL,并点击 “allow” 来授权访问你的 Google 云端硬盘账户。当完成授权后,你的终端会显示如下的信息。 + ``` Successfully logged in. Credentials saved to "/home/sk/.config/gcsf/ostechnix". - ``` -GCSF会把配置保存文件在**$XDG_CONFIG_HOME/gcsf/gcsf.toml**,一般文件会保存在**$HOME/.config/gcsf/gcsf.toml**。授权信息也会保存在此目录当中。 +GCSF 会把配置保存文件在 `$XDG_CONFIG_HOME/gcsf/gcsf.toml`,通常位于 `$HOME/.config/gcsf/gcsf.toml`。授权凭证也会保存在此目录当中。 + +下一步,创建一个用来挂载 Google 云端硬盘的目录。 -下一步,创建一个用来挂载Google Driver的目录。 ``` $ mkdir ~/mygoogledrive - ``` -之后,修改**/etc/fuse.conf**文件: +之后,修改 `/etc/fuse.conf` 文件: + ``` $ sudo vi /etc/fuse.conf - ``` -注释掉以下的行,以允许非管理员进行挂载操作(内容像allow_other或allow_root) +注释掉以下的行,以允许非管理员用 `allow_other` 或 `allow_root` 挂载选项来挂载。 + ``` user_allow_other - ``` 保存并关闭文件。 -最后一步,挂载Google Driver命令如下的命令: +最后一步,使用如下命令挂载 Google 云端硬盘: + ``` $ gcsf mount ~/mygoogledrive -s ostechnix - ``` -简单的终端输入内容: +示例输出: + ``` INFO gcsf > Creating and populating file system... INFO gcsf > File sytem created. @@ -176,30 +182,30 @@ INFO gcsf > Mounting to /home/sk/mygoogledrive INFO gcsf > Mounted to /home/sk/mygoogledrive INFO gcsf::gcsf::file_manager > Checking for changes and possibly applying them. INFO gcsf::gcsf::file_manager > Checking for changes and possibly applying them. - ``` -重复一次,使用自己的会话名来更换**ostechnix**。你可以命令如下的命令来查看已经存在的会话: +重复一次,使用自己的会话名来更换 `ostechnix`。你可以使用如下的命令来查看已经存在的会话: + ``` $ gcsf list Sessions: - ostechnix - ``` -你现在可以使用终端和文件管理器对Google Driver进行操作了。 +你现在可以使用终端和文件管理器对 Google 云端硬盘进行操作了。 + +使用终端: -使用**终端**: ``` $ ls ~/mygoogledrive - ``` -使用**文件管理器**: +使用文件管理器: ![][12] -如果你不知道自己把Google Driver挂载到哪个目录了,可以使用**df**或者**mount**命令,就像下面一样。 +如果你不知道自己把 Google 云端硬盘挂载到哪个目录了,可以使用 `df` 或者 `mount` 命令,就像下面一样。 + ``` $ df -h Filesystem Size Used Avail Use% Mounted on @@ -214,36 +220,34 @@ GCSF 15G 857M 15G 6% /home/sk/mygoogledrive $ mount | grep GCSF GCSF on /home/sk/mygoogledrive type fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000,allow_other) - ``` -当操作完成后,你可以使用如下命令来卸载Google Driver: +当操作完成后,你可以使用如下命令来卸载 Google 云端硬盘: + ``` $ fusermount -u ~/mygoogledrive - ``` -浏览[**GCSF GitHub项目**][13]以获取更多内容。 +浏览[GCSF GitHub 项目][13]以获取更多内容。 -### 3. Tuxdrive +### 3、Tuxdrive -**Tuxdrive**是其它的非官方Linux Google Driver客户端。我们之前有写过一篇关于Tuxdrive比较详细的使用方法。你可以找一找之前的文档。 +Tuxdrive 也是一个非官方 Linux Google 云端硬盘客户端。我们之前有写过一篇关于 Tuxdrive 比较详细的使用方法。可以查看如下链接: -这当然,还有其它的非官方的Google Driver客户端在过去有出现过,例如Grive2,Syncdrive。但它们好像都已经停止开发了。我会对这个列表进行持续的跟进当有更受欢迎的Google Driver客户端出现。 +- [Tuxdrive: 一个 Linux 下的 Google 云端硬盘客户端](https://www.ostechnix.com/tuxdrive-commandline-google-drive-client-linux/) +当然,之前还有过其它的非官方 Google 云端硬盘客户端,例如 Grive2、Syncdrive。但它们好像都已经停止开发了。当有更受欢迎的 Google 云端硬盘客户端出现,我会对这个列表进行持续的跟进。 谢谢你的阅读。 - - -------------------------------------------------------------------------------- via: https://www.ostechnix.com/how-to-mount-google-drive-locally-as-virtual-file-system-in-linux/ 作者:[SK][a] 选题:[lujun9972](https://github.com/lujun9972) -译者:[译者ID](https://github.com/sndnvaps) -校对:[校对者ID](https://github.com/校对者ID) +译者:[sndnvaps](https://github.com/sndnvaps) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出