最近はVPNやNASなどの一般化によりファイル共有の利便性が向上してきましたが、ftpなどの昔ながらのサービスは使いにくさが否めません。そこで、ftpを直感的なファイル共有へと仮想化するユーティ
リティが求められました。それがcurlftpfsです。
通常、curlftpfsも各Linuxディストリビューションのパッケージ管理システムを利用してインストールしてしまえば事もないのですが、
残念ながら個人的に使用しているVine
Linuxにはcurlftpfsが採用されておらず、独自にインストールすることになりました。以下はそのときのtipsと記録です。
以下は、Vine Linux 4.2 フルインストールの環境下で検証されています。
1. 概要
2. 設定と初期導入パッケージ
3. fuseのインストール
4. curlftpfsのインストール
5. curlftpfsの使用法
6. まとめ
1. 概要
curlftpfsは、ftpをファイルシステムの一部としてmountするサービスです。簡単に言えばsmbmountのftp版です。
curlftpfsはユーザースペースファイルシステムにより実装されており、ファイル操作のリクエストは、一旦、kernelのfuseを経由してユー
ザースペースに戻され、戻されたユーザースペースでリクエストされたファイル操作が実行されます。
つまり単純には、curlftpfsは、kernelのfuseを有効化することとcurlftpfsのインス
トールをもって利用可能となるのですが、curlftpfsはfuseライブラリ及びcurlライブラリを利用しているため事前にそれらのライブラリを導
入する必要があります。
Vine Linux
4.2の場合、curlのみaptにより導入可能なので、以下ではkernelのfuseを有効にし、curlをaptでインストールした後、fuseラ
イブラリをrpm化しインストール、最後にcurlftpfsをrpm化してインストールするという流れになります。
2. 設定と初期導入パッケージ
まずはkernelのfuseを有効化します。
Vine Linux
4.2の場合は、fuseはmodule化されているのでfuse.koをロードしてやります。
#modprobe fuse
rc.localなどで起動時に実行されるようにしておくと面倒がないです。なお、fuseでは/dev/fuseが用いられますので適当な権限を付与する必要があります。ここではセキュリティを気にしないことにして
#chmod 666 /dev/fuse
としておきます。この処置は一度実行すれば以後有効となります。
次にcurlをインストールします。開発用も必要なのでcurl-develでインストールします。 curlftpfsのリビルドにはglib2-develも必要なので併せてインストールします
#apt-get install curl-devel glib2-devel
これで第一段階は終了です。
3. fuseのインストール
ここで取り上げるfuseはkernelのfuseを利用するためのライブラリであってkernelのfuseとは異なります。fuseのインストールは、まずfuseを
http://fuse.sourceforge.net/ よりダウンロードし(ここでは、2.7.3で検証されています)、rpm/SOURCEへコピーします。さらに
fuse.specをrpm/SPECにコピーし、ビルドします。このビルドでは、fuseとfuse-develが作られますが、curlftpfsをビルドするには二つともインストールする必要があります。
$cp fuse-2.7.3.tar.gz rpm/SOURCE/
$cp fuse.spec rpm/SPEC/
$rpmbuild -bb rpm/SPEC/fuse.spec
ビルドが終了したら、普通にインストールします
$su
#rpm -Uvh rpm/RPM/i386/fuse-2.7.3-1pe3.i386.rpm rpm/RPM/i386/fuse-devel-2.7.3-1pe3.i386.rpm