2006-02-10

OpenomyFS のインストール

オンライン・ストレージ・サービスの一つ openomy には、Linux に openomy アカウントを mount するツールがある。その名を OpenomyFS。今回は、この OpenomyFS のインストール方法について書いてみる。

OpenomyFS は Ruby で書かれたプログラム。2006-02-10 現在、Openomy Open Source Library の一部として配布されている。ライブラリーのパッケージ名は openomyfs-ruby

openomyfs-ruby の利用には、Linux カーネル 2.6 以上、Ruby 1.8 以上、そして FUSE library と Ruby FUSE が必要。

FUSE library のインストール

FUSE (Filesystem in Userspace) はユーザーがファイル・システムを簡便に扱うためのインターフェースを提供する。そもそも、ファイル・システムのマウントといった操作は root 権限が必要なもの。FUSE は、これをユーザーに安全に操作させるためのライブラリー (とぼくは思ってるのだけど、合ってる?)。

公式ページから最新の FUSE をダウンロードして展開。

$ ./configure
$ make
# make install
# /sbin/ldconfig

FuseFS のインストール

openomyfs-ruby は Ruby スクリプトなので、FUSE library との間を仲立ちしてくれるツールが必要。それが FuseFS。RubyForge からバージョン 0.6.0 以上をダウンロードして展開。

# ruby setup.rb

openomyfs のインストール

SourceForge の Openomy Open Source Library から最新の openomyfs-ruby (2006-02-10 現在 0.1 が最新) をダウンロード。

openomyfs-ruby-X.X の中の ofs.rb と openomy.rb を例えば ~/bin にでもコピー。

openomy account を ~/openomy に mount するには、次のようにする。

$ mkdir ~/openomy
$ cd ~/bin
$ ruby ofs.rb ~/openomy &

最初に実行した時だけ authentication がある。こんなメッセージが表示されるので

Please go to the following URL to authorize OFS to use your Openomy account. Once you have completed this, please press ENTER.
http://www.openomy.com/api/login/?unconfirmedToken=...&signature=...&applicationKey=...

URL にブラウザーからアクセス。「Authorize」をクリック。

これで ~/openomy にマウントされたはず。~/openomy/files と ~/openomy/tags があれば OK。authentication を保存した ~/.ofs.yml があるかどうかも確かめやう。

unmount するには

$ fusermount -u ~/openomy

するか、ps で ruby プロセスを探して kill -9 する。

Ruby 1.8.1 にて

手元の Ruby 1.8.1 (Fedora Core 2) では、二度目の .ofs.yml のロードからエラーで mount できなくなった。次の patch で動くようになったのだけど、なんでだろ。分かる方、コメント下さい。

=== modified file 'ofs.rb'
--- ofs.rb
+++ ofs.rb
@@ -538,7 +538,8 @@
     ct_filename ||= "#{ENV["HOME"]}/.ofs.yml"

     if File.exists?(ct_filename)
-      data = YAML.load_file(ct_filename)
+      dat  = File.open(ct_filename)
+      data = YAML::load_documents(dat)
       if data && data["ct"]
         ret = data["ct"]
         return ret

明日、明後日と openomyfs ネタ続きます。

ref

No comments:

Post a Comment