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

読了目安 7 分 provider-guide google-drive linux
Casey
CaseyProduct Manager
NetDriveの実験的Linuxビルドを使い、Google DriveアカウントをUbuntuの通常のマウントポイントとしてマウントする方法。インストール手順、OAuthサインイン、注意点を解説。

あるデータチームは、ヘッドレスな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アカウント、Team Drivesにも対応
  • ファイルはオンデマンドでストリーミング — フルローカルコピーは不要
WindowsmacOS
Linux版NetDriveをダウンロード →

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

ローカルコピーを同期するのではなくマウントする理由

同期クライアントの役目は完全なローカルミラーを最新に保つことであり、つまり何かを使う前にすべてをダウンロードしなければならない。ドキュメントフォルダなら問題ないが、数百ギガバイト規模のデータセットで、ビルドサーバーが一度に数ファイルしか触らない場合はコストが大きい。マウントならこのステップを省ける。NetDriveはマウントポイントを通じてGoogle Driveアカウントに対する読み書きを直接解決するので、catcp、あるいはPythonのopen()呼び出しは、事前のダウンロード処理なしに現在のリモートファイルを取得できる。

Google DriveはNetDriveの最初のリリース以来サポートされており、Team Driveアクセスはバージョン3.1.218以降デフォルトで有効になっている。対象のデータセットが個人のDriveではなく共有チームフォルダにある場合に役立つ。

NetDriveがクラウドストレージアカウントをローカルドライブとしてマウントしている様子 — Linuxビルドがマウントポイントで提供するのと同じコアの操作感

UbuntuへのNetDriveのインストール

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

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

サポートされる最小バージョンはUbuntu 16.04で、アップデートはapt upgradeではなくGitHubリリースとして配布される — このマシンを管理するランブックに一行加えておく価値がある。ここでのサポートは、NetDrive自身の比較ページがLinux全般に付けている実験的というラベルと同じ扱いであり、WindowsとmacOSがテストの大半を占める。

ステップバイステップ: UbuntuでGoogle Driveを接続する

  1. NetDriveのDrive Managerを開き+ Add Driveをクリックする。
  2. 接続タイプの一覧からGoogle Driveを選択する。

接続リストに表示されたNetDriveのGoogle Driveプロバイダーロゴ

  1. デフォルトブラウザで開くOAuthフローでサインインする。ブラウザがインストールされていないヘッドレスなUbuntuマシンではX転送セッションが必要になるか、同じアカウントの別マシンから一度だけの認可を完了させることができる。
  2. プロンプトが出たらTeam Drivesを含める — これはNetDrive 3.1.218以降デフォルトの動作であり、共有チームフォルダは追加設定なしに個人のDriveと並んで表示されるはずだ。
  3. マウントポイントを設定する/mnt/gdriveのようなパス、または書き込み権限のある任意の空ディレクトリでよい。
  4. Connectをクリックする。 NetDriveが認証を行い、そのパスにアカウントをマウントする。

依存する前にマウントを確認する

GUIだけを信用せず、ターミナルからマウントが実際に成功したことを確認しよう — 実験的ビルドに対する妥当な注意であり、スクリプトをそのパスに向ける前にやっておく価値がある。

# 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との統合がない — インストールとアップデートは、Ubuntuの標準パッケージリポジトリではなくGitHubリリースを通じて行われる。
  • 推奨される主要プラットフォーム — NetDrive自身のガイダンスでは、WindowsとmacOSが十分に検証済みで本番運用向けのターゲットとして扱われている。トレーニングパイプライン用のマシンや、時々Driveを読み込む開発マシンには妥当な選択だが、無人の本番ジョブに使う場合は事前に十分なテストをする価値がある。

まとめ

UbuntuでGoogle Driveをマウントすることで、ヘッドレスマシンでもWindowsやmacOSでNetDriveが提供するのと同じドライブ風のアクセスが得られ、インストーラーはaptではなくGitHub上にある。Linux全般についてより広く知りたい場合はNetDrive on Ubuntu Linuxを、より検証が進んだプラットフォームで同じプロバイダーを使う場合はMount Google Drive on Windows 11を、Linuxビルドでの別の接続タイプについてはMount an SFTP Server on Linuxを参照してほしい。

— Casey, NetDrive