在Linux上使用OneDrive
翻阅草稿发现了这篇文章,就放上来了。使用那部分写的有点简陋,但平时确实也就只用得到同步功能,更复杂的功能很少用了。
以下为正文内容
微软官方并未提供Linux平台的OneDrive客户端,不过他开放了OneDrive API,允许第三方客户端的存在。本文介绍一个适用于Linux的命令行客户端“OneDrive Client for Linux”。
官方网站见此处。
笔者使用的发行版是Kubuntu 22.04。
简介
- 功能强大,定制性好,易于使用。
- 支持所有主流发行版(Debian、Ubuntu、Mint、Manjaro、SuSE、OpenSuSE、Fedora、CentOS、Red Hat、Arch和Slackware)
- 支持单向和双向同步操作,支持文件系统监听(实时同步)
- 支持 OneDrive Personal,OneDrive for Business,OneDrive for Office365 和 Sharepoint。
- 维护及时,发展活跃。
该项目是从 'skilion' 的同名项目 fork 来的,原先的项目从 2018 年开始就不再维护。
安装
这一部分的官方文档见此处。
Ubuntu
注意!不要从Ubuntu的官方源里安装这个软件(即不要直接使用apt install onedrive
,尽管这样确实能装上),官方源的软件已经过期很久了。也不要从PPA仓库安装。
目前只有两种方法来安装这个软件:
- 使用OpenSuSE构建服务(推荐)
- 从源代码编译构建(软件由D语言写成,编译并不容易,不推荐)
移除先前安装的版本和PPA仓库
sudo apt remove onedrive
sudo add-apt-repository --remove ppa:yann1ck/onedrive
确保系统是最新的
rm -rf /var/lib/dpkg/lock-frontend
rm -rf /var/lib/dpkg/lock
apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y
apt-get autoremove -y
apt-get autoclean -y
然后重启系统。
开始安装
添加OpenSuSE构建服务仓库:
wget -qO - https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /usr/share/keyrings/obs-onedrive.gpg > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/obs-onedrive.gpg] https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_22.04/ ./" | sudo tee /etc/apt/sources.list.d/onedrive.list
然后安装:
sudo apt update
sudo apt install onedrive
ArchLinux
可以直接从 AUR 安装。 https://aur.archlinux.org/packages/onedrive-abraunegg 使用你的 AUR pacman wrapper 安装 onedrive-abraunegg
包即可。
以 paru
为例:
paru -S onedrive-abraunegg
基本应用
在命令行键入onedrive
,回车。如果这是首次运行,程序将会给出一个链接。
把链接粘贴到浏览器地址栏进行访问,登陆你的微软帐号,登陆成功后将地址栏复制到命令行中,回车。
不出意外的话,你的帐号就登陆完成了。
为了测试,使用--dry-run
参数来模拟一次同步(并不真的下载文件):
onedrive --synchronize --verbose --dry-run
通过后,使用
onedrive --synchronize
来进行真正的同步。
同步文件夹的默认位置在$HOME$/OneDirve
,这个位置可以修改。