之前以为没有基于fuse的ftpfs,看来是我错了,你能想到的,肯定别人也想到了。
之所以需要ftpfs,是因为很多空间提供商都仅仅只是提供了ftp的账号,而不会提供远程登录的方式。这对我管理站点来说,是一个很大的麻烦。举一个简单的例子,我为了减少传送时间,我会把文件打包传送,但是到了服务器段,我该如何解压呢?不知道ftp服务器真的是没有这个功能,还是我不清楚如何使用,反正这类问题够呛的。
但是有了ftpfs就不同了,文件系统嘛,当然就要方便很多了,cp呀,tar呀,这些就可以轻轻松松来是使用。因此ftpfs对那些只提供了ftp账号的空间管理员而言,无疑等于扩展了自己的管理方式,这就和管理本地的文件系统一致了。
目前我查到的能支持ftpfs的有两个实现方式:
FuseFTP:这是perl写的
CurlFtpFs:使用了libcurl库,其curl版本必须大于7.15.2.
第一种实现方式的代码我没有下载到,所以仅仅测试了第二种方式。
编译安装和其他软件包没有什么差别:./configure & make & make install就ok了。我编译的时候使用了--disable-ipv6选项。
使用起来也很简单,就是curlftpfs一个命令,不过参数及其丰富。
[root@mlsx /]# modprobe fuse
[root@mlsx /]# curlftpfs ftp://127.0.0.1 /misc
[root@mlsx /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
curlftpfs 7.5T 0 7.5T 0% /misc
看来大小的显示还是没有修改过来,这应该是fuse的事情,和curlftpfs没有关系。
[root@mlsx ~]# curlftpfs -o user=test:abc123 ftp://127.0.0.1 /misc
[root@mlsx misc]# tar -vczf d.tgz Desktop/
Desktop/
Desktop/.directory
Desktop/My Documents/
Desktop/My Documents/.directory
.........
不过目前执行tar的时候,速度却是出奇的慢,不知道原因是什么。