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

読了目安 7 分 provider-guide dropbox linux
Steve
SteveSenior Engineer
NetDriveの実験的なLinuxビルドで、UbuntuにDropboxをローカルドライブとしてマウント。完全なローカル同期コピーなしでアカウントに直接アクセスできます。

参照用データセットが詰まった共有Dropboxフォルダを扱うデータエンジニアは、公式Dropbox Linuxクライアントのデフォルト動作 — 何かを使えるようになる前にフォルダ全体をローカルディスクにミラーリングする — を、空き容量40GBのVM上では望まないだろう。これらのファイルの大半は月に数回しか読まれない。NetDriveのLinuxビルドは同じDropboxアカウントを通常のパスにマウントするので、/mnt/dropbox/datasets/q3.csv を読むスクリプトは、数ギガバイトの同期が完了するのを待つのではなく、そのファイル1つだけをオンデマンドで取得する。

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

UbuntuでDropboxをマウント

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

  • Ubuntu 16.04以降で動作
  • ファイルはオンデマンドで取得 — 完全なローカルミラーを維持する必要なし
  • 同じDropboxおよびDropbox BusinessアカウントをWindowsやmacOSでもサポート
WindowsmacOS
Linux版NetDriveをダウンロード →

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

LinuxでのDropboxとNetDrive

Dropboxは、2017年9月のNetDrive 3初回リリース以来、NetDriveがサポートするプロバイダーの1つであり、3.9.1190で追加されたDropbox Businessアカウントもそれに続く。WindowsとmacOSではこのサポートはプロダクショングレードとして扱われるが、Linuxでは、特定のプロバイダーに対してではなくプラットフォーム全体に対して、NetDrive独自の実験的というラベルが付く。

Linux版NetDriveはディストリビューションのパッケージリポジトリからは配布されていない。github.com/NetDrive/installer から、対応するUbuntuバージョンのリリースとして提供される。Ubuntu 16.04がサポートされる最小バージョンであり、本番インフラと呼べるような用途にはWindowsまたはmacOSの方が依然として良い選択肢である。

Dropbox logo, one of the cloud providers NetDrive connects on Linux

UbuntuへのNetDriveのインストール

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

アップデートは apt upgrade ではなくGitHubリリースとして届き、Linux版は独自のペースでメンテナンスされる — WindowsやmacOS向けに今週出た修正が、同じ週にLinuxへ届くとは限らない。このマシンを扱うランブックには、この点を書き留めておく価値がある。

ステップバイステップ: Dropboxアカウントを接続する

  1. NetDriveのDrive Managerを開き+ Add Drive をクリックする。
  2. プロバイダーの一覧から Select Dropbox を選ぶ。

NetDrive's drive manager where a new Dropbox connection gets added

  1. 接続を承認する。 NetDriveがDropbox標準のOAuthサインインフローを開く — Dropboxの認証情報でログインし、アクセスを承認する。これはWindowsやmacOSと同じ認証ステップである。
  2. マウントポイントを設定する/mnt/dropbox のようなパス、またはユーザーが書き込み権限を持つ任意の空ディレクトリ。
  3. Connectをクリックする。 NetDriveが認証を行い、そのパスにアカウントをマウントする。

Dropbox Businessアカウントも同じフローで接続できる — Dropboxを選択し、ビジネスアカウントでサインインすると、個人スペースの内容とともに共有チームフォルダがマウントポイント配下に表示される。

マウントの確認とよくある問題

特に実験的ビルドでは、GUIだけを信頼せずターミナルから確認するとよい。

# Confirm the mount is listed
mount | grep dropbox

# Or just try listing it
ls /mnt/dropbox

Confirming that a cloud drive connected successfully after mounting

認証が失敗する、またはタイムアウトする — これは通常、Dropbox側ではなくブラウザ側の問題である。OAuthステップはブラウザウィンドウを開くが、ブラウザが設定されていないヘッドレスマシンでは、このステップは描画先を持たずフローが止まってしまう。認証前にセッション内でブラウザが利用可能であることを確認するか、デスクトップ環境のあるマシンからセットアップを実行する。

Connect後もマウントポイントが空のまま — ディレクトリが存在し、NetDriveを実行しているユーザーに書き込み権限があるかを再確認する。実際のDropbox側の障害よりも、空で書き込み不可のディレクトリが原因であることの方が多い。

トークンが予期せず期限切れになる — DropboxのアクセストークンはDropboxアカウントの接続済みアプリ設定から失効させられることがある。それまで動作していたマウントが認証できなくなった場合は、NetDrive側に問題があると決めつける前にそこを確認してほしい。

まとめ

UbuntuでDropboxをマウントすれば、完全なローカル同期に先にディスク容量を割くことなく、WindowsやmacOSでNetDriveが提供するのと同じオンデマンドのドライブ形式のアクセスを、ヘッドレスマシンや開発用VMにもたらせる。より広くテストされたプラットフォームでの同じプロバイダーについては Mount Dropbox on WindowsMount Dropbox on macOS を、Linux全般については NetDrive on Ubuntu Linux を参照してほしい。

— Steve, NetDrive