如何使用Rclone在Linux上安装OneDrive(支持企业和个人帐户)

微软OneDrive 没有适用于Linux的正式客户端应用程序,但是由于有了名为Rclone的第三方工具,您可以从Linux文件管理器访问OneDrive文件。本文介绍如何在Linux上安装OneDrive 克隆

Microsoft OneDrive(以前称为SkyDive)是一种云存储/文件同步服务,是Office Online套件的一部分。提供5 GB的免费存储空间,付费订阅可提供其他存储空间。
Rclone是“用于云存储的rsync”。它不仅可以将文件从文件系统同步到云(反之亦然),还可以将一种云存储服务同步到另一种。该工具支持各种云存储服务,例如Google Drive至Amazon Drive和S3,ownCloud,Yandex Disk等。
除了按需文件同步外,Rclone还支持使用FUSE将受支持的云存储系统安装为文件系统。此功能已经存在了一段时间,但仍被认为是实验性功能,应谨慎使用。
挂载Microsoft OneDrive之后,可以从文件管理器(例如Nautilus(文件),Nemo或Caja)访问它。该行为类似于Google云端硬盘文章中所述。 Google Drive Mount Xfce或MATE桌面(Ubuntu,Linux Mint)。作为补充,您还可以使用Rclone在Linux上挂载Google云端硬盘。
Rclone支持OneDrive for Business / Office 365。但是,如果您的组织不受管理(未经域所有者验证),则无法使用Rclone和FUSE挂载OneDrive。但是,此类帐户可以与Sharepoint一起使用。见 这个 有关详情,请参见页面。如果要将OneDrive文件同步到Linux上的本地文件夹,则可以使用OneDrive Free Client Fork在同步后将文件保存到磁盘上,即使在计算机脱机时也可以访问它们。在Linux上安装OneDrive时不是这种情况。
OneDrive Rclone安装限制:

  • 由Rclone删除的文件将移至垃圾箱。由于Microsoft不提供永久删除文件或清空垃圾桶的API
  • OneDrive不区分大小写,因此在同一文件夹中不能有两个名称相同但大小写不同的文件(例如: MyFile.txtmyfile.txt 它们不能在同一文件夹中)。
  • OneDrive不支持Windows操作系统文件名中无法使用的某些字符。 Rclone将这些字符映射到其Unicode等效项,如下所示: ?

此外,至少在我的系统上,重命名文件夹似乎不起作用。我不知道这是Rclone的问题还是局限性。克隆 假设的 通常支持文件夹重命名。
这些步骤应适用于任何Linux发行版(Ubuntu,Linux Mint,Debian to Arch Linux,Fedora,openSUSE等),以及FreeBSD和macOS。也可以 对于Windows 但是,需要WinFsp。相关:Cryptomator保护云存储数据(开源,多平台客户端加密工具)

使用Rclone将OneDrive挂载为Linux文件系统

1.安装Rclone。
Rclone二进制文件可以从下面下载。 在这里。在Linux上,不仅可以找到DEB和RPM二进制文件,还可以找到通用二进制文件。
不建议安装Rclone Snap软件包(即使您使用的是Ubuntu)。 fusermount 即使安装了 --classic。如果您使用的是Snap软件包,并尝试安装Rclone支持的云存储服务,则会出现以下错误:

failed to mount FUSE fs: fusermount: exec: "fusermount": executable file not found in $PATH

这显然是在一段时间前解决的, 问题问题 再次发生。将新的OneDrive远程添加到Rclone。以下步骤似乎很长,但是只需要几秒钟即可完成设置。
要将OneDrive远程添加到Rclone,请使用以下命令进入Rclone配置模式:

rclone config

Rclone显示一个列表,您需要从中选择 New remote 输入选项 n 然后按 Enter 关键:

$ rclone config
Current remotes:

Name                 Type
====                 ====
mega                 mega

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> n

接下来,将提示您输入新遥控器的名称。输入您要使用的名称(我 onedrive (作为这些指令的名称):

name> onedrive

按下后 Enter 按键以查看支持的云存储服务列表。您需要输入相应的数字并选择Microsoft OneDrive选项(19 当前,云存储服务已添加到Rclone,并且将来可能会更改):

Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / A stackable unification remote, which can appear to merge the contents of several remotes
    "union"
 2 / Alias for a existing remote
    "alias"
 3 / Amazon Drive
    "amazon cloud drive"
 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
    "s3"
 5 / Backblaze B2
    "b2"
 6 / Box
    "box"
 7 / Cache a remote
    "cache"
 8 / Dropbox
    "dropbox"
 9 / Encrypt/Decrypt a remote
    "crypt"
10 / FTP Connection
    "ftp"
11 / Google Cloud Storage (this is not Google Drive)
    "google cloud storage"
12 / Google Drive
    "drive"
13 / Hubic
    "hubic"
14 / JottaCloud
    "jottacloud"
15 / Koofr
    "koofr"
16 / Local Disk
    "local"
17 / Mega
    "mega"
18 / Microsoft Azure Blob Storage
    "azureblob"
19 / Microsoft OneDrive
    "onedrive"
20 / OpenDrive
    "opendrive"
21 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
    "swift"
22 / Pcloud
    "pcloud"
23 / QingCloud Object Storage
    "qingstor"
24 / SSH/SFTP Connection
    "sftp"
25 / Webdav
    "webdav"
26 / Yandex Disk
    "yandex"
27 / http Connection
    "http"
Storage> 19

在接下来的两个步骤中, Enter 您不需要输入任何信息,因为您不需要输入Microsoft App Client ID或密码。

Microsoft App Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id> 
Microsoft App Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret> 

接下来,将询问您是否要编辑高级设置。除非需要高级设置,否则输入“ n”。

Edit advanced config? (y/n)
y) Yes
n) No
y/n> n

根据您的设置,下一步将需要自动配置或手动输入。大多数用户输入 y 要使用自动配置:

Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y

您的默认Web浏览器中将打开一个新选项卡,并询问您是否允许Rclone访问您的OneDrive帐户。如果允许,可以关闭选项卡。
Rclone在本地计算机上运行Web服务器(端口53682)以获取身份验证令牌。如果您使用的是防火墙,则需要暂时​​解除阻止。
接下来,您需要输入帐户类型。大多数用户输入 1,这对应于OneDrive个人或企业帐户。

Choose a number from below, or type in an existing value
 1 / OneDrive Personal or Business
    "onedrive"
 2 / Root Sharepoint site
    "sharepoint"
 3 / Type in driveID
    "driveid"
 4 / Type in SiteID
    "siteid"
 5 / Search a Sharepoint site
    "search"
Your choice> 1

您将看到以下列出的帐户(在某些特殊情况下为多个):

Found 1 drives, please select the one you want to use:
0:  (personal) id=f119f51f0a00000
Chose drive to use:> 0

进入 0 按Enter键。
您应该会看到此屏幕,请输入 y 继续吧

Found drive 'root' of type 'personal', URL: https://onedrive.live.com/?cid=0f119f51f000000
Is that okay?
y) Yes
n) No
y/n> y

然后,您需要检查所有内容是否正确,然后通过键入以下内容保存设置 y


[onedrive]
type = onedrive
token = {"access_token":"GoKSt5YMioiuCWX1KOuo8QT0Fwy+Y6ZeX7M","token_type":"bearer","refresh_token":"7OMvoEAO3l*8BbhS2AMxpTbJW0Y6np9cdql!bwEdYAhJ6XBG0tnR0UK","expiry":"2018-07-26T15:15:13.696368366+03:00"}
drive_id = f119f51f0a00000
drive_type = personal
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

最后,通过键入以下内容来完成Rclone配置: q

Current remotes:

Name                 Type
====                 ====
onedrive             onedrive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q

3.在系统上创建一个新文件夹,该文件夹将用于安装Microsoft OneDrive。
我们建议您创建一个名为 OneDrive 在您的主目录中。在以下步骤中,我们将其用作安装点(~/OneDrive4)将OneDrive挂载为文件系统(带有FUSE的Rclone)。
要使用Rclone挂载Microsoft OneDrive,请使用以下命令:

rclone --vfs-cache-mode writes mount onedrive: ~/OneDrive

哪里 onedrive Rclone远程名称后跟 : (我们完全使用了 onedrive 上面的描述使得可以在命令中准确使用它),以及 ~/OneDrive 这是在系统上安装OneDrive的文件夹。
挂载命令是 --vfs-cache-mode writes 如果不这样做,根据Rclone文档,“许多应用程序将无法使用Rclone挂载上的文件。” --vfs-cache-mode full。克隆 文件缓存 本节将对此进行更详细的讨论。
按下即可停止并卸下 Ctrl + C 关闭Rclone5。 (可选)在系统启动时挂载OneDrive
要在启动时安装OneDrive,请打开启动应用程序。这取决于您使用的桌面环境,因此这里有其中一些以及如何访问启动应用程序和添加新条目。

  • Gnome / Unity:搜索 Startup Applications 在破折号/应用程序中,单击启动应用程序 Add
  • Xfce:启动 Session and Startup 在菜单中, Application Autostart 点击标签 Add
  • MATE:开始 Startup Applications 在菜单中, Add

点击后 Add使用以下内容:

  • 名称:Rclone OneDrive挂载
  • 命令: sh -c "rclone --vfs-cache-mode writes mount onedrive: ~/OneDrive"

还有其他方法可以自动安装OneDrive。例如 /etc/fstab 文件,使用systemd等作为起点, 一个例子 来自google-drive-ocamlfuse。它应该与Rclone一起使用。

Sidebar