FuseFSをyumでインストール

最終的な目的はRubyバインドのFuseFSのインストールなんだけど。。。
FUSEのインストールに時間かかったのでメモ。

探せども探せども、みんなソースからmakeしてFUSEのインストールをしてる。。。。
しかし僕もこの方法とったら、カーネルソース持って無いから無理って感じだった。

故に最近ようやく使い方がわかってきたyumでインストール。
まずダメな例(僕の例)

ダメな例

rootにて、

# yum install fuse

んでFuseFSを解凍したディレクトリで

# ruby setup.rb

これダメ。
setup.rb内でgccするときに、fuseのライブラリないよ。って言われた。

いい例

rootにて、

# yum install fuse fuse-libs fuse-devel

んでFuseFSを解凍したディレクトリで

# ruby setup.rb

警告がたくさん出るけど終了。(びっくりした)

テスト動作

テスト動作をするときは、上と同じディレクトリで

# mkdir mnt
# ls mnt
  (何も出てこない)
# ruby sample/hello.rb mnt &
[1] (プロセスID)
# ls mnt
hello.txt 
# cat mnt/hello.txt
Hello, World!

何もなかったとこにテキストファイルがあることを確認できれば動作確認終了。
ただ、今作ったmntはこの状態では削除できない。hello.rbが使ってるから、ビジー状態です。
なので、上の動作確認が終わったら

# kill -s 2 3249
# rmdir mnt

か、

# fg
ruby sample/hello.rb mnt
(Ctrl+cを押す)
# rmdir mnt

かな?
もっと賢いやり方があるのかな?


まぁこれでようやっとFuseFSが使えるよー
わーい。


*2007/10/4追記 あれ?でもこれだとこの間インストールしたcoLinux+fedora7上では動かない。。。こんな感じ

# ruby hello.rb mnt
fusermount: fuse device not found, try 'modprobe fuse' first
/usr/lib/ruby/site_ruby/1.8/fusefs.rb:13:in `for_fd': no implicit conversion from nil to integer (TypeError)
        from /usr/lib/ruby/site_ruby/1.8/fusefs.rb:13:in `run'
        from hello.rb:20
# /sbin/modprobe fuse
FATAL: Module fuse not found.

あーまぁそうか、カーネルがfedora7の標準のものだと思ってyumがインストールしてるだものね、coLinuxカーネルを結構弄ってあるから動かないか。。。(あってる?