fuse的安装与使用

今天在做关于fuse的课设,现将相关过程与心得贴出来与大家分享~

使用用户空间的文件系统(FUSE),无需理解文件系统的内幕,也不用学习内核模块编程的知识,就可以开发用户空间的文件系统框架。

 

步骤1  FUSE的下载与安装

1)首先上fuse官网下载最新安装包:http://sourceforge.net/projects/fuse/files/fuse-2.X/

我下载的是2.8.5版。

 

2)安装fuse,根据官网教程:

   ①首先解压: tar zxvf fuse-2.8.5.tar.gz

   ②然后到解压后的文件夹fuse-2.8.5下,输入: ./configure

   ③编译: make

   make完后再输入: make install(注意:这一步要在root用户模式下做)

   ⑤查看fuse是否挂载成功: lsmod|grep fuse

       若没成功则可通过:“modprobe fuse”命令挂载fuse

 

到此,fuse就已成功安装到虚拟机上了~

 

 

 

步骤2  FUSE的使用

安装完fuse后,其子文件夹example下有一些做好的文件系统实例,例如fusexmphello等,下面以fusexmp为例,教你挂载和使用该文件系统,并修改相应函数。

 

1)将fusexmp文件系统挂载到/mnt/fuse目录(fuse文件夹需要先在mnt下自己建),在example文件夹下输入:./ fusexmp /mnt/fuse –d

 

   这样在/mnt/fuse文件夹下就可以看到所有根目录文件夹了,不过/mnt/fuse文件夹下是fusexmp文件系统!

  另外有两点值得注意:

①该命令不会自动结束,使用过程中也不可以结束,所以如何再在终端中输入命令呢?推荐一种方法,按快捷键:Shift+Ctrl+T,会在新标签页新开一个终端,这样就有两个终端了,当然你也可以重新开一个终端窗口。如果的确需要退出第一个终端,则可按Ctrl+C

②可用“df”命令查看是否挂在上该文件系统。

 

2)现在转到/mnt/fuse目录下,就可使用fusexmp这个文件系统所实现的命令了~

fusexmp实现的命令可以在example文件夹下的fusexmp.c文件中看到,也可以很方便的修改,比如xmp_mkdir函数增加一条输出提示语句:

static int xmp_mkdir(const char *path, mode_t mode)

{

       int res;

       write(0,"You are using 'mkdir'!",24);

       res = mkdir(path, mode);

       if (res == -1)

                return -errno;

       return 0;

}

要使该修改有效还需要以下几步:

①回到第一个终端(就是输入./ fusexmp /mnt/fuse –d的那个终端),按Ctrl+C结束;

②重新编译:make

③重新挂载:./ fusexmp /mnt/fuse –d

④在第二个终端中再进入/mnt/fuse目录下(若已在该目录或其子目录下得先退出后再进才有效),尝试mkdir命令,会发现在第一个终端中相应系统输出会有我们新增的输出语句~

 

 

 

到此,关于fuse的安装与使用就已讲完了~其它函数的修改类似,大家可以多多尝试,在此基础上要弄明白linux系统是怎么一步一步调用到fuse的这个函数,该函数又是如何调用到系统的底层函数的。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值