Grive 介绍

今年早些时候,Google 推出了 Google Drive 云存储服务。云存储是一种网络在线存储模型,其中数据存储在通常由第三方托管的虚拟化存储池中。托管公司运营大型数据中心,需要托管的人员从他们那里购买或租赁存储容量。数据中心运营商在后台根据客户的需求虚拟化资源,并将它们作为存储池公开,客户自己可以使用这些存储池来存储文件或数据对象。物理上,资源可能跨越多台服务器。
Web 服务应用程序编程接口 (API) 通过云存储网关或基于 Web 的用户界面访问云存储服务。Google Drive 是一个您可以创建、共享、协作和保存所有内容的地方。您可以上传和访问您的所有文件,包括视频、照片、Google 文档、PDF 等。
Google Drive 的优势在于它可以成为您所有云文档的集中存储库。它允许您像 Google 文档一样创建和协作。
1) 创建和协作
Google 文档内置于 Google Drive 中,因此您可以与他人实时协作处理文档、电子表格和演示文稿。一旦您选择与他人共享内容,您就可以在任何内容(PDF、图像、视频文件等)上添加和回复评论,并在其他人评论共享项目时收到通知。您可以上传多达 30 种不同的文件扩展名,这是许多其他云服务不允许的。
2) 安全地存储所有内容并在任何地方访问它(尤其是在移动中)
同步是最酷的功能之一。当您使用同步存储产品(如 Google Drive)时,您放入 Drive 的任何文件,以及您更改的存储在 Drive 中的任何内容,都会自动更新——不仅在云端,而且在您连接到 Drive 的所有其他设备上。因此,您可以开始在一台计算机上处理文件,关闭它,然后在第二台计算机上打开它,您将看到的是您在第一台计算机上关闭的版本。您可以从任何地方访问您的内容——在 Web 上、在家中、在办公室或在跑腿时,从您的所有设备。您可以在 Mac 或 PC 上安装 Drive,并且可以将 Drive 应用程序下载到您的 Android 手机或平板电脑。并且无论平台如何,盲人用户都可以使用屏幕阅读器访问 Drive。
3) 通过关键字搜索所有内容,并按文件类型、所有者等进行过滤
Drive 甚至可以使用光学字符识别 (OCR) 技术识别扫描文档中的文本。假设您上传了一张旧报纸剪报的扫描图像。您可以搜索实际文章文本中的一个词。Drive 使用图像识别,因此如果您将大峡谷之旅的照片拖放到 Drive 中,您稍后可以搜索“大峡谷”,并且应该会弹出它的照片。这项技术仍处于早期阶段,预计会随着时间的推移而改进。

图 1. Mac、PC 和 Android 手机或平板电脑上的 Google Drive
4) 获取您的旧文件
Drive 保留您在其上编辑的每个文件的副本。它还会跟踪文档上的更改,并保留长达 30 天或最近 100 个修订版本的修订副本。
5) 轻松共享到 Google+
备份照片是云存储服务最流行的用途之一,考虑到这一点,看到 Google 让 Google+ 用户可以轻松地从其新的 Google Drive 服务共享图像也就不足为奇了。Google 集成了这两项服务,允许 Google Drive 用户从社交网络本身内将照片从云服务共享到 Google+。
Google 的新云存储解决方案提供 5GB 的免费空间。如果您以前从未使用过像 Google Drive 这样的基于云的存储服务,请花点时间考虑一下将文件在线保存的优势。由于可以从任何连接到互联网的计算机访问文件,Drive 消除了通过电子邮件发送文件或将文件保存到 USB 驱动器的需要。而且由于 Drive 允许您共享文件,与他人协作变得比以往任何时候都更容易。
Google Drive 和隐私Google 在 Google Drive 隐私政策方面最大的问题是实际上没有特定的 Google Drive 隐私政策——只有 Google 新的统一服务条款和隐私政策。Google 声明:“您保留您在该内容中拥有的任何知识产权的所有权。简而言之,属于您的东西仍然是您的。”
这意味着未经您的同意,Google 不能将您的内容用于商业目的。但是,服务条款还声明
您授予 Google(以及我们合作的对象)全球范围内的许可,以使用、托管、存储、复制、修改、创作衍生作品(例如,因翻译、改编或我们为使您的内容更好地与我们的服务配合使用而进行的其他更改而产生的衍生作品)、交流、发布、公开表演、公开展示和分发此类内容。您在本许可中授予的权利仅用于运营、推广和改进我们的服务以及开发新服务的有限目的。
对于属于您的内容,Google 不能将其重新用于自己的目的,但它可以利用您上传的内容来为您服务。这可以包括将服务集成在一起(例如,读取您扫描的图片以便对其进行 OCR),并且可以包括分析您的文件以向您定向投放广告。Google 已经在 Gmail 中这样做了。
Google 目前未在 Google 文档(现在称为 Google Drive)中投放广告,但根据其许可协议,它可能会使用有关您上传内容的数据来在服务中的任何位置向您定向投放广告。
Google 也可能应法律要求(如传票)放弃您的数据。如果您希望您的云存储更少被触及,您可能会对 Wuala 感兴趣,该公司在美国没有存储服务器。或者,您可能只想将您的数据放在互联网之外。
Google Drive 和安全Google Drive 加密您的计算机和 Google 服务器之间的数据。如果您通过 Web 使用 Google Drive,则连接默认是安全的 (HTTPS),并且当您使用使您的 Google Drive 像本地硬盘驱动器一样出现在您的计算机上的软件时,您的计算机和 Google 之间的数据同样会被加密。没有哪个普通的黑客能够通过监视或拦截您与 Google 的互联网连接来获取您的文件。您的数据也以锁定方式存储在 Google 本身,但它未在 Google 服务器上加密。您将必须提前加密您自己的文件。一位 Google 代表解释了原因:加密存储在 Google 的文件会阻止您在 Web 上预览它们,并且还会阻止 Google Goggles 及其 OCR 引擎代表您访问文件。(我推测,这也将阻止 Google 的广告投放算法扫描您的数据,以便为您提供更具针对性的消息,而这就是 Google 的赚钱方式。)
Linux 安装如果您为您的 Windows 或 Mac PC 安装 Google Drive 客户端应用程序,您可以将所有在线 Google 文档同步到您的计算机。您可以选择性地进行同步——同步 Google 文档、我的云端硬盘中的所有内容或单个文件夹,以及与我共享的项目。
但是,在所有庆祝活动中,缺少一些东西:Linux 客户端。Google Drive 客户端尚不适用于 Linux,旧的 Google Docs FS 与 Google Drive 的配合也不太好,因此除了 Web 界面之外,目前在 Linux 上获取 Google Drive 的最佳解决方案是使用 Grive,这是一个非官方的、开源的、命令行 Linux 版 Google Drive 客户端。Grive 由第三方开发人员组装而成,看起来非常不错。感谢 Google 使 Drive 成为一个开放平台。
Grive 项目的目的是提供 Google Drive 客户端的独立实现。它使用 Google 文档列表 API 与 Google 的服务器通信。该代码是用标准 C++ 编写的。
从 0.2.0 版本开始,Grive 可以在 Google Drive 和本地目录之间进行双向同步。它可以下载和上传更改的文件。Google Drive 和本地目录中的新目录也可以下载/上传。它目前还不能做到以下几点
-
等待文件系统中发生更改,然后在之后上传文件。同步仅在您运行 Grive 时执行。
-
符号链接支持。
-
同步具有多个父项的所有文件/文件夹并下载 Google 文档。
-
支持大于 2GB 的文件。
这些功能将在未来添加,可能在下一个版本中。
在撰写本文时,您可以使用以下命令轻松地在 Ubuntu 11.10 或更高版本中安装 Grive
system :~$ sudo add-apt-repository ppa:nilarimogard/webupd8
system :~$ sudo apt-get update
system :~$ sudo apt-get install grive
在其他 Linux 发行版上,安装过程有点复杂,因为 Grive 软件包尚不可用。您可以从源代码编译它。
如果您想摆弄一下,Grive 源代码可在 GitHub 上获得。设置现在有点麻烦,并且需要一些命令行工作,这在 Linux 中并不罕见。但是,我在这里向您展示如何在基于 RPM 的 Linux(CentOS、Fedora 和 Red Hat)上安装它。
首先,您需要一台专用机器或虚拟服务器,以及可靠的互联网连接。
在这种情况下,让我们使用 CentOS。您可能知道,CentOS 是一种企业级 Linux 发行版,它源自上游操作系统提供商 (https://127.0.0.1/rhel) 公开提供的源代码。
我强烈建议使用 CentOS 6.0,因为 CentOS 6.0 已使用较新的构建系统和库检查完全重建,以确认上游二进制兼容性。它还带来了新的内核、新版本的关键服务器组件和改进的虚拟化支持。
在安装 Grive 之前,您需要做一些准备工作。注意:以下所有命令都必须以 root 身份运行。
首先,更新您的 CentOS。这是可选的,但我强烈建议这样做。运行 yum 命令
[root@system ~]# yum update
接下来,禁用 SELINUX,只需编辑 /etc/selinux/config 文件
[root@system ~]# vi /etc/selinux/config
然后添加如下行
SELINUX=disabled
现在,您需要启用一个额外的存储库,ATrpms。
ATrpms 是一个第三方 RPM 存储库。它最初的重点是自然科学中使用的软件,尤其是在高能物理领域,例如用于数值编程或科学出版物的工具。从那时起,该存储库包含许多非科学软件,如系统工具或多媒体软件包,从而形成了一个更为通用的存储库。目前,软件包仅针对 Red Hat Linux 版本构建。
通过运行以下命令在 CentOS 中安装并启用 ATrpms
[root@system ~]# cd /tmp
[root@system ~]# wget http://packages.atrpms.net/RPM-GPG-KEY.atrpms
[root@system ~]# wget http://dl.atrpms.net/el6Server-i386/atrpms/
↪stable/atrpms-repo-6-5.el6.i686.rpm
[root@system ~]# rpm --import RPM-GPG-KEY.atrpms
[root@system ~]# rpm -ivh atrpms-repo-6-5.el6.i686.rpm
接下来,您必须运行以下命令来安装所需的软件包
[root@system ~]# yum install automake autoconf \
openssl openssl-devel json-c json-c-devel curl \
curl-devel libcurl-devel libcurl libarchive \
libarchive-devel libidn libidn-devel expat \
expat-devel binutils binutils-devel
CMake 是一个跨平台构建系统生成器。CMake 用于使用简单的平台和编译器独立的配置文件来控制软件编译过程。检查您的 CMake 软件包版本
[root@system ~]# rpm -qa | grep -i cmake
如果 CMake 的版本 <2.8,您需要通过运行以下命令来更新 CMake 软件包
[root@system ~]# yum remove cmake
[root@system ~]# yum install cmake \
--disablerepo=* --enablerepo=atrpms-testing
Boost 提供免费的、经过同行评审的可移植 C++ 源代码库。Boost 库旨在广泛有用,并可在广泛的应用领域中使用。
现在,检查您的 Boost 软件包版本
[root@system ~]# rpm -qa | grep -i boost
如果 Boost 的版本 <1.46,您需要通过运行以下命令来更新 Boost 软件包
[root@system ~]# yum remove boost boost-devel
[root@system ~]# cd /tmp
[root@system ~]# wget http://sourceforge.net/projects/boost/
↪files/boost/1.49.0/boost_1_49_0.tar.gz/download
[root@system ~]# tar -xvf boost_1_49_0.tar.gz
[root@system ~]# cd boost_1_49_0
[root@system ~]# ./bootstrap.sh --prefix=/usr
[root@system ~]# ./b2 install
安装 Boost 库将需要长达 15 分钟,具体取决于您的硬件,请耐心等待。
确保您的系统时间和日期正确。如果需要,运行以下命令
[root@system ~]# ntpdate -b -p 8 -u pool.ntp.org
完成所有准备工作后,您就可以安装 Grive 了。该项目的网站提供使用 Git 访问源代码的途径。要下载 Grive,请运行
[root@system ~]# cd ~
[root@system ~]# mkdir -p ~/.grive
[root@system ~]# cd /tmp
[root@system ~]# git clone https://github.com/Grive/grive.git
[root@system ~]# cd grive
[root@system ~]# cmake \
-DCMAKE_INSTALL_PREFIX:PATH=/usr .
[root@system ~]# make all install
首次运行 Grive 时,请使用 -a
参数授予 Grive 访问您的 Google Drive 的权限。-a
选项仅在您首次运行 Grive 时需要
[root@system ~]# cd ~/.grive/
[root@system ~]# /usr/bin/grive -a
运行上述命令后,终端中应显示一个 URL——复制该 URL 并将其粘贴到 Web 浏览器中。
如果您尚未登录 Google 帐户,则需要登录。在新加载的页面中,系统将要求您授予 Grive 访问您的 Google Drive 的权限,并在单击“允许访问”后,将显示一个身份验证代码。复制此代码并将其粘贴到您运行 Grive 的终端中
-----------------------
Please go to this URL and get an authentication code:
https://127.0.0.1/o/oauth2/auth?scope=
↪https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email
↪+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile
↪+https%3A%2F%2Fdocs.google.com%2Ffeeds%2F
↪+https%3A%2F%2Fdocs.googleusercontent.com%2F
↪+https%3A%2F%2Fspreadsheets.google.com%2Ffeeds
↪%2F&redirect_uri=urn:ietf:wg:oauth:2.0:oob
↪&response_type=code&client_id=
↪22314510474.apps.googleusercontent.com
-----------------------
Please input the authentication code here
就这样。现在,每次您想要将 Google Drive 与您的本地 grive 文件夹同步时,导航到 .grive 文件夹并运行 /usr/bin/grive
(这次不带 -a
,因为您已经使用 Google Drive 验证了 Grive 的身份)。如果您想定期执行此操作,可以设置一个 cron 作业。
如果一切正常,Grive 将在您的主目录中创建一个 .grive 文件。它还将开始将文件从您的 Google Drive 下载到您当前的目录。完成所有这些操作后,您需要做的就是从终端运行 Grive 以刷新您的 Google Drive 文件。
它是否像 Google 的官方桌面解决方案那样方便?不,但您运行 Linux 不是因为您正在寻找简单的解决方案。
结束语如果您遇到“崩溃”(屏幕上出现一堆错误消息),您应该运行
[root@system ~]# /usr/bin/grive -l log.txt
由于该文件将包含同步操作的日志,您可能需要先编辑该文件以删除个人敏感信息,然后再将其发送给 Grive 开发人员。
请关注 https://plus.google.com/116411649000013553715/posts 和 https://github.com/grive/grive/issues 上的帖子,以获取最新信息,尤其是有关新发现的错误以及何时需要重新下载和构建的新闻!
资源Grive 项目——Google Drive 的开源 Linux 客户端:https://github.com/Grive/grive
Google 官方博客,“Introducing Google Drive”:http://googleblog.blogspot.in/2012/04/introducing-google-drive-yes-really.html#!/2012/04/introducing-google-drive-yes-really.html
“Grive:适用于 Linux 的开源 Google Drive 客户端”:http://www.webupd8.org/2012/05/grive-open-source-google-drive-client.html
Google Drive 常见问题解答:http://news.cnet.com/8301-1023_3-57420402-93/the-google-drive-faq