利用FUSE编写自定义的文件系统

FUSE--用户空间文件系统(Filesystem in Userspace),具体可以度娘,反正是简化了自定义文件系统的复杂度,可以更方便地利用自定义文件系统做一些事情。

一、使用 Python 编写一个 FUSE 文件系统

https://www.oschina.net/translate/python-fuse-filesystem
感觉用Python写一个FUSE文件系统挺简单的。

1.安装fuse的python库
pip3 install fusepy
2.编写后发现python的fuse性能过低,且文件打开还可能存在编码问题,实际可用度低。且python实现的fuse和overlay配合(fuse上面套overlay)有问题,具体原因不明。


二、C++版本fuse

1.下载libfuse-master源码,里面带了一个简易fuse模板passthrough,后面可以基于它进行修改。
链接:https://github.com/libfuse/libfuse

2.编译环境搭建
pip3 install meson
apt-get install ninja-build

3.编译
meson builder
cd builder
ninja

4.使用方式
./passthrough --src=/root/dzqabc/org /root/dzq/new 自定义的参数 -o ro -d
-d参数可以保持程序前台进行调试打印,-o ro可以限定挂在后访问方式,这样也省掉了实现写操作相关接口。

posted @ 2019-11-12 00:17  dzqabc  阅读(1378)  评论(0编辑  收藏  举报