在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,这个位置可以修改。

posted @ 2023-03-14 20:44  Eslzzyl  阅读(1841)  评论(0编辑  收藏  举报