読者です 読者をやめる 読者になる 読者になる

Λlisue's blog

つれづれなるままに更新されないブログ

google-drive-ocamlfuseを使ってDebian wheezy 64bitにGoogle Driveをマウントするメモ

どうもクラウド大好きAlisueです。

オフィス関係のデータ共有にはGoogle Driveが便利で好んで使用しているのですが、なにぶんLinuxではDropboxのようにファイラーから見れないのが面倒で仕方ありませんでした(Windows, Mac OS Xは見れるはず)。

いろいろ探しまわってみるとgoogle-drive-ocamlfuseというOCamlで書かれたプログラムがあり、それを使うことでマウントできたのでインストール方法などをメモしておきます。

OPAMのインストール

基本的にOPAM - Quick Installの焼きましです。Ubuntuや少し古いDebianであれば下記でインストールできると思います。

% sudo add-apt-repository ppa:avsm/ppa
% sudo apt-get update
% sudo apt-get install ocaml opam

しかし僕の場合Debian Wheezy 64bitだったため出来ませんでした(加えてしまったレポジトリを消すにはsudo add-apt-repository --remove ppa:avsm/ppaを実行してください)。 なのでソースコードからコンパイルします。

必要なパッケージのインストール

コンパイルの必要があるのでコンパイラをインストールする必要があります。OCaml以外にもgccなどが必要なようですが、面倒なのでbuild-essentialで代用します(有名ドコロのコンパイラ全部入れるパッケージ)。下記コマンドを実行してください。

% sudo apt-get update
% sudo apt-get install -y build-essential ocaml

またソースコードからコンパイルするので野良ビルドマネージャであるpacoもインストールしておいてください。

% sudo apt-get install -y paco

ダウンロードおよびコンパイル

執筆時点(2013/10/09)ではOPAM1.1.0-betaが最新のようですが、このバージョンはOCamlの4.0以上でコンパイルする用に作成されているようです。先の方法でDebian wheezy 64bitのパッケージマネージャからOCamlをインストールすると3.12.1がインストールされるためコンパイルできません(unknown option -bin-annonというエラーでコンパイルが失敗する)。したがって1.0.0をインストール事にします。下記にしたがってください。

% wget http://www.ocamlpro.com/pub/opam-full-1.0.0.tar.gz -O opam-1.0.0.tar.gz
% tar xvzf opam-1.0.0.tar.gz
% cd opam-1.0.0
% ./configure
% make && sudo paco -D make install

最後のラインでpacoを利用してインストール情報を管理していますが、ここは何でも構いません。

初期化

インストールのステップ中にいくつか質問が聞かれると思います。僕はすべてデフォルト(エンター連打)でインストールしました。で、最後に

To complete the configuration of OPAM, you need to run:

と出ていたので、それに従いシェルに設定を読み込ませました。 てっきりこれで使えるようになったと思っていたんですが、どうやら初期化処理というのもしないといけないようです(使うとき怒られた)。なので設定がアップデートされたシェルにて下記を呼び出してください。

% opam init

コマンドが見つからないなどのエラーが出た場合は一旦ログアウトしてみるといいと思います。シェルに設定が読み込まれていないだけなので(説明が面倒なのでログアウトが早い)。

google-drive-ocamlfuseのインストール

必要パッケージのインストール

いくつか必要なパッケージがあるようなのでインストールします。下記に従ってください。

% sudo apt-get install m4 libcurl4-gnutls-dev libfuse-dev libsqlite3-dev

OPAMを使用してインストール

必要なパッケージがインストールされてしまえばOPAMを利用したインストールは簡単です。 下記に従ってください。

% opam update
% opam install google-drive-ocamlfuse

fuseグループへの所属

まず名前からもわかる通りFUSEを利用しているので操作を行うユーザーがfuseグループに所属している必要があります。自分が所属しているかどうかは下記で確認できます。

% id | grep fuse

何も出てこなければ所属していないので下記を実行してください。

% sudo usermod -aG fuse `whoami`

これで所属したのですがid情報が更新されていないため下記コマンドで再ログインしてください。

% sudo login `whoami`

これで使えるようになります。

GoogleDriveの認証

下記コマンドでgoogle-drive-ocamlfuseをGoogleDriveに認証させることができます。 このコマンドを実行するとブラウザが立ち上がりGoogleDriveに認証されるかが聞かれるので認証してください。

% google-drive-ocamlfuse

マウントポイントを作成し、マウントすれば完了です。僕はシンプルに~/GoogleDriveとしました。

% mkdir ~/GoogleDrive
% google-drive-ocamlfuse ~/GoogleDrive

なお複数アカウントある場合は-label labelでラベル管理できるようです。詳しくはgoogle-drive-ocamlfuseの公式ページをご覧ください。

自動起動化

「自動起動するアプリケーションの設定」から設定しました。絶対パスで指定したほうが確実だと思うので下記コマンドでgoogle-drive-ocamlfuseがどこにインストールされているか調べてから行うと良いと思います。

% which google-drive-ocamlfuse

で「自動起動するアプリケーションの設定」は

% gnome-session-properties

で起動できます。コマンドというところに

/home/<user>/.opam/system/bin/google-drive-ocamlfuse /home/<user>/GoogleDrive

みたいな形で絶対パスで記載しました。相対パスやチルダ(~)でもいいかもしれません。