FUSE 是个好东西, 可以用在特殊的领域里面来实现自己的虚拟文件系统。
FUSE的下载与安装 :
从fuse官网下载最新安装包:http://sourceforge.net/projects/fuse/files/fuse-2.X/
安装很简单:
./configure
make
make install(注意:这一步要在root用户模式下做)
挂载 fuse 虚拟文件系统:
modprobe fuse
查看fuse是否挂载成功:
lsmod|grep fuse 执行该命令后会输出
[root@localhost fuse]# lsmod | grep fuse
fuse 49237 2
证明挂载成功
下来就是使用的问题了, 呵呵。
安装完fuse后,其子文件夹example下有一些做好的文件系统实例,教你挂载和使用该文件系统,推荐使用 fusexmp_fh.c 这个例子
因为他包括了所有的文件操作相关的映射。
编译 fusexmp_fh.c 需要用下面的编译命令:
gcc -Wall `pkg-config fuse --cflags --libs` -lulockmgr fusexmp_fh.c -o fusexmp_fh.exe
编译后生成 fusexmp_fh.exe 可执行文件
在 /mnt 目录下面建立文件夹 fuse
cd /mnt
mkdir fuse
然后到 fusexmp_fh.exe 目录去执行
./fusexmp_fh.exe /mnt/fuse -d
即可启动虚拟文件系统, 这个时候执行
df 命令,可以看到 虚拟文件系统挂载出来了
[root@localhost example]# df
fuse 6824296 3499688 2972352 55% /mnt/fuse
这个时候你进入 /mnt/fuse 目录
执行 ls , 即可看到映射的文件内容, 在这个目录下面所作的文件操作,都会调用到 fusexmp_fh.exe 这个进程里面注册的
文件操作函数。
注册句柄如下:
比如你执行 mkdir xxx , 则会调用到 fusexmp_fh.exe 进程的 int xmp_mkdir(const char *path, mode_t mode) 这个函数。
你可以修改这个函数的实现, 在里面添加你自己的信息。
当出现下面的错误提示:
fuse: bad mount point `/mnt/fuse': Transport endpoint is not connected
你只需要执行
umount -l /mnt/fuse 命令即可化解上面的错误, 具体原因就不用说了吧, umount 这么明显。
我们这次使用 fuse 使用, 主要是要实现一个云的功能。
分享到:
相关推荐
一种Linux下基于Upnp和FUSE的虚拟网络用户文件系统的构建与研究.pdf
对于读写虚拟文件系统来说,FUSE是个很好的选择。 FUSE起初是为了研究AVFS(A VirtualFilesystem)而设计的,而现在已经成为SourceForge的一个独立项目,目前适用的平台有Linux, FreeBSD,NetBSD, OpenSolaris和Mac OS ...
它使用文件系统接口的FUSE库在用户空间中运行。 EncFS是根据LGPL许可的开源软件。 EncFS已有15年的历史(2003年首次发布)。 之所以写这篇文章,是因为较早的NFS和基于内核的加密文件系统(例如CFS)没有跟上Linux...
sandboxfs:用于沙箱的虚拟文件系统是一个FUSE文件系统,它公开了来自sandboxfs的多个文件和目录的组合:一个用于沙箱的虚拟文件系统是一个FUSE文件系统,它公开了多个文件和目录的组合。具有任意布局的虚拟树形式的...
引言文件系统是 L inux 操 作 系统 内核 组 成 部 分 之 一 ,它 向L inux 虚拟文件系统 (V F S) 注册一 系列操作 函数 。收来自应
用于VK(Vkontakte)音频的FUSE虚拟系统。 需要VK帐户。 描述 该程序可以使用您喜欢的播放器收听VK的音乐,并将歌曲复制到PC。 支持从“我的音频”中搜索和获取Mp3文件。 缺少的ID3v2标签会自动添加。 安装 视窗 ...
它通过向虚拟文件系统显示游戏内容,NAND或SD卡内容来工作,并且您可以浏览和复制所需文件。 支持Windows,macOS和Linux。支持的类型任天堂3DS 点击率购物车图片(“ .3ds”,“。cci”) CDN内容(“ cetk”,“ ...
narfuse:一种用Haskell编写的FUSE文件系统,它允许挂载NAR(Nix存档)文件并将其作为虚拟Nix存储公开
引信concat-fuse是用于Linux的基于的虚拟文件系统,它可以像处理单个文件一样处理一组文件。 它实际上是在做: cat *.txt > large_file但是,它不是创建large_file而是创建一个虚拟文件并访问原始的*.txt文件。 可以...
GCSF是一个虚拟文件系统,允许用户在本地安装其Google Drive帐户,并作为常规磁盘分区与之交互。 您可以在本文中找到更多信息。 更新(2019年4月):我目前仍在使用,GCSF是一个虚拟文件系统,允许用户在本地安装其...
Dokany Windows用户模式文件系统 ...它与FUSE相似,并且还与FUSE文件系统兼容。 特征 轻松将任何类型的数据挂载为虚拟文件,并从所有Windows应用程序中透明地访问它们 访问控制 多种API 保险丝包装
用于FUSE的虚拟文件系统,允许浏览LDAP树。
使用 FUSE,它会创建一个代表您上传的文件的虚拟文件系统,并允许您像处理真实文件一样对它们进行排序、打开或快速查看。 如果您删除文件,它会从 CloudApp 中删除。 如果你放入一个文件,它就会被上传。 ...
这是通过VFS将远程文件从电报的云映射到本地文件系统来完成的。 经过音频播放器 , 和。使用的图书馆短袜跑步$ virtualenv .venv3.7 -p python3.7$ source .venv3.7/bin/activate$ pip install -r requirements.txt...
虚拟文件系统: FileSystem , INode 设备和缓存层: BlockDevice , BlockCache 特定文件系统: rcore-fs-sfs : 简单文件系统rcore-fs-sefs :简单的加密文件系统rcore-fs-ext2 :Ext2 rcore-fs-ramfs :基于RAM...
换句话说, s3backer提供的实际上更像是一个 S3 支持的虚拟硬盘设备,而不是一个文件系统。 在典型的使用中,一个普通的文件系统被挂载在s3backer文件系统使用环回挂载(或 Mac OS X 上的磁盘映像挂载)导出的文件...
hyport-cli:虚拟文件系统到其他远程云存储服务
在Linux下,它使用libgpod(提供iPhone-gvfs-bridge)和gvfs-fuse(提供gvfs虚拟文件系统作为Linux FUSE文件系统)提供的虚拟文件系统。 请注意,此应用程序非常初级。 如果遇到问题,请打开票证描述问题;如果遇到...
:形式上称为MinorFs2 :: homefs,用于对文件系统进行改造以允许非Minorfs感知的应用程序使用私有存储。 库: [完整]:用于管理具有稀疏功能的DAC的C ++库。 :C ++库,用于稀疏友好的AES加密文件。 :C / C ++...
vramfs是使用在VRAM中创建文件系统的实用程序。 除了使用离散图形卡的视频RAM来存储文件外,该想法与ramdisk几乎相同。 它不适合认真使用,但实际上确实可以很好地工作,特别是因为现在可以使用具有4GB或更大VRAM的...