マウントが完了したら早速okuyamaFuseを利用しながら、どのようにokuyamaFuseが動いているかを確認していきましょう。
先ほどのdfコマンドで既にマウント完了が確認できているので、ここからはマウントしたディレクトリの中を確認していきましょう。lsコマンドをlhaオプション付きで実行してみます。
$ls -lha /mnt/okuyamafuse >合計 0
マウントしたばかりのため、何もありません。
この際、okuyamaFuse実行側のコンソールにはこのような内容が出力されているはずです。
>13:53:55.550 Thread-673 INFO [fuse.okuyamafs.OkuyamaFilesystem]: getattr / >13:53:55.552 Thread-671 INFO [fuse.okuyamafs.OkuyamaFilesystem]: getdir /
各行末にある「getattr /」と「getdir /」がlsコマンドにより呼び出されたokuyamaFuseの処理です。
次にファイルを作成してみましょう。ここでは0バイトのファイルとします。
$touch /mnt/okuyamafuse/test.txt
以下がokuyamaFuse側のコンソール出力内容の一部です(ログに出力される最後のコマンド以外は割愛します)。
>getattr /test.txt >mknod /test.txt 33188 0 >getattr /test.txt >open /test.txt 34817 >utime /test.txt 1369199039 1369199039 >getattr /test.txt >flush /test.txt {pathInfoStr=file 1 1369199039 0 33188 0 3705250594377898 -1, filedp=3705250606621898} >release /test.txt {pathInfoStr=file 1 1369199039 0 33188 0 3705250594377898 -1, filedp=3705250606621898} 34817
ファイルシステムに対して、何かコマンドを実行するたびに、okuyamaFuse側が呼び出されているのが分かります。それぞれのコマンドはシステムコール名になるため、コマンド名で調べればそれぞれの意味を理解することができます。
いままでなかなか意識しにくかったファイルシステムの動きも、このように操作単位でコマンドを確認すれば随分身近なものになるのではないでしょうか。
ぜひこれらの操作だけでなくテキストエディタでファイルを開いて編集保存したり、ファイル削除、ディレクトリの作成など色々試してみてください。
最後にokuyamaFuseの終了方法を解説しておきます。起動の時とは逆に、マウントを解除した後で、okuyamaFuseを終了します。まず、下記コマンドを実行してマウントを解除します。
$fusermount -u /mnt/okuyamafuse
その後、okuyamaFuse実行コンソールでCtrl+Cを実行します。
いかがだったでしょうか? 今回は実際にokuyaamFuseをセットアップして利用するところまで進めました。環境によってはfuse自体が動作しなかったり、okuyamaFuseがマウントできないケースもあるかも知れませんが、本稿で紹介した前提環境であれば動作するはずです。基本的な操作は今回で終え、次回はokuyamaFuseのチューニングやどのようなケースで能力が発揮できるかを詳しい仕組みとともにケーススタディで紹介したいと思います。
Copyright © ITmedia, Inc. All Rights Reserved.