在 Linux 上挂载 Google Drive — NetDrive 的实验性 Ubuntu 版本

阅读时间 6 分钟 provider-guide google-drive linux
Casey
CaseyProduct Manager
使用 NetDrive 的实验性 Linux 版本,将 Google Drive 账户挂载为普通的 Ubuntu 挂载点——安装步骤、OAuth 登录及预期效果。

某数据团队在一批无头(headless)Ubuntu 主机上运行训练任务,训练数据集存放在一个共享的 Google Drive 文件夹中,没人愿意在每次运行前用同步工具重新克隆一遍。把整个文件夹复制到本地磁盘既浪费存储空间,也会在有人从笔记本电脑更新文件的那一刻立即过时。NetDrive 的 Linux 版本把同一个 Google Drive 账户挂载为普通的 Ubuntu 挂载点,因此脚本打开 /mnt/gdrive/datasets/train.csv 时,读取的是直接来自 Google 服务器的实时文件,而不是可能已经过时的副本。

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

在 Ubuntu 上挂载 Google Drive

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

  • 支持 Ubuntu 16.04 及更高版本
  • 支持个人和 Google Workspace 账户,包含团队驱动器
  • 文件按需流式传输——无需完整本地副本
WindowsmacOS
下载 Linux 版 NetDrive →

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

为何挂载优于同步本地副本

同步客户端的职责是维护一份完整的本地镜像并保持更新,这意味着在使用任何内容之前都要先下载全部数据——对于文档文件夹来说没问题,但对于动辄几百 GB 的数据集来说代价高昂,而构建服务器往往一次只会用到其中几个文件。挂载则跳过了这一步:NetDrive 通过挂载点直接对 Google Drive 账户进行读写解析,因此 catcp 或 Python 的 open() 调用无需预先下载,就能获取当前的远程文件。

自 NetDrive 首个版本起就已支持 Google Drive,而团队驱动器访问自 3.1.218 版本起默认启用——如果数据集存放在共享团队文件夹而非个人 Drive 中,这一点会很有用。

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

在 Ubuntu 上安装 NetDrive

Linux 版 NetDrive 不在 Ubuntu 默认的软件包仓库中,因此安装要通过 GitHub 而非 apt

  1. 前往 github.com/NetDrive/installer,下载与您的 Ubuntu 版本匹配的发行版。
  2. 按照安装程序仓库对应版本的发行说明操作——在 NetDrive 能够挂载任何内容之前,需要先安装一个驱动组件。
  3. 安装 NetDrive 软件包本身。
  4. 启动 NetDrive。首次运行会加载驱动组件,根据系统权限设置的不同,可能会提示输入 sudo

最低支持版本为 Ubuntu 16.04,更新以 GitHub 发行版形式提供,而非通过 apt upgrade——这一点值得记入管理该主机的任何操作手册。此处的支持仍带有 NetDrive 自家对比页面对 Linux 整体标注的实验性标签;Windows 和 macOS 获得了大部分测试投入。

分步指南:在 Ubuntu 上连接 Google Drive

  1. 打开 NetDrive 的驱动器管理器,点击 + Add Drive
  2. 从连接类型列表中选择 Google Drive

连接列表中显示的 NetDrive Google Drive 提供商图标

  1. 通过默认浏览器打开的 OAuth 流程登录。没有安装浏览器的无头 Ubuntu 主机需要一个 X 转发会话,或者也可以在同一账户下的另一台机器上完成这次一次性授权。
  2. 如有提示,选择包含团队驱动器——自 NetDrive 3.1.218 起这已成为默认行为,因此共享团队文件夹应与您的个人 Drive 一起出现,无需额外配置。
  3. 设置挂载点——例如 /mnt/gdrive 这样的路径,或任何您有写入权限的空目录。
  4. 点击 Connect。 NetDrive 完成身份验证并将账户挂载到该路径。

在依赖挂载之前先验证它

不要只信任图形界面,而应从终端确认挂载是否真的生效——这是对实验性版本合理的尽职检查,在让脚本指向该路径之前值得先做:

# Confirm the mount is listed
mount | grep gdrive

# Or just try listing it
ls /mnt/gdrive

确认云盘挂载后连接成功

如果没有任何内容显示,请先重新检查 OAuth 步骤——在无头主机上,中断的浏览器流程是 Google Drive 连接无法完成的最常见原因,比与挂载点相关的问题更常见。

使用 Linux 版本前需要考虑的事项

  • 发布节奏独立 —— Linux 驱动组件按其自身的计划维护,因此 Windows 或 macOS 上的修复不会自动同一周内登陆 Linux。
  • apt 集成 —— 安装和更新通过 GitHub 发行版进行,而非 Ubuntu 默认的软件包仓库。
  • 推荐的主要平台 —— NetDrive 自身的指导意见将 Windows 和 macOS 视为经过充分打磨、可用于生产的目标平台。偶尔从 Drive 读取数据的训练流水线主机或开发机是合理的使用场景;若要用于无人值守的生产任务,则值得先做充分测试。

结语

在 Ubuntu 上挂载 Google Drive,能让无头主机获得与 NetDrive 在 Windows 和 macOS 上相同的类驱动器访问体验,其安装程序托管在 GitHub 而非通过 apt 分发。关于更广泛的 Linux 使用情况,请参阅 NetDrive on Ubuntu Linux;关于同一提供商在测试更充分的平台上的表现,请参阅 Mount Google Drive on Windows 11;关于 Linux 版本上的另一种连接类型,请参阅 Mount an SFTP Server on Linux

— Casey, NetDrive