Fuse文件系统
一, 安装Fuse
文件: "./fuse-2.7.3.tar.gz"
要求: Linux kernel version >= 2.4.21 (必须,否则"<1.3>挂载fuse内核模块"时会失败)
<1.1>解压
#tar -xzvf fuse-2.7.3.tar.gz
#cd fuse-2.7.3 (进入目录,下述命令需要在该目录下执行)
<1.2>安装编译:
#./configure --prefix=/usr (设定安装目录)
#./make
#make install
<1.3>挂载fuse内核模块
#modprobe fuse (关键)
#lsmod | grep "fuse" (查询fuse内核模块是否已正确挂载)
<1.4>简单应用实例
#cd ./example
请参考"example/"下的fuse自带实例
(实例1)
#./null mountpoint
说明: 一个简单的fuse的例子,展示了fuse的基本使用框架结构
(实例2)
#./hello mountpoint
说明: 一个简单的使用fuse的例子,演示了使用fuse建立本地用户空间文件系统的基本过程
(实例3)
#./hello_11 mountpoint
说明: 与上述"./hello"实例实现的功能一样,只不过在具体实现代码中调用了更加低层的fuse函数来完成
(实例4)
#./fusexmp mountpoint
说明:这个实例实现了用fuse完全挂载本地文件系统("./")到用户空间文件系统的过程,
展示了比较完成的fuse的使用过程。
(实例5)
#./fusexmp_fh mountpoint
说明: 这个实例是上面"./fusexmp"的扩展(使得基于fuse的这个文件系统更加的完善,例如: 增加了"fflush"、"lock"等的支持)
备注:上述5个实例是fuse2.7.3自带的、同时也都是基于本地文件系统的fuse构造使用实例,关于其它(如网络)等方面的功能比较
完善的例子请参考"二, 基于Fuse的其它开源(文件系统)项目"中的描述
<1.5>卸载模块
#rmmod fuse
<1.6>卸载安装及编译
(以下命令要在"fuse-2.7.3"的安装目录执行)
#make uninstall
#make clean
#make distclean
二, 基于Fuse的其它开源(文件系统)项目
目录: "./OpenFsBaseOnFuse"
说明: 本目录下存放着基于Fuse的、目前已经编译试用过的、且对我们比较有参考和学习价值的开源(文件系统)
项目代码,具体关于每个项目的使用和介绍详细请参考其目录下的说明档
备注: 更多的基于Fuse的开源项目请参考以下网址:
(http://fuse.sourceforge.net/wiki/index.php/)
http://fuse.sourceforge.net/wiki/index.php/FileSystems
(以后如果发现其它比较有参考价值的基于fuse的开源项目可添加补充到本目录)
三, 关于Fuse的基本概念和相关资料文档
目录: "./docs"
说明: 本目录下存放了些Fuse的基本参考资料,以帮助理解和学习Fuse