rclone挂载OneDrive云盘

简介

本文介绍如何在Debian 12服务器上挂载OneDrive云盘,使其像本地目录一样易于访问。我们将使用rclone工具来实现这一目标。

准备工作

在Windows上获取授权密钥

  1. 下载Windows版本的rclone: rclone官方下载页面
  2. 解压下载的文件
  3. 打开命令提示符(CMD),进入解压目录
  4. 运行以下命令:
    rclone authorize "onedrive"
  5. 在弹出的浏览器中登录OneDrive账户并授权
  6. 授权成功后,复制CMD窗口中显示的JSON格式密钥(包括{}括号)

在Debian 12上安装必要软件

# 更新软件包列表
sudo apt update

# 安装rclone
sudo apt install rclone

# 安装FUSE
sudo apt install fuse3

配置rclone

  1. 运行配置向导:
    rclone config
  2. 按照提示进行以下操作:
    • 选择n创建新的远程配置
    • 输入配置名称,如onedrive-personal
    • 选择存储类型为Microsoft OneDrive
    • client_idclient_secret留空,直接回车
    • 选择n不使用自动配置
    • 粘贴之前在Windows上获取的授权密钥
    • 选择OneDrive类型(个人版或商业版)
    • 选择要使用的驱动器
    • 确认配置无误后保存并退出

挂载OneDrive

  1. 创建挂载点:
    sudo mkdir -p /mnt/onedrive
  2. 挂载OneDrive:
    sudo rclone mount onedrive-personal:/ /mnt/onedrive \
      --daemon \
      --allow-other \
      --allow-non-empty \
      --vfs-cache-mode writes

    注意: 将onedrive-personal替换为你在配置时使用的名称

  3. 验证挂载:
    df -h

    你应该能看到OneDrive作为一个文件系统挂载在/mnt/onedrive

开机自动挂载

  1. 创建一个systemd服务单元文件来实现开机自动挂载:
  2. 创建服务文件:
    sudo nano /etc/systemd/system/rclone-onedrive.service
  3. 添加以下内容:
    [Unit]
    Description=OneDrive (rclone)
    After=network-online.target
    Wants=network-online.target
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/rclone mount onedrive-personal:/ /mnt/onedrive \
      --allow-other \
      --allow-non-empty \
      --vfs-cache-mode writes
    Restart=on-abort
    User=root
    
    [Install]
    WantedBy=multi-user.target
    
  4. 保存文件并退出
  5. 启用并启动服务:
    sudo systemctl enable rclone-onedrive.service
    sudo systemctl start rclone-onedrive.service

使用说明

  • 挂载成功后,你可以像访问本地目录一样访问/mnt/onedrive
  • 注意网络连接状况,可能会影响访问速度
  • 定期检查挂载状态,确保服务正常运行

Debian 12特有的注意事项

  • Debian 12默认使用systemd,所以我们使用systemd服务来管理rclone挂载
  • 如果遇到FUSE相关问题,可能需要安装libfuse3-3包:sudo apt install libfuse3-3
  • Debian 12可能默认启用了AppArmor,如果遇到权限问题,可能需要调整AppArmor配置
THE END