fusefs-smbnetfs: mount_smbfs の別実装2006年09月07日 10時33分03秒

mount_smbfs と格闘が終わったと、ふとある新しい物が ports に入ったのを見つけた。sysutils/fusefs-smbnetfs だ。

早速 pkg-descr を見ると、

SMBNetFS is a filesystem that allow you to use samba/microsoft network
in the same manner as the network neighborhood in Microsoft Windows.

    * you can use Samba/Microsoft network as a regular unix filesystem
    * workgroup/computer/share entries are dynamically created
    * windows domain supported
    * kerberos support (New)


どうも別口の mount_smbfs の様な雰囲気だ。/var/db/pkg 以下に入れられる +DISPLAY も抜粋。

After kldload fuse.ko (see sysutils/fusefs-kmod documentation) and setting

        # sysctl vfs.usermount=1

you should make .smb directory in your homedir:

        % mkdir ~/.smb

Copy your smb.conf (usually in /usr/local/etc/) and
/usr/local/share/doc/smbnetfs/smbnetfs.conf to this directory:

        % cp /usr/local/smb.conf /usr/local/share/doc/smbnetfs/smbnetfs.conf ~/.smb/

Make mountpoint for smb network and mount it:

        % mkdir ~/mountpoint
        % smbnetfs ~/mountpoint

Now you can get access to smb shares in your network, for example:

        % cd ~/mountpoint/ip-addr

Filesystem in Userspace によると FUSE とは、ユーザ空間内で動くファイルシステムの実装とのことだ。

mount_smbfs の様に全てをカーネル内で実装しないで、既に存在するユーザ空間のライブラリを読み込んでから、カーネル内で使う。6.1-RELEASE 現在のカーネル空間の libkiconv も実はこれと同じ動作をする。新しい変換を追加するときに、ユーザ空間の libiconv を使って、カーネル内に文字コードの変換表を作る。

もう少し、FUSE について調べてみようと思う。