abraunegg/onedrive
写在前面
在windows下经常会使用onedrive来同步自己的一些文件,但Linux系统中官方并无给出Onedrive的Linux版本,但其实Onedrive官方是给出了一些API的,有一些GitHub的大佬们实现了Linux平台下的Onedrive功能
一、安装
官方GitHub教程,这里是演示deepin20,即debian10版本的,第4节也可使用星火商店一键安装
执行如下指令安装
wget -qO - https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/Debian_10/Release.key | sudo apt-key add -
echo 'deb https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/Debian_10/ ./' | sudo tee /etc/apt/sources.list.d/onedrive.list
sudo apt-get update
sudo apt install onedrive
二、个人版本使用
使用方式详见GitHub官方教程,这里仅介绍常见使用,并且该方式仅支持个人版Onedrive配置使用
2.1 配置
- 配置文件
执行
默认本地同步所在文件夹根目录是mkdir -p ~/.config/onedrive wget https://raw.githubusercontent.com/abraunegg/onedrive/master/config -O ~/.config/onedrive/config vi ~/.config/onedrive/config
~/OneDrive
,如不改变则不需要更改,如更改则解注释并修改sync_dir
即可,monitor_interval
是监控云端文件变化的间隔时间,单位是秒,可以使用onedrive --display-config
查看配置
- 执行创建log文件夹
sudo mkdir /var/log/onedrive
sudo chmod 777 /var/log/onedrive
sudo usermod -a -G users <your-user-name>
- 配置云端账户
命令行输入onedrive
,会弹出认证网站,复制网址在浏览器中打开,并登陆,登录成功后再将最后的网址粘贴回来,显示成功即可
2.1 单次同步测试
- 执行
mkdir /path/to/your/Onedrive
创建同步文件夹,这里请换成你自己设置的文件夹 - 执行
onedrive --synchronize
同步一次 - 结果如下图所示,将会自动将云端文件下载到本地
2.2 自动同步
- 执行
onedrive --monitor
即启动了自动同步
- 如本地修改了文件将立即上传到云
- 如云端修改了文件,则间隔60s监控一次并更新本地文件
- 但当该终端关闭时自动同步将失效,因此我们最后还是要写成一个服务来运行
三、教育版使用
教育版尝试了n遍,没成功,登录后返回的url是error=invalid_client,在网上查到的解释是
This is not an issue with the client, but with your organisation / Active Directory instance & so on
考虑使用insync
更新:试用后发现insync也是用不了,看来真是不支持了
四、通过星火商店安装
通过星火商店安装的,也可以在通过按照GitHub教程安装
4.1 安装星火商店
打开星火商店官网下载,星火商店很好用,专为Linux设计,听说大部分软件都是是测过才会上传出来的
下载后是deb后缀文件,直接双击安装即可
4.2 星火商店中安装Onedrive
搜索onedrive,点进去,安装即可