在 Linux 上挂载 OneDrive for Business — NetDrive 实验性构建版

阅读时间 6 分钟 provider-guide onedrive linux
Casey
CaseyProduct Manager
使用 NetDrive 的实验性 Linux 构建版,将 OneDrive for Business 挂载为 Ubuntu 挂载点。涵盖 Azure AD 登录、安装步骤与验证方法。

一位数据工程师在 Ubuntu 主机上维护 ETL 脚本,需要读取财务团队保存在 OneDrive for Business 中的参考表格。现在的做法是通过浏览器手动下载每个文件,等财务修改了源文件后再重新上传。NetDrive 的 Linux 构建版可以把同一个 OneDrive for Business 文档库挂载为普通的 Ubuntu 挂载点,这样 cron 任务的 open() 调用能直接读到最新文件,而不是一份过时的本地副本。

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

在 Linux 上挂载 OneDrive for Business

NetDrive 让 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 和 macOS 上显示为本地驱动器 — 无需同步,无需完整下载。

  • OneDrive for Business 显示为一个普通的 Ubuntu 挂载点
  • 文件按需流式读取——无需同步客户端,也无需先完整下载
  • 支持 Microsoft 365 工作和学校账户
WindowsmacOS
下载 NetDrive for Linux →

免费试用。提供终身与订阅方案。

为什么 Linux 主机需要它

OneDrive for Business 是绑定工作或学校账户的 Microsoft 365 文档存储,通过 Azure AD 而非个人 Microsoft 账户进行身份验证。微软没有为 Linux 提供原生的 OneDrive 同步客户端,因此需要访问这些文件的 Linux 工作站或 CI 运行器,通常只能靠手动浏览器下载,或者请 Windows 上的同事转发附件。NetDrive 自首个版本起就支持 OneDrive for Business,同样的连接类型也已在其 Linux 构建版中提供——文档库通过挂载点直接对微软服务器进行读取解析,无需维护本地同步文件夹。

NetDrive 将云存储账户挂载为本地驱动器——这正是 Linux 构建版在挂载点上提供的核心交互

在 Ubuntu 上安装 NetDrive

NetDrive for Linux 并未收录在 Ubuntu 的软件仓库中,因此安装需要通过 GitHub 进行:

  1. 前往 github.com/NetDrive/installer,下载与你的 Ubuntu 版本匹配的发行版。
  2. 按照该仓库的发行说明操作——驱动组件必须先安装完成,NetDrive 才能挂载任何内容。
  3. 安装 NetDrive 软件包本身。
  4. 启动 NetDrive。首次运行会加载驱动组件,可能会提示输入 sudo

最低支持版本为 Ubuntu 16.04。更新以 GitHub 发行版的形式发布,而非通过 apt upgrade。Linux 版本沿用了 NetDrive 自家对比页面上一贯使用的实验性标签——把 Linux 上的 OneDrive for Business 挂载当作适合开发工作站或 CI 运行器的方案,而不是在没有自行测试的情况下就放心用于无人值守的生产任务。

分步操作:在 Ubuntu 上连接 OneDrive for Business

  1. 打开 NetDrive 的驱动器管理器,点击 + Add Drive
  2. 从连接类型列表中选择 OneDrive for Business——它与个人版 OneDrive 是分开列出的。

NetDrive 驱动器连接列表中显示的 OneDrive for Business 提供商图标

  1. 使用你的 Microsoft 365 工作或学校账户登录,通过默认浏览器打开的 Azure AD OAuth 流程完成授权。如果是没有安装浏览器的无头 Ubuntu 主机,可以在登录同一账户的另一台机器上完成这次性授权。
  2. 设置挂载点——例如 /mnt/onedrive-business 这样的路径,或者任何你有写入权限的空目录。
  3. 点击 Connect。 NetDrive 会完成身份验证,并将文档库挂载到该路径。

在依赖挂载前先验证它

从终端而不是仅凭图形界面确认挂载确实生效:

# Confirm the mount is listed
mount | grep onedrive

# Or just try listing it
ls /mnt/onedrive-business

确认云盘挂载后已成功连接

如果第一次列出的内容是空的,先别急着断定挂载失败——较大的文档库填充根目录可能需要几秒钟。如果过一会儿仍然是空的,先重新检查 Azure AD 登录步骤;在无头主机上,浏览器授权流程被中断,是 OneDrive for Business 连接无法完成的最常见原因。

使用 Linux 版本需要留意的事项

  • 独立的发布节奏——Linux 驱动组件按自己的计划维护,Windows 或 macOS 上的修复不会自动在同一周内同步到 Linux。
  • 没有 apt 集成——安装和更新都通过 GitHub 发行版进行,而不是 Ubuntu 默认的包管理器。
  • Windows 和 macOS 是经过强化的目标平台——NetDrive 官方指南将它们视为生产就绪,而 Linux 被标记为实验性。对于偶尔读取文件的开发工作站或 CI 运行器来说,这是合理的选择。如果无人值守的生产任务依赖 OneDrive for Business 访问,值得先在自己的硬件上充分测试。

小结

在 Ubuntu 上挂载 OneDrive for Business,能让 Linux 主机获得与 NetDrive 在 Windows 和 macOS 上相同的驱动器式访问方式,只是安装程序放在 GitHub 上而非通过 apt 分发。想了解同一提供商在经过更充分测试的平台上的情况,请参阅在 Windows 上使用 NetDrive 挂载 OneDrive for Business在 macOS 上使用 NetDrive 挂载 OneDrive for Business。想了解更广泛的 Linux 情况,请参阅 NetDrive on Ubuntu Linux

— Casey, NetDrive