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

読了目安 6 分 provider-guide mega linux
Tayson
TaysonSenior Engineer
NetDriveの実験的Ubuntuビルドで、MegaクラウドストレージをLinuxのネイティブなマウントポイントにマウント。2FAログインと手順を解説。

Ubuntuワークステーションでバッチジョブを実行するデータサイエンティストが、生データセットを個人のMegaアカウントに置いているとする——安価で、保存時に暗号化され、すでに料金を払い済みだ。これらのファイルに触れるジョブは今のところすべて、Megaのウェブクライアントを通じた手動ダウンロードから始まる。つまり、スクリプトが動き出す前に誰かがキーボードの前にいなければならない。NetDriveのLinuxビルドは、そのMegaアカウントを通常のパスにマウントするので、/mnt/mega/datasets/ はそこにあるだけになり、cronジョブは他のディレクトリを読むのと同じ方法でそれを読める。

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

UbuntuでMegaをマウント

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

  • Ubuntu 16.04以降で動作
  • MegaアカウントをLinuxのマウントポイントにマウント — 手動ダウンロード不要
  • 二要素認証は、他の場所で使っているのと同じMegaアカウントから引き継がれる
WindowsmacOS
Linux版NetDriveをダウンロード →

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

NetDriveのLinuxビルドにおけるMega

NetDriveはバージョン3.11.204(2020年7月)でMegaサポートを追加し、二要素認証は3.14.309(2020年12月)で続いた。WindowsとmacOSでは、そのサポートはNetDriveの本流リリース上で動作する。Linuxでは、Megaに限らずLinuxビルド全体に適用される実験的というラベルを引き継ぐ——つまり、本番パイプラインで依存する前にテストする価値のあるビルドとして扱ってほしい。全プラットフォームを通じた現行のNetDriveリリースは3.19.7だ。

NetDrive for Linuxは apt やディストリビューションのパッケージマネージャからは提供されない。github.com/NetDrive/installer のGitHubリリースとして配布されており、Ubuntu 16.04 が対応する最小バージョンだ。

Megaクラウドストレージのロゴ。NetDriveが対応する一般向けクラウド接続の一つ

Ubuntuへのインストール

  1. github.com/NetDrive/installer にアクセスし、使用しているUbuntuバージョン向けにビルドされたリリースをダウンロードする。
  2. 同梱のリリースノートに従う——NetDriveがマウントを行える前にドライバコンポーネントのインストールが必要で、インストール時に sudo を求められることがある。
  3. パッケージをインストールする。
  4. ターミナルまたはデスクトップ環境のアプリケーションメニューからNetDriveを起動する。

LinuxビルドはGitHubリリースとして配布され apt upgrade を経由しないため、独自のリリースサイクルで進む。WindowsやmacOS向けに今週入った修正が、同じ日にLinuxビルドへ届くとは限らない——スクリプトがNetDriveの特定の挙動に依存している場合は知っておく価値がある。

Megaアカウントの接続

Mega自体の二要素認証はNetDriveに引き継がれるので、始める前に認証アプリを用意しておこう。

  1. NetDriveのDrive Managerを開き、+ Add Driveをクリックする。
  2. 接続タイプの一覧からSelect Megaを選ぶ。
  3. Email and password — mega.nzへのサインインに使うのと同じ認証情報を入力する。
  4. Two-factor code — アカウントで2FAが有効な場合、この段階でNetDriveが認証アプリの6桁コードを求める。
  5. Mount point/mnt/mega のようなパス、またはユーザーが書き込み可能な空のディレクトリ。
  6. Connectをクリックする。NetDriveがMegaに対して認証を行い、そのパスにアカウントをマウントする。

NetDriveがクラウドストレージアカウントをローカルドライブとしてマウントしている様子 — Linuxビルドがマウントポイントでもたらすのはこれと同じ操作性

マウントの確認

特に実験的ビルドでは、ファイルマネージャだけに頼らずターミナルから確認しよう。

# Confirm the mount is listed
mount | grep mega

# Or just try listing it
ls /mnt/mega

NetDriveのLinuxビルドでマウント後、クラウドドライブが正常に接続されたことを確認している様子

Connect後もマウントポイントが空のまま — ディレクトリが存在し、NetDriveを実行しているユーザーから書き込み可能かを確認する。書き込み不可または存在しないマウントポイントは、Linuxでサイレントな失敗が起きる最も一般的な原因だ。

2FAプロンプトで止まる — コードには有効期限があるので、プロンプトがコードを拒否した場合は同じ値を再入力せず、認証アプリが新しいコードを生成するのを待つ。数秒遅れて入力したコードが原因であることが多い。

大容量アカウントは初回のリスト表示に時間がかかる — LinuxビルドはWindowsやmacOSと同じ方法でディレクトリ一覧をストリーミングする。数万ファイルを含むアカウントでは、接続に成功した後の初回ブラウズにも少し時間がかかることがある。

まとめ

UbuntuでMegaをマウントすることで、WindowsやmacOSでNetDriveが提供しているのと同じドライブ感覚のアクセスを、パッケージリポジトリではなくGitHubで配布されるインストーラを通じてLinuxワークステーションやビルドサーバーにもたらす。Linux全体の話についてはNetDrive on Ubuntu Linuxを、より十分にテストされたプラットフォームでの同じプロバイダーについてはMount Mega on Windows with NetDriveを、2FAプロンプトで問題が起きた場合はどのプラットフォームにも当てはまる認証情報とコードのタイミングの問題を扱ったFix Mega 2FA Authentication Errors with NetDriveを参照してほしい。

— Tayson, NetDrive