在 Linux 上挂载 ImageKit——NetDrive 实验性构建版

阅读时间 5 分钟 provider-guide imagekit linux
Kai
KaiJunior Engineer
使用 NetDrive 的 Linux 实验性构建版,将 ImageKit 的媒体库挂载到 Ubuntu 挂载点。包含设置步骤,以及如何从终端验证挂载。

一家产品摄影工作室的 Ubuntu 渲染农场,在每晚的批量缩放任务开始前,都需要从其 ImageKit 库中取出最新的主图,但作业脚本要的是一个普通的文件路径,而不是一次 API 调用。先下载一份副本的做法暂时管用,直到有人在下午中途替换了某个素材,渲染农场就会悄悄地对旧版本进行缩放。NetDrive 的 Linux 构建版会像它在 Windows 和 macOS 上早已做到的那样,把 ImageKit 挂载到一个普通的 Ubuntu 挂载点上,这样脚本只需读取一个路径,而不必与 API 打交道。

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

在你的 Ubuntu 主机上挂载 ImageKit

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

  • ImageKit 会显示为一个普通的 Ubuntu 挂载点
  • 资源按需流式传输——无需另外照看一个同步客户端
  • 与 S3、SFTP 及另外 20 多个提供商一起,运行在同一个驱动器管理器中
WindowsmacOS
下载 Linux 版 NetDrive →

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

为什么在这里挂载点比控制台更合适

ImageKit 自己的控制台和 API 能很好地处理日常的上传和转换,但两者都不会给定时任务或 tar 命令一个可供读取的文件系统路径。一个基于 API 构建的脚本,光是为了列出一个资源文件夹,就得处理认证令牌和分页——而一旦库被挂载、在 shell 看来就是普通目录之后,这些开销就都不复存在了。

ImageKit 在最近的一个发行周期中,与 Koofr、Filen、Files.com 和 OpenDrive 一起加入了 NetDrive 的受支持提供商列表。像在其他任何平台上一样,在 Linux 上运行 NetDrive 的最新版本即可获得支持。

ImageKit 徽标,这个媒体库存储提供商现已可通过 NetDrive 挂载

在 Ubuntu 上安装 NetDrive

Linux 版 NetDrive 并不通过 Ubuntu 的软件包仓库发布——而是以 GitHub 发行版的形式提供:

  1. 前往 github.com/NetDrive/installer,获取与你 Ubuntu 版本相匹配的发行版。
  2. 按照该仓库的说明安装挂载所依赖的驱动组件——首次安装通常需要 sudo 权限。
  3. 安装 NetDrive 软件包本身。
  4. 先启动一次 NetDrive,让驱动组件完成加载,然后再尝试添加驱动器。

最低支持版本是 Ubuntu 16.04,NetDrive 的对比页面仍将 Linux 标记为实验性——Windows 和 macOS 获得了大部分测试投入,修复周转也更快。在构建服务器或开发机上挂载一个 ImageKit 库是相当合适的用法;而在无人值守的生产管线中使用,则值得先在自己的硬件上充分测试。

NetDrive 将云存储账户挂载为本地驱动器——这与 Linux 构建版在挂载点上提供的交互方式相同

连接一个 ImageKit 账户

  1. 打开 NetDrive 的驱动器管理器,点击 + Add Drive
  2. 从提供商列表中选择 ImageKit
  3. 出现提示时,用 ImageKit 账户凭据登录
  4. 设置一个挂载点——例如 /mnt/imagekit 这样的路径,或你能控制的任意空目录。
  5. 点击 Connect。 NetDrive 完成认证,并将库挂载到该路径。

验证挂载并进行写回

在无头或远程主机上,不要只信任图形界面——在把管线指向它之前,先从 shell 确认挂载状态:

# Confirm the mount is listed
mount | grep imagekit

# Or just try listing it
ls /mnt/imagekit

确认云驱动器在挂载后成功连接

刚连接后出现空列表,通常只是意味着根目录还没有加载完毕——先等几秒钟,再判断是否真的出了问题。写回的方式与读取相同:把一个已缩放的素材复制到挂载点上,NetDrive 会在后台排队上传,而不会阻塞写入它的那个进程,因此批处理作业不会为等待每个文件传输完成而卡住。

显示文件传输进度的后台上传队列,正上传到一个已挂载的云驱动器

在 Linux 构建版上需要留意的事项

  • 发行节奏独立。 Linux 驱动按自己的日程发布,因此某个在 Windows 或 macOS 上已经修复的问题,不会同一周自动出现在 Linux 上的修复。
  • 没有 apt 集成。 安装和更新都通过 GitHub 发行版进行,而不是 Ubuntu 的软件包管理器。
  • Windows 和 macOS 是经过强化的目标平台。 NetDrive 将它们视为生产就绪;Linux 在另行通知之前仍标记为实验性。

总结

在 Ubuntu 上挂载 ImageKit,能让一台 Linux 主机获得与 NetDrive 在 Windows 和 macOS 上早已提供的相同的纯文件系统方式,来访问媒体库,安装方式则托管在 GitHub 上,而不是 apt。若想在测试更充分的平台上使用同一提供商,参见 Mount ImageKit on Windows with NetDrive。若想了解在 Linux 上运行 NetDrive 的整体情况,参见 NetDrive on Ubuntu Linux;若想了解同一构建版上的另一个对象存储提供商,参见 Mount Backblaze B2 on Linux with NetDrive

— Kai, NetDrive