Linuxで SharePoint をマウント — NetDrive の実験的ビルド

読了目安 8 分 provider-guide sharepoint linux
Steve
SteveSenior Engineer
NetDrive の実験的な Linux ビルドを使い、SharePoint ドキュメントライブラリを Ubuntu のマウントポイントとして接続する方法。OAuth サインイン、非同期リスト取得、確認手順を解説。

あるエンジニアリングチームは、ビルドサーバーと開発用ワークステーションの半数を Ubuntu で運用しているが、会社の残りは Windows を使い、アーキテクチャドキュメントやベンダー契約書、オンボーディング資料を SharePoint のドキュメントライブラリに保存している。現状、Linux マシンから仕様書を確認するには、ブラウザタブを開いて手動でファイルをダウンロードするか、Windows を使っているチームメイトに頼んで内容を Slack に貼ってもらうしかない。NetDrive の Linux ビルドを使えば、その同じ SharePoint ライブラリを通常の Ubuntu マウントポイントとしてマウントできるため、catless、あるいはスクリプトの open() 呼び出しから、生きたドキュメントに直接アクセスできる。

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

SharePoint ライブラリを Linux にマウント

NetDrive を使えば Google Drive、OneDrive、S3、SFTP、WebDAV などが Windows と macOS でネイティブドライブとして表示されます — 同期も、まるごとダウンロードも不要です。

  • SharePoint ドキュメントライブラリが通常の Ubuntu マウントポイントとして表示される
  • ファイルはオンデマンドでストリーミングされる — 同期クライアント不要、事前の全ダウンロード不要
  • 個人サイト向け SharePoint と SharePoint for Business の両方に対応
WindowsmacOS
NetDrive for Linux をダウンロード →

無料トライアル。永久ライセンスとサブスクリプションプランあり。

ブラウザタブではなくマウントを使う理由

SharePoint 自体のワークフローは、ブラウザを使うか、Windows であれば操作前にライブラリ全体をダウンロードする同期クライアントを使う前提になっている。どちらも、一度に1ファイルだけ読みたい Linux 開発機には合わない。NetDrive はマウントポイントを通じて SharePoint サイトに対する読み取りを直接解決するため、ビルドスクリプトが設定テンプレートを開いても、手動でエクスポートすることなく最新版を取得できる。

SharePoint 対応は NetDrive バージョン 3.16.589(2022年3月)以降で提供されている。NetDrive 3.17.799 では非同期のディレクトリリスト取得が追加され、これがここで効いてくる。数千ファイルを抱える SharePoint サイトのライブラリでは、以前は初回のフォルダ読み込みが遅くなっていたが、非同期リスト取得によってそれがブロッキングの原因にならなくなった。ドライブの容量表示は 3.16.667 で追加されており、同じドライブビューからサイトのストレージ割り当てのうちどれだけ使用しているかを確認できる。

NetDrive mounting a cloud storage account as a local drive — the same core interaction the Linux build provides at a mount point

Ubuntu への NetDrive インストール

NetDrive for Linux は Ubuntu のパッケージリポジトリには含まれていないため、インストールは GitHub 経由で行う。

  1. github.com/NetDrive/installer にアクセスし、使用中の Ubuntu バージョンに合ったリリースをダウンロードする。
  2. そのリポジトリのリリースノートに従う — NetDrive が何かをマウントできるようになる前に、ドライバコンポーネントのインストールが必要になる。
  3. NetDrive パッケージ本体をインストールする。
  4. NetDrive を起動する。初回起動時にドライバコンポーネントが読み込まれ、sudo を求められることがある。

サポートされる最小バージョンは Ubuntu 16.04 である。アップデートは apt upgrade ではなく GitHub リリースとして配布されるため、そのマシンを扱うランブックに記載しておく価値がある。Linux は、NetDrive の比較ページ全体で使われているのと同じ 実験的(experimental) ラベルが付いている — Windows と macOS がテストの大部分を占めるため、Linux 上の SharePoint マウントは、開発機や CI ランナーには適していても、事前に自分自身で十分検証しないまま本番パイプラインに組み込むべきものではないと考えてほしい。

手順:Ubuntu で SharePoint に接続する

  1. NetDrive の Drive Manager を開き+ Add Drive をクリックする。
  2. 接続タイプの一覧から SharePoint を選択する — 個人向け SharePoint サイトと SharePoint for Business のどちらも同じ項目で対応する。

SharePoint provider logo shown in the NetDrive drive connection list

  1. デフォルトブラウザで開く OAuth フローを使い、Microsoft でサインインする。ブラウザがインストールされていないヘッドレスの Ubuntu マシンの場合は、X フォワーディングによるセッションを使うか、同じアカウントにサインインしている別のマシンで一度限りの認可を完了させる。
  2. SharePoint サイトの URL を入力するhttps://yourcompany.sharepoint.com/sites/LegalOps のような形式になる。ブラウザでそのサイトを表示中のアドレスバーからコピーするとよい。
  3. マウントポイントを設定する/mnt/sharepoint のようなパス、または書き込み権限のある任意の空ディレクトリを指定する。
  4. Connect をクリックする。 NetDrive が認証を行い、そのパスにライブラリをマウントする。

依存する前にマウントを検証する

GUI だけを信用せず、ターミナルからマウントが実際に成功しているか確認する。

# Confirm the mount is listed
mount | grep sharepoint

# Or just try listing it
ls /mnt/sharepoint

Confirming that a cloud drive connected successfully after mounting

最初にディレクトリ一覧を取得したときに空が返ってきても、すぐにマウントが失敗したと判断しないこと — 大規模なライブラリを持つ SharePoint サイトでは、非同期リスト取得が有効でもルートの読み込みに数秒かかることがある。それでも空のままであれば、まず OAuth の手順を再確認する。ヘッドレスマシンで SharePoint 接続が完了しない最も多い原因は、ブラウザフローの中断である。

Linux ビルドで留意すべき点

  • 別系統のリリースサイクル — Linux ドライバコンポーネントは独自のスケジュールで保守されているため、Windows や macOS に入った修正が同じ週に Linux へ届くとは限らない。
  • apt との統合なし — インストールとアップデートは Ubuntu 標準のパッケージマネージャーではなく、GitHub リリース経由で行われる。
  • Windows と macOS が本命のターゲット — NetDrive 自身のガイダンスではこの2つを本番運用向けとして扱っており、Linux は実験的というラベルが付く。たまにファイルを読む程度の開発ワークステーションや CI ランナーであれば妥当な選択だが、SharePoint アクセスに依存する無人の本番ジョブについては、まず自分のハードウェアで十分にテストする価値がある。

まとめ

Ubuntu 上で SharePoint をマウントすることで、Windows や macOS で NetDrive が提供しているのと同じドライブ形式のアクセスを、apt ではなく GitHub 上のインストーラーを通じて Linux マシンでも得られる。より広くテストされたプラットフォームでの同じプロバイダーについては、Mount SharePoint on Windows with NetDriveMount SharePoint on macOS with NetDrive を参照してほしい。Linux 全般についてより詳しくは、NetDrive on Ubuntu Linux を参照。

— Steve, NetDrive