2007/08/09

FUSE + GMailFS

GMailFSというのにちょっと興味があったのでインストールしてみました。

GMailFSはFUSE(Filesystem in Userspace)というのを利用しています。
FUSEについて分かりやすく解説しているページがありました


・必要なパッケージの作成
今回も自分でRPMパッケージを作成しました。

GMailFSのサイトのインストール方法が書かれているページ(Installing Gmail Filesystem)には必要なファイルの置き場所へのリンクがあるので、それをたどって次のソースファイルを取得し、この順番RPMパッケージを作ってインストールしました。
fuse-2.7.0.tar.gz
fuse-python-0.2.tar.gz
libgmail-0.1.6.tar.gz
gmailfs-0.8.0.tar.gz


今回悩んだのが、fuse-python-0.2.tar.gzとlibgmail-0.1.6.tar.gzのRPMパッケージ作成時の仮想ルートディレクトリ(/var/tmp/xxxxx-root)へのインストール方法です。

SPECファイルに次のように記述したところ、仮想ルートディレクトリにインストール出来ました。
%install
python setup.py install --prefix=${RPM_BUILD_ROOT}/usr


makeを使ってインストールする場合は
make DESTDIR=${RPM_BUILD_ROOT} install

make PREFIX=${RPM_BUILD_ROOT}/usr install
などでインストールするものが多いと思うのですが、今回のケースではそれが使えません。
setup.pyはテキストファイルなのでその中身を調べたり、試しにDESTDIR=$PWD/workとかを仮想ルートディレクトリに見立ててインストール出来るか確認してみたりと、色々やってみては失敗してしまいました。

ちゃんとドキュメントを読めば方法が書いてあったのかも知れませんけど。


・使用方法
こちらなどを参考に、/etc/fstabに下記のように記述しました。
ユーザ名とパスワードを/etc/fstabに記述したくなかったのでしていません。
正しいのかは分かりませんが、動いてはいます。
/usr/bin/gmailfs.py  /mnt/gmail  gmailfs noauto,fsname=zOlRRa 0 0


じゃあ、ユーザ名とパスワードをどちらで設定するかというと、私はrootのホームディレクトリにある.gmailfsというファイルで行っています。
.gmailfsの中身は下記の通りです。
[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

# if you'd like logs to go to stdout, comment out this variable.
# For logging to, say, stderr, use /dev/stderr of your system's
# equivalent for it
logfile = ~/gmailfs.log

これはgmailfs-0.8.0.tar.gzに含まれるgmail.confをユーザ名とパスワードのみをいじったものです。
同じ書式のファイルが/etc/gmailfs.confとして/etc以下にデフォルトのまま置いてありますが、rootのホームディレクトリの.gmailfsの方の修正が有効になっているようです。

gmailfs.confのログを見るとエラーになっている部分があります。
行頭に時間が入っているのですが、下記のログからは外しております。
ERROR      OpenSSLProxy is missing. Can't use HTTPS proxy!
INFO Starting gmailfs in child process (PID 19203)
INFO waiting for /mnt/gmail to become a mountpoint
INFO Mountpoint: /mnt/gmail
INFO Named mount options: {'password': '********', 'fsname': 'zOlRRa'}
WARNING mount: warning, should mount with username=gmailuser option, using default
WARNING mount: warning, should mount with password=gmailpass option, using default

まあ、使えているのでいいかなと。


・使用感
設定が悪いのかもしれませんが、結構遅いです。
今のところ使い道が思い浮かびません。


WindowsからGMail領域を読み込ませるのもあるみたいなので、後で使ってみることにします。

0 件のコメント: