云对于我们来说几乎已经是生活中必不可少的一部分。我也曾经尝试过市面上大多数的云服务,收费的、免费的。微软的OneDriver从各个方面来说都是很优秀的。虽然已经爆出,微软要大幅缩减OneDriver的免费空间大小,但是对于本人来说5GB的免费空间对日常办公学习来说足够了(已经过了搜集几T的毛片的年龄了?!)。虽然说:微软热爱开源(笑~),但是Linux下并没有官方的OneDriver的客户端。那就推荐一款吧,独立开发者skilion使用D语言开发的linux下的、免费的、OneDriverForLinux 客户端!
官方网站:http://skilion.github.io/onedrive/
首先,介绍一下OneDriverForLinux 的几个特点:
使用D语言编写的静态二进制客户端,不使用Python、亦或着Java(作者是想告诉我们:占用内存更小,效率更高吗?)。
依赖包非常的少,只有libcurl和Sqlite(当然你在编译的时候还需要一个DMD--D语言的编译器)。
具有实时监控通知、状态缓存、恢复上传的功能。
作者很谦虚的给出了,OneDriverForLinux的不足,不妨同时看看。
OneDrive不是商业支持的。
当本地的更改被上载时,远程更改被推迟。
没有图形用户界面。
在写这篇的文章的时候,我的后台正在通过OneDriverForLinux同步我的运空间。我们接着来说一下安装和使用方面的问题,说不得当文章写完的时候同步就完毕了。
安装篇
1.打开OnedriverForLinux 的下载主页:https://github.com/skilion/onedrive
git clone https://github.com/skilion/onedrive.gi
2.安装OnedriverForLinux的支持,包括libcurl 和 sqlite。
sudo apt-get install libcurl3 sqlite3 libsqlite3-dev
3.到http://dlang.org/download.html 下载D语言的编译器DMD并安装它
sudo dpkg -c dmd_2.069.1-0_amd64.deb
4.编译安装OneDriverForLinux。
make && sudo make install
配置篇
1.复制默认的配置文件到你home的.config文件夹下
mkdir -p ~/.config/onedrive cp /usr/local/etc/onedrive.conf ~/.config/onedrive/config`
2.配置文件详解(官方给出了最简配置基本上不用修改)
client_id = "00000000xxxxxxxx" //这两个参数都需要你登陆OneDriver创建一个App获取的。 client_secret = "OuPcxxxx3JRNUUxxxxbNttm298w5xxxx" sync_dir = "~/OneDrive" //默认保存路径 skip_file = ".*|~*|thumbs.db|Games/*.iso" //过滤文件规则 skip_dir = ".*|Music|Movies/FullHD" //过滤文件夹规则
3.保存配置文件,直接运行 onedriver命令。如果上述都没有错误的话,会显示一个url地址。这个地址是需要你手动复制到浏览器中的。打开后会弹出一个授权界面,点击确认后。浏览器会跳转一个页面(通常页面会显示:页面载入出错)因为返回的并不是一个真的web页面地址。复制这个地址,在提示输入窗口输入并回车。稍等一会,你就会发现已经开始同步你的云空间了。
后记
OneDriverForLinux命令详解
$ onedrive -h 用法:onedrive[选项] ... 没有任何参数 手动同步和退出。 -m --monitor 继续监察本地和远程的变化。 --resync 忘记上次保存的状态,执行完全同步。 -v --verbose 打印的详细信息,用于调试。 -h --help 这个帮助信息。
熟悉之后,还是非常简单的。现在我们能够快乐的在linux下用OneDriver了。
相似的解决方案还有:onedrive-d(基于Python开发)以及ubuntu 在线工具也提供了简单的支持。