在 Ubuntu Linux 命令行上挂载 OneDrive

use*_*879 24 command-line mount microsoft drive

对于某些要求,我需要挂载 OneDrive 而不是通过 onedrive-d 同步文件。此外,我需要一个命令行解决方案来自动化我的脚本中的某些内容。任何人都可以帮忙吗?

我试图从通常的挂载命令挂载它,但失败了。请注意,我不是 Linux 命令行专家,所以请帮忙。

提前致谢。

——尼纳德

abu*_*bua 28

在 Ubuntu 上挂载 OneDrive

此说明遵循RCLONE - Microsoft OneDrive

  1. 下载并安装 Rclone

sudo apt install rclone
Run Code Online (Sandbox Code Playgroud)

或者下载最新的

wget https://downloads.rclone.org/v1.42/rclone-v1.42-linux-amd64.deb
sudo apt install ./rclone-v1.42-linux-amd64.deb
Run Code Online (Sandbox Code Playgroud)

2. 为 Rclone 添加一个新的 OneDrive 遥控器

rclone config
Run Code Online (Sandbox Code Playgroud)
  • 通过输入并按下 键来选择New remote选项 :nEnter

    $ 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
    
    Run Code Online (Sandbox Code Playgroud)
  • 输入新遥控器的名称,此处onedrive使用:

    name> onedrive
    
    Run Code Online (Sandbox Code Playgroud)
  • 按 后Enter,将显示支持的云存储服务列表。您需要通过输入其相应的数字来选择Microsoft OneDrive选项(现在是“16”,但将来可能会更改):

    Type of storage to configure.
    Choose a number from below, or type in your own value
    [snip]
    ... 
    ...
    xx / Microsoft OneDrive
       \ "onedrive"
    ...
    ...
    [snip]
    Storage> onedrive
    
    Run Code Online (Sandbox Code Playgroud)
  • 对于接下来的两个步骤,请在Enter不输入任何信息的情况下按,因为不需要输入 Microsoft App Client ID 或 Secret:

     Microsoft App Client Id 
     Leave blank normally.
     client_id> 
     Microsoft App Client Secret - leave blank normally.
     client_secret>
    
    Run Code Online (Sandbox Code Playgroud)
  • 选择 OneDrive 帐户类型( b为企业或p个人 OneDrive 帐户输入):

     Remote config
     Choose OneDrive account type?
      * Say b for a OneDrive business account
      * Say p for a personal OneDrive account
     b) Business
     p) Personal
     b/p> p
    
    Run Code Online (Sandbox Code Playgroud)
  • 根据您的设置,您必须为下一步输入自动配置或手动。对于桌面用户,键入y 以使用自动配置。如果您在远程或无头机器类型上进行设置n(您将需要rclone config在具有浏览器访问权限的机器上运行并稍后复制/粘贴身份验证令牌:

     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
    
    Run Code Online (Sandbox Code Playgroud)
  • 如果您在本地计算机上安装:应在您的默认 Web 浏览器中打开一个新选项卡,要求您授予 Rclone 访问您的 OneDrive 帐户的权限。允许它,您可以关闭选项卡。Rclone 在您的本地机器上(在端口 53682)上运行一个网络服务器来检索身份验证令牌。如果您使用防火墙,您可能需要暂时取消阻止它。
    .
    如果设置远程或无头机器:rclone 将提供一个终端命令,您需要在带有 Web 浏览器的机器上执行该命令。此命令将为您提供一个身份验证密钥,您应该将其粘贴到此会话中。有关更多详细信息,请参阅这些说明

  • 现在您需要检查一切是否正确并通过键入y以下内容保存设置:

     [onedrive]
     type = onedrive
     client_id = 
     client_secret = 
     token = {"access_token":"GoKSt5YMioiuCWX1KOuo8QT0Fwy+Y6ZeX7M","token_type":"bearer","refresh_token":"7OMvoEAO3l*8BbhS2AMxpTbJW0Y6np9cdql!bwEdYAhJ6XBG0tnR0UK","expiry":"2018-07-26T15:15:13.696368366+03:00"}
     --------------------
     y) Yes this is OK
     e) Edit this remote
     d) Delete this remote
     y/e/d> y
    
    Run Code Online (Sandbox Code Playgroud)
  • 输入q以下命令退出 Rclone 配置:

    当前遥控器:

    名称 类型 ==== ==== onedrive onedrive

    e) 编辑现有远程 n) 新远程 d) 删除远程 r) 重命名远程 c) 复制远程 s) 设置配置密码 q) 退出配置 e/n/d/r/c/s/q> q

  1. 新建一个文件夹

mkdir ~/OneDrive 
Run Code Online (Sandbox Code Playgroud)
  1. 挂载 OneDrive

rclone --vfs-cache-mode writes mount onedrive: ~/OneDrive
Run Code Online (Sandbox Code Playgroud)

您可以通过按Ctrl+c 关闭 Rclone来停止和卸载它。

  1. (可选)在系统启动时挂载 OneDrive

要在启动时挂载 OneDrive,请打开启动应用程序,然后在启动应用程序中单击添加。

单击添加后,使用以下内容:

Name:    Rclone OneDrive Mount
Command: sh -c "rclone --vfs-cache-mode writes mount onedrive: ~/OneDrive"
Run Code Online (Sandbox Code Playgroud)

还有其他自动挂载 OneDrive 的方法,比如在你的/etc/fstab file.


Dan*_*ilo 0

据我所知,在任何 gnu/linux 发行版中安装 OneDrive 都没有简单的解决方案。

您可以使用 Storage Made Easy (SMEStorage) 将多个提供程序安装在一个文件夹中。最多 3 个提供商是免费的,但它不是开源的。

您还可以使用提供的应用程序或通过 webdav(Nautilus - 连接到服务器)安装它,并使用CloudDAV中提供的说明