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)ではOPAMは1.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