2014年4月25日金曜日

CentOS6.5にGoogleDriveをマウントしてみた

まずはじめにですが、この操作はGUI環境がないとできません
CentOSにGUI環境を構築する手順はこちらを参照ください
また以下の作業はX環境が整っていること以外、真っさらな環境で作業した場合の手順となります

■環境
CentOS release 6.5 (Final)
X Windows System
firefox 24.0
ocaml 4.01.0
opam 1.1.1

■ocamlインストール
yum -y groupinstall "Development Tools"
yum -y install git m4 fuse fuse-devel libcurl-devel libsqlite3x-devel zlib-devel libcurl sqlite-devel firefox

wget http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01.0.tar.gz
tar zvxf ocaml-4.01.0.tar.gz
cd ocaml-4.01.0
vim configure
    prefix=/usr/local -> prefix=/usr
./configure
make world.opt
make install
[root@localhost ocaml-4.01.0]# ocaml -version
The OCaml toplevel, version 4.01.0

■opamインストール
git clone https://github.com/OCamlPro/opam.git
cd opam
./configure
make
make install
opam init
opam update
[root@localhost ~]# opam --version
1.1.1

■google-drive-ocamlfuseのインストール
opam install google-drive-ocamlfuse
    Yを選択してインストールする
    内部的には.configure -> make -> make install の流れ
vim ~/.bashrc
PATH=$PATH:$HOME/.opam/system/bin
export PATH
source ~/.bashrc
google-drive-ocamlfuse

ここでGUI上にfirefoxが立ち上がります
なのでCUI環境しかない場合は事前にvncserver等でGUI環境を立ちあげておいてください
GoogleDriveをマウントするアカウント情報を入力します
アクセストークンを取得する時間に制限があるのでコマンド実行したら早めに認証を開始します


認証が完了するとgoogle-drive-ocamlfuseアプリからアクセスを許可する画面になると思いますので
「承認する」をクリックします


再度アプリのアクアスを許可するかどうか聞かれるので「Allow」をクリックします


最後のAllowをクリックした段階でCUI側のアクセストークンが渡ります
CUI側に「アクセストークンが取得できないよ」みたいなエラーが出ている場合は再度「google-drive-ocamlfuse」を実行してfirefox上で認証してください

■GoogleDriveのマウント
mkdir /googledrive
google-drive-ocamlfuse /googledrive/
mount | grep google
google-drive-ocamlfuse on /googledrive type fuse.google-drive-ocamlfuse (rw,nosuid,nodev)

となっていればOKです
あとは/googledriveにアクセスしてGoogleDrive上のファイルが存在することを確認してください

■Tips
・アンマウント
umount /googledrive

・アクセストークンが取得できていない場合
マウント後にdf等を実行して
df: `/googledrive': デバイスもしくはリソースがビジー状態です
と出る場合はgoogle-drive-ocamlfuseがうまくアクセストークンを取得できていません
google-drive-ocamlfuse /googledrive/のコマンドを実行した段階で再度GUI側にfirefoxが立ち上がるアクセス要求を確認する画面が立ち上がっていると思いますので「承認」をクリックします

・動作がかなり重い
マウントしたフォルダに対するアクセスが異様に重い場合があります
おそらくコマンドを発行するごとに必要な情報をGoogleDrive側に取得しに行っているためかと思います
df で容量を確認するときやlsでディレクトリ内の情報を確認するときに重くなる場合はおそらくネットワークが影響していると思います

・GUI環境がないと動作しなのが辛い
アクセストークンの期限が切れた場合は再マウントする必要があるのですが、その場合は再度アプリからのアクセスを承認する必要があるので
その場合はvnc等のGUI環境が動作している必要があります
どのくらいの頻度で承認を求められるかわかりませんが、GUI上に移動して毎回承認するのは結構辛いなと感じました

・GoogleAcountでアプリの権限を確認する
https://security.google.com/settings/security/permissions?pli=1
上記のページにログインすると今回承認したgoogle-drive-ocamlfuseがアクセス許可されていることがわかると思います
google-drive-ocamlfuseを使用しなくなった場合は念のためこのページからアクセス許可を削除したほうがいいと思います

■参考サイト

0 件のコメント:

コメントを投稿