在 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 帳戶)進行驗證。Microsoft 並未提供原生的 Linux OneDrive 同步用戶端,因此需要存取這些檔案的 Linux 工作站或 CI runner,通常只能靠手動透過瀏覽器下載,或請 Windows 上的同事轉寄附件。NetDrive 自初版發行以來就支援 OneDrive for Business,而其 Linux 建置版也提供相同的連線類型——資料庫透過掛載點直接向 Microsoft 伺服器讀取,不需要維護本機同步資料夾。

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 runner 使用,而非未經自行測試就交付給無人值守的正式環境工作。

逐步操作:在 Ubuntu 上連接 OneDrive for Business

  1. 開啟 NetDrive 的 Drive Manager,點選 + Add Drive
  2. 從連線類型清單中選擇 Select OneDrive for Business——它與個人版 OneDrive 是分開列出的。

NetDrive 連線清單中顯示的 OneDrive for Business 提供者標誌

  1. 透過預設瀏覽器開啟的 Azure AD OAuth 流程,使用你的 Microsoft 365 公司或學校帳戶登入。若是沒有安裝瀏覽器的無頭 Ubuntu 主機,可在另一台已登入同一帳戶的機器上完成這次性的授權。
  2. 設定掛載點——可以是像 /mnt/onedrive-business 這樣的路徑,或任何你有寫入權限的空目錄。
  3. 點選 Connect。 NetDrive 會完成驗證並將資料庫掛載到該路徑。

在依賴掛載前先驗證它

不要只信任 GUI,請從終端機確認掛載確實生效:

# 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 runner 是合理的使用情境;若正式環境有無人值守的工作依賴 OneDrive for Business 存取,建議先在自己的硬體上徹底測試。

結語

在 Ubuntu 上掛載 OneDrive for Business,能讓 Linux 主機獲得與 NetDrive 在 Windows、macOS 上相同的磁碟機式存取體驗,只是安裝程式來自 GitHub 而非 apt。若想在測試更成熟的平台上使用同一服務商,可參考 Mount OneDrive for Business on Windows with NetDriveMount OneDrive for Business on macOS with NetDrive。若想了解更完整的 Linux 情況,可參考 NetDrive on Ubuntu Linux

— Casey, NetDrive