Gmail Filesystem を導入してみた

いまさらながら Gmail Filesystem を導入してみました.Gmail Filesystem は Gmail の領域をファイルシステムとしてマウントして使えるようにするプログラムです.バックアップ代わりに自分にメールを出したりしなくても,cp でファイルを Gmail に送れるようになります.

インストール

http://richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem-installing.html を参考に,自分は以下のような手順で導入してみました.環境は Xubuntu 8.04 です.

# FUSE Python binding をインストールする
$ sudo apt-get install python-fuse

# libgmail をインストールする
$ sudo apt-get install python-libgmail

# Gmail Filesystem をインストールする
$ wget http://richard.jones.name/google-hacks/gmail-filesystem/gmailfs-0.8.0.tar.gz
$ tar xvzf gmailfs-0.8.0.tar.gz
$ cd gmailfs-0.8.0
$ sudo cp gmailfs.py /usr/local/bin
$ sudo cp mount.gmailfs /sbin

設定

マウントと Gmail アカウントの設定をします./etc/fstab にアカウント名など全部書く方法もありますが,少し気持ち悪いので,設定ファイル /etc/gmailfs.conf を利用する方法を使ってみます.

# /etc/fstab に以下を追加
/usr/local/bin/gmailfs.py /mnt/gmail gmailfs noauto 0 0
# /etc/gmailfs.conf

[connection]
# The proxy URL
#proxy = http://user:pass@proxyhost:port
# or just 
#proxy = http://proxyhost:port

# The number or retries for the proxy connection.
#retries = 3

[account]
username = # Gmailアカウント名
password = # Gmailパスワード

[filesystem]
fsname = linux_fs_3 # 適当なファイルシステム名

[references]
# reference = filesystem:username:password

[logs]
# Change this to DEBUG for verbose output (useful for debugging)
level = INFO

マウント

これで,マウントできるようになります.

$ sudo mount /mnt/gmail

解決していない問題

以上の手順で,無事マウントもできて,ファイルの読み書きもできるようになりました.
ただ,なぜか root でないと読み書きができません.FUSE の問題?デフォルトではマウント実行者のみしかアクセスできない,というようなことをどこかで読んだことがあるような気がします.

追記

いろいろ調べてみたところ,どうやら FUSE の設定の問題です.やはりデフォルトの設定では,マウント実行者以外がマウントポイントにアクセスできないみたい.アクセスできるようにするには./etc/fuse.conf に

user_allow_other

を追加して,マウントオプションに allow_other を追加する必要があるとか.
Gmail Filesystem は FusePython を通して FUSE を使っているので,python スクリプトの内容を書き換えて allow_other オプションを設定するようにすればいいのかなあ.ただ python を使ったことがないので API リファレンス をみてもさっぱりです.ううむ,困りました.